]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-mkconfig.in: Skip non-executable files.
[grub2.git] / ChangeLog
CommitLineData
3deedfc0
LW
12013-12-22 Lars Wendler <polynomial-c@gentoo.org>
2
3 * util/grub-mkconfig.in: Skip non-executable files.
4
5ad9f728
VS
52013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Workaround buggy timer in raspberry pie by using our own timer
8 implementation.
9
eeb84997
VS
102013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
13 Increase to 16 MiB to allow loading the whole memdisk.
14
0d8b81f8
VS
152013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16
17 Fix ARM Linux Loader on non-FDT platforms.
18
bf082198
VS
192013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * configure.ac: Choose link format based on host_os on emu.
22
0b602bf9
VS
232013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
26
96650a82
VS
272013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/kern/emu/main.c: Build fix for emu.
30
ca3e2088
VS
312013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Build fixes for argp.h with older gcc.
34
27db1a9b
VS
352013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
38 in strings.
39
40 Suggested by: David Prévot.
41
8a913e66
VS
422013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
45
ae558c2c
VS
462013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
47
48 Enable -Wformat=2 if it's supported.
49
bbac6789
VS
502013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
53 -Wmissing-declarations if supported.
54
ab216512
VS
552013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
58 u32 as both HFS and HFS+ have 32-bit inodes.
59
0d4aa91d
VS
602013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * include/grub/misc.h (grub_strtol): Fix overflow.
63
a997af68
VS
642013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
67 as return type in both conditionals.
68
36bcaf29
VS
692013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
72 to use uint8_t for color.
73
74763e96
VS
742013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * util/misc.c (grub_util_get_image_size): Check for overflow.
77
80b29fc9
VS
782013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
81 for size.
82
6e327fcd
VS
832013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
86 for pointer difference.
87
62ce03cf
VS
882013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * util/import_gcry.py: Skip sample keys.
91
f4d70fd0
VS
922013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
95
93bf55e6
VS
962013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * configure.ac: Remove duplicate warning arguments.
99
579ee114
VS
1002013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Add missing static qualifiers.
103
ee5283d6
VS
1042013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
105
106 Add missing includes.
107
5dbde526
VS
1082013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
109
110 Inline printf templates when possible to enable format checking.
111
d88ae4f0
VS
1122013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * include/grub/crypto.h: Don't discard const attribute.
115
17b43559
VS
1162013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
119 was intended.
120
76a2a430
VS
1212013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/lib/crypto.c: Don't discard const attribute.
124
0d26164e
VS
1252013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/lib/disk.c: Fix potential overflow.
128
2622b1e8
VS
1292013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/lib/arg.c: Don't discard const attribute.
132
05126706
VS
1332013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/kern/dl.c: Don't discard const attribute.
136
2f9c4804
VS
1372013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/kern/disk.c: Fix potential overflow.
140
0438ebf1
VS
1412013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * conf/Makefile.common: Don't include non-existing directory
144 grub-core/lib/libgcrypt-grub/include.
145
065adc34
VS
1462013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
147
148 Clarify several translatable messages.
149
496a6b30
DP
1502013-12-21 David Prévot <david@tilapin.org>
151
152 Correct some translatable strings.
153
971038be
CW
1542013-12-21 Colin Watson <cjwatson@ubuntu.com>
155
156 * util/grub-mkrescue.c: Rephrase mkrescue description.
157
bfdfeb25
VS
1582013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1592013-12-21 Colin Watson <cjwatson@ubuntu.com>
160
161 Clarify several translatable messages.
162
d642d761
CW
1632013-12-20 Colin Watson <cjwatson@ubuntu.com>
164
165 Be more verbose about some configure failures.
166
3bc1b2da
CW
1672013-12-20 Colin Watson <cjwatson@ubuntu.com>
168
169 Fix various build problems on GNU/Hurd.
170
171 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
172 !defined (__GNU__).
173 (xgetcwd): Likewise.
174 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
175 [__GNU__]: Add prototype.
176 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
177 long int using %ld rather than %d.
178
871aa709
VS
1792013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * util/grub-install.c: Inform user about install platform.
182
2fa5a58c
VS
1832013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * configure.ac: Set version to 2.02~beta1.
186
ee281fd0
AP
1872013-12-18 Allen Pais <allen.pais@oracle.com>
1882013-12-18 Bob Picco <bob.picco@oracle.com>
189
190 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
191
2e238b37
VS
1922013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
193
194 Make grub_zlib_decompress handle incomplete chunks.
195
196 Fixes squash4.
197
2984035e
VS
1982013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
201 on i386-multiboot.
202
b9f03772
AN
2032013-12-18 Aleš Nesrsta <starous@volny.cz>
204
205 * grub-core/disk/usbms.c: Retry on unknown errors.
206 Reuse the same tag on retries.
207
e3ef0d30
AN
2082013-12-18 Aleš Nesrsta <starous@volny.cz>
209
210 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
211
212 Avoid confusing them with already completed transfers.
213
72c9a507
VS
2142013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
215
216 Remove xen VFB.
217
218 Due to XEN bug it prevents Linux boot. Remove it at least, until
219 workaround is found.
220
84455670
VS
2212013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * po/exclude.pot: Add 2 missing excludes.
224
64dd5fdc
VS
2252013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
226
227 Add missing license section in macbless.mod and macho.mod.
228
a29f317a
VS
2292013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
230
231 Allow compilation without thumb-interwork as long as no thumb is
232 involved or only thumb2 is used.
233
063f2a04
VS
2342013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
235
236 Use -Wl,--no-relax rather than -mno-relax for uniformity.
237
113f7869
VS
2382013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * INSTALL: Update comment as to why sparc64 clang isn't usable.
241
eba2afed
VS
2422013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
243
244 Add __attribute__ ((sysv_abi)) only if it's really needed.
245
246 Some compilers don't support it.
247
1962ed95
VS
2482013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
251
c2be6f7e
VS
2522013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
253
254 Remove -Wold-style-definition.
255
256 Not very useful and interaction of it with regexp depends on GCC
257 version.
258
7a7f5238
VS
2592013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Make grub_util_get_windows_path_real static.
262
9246d5c8
VS
2632013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * grub-core/commands/fileXX.c: Silence cast-align.
266 * grub-core/loader/i386/xen_fileXX.c: Likewise.
267
b3aea1bc
VS
2682013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
271 rather than LL suffix.
272
bc8dd119
VS
2732013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
274
e8c360ca
VS
275 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
276
2772013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 280
57a691b7
VS
2812013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
282
283 Decrease number of strings to translate.
284
74fa9417
VS
2852013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
288
636977b0
VS
2892013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
290
291 Mark strings for translation and add remaining ones to exclude list.
292
ee4450eb
VS
2932013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * util/grub-file.c (main): Fix sizeof usage.
296
2972013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
298
299 Silence spurious warning.
300
ee4450eb 3012013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
302
303 Remove check_nt_hiberfil as it's been superseeded by file command.
304
a99c0a32
VS
3052013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * docs/osdetect.cfg: Add isolinux config to detected OSes.
308
8f5add13
VS
3092013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
310
311 Implement syslinux parser.
312
8ff35d0a
VS
3132013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
316
ba144760
VS
3172013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
318
319 Support cpuid --pae.
320
daaa89db
VS
3212013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
322
323 Use AT keyboard on Yeeloong 3A.
324
25a7863d
VS
3252013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
326
327 Add Yeeloong 3A reboot and halt.
328
184c61dd
VS
3292013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
330
331 Add Radeon Yeeloong 3A support.
332
fd4650a5
VS
3332013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
334
335 Add bonito 3A support.
336
3e88fbfa
VS
3372013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
340
1123bed9
VS
3412013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
344
ebda165f
VS
3452013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * grub-core/loader/macho.c: Fix compilation on non-i386.
348
fe7c20bf
VS
3492013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
350
351 Add missing format_arg attribute to check that printf with translated
352 messages has proper arguments.
353
f4dab3d1
VS
3542013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
355
356 Use grub_xasprintf to format translated error messages containing
357 64-bit quantity.
358
24d5934d
JM
3592013-12-17 Jon McCune <jonmccune@google.com>
360
361 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
362
d6c2782a
VS
3632013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Unify message for unsupported relocation.
366
50d2e959
VS
3672013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Mark miscompile error for translation.
370
18e76955
VS
3712013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
372
373 Use %I64 and not %ll when using OS printf if compiling for windows.
374
d218ec97
VS
3752013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
376
377 Update Mac code to match new register_efi prototype.
378
b8765fa0
VS
3792013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Implement better integration with Mac firmware.
382
1f032575
VS
3832013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/loader/multiboot_mbi2.c: Implement special value for
386 load_addr.
387
14829755
VS
3882013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
389
390 Include serial module in default_payload.elf.
391
d45067a2
VS
3922013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Add explicit thumb interwork bx in asm files.
395
396 Shouldn't matter for armv >= 5 but let's be safe.
397
30861754
VS
3982013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
399
400 Implement Truecrypt ISO loader.
401
e14d409b
VS
4022013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/lib/arg.c: Ensure at least a single space between commands.
405
ec824e0f
VS
4062013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
407
408 Implement grub_file tool and use it to implement generating of config
409 in separate root.
410
296f7606
VS
4112013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
412
413 Change to v1 xen grants.
414
2c384f1e
VS
4152013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
418
419 GRUB relied on %ebx being preserved across hypercall which isn't true.
420
d16ff589
VS
4212013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
424
425 GRUB relied on %rdi being preserved across hypercall which isn't true.
426
71669c3b
VS
4272013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
428
429 Implement XEN VFB support.
430
60d1dd3d
VS
4312013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
432
433 Remove grub_bios_interrupt on coreboot.
434
435 It's not used currently and cannot be used safely currently.
436
a8201050
VS
4372013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Update exclude.pot and mark few strings for translation.
440
6cc89597
VS
4412013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
444
445 Reported by: Jon McCune
446
840a2c05
AB
4472013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
448
449 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
450 Add verbose information which firmware directories were tried.
451
35248820
AB
4522013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
453
454 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
455 function to optionally redirect all three standard descriptors.
456 Redefine grub_util_exec, grub_util_exec_redirect and
457 grub_util_exec_redirect_null to use it.
458 * include/grub/emu/exec.h: Define it.
459 * include/grub/osdep/exec_unix.h: Delete, it is unused.
460 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
461 Use grub_util_exec_redirect_all to redirect error to NULL.
462
2a123f4c
VS
4632013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/tests/sleep_test.c: Silence spurious warning.
466
316c8d9a
VS
4672013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
468
469 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
470 linker trying to "fixup" the code.
471
8fcce8d5
VS
4722013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/kern/x86_64/xen/startup.S: Align stack.
475
6f1f6a0c
VS
4762013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Add support for converting PE+ to Elf64.
479
66a07ce2
VS
4802013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
483
cc6fb517
VS
4842013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
485
486 Remove practice of assigning random const pointers to device id.
487
488 This is not required as cache code already checks driver id as well.
489
f009f07c
VS
4902013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
493 with mingw.
494
9fdec226
VS
4952013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * include/grub/efi/api.h: Don't use call wrappers when compiled with
498 mingw or cygwin as API already matches.
499
d87cb3ae
VS
5002013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
503
3e38c31a
VS
5042013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
507 not on long.
508
f4171ebd
VS
5092013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
510
511 Handle X86_64_PC64 relocation.
512
513 Those are generated by some cygwin compilers.
514
252a289c
VS
5152013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
516
517 Determine the need for mingw-related stubs at compile time rather than
518 using not very significant $target_os.
519
23d2abc3
VS
5202013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
523 may not work with ELF.
524
4f979ccb
VS
5252013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Use unix functions for temporary files and special files on cygwin.
528
37378f74
VS
5292013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Define functions explicitly rather than using --defsym in tests
532 whenever possible. Respect locality in remaining cases.
533
6a09d83e
VS
5342013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
537
e477187b
AB
5382013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
539
540 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
541 unlikely errors when getting EFI variables and make exhaustive search
542 for all BootNNNN variables to find matching one.
543
80b865bd
IC
5442013-12-15 Ian Campbell <ijc@hellion.org.uk>
545
546 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
547
04b02857
VS
5482013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
549
550 New functional test for sleep function.
551
552 This test allows to check sleep without qemu. Keep qemu version as
553 well as functional test won't notice if all clocks are going too fast
554 or too slow.
555
39711101
VS
5562013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
557
558 Add explicit sysv_abi on amd64 asm routines.
559
d99af4f0
VS
5602013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
563 num_table_entries.
564
71043684
VS
5652013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
568 functions.
569
111bf5db
VS
5702013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
573 appropriate.
574
24ca71c9
VS
5752013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
578
48ba5c0c
VS
5792013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
582 appropriate.
583
8ae67045
VS
5842013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
587
588 In case of quick removal of loopback and adding another one it may
589 get same ID, confusing the cache system.
590
ed559310
VS
5912013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
594 appropriate.
595
8fa26279
VS
5962013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
599 than converting to long.
600
6f5f3337
VS
6012013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
604
e7c418c5
VS
6052013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
608 than almost useless pointer.
609
7e47e27b
VS
6102013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Add gcc_struct to all packed structures when compiling with mingw.
613
614 Just "packed" doesn't always pack the way we expect.
615
ae8159b9
VS
6162013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
619
74e7ad66
VS
6202013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * util/grub-pe2elf.c: Fix handling of .bss.
623
814442ba
VS
6242013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
625
626 Implement windows flavour of EFI install routines.
627
5f5bb107
VS
6282013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
631
a24725cc
VS
6322013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
633
634 Change grub_install_register_efi interface to pass GRUB device.
635
636 This allows grub_install_register_efi to request partition info
637 directly.
638
38933cee
VS
6392013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
640
641 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
642
6d3cfe50
VS
6432013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
644
645 Do not use TCHAR string functions as they are not available on cygwin.
646
4bad23a1
VS
6472013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
648
649 Workaround windows bug when querying EFI system partition parameters.
650
6a5fe132
VS
6512013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
654 by using bitfields.
655
bc8fcf4b
VS
6562013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
659
60b967be
VS
6602013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
661
662 Make i386-* other than i386-pc compileable under cygwin.
663
6dc33377
VS
6642013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
665
666 Fix definition of grub_efi_hard_drive_device_path. Take care that
667 existing code would work even if by some reason bogus definition is
668 used by EFI implementations.
669
f2c6ff15
VS
6702013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
673
6b8a1625
VS
6742013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
677 invocation.
678
954c723a
VS
6792013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * util/config.c: Remove trailing newline from distributor in simple
682 parsing.
683
607a39f9
VS
6842013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * include/grub/efi/api.h: Rename protocol and interface to avoid
687 conflict.
688
df6fedca
VS
6892013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
692 entries.
693
f684d7e1
VS
6942013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/osdep/exec.c: Use unix version on cygwin.
697
0df77d79
VS
6982013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
699
700 Implement multiboot2 EFI BS specification.
701
dafff9ce
VS
7022013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/normal/charset.c: Fix premature line wrap and crash.
705 Crash happened only in some cases like a string starting at the
706 half of the screen of same length.
707
6644d973
VS
7082013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
711 with EFI counterpart.
712
44bbfa33
VS
7132013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
714
715 Propagate the EFI commits to x86-efi specific parts.
716
3e3dff24
VS
7172013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/commands/efi/lssal.c: Fix terminating condition.
720
316dda71
VS
7212013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
722
723 Introduce grub_efi_packed_guid and use it where alignment is not
724 guaranteed.
725
219401b8
VS
7262013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * include/grub/efi/api.h (grub_efi_device_path): Define length as
729 unaligned u16 rather than u8[2].
730
30d00537
VS
7312013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
734 for relocation range.
735
979742bc
VS
7362013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
739 non-function pcrel21b relocation. It happens with .text.unlikely
740 section.
741
16c8f785
LL
7422013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
743
744 * make MAX_USABLE_ADDRESS platform-specific
745 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
746
3f1423e7
LL
7472013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
748
749 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
750
dd73313c
JM
7512013-12-09 Jon McCune <jonmccune@google.com>
752
753 * Add --no-rs-codes flag to optionally disable reed-solomon codes
754 in grub-install and grub-bios-setup for x86 BIOS targets.
755
eaf01c25
VS
7562013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
757
758 Add missing compile and link options for sparc64-emu.
759
7a148da6
VS
7602013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
761
762 Implement sparc64 trampolines (needed for sparc64-emu).
763
21eee750
VS
7642013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
767 range of R_SPARC_HI22.
768 Implement R_SPARC_LM22.
769
7b54b626
VS
7702013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
773 Do not explicitly check for symbol table as it's already checked in
774 platform-independent layer.
775
9a945e2a
VS
7762013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
779 on ia64 as __clear_cache is a dummy on ia64.
780
4f4ea1b4
VS
7812013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
784 Do not explicitly check for symbol table as it's already checked in
785 platform-independent layer.
786
fe4ae213
CW
7872013-12-09 Colin Watson <cjwatson@ubuntu.com>
788
789 * util/grub-mkconfig.in: Add missing newline to output.
790
78b2b0a1
VS
7912013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
794 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
795
d14772c4
VS
7962013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
799 compilation with GCC <= 4.2.
800 * grub-core/kern/emu/argp_common.c: Likewise.
801
388f3cd0
VS
8022013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
805 right platform rather than leaking to sparc64-emu.
806
11e4167a
VS
8072013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
810 But ensure that the variables in question are indeed unsigned.
811
fa7eb63d
VS
8122013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
815
50b3a68d
VS
8162013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
817
818 Remove grub_memalign on emu.
819
fbbfb6ab
VS
8202013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
823 truncate incomplete lines but instead flushes them.
824
a19293cb
VS
8252013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
828 and implement windows variant.
829
d5c14e1e
VS
8302013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
831
832 Fix mips-emu compilation.
833
b75db69a
VS
8342013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * configure.ac: Check for freetype library usability.
837
c311ced5
VS
8382013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
839
840 Make arm-emu work.
841
c8fd2ddf
VS
8422013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
845
c50e5f45
AB
8462013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
847
848 * docs/grub.texi (Environment): Update color_normal and color_highlight
849 defaults (light-gray instead of white).
850
bb05e313
AB
8512013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
852
853 * grub-core/normal/main.c (INIT): Set default color to light-gray
854 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
855 and apparently BIOS defaults.
856
f23bc651
VS
8572013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
858
859 Transform -C option to grub-mkstandalone to --core-compress available
860 in all grub-install flavours.
861
4c4ea9c7
VS
8622013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
863
864 Merge GRUBFS and GRUB_FS variables.
865
92e9352d
AB
8662013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
867
868 Revert commit 69ca97c820, it caused failures when using OS device name
869 in grub-install. Instead just strip off parenthesis in grub-install
870 if (hdX) was passed.
871
f585c905
AB
8722013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
873
874 * util/grub-install.c (push_partmap_module): Add helper to convert
875 partmap names to module names and use it in probe_mods(). Fixes
876 failure to find partmap modules in diskfilter case.
877
5ff24907
VS
8782013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * configure.ac: Make unifont mandatory on coreboot.
881
0277eab7
VS
8822013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * configure.ac: Skip unifont 6.3 pcf and bdf.
885
4861b6c8
VS
8862013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * Makefile.am: Remove partial font files if generation failed.
889
3100cdc7
AB
8902013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
891
892 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
893 strings.
894 * include/grub/util/misc.h: Define it ...
895 * util/grub-install.c (device_map_check_duplicates): ... and use it.
896
ad73cc33
AB
8972013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
898
899 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
900 ${grub_probe}.
901
41822625
VS
9022013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Don't add -mlong-calls when compiling with clang.
905
896f483d
VS
9062013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * configure.ac: Fix a typo.
909
8c534b85
VS
9102013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
911
912 Revamp relocation handling.
913
914 Move more code to common dl.c. Add missing veneers for arm and arm64.
915 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
916
a846dd4b
VS
9172013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
920
aa437b58
MG
9212013-12-05 Mike Gilbert <floppym@gentoo.org>
922
923 * INSTALL: Raise minimum python version to 2.6.
924 * gentpl.py: Use python3-style print function.
925
b0f311f4
VS
9262013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * util/grub-install.c: Mention Boot* variable.
929
59b38922
CW
9302013-12-05 Colin Watson <cjwatson@ubuntu.com>
931
932 * grub-core/osdep/linux/hostdisk.c
933 (grub_util_find_partition_start_os): Initialise start to avoid
934 spurious compiler warning.
935
0480665b
CW
9362013-12-05 Colin Watson <cjwatson@ubuntu.com>
937
938 On Linux, read partition start offsets from sysfs if possible, to
939 cope with block device drivers that don't implement HDIO_GETGEO.
940 Fixes Ubuntu bug #1237519.
941
942 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
943 function.
944 (sysfs_partition_start): Likewise.
945 (grub_util_find_partition_start_os): Try sysfs_partition_start
946 before HDIO_GETGEO.
947
bbeee1c4
LL
9482013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
949
950 * grub-core/kern/fdt.c: Update struct size when adding node.
951
e5ed2f69
VS
9522013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
953
954 Handle unaligned .bss on sparc64.
955
956 Current code improperly assumes that both __bss_start and _end are
957 aligned to 8-bytes. Eliminating this assumption and explicitly align
958 modules.
959
4a73746a
VS
9602013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
963 so it doesn't land in the middle of loaded image.
964
382b500e
VS
9652013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * configure.ac: Move all warning options that may be absent in
968 gcc >= 3.1 to optional.
969
970 Note: while this allows to compile with older GCC, official requirements
971 remain the same and no support for older GCC.
972
3a82f8bb
CW
9732013-12-04 Colin Watson <cjwatson@ubuntu.com>
974
975 Copying the themes directory in grub-shell isn't
976 parallel-test-friendly and breaks on the second test when the source
977 directory is read-only (as in "make distcheck"). Instead, add a
978 hidden --themes-directory option to grub-mkrescue et al, and use it
979 in grub-shell.
980
e3046431
VS
9812013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
984 as it's no longer necessarry.
985
bdb6090d
VS
9862013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * configure.ac: Allow compilation with older GCC for ARM.
989
b73b70eb
VS
9902013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
993 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
994 ppc.
995
8a3f0a24
VS
9962013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
999
6f07c4e4
VS
10002013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 Pass font config to config.h and not by TARGET_CFLAGS as adding
1003 arguments doesn't work if TARGET_CFLAGS is specified on command
1004 line.
1005
60d5e9cb
VS
10062013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * configure.ac: Add -Wvla if compiler supports it.
1009
cd15c394
VS
10102013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1013 Remove variable length arrays.
1014 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1015
bb6e299c
VS
10162013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1019
85eb579a
VS
10202013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * include/grub/types.h: Declare all byteswaps as inline functions
1023 except compile-time ones.
1024
1025 Solves variable shadowing in constructions like
1026 cpu_to_le (le_to_cpu(x) + 1).
1027
47f88cc9
VS
10282013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1031
40b5739f
VS
10322013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1035 minutes.
1036
234d9346
VS
10372013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1040 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1041
0c0eab52
CW
10422013-12-03 Colin Watson <cjwatson@ubuntu.com>
1043
1044 * grub-core/Makefile.core.def (setjmp): Distribute
1045 lib/arm64/setjmp.S.
1046
44d48847 10472013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
1048
1049 Add a new timeout_style environment variable and a corresponding
1050 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1051 controls hidden-timeout handling more simply than the previous
1052 arrangements, and pressing any hotkeys associated with menu entries
1053 during the hidden timeout will now boot the corresponding menu entry
1054 immediately.
1055
1056 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1057 generates a warning, and if it shows the menu it will do so as if
1058 the second timeout were not present. Other combinations are
1059 translated into reasonable equivalents.
1060
10955cda
CW
1061 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1062
9e4e6ddf
VS
10632013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * util/config.c: Add missing pointer adjustment.
1066 Reported by: qwertial
1067
5037aa9a
AB
10682013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1069
1070 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1071 directly, not via `cpu' link, to fix libgrub.pp generation.
1072
8a952d20
VS
10732013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1074
1075 New port arm64-efi.
1076
be0d4555
AB
10772013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1078
1079 * docs/grub.texi (sleep): Document exit codes.
1080
d74b9a1d
VS
10812013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 Ensure that -mno-unaligned-access or some equivalent option is used.
1084
35de6d4b
VS
10852013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1088 -march=armv3.
1089
ce55ed03
VS
10902013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1093
8ddf84bf
CW
10942013-11-29 Colin Watson <cjwatson@ubuntu.com>
1095
1096 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1097 builds, since we don't have an EPS version of font_char_metrics.png.
1098 Add leading dot to image extension per the Texinfo documentation.
1099
fd0df6d0
CW
11002013-11-29 Colin Watson <cjwatson@ubuntu.com>
1101
1102 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1103 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1104 * util/grub-gen-widthspec.c: Likewise.
1105 * util/grub-mkfont.c: Likewise.
1106
69ca97c8
AB
11072013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1108
1109 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1110 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1111 failed to install on (hdX).
1112 * util/grub-setup.c (get_device_name): Remove, not needed after
1113 above change.
1114
eec893ae
VS
11152013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1118
621e167f
VS
11192013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * util/grub-fstest.c: Remove variable length arrays.
1122
d54f647a
VS
11232013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1126
c8a0f1b2
VS
11272013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1130 computing crc32 rather than handling with md fundtions directly.
1131
726409a5
VS
11322013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1135 checking fwstart.img rather than md fundtions directly.
1136
422e6e88
VS
11372013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * util/grub-mkrescue.c (main): Check that fread succeeded.
1140
af1faca3
VS
11412013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * conf/Makefile.common: Remove -mexplicit-relocs and
1144 -DUSE_ASCII_FALLBACK on yeeloong.
1145
1146 -DUSE_ASCII_FALLBACK is already added by font snippets.
1147 -mexplicit-relocs isn't needed is compiler/assemblera are
1148 configured properly.
1149 If they're not we shouldn't attempt to fix it by ourselves.
1150 Binary compare between before and after shows no difference.
1151
469021b4
VS
11522013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1155 sources in dependencies directly.
1156
1157 This was the only instance of "library" in core config. A bug was
1158 reported that -fno-stack-protector wasn't passed to it. Instead of
1159 figuring out why it failed just remove this construction used
1160 needlessly.
1161
83c256ba
VS
11622013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1165 fgets succeeded.
1166
b67422d3
FL
11672013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1168
1169 * docs/grub.texi (ls): Fix command description in case of a device name
1170 passed as argument.
1171
2d76b4d8
VS
11722013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 Eliminate variable length arrays in grub_vsnprintf_real.
1175
1176 A bit tricky because this function has to continue to work without
1177 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1178 but make all stack references use 32-bit offset rather than 8-bit one.
1179 So split va_args preparsing to separate function and put the prealloc
1180 into the caller.
1181
4f954122
VS
11822013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1185 Fixes build for windows.
1186
b1f742c1
VS
11872013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * gentpl.py: Don't generate platform-dependent conditionals for
1190 platform-independent targets.
1191
16ef26fd
CW
11922013-11-27 Colin Watson <cjwatson@ubuntu.com>
1193
1194 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1195 references to mdadm from otherwise generic code.
1196 (grub_util_exec_pipe): Likewise.
1197 (grub_util_exec_pipe_stderr): Likewise.
1198 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1199 This function calls vgs, not mdadm; adjust variable names
1200 accordingly.
1201
cf8c80ff 12022013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
1203
1204 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1205 of Autogen. The Autogen definitions files remain intact as they
1206 offer a useful abstraction.
1207
5c7206e4
CW
12082013-11-27 Colin Watson <cjwatson@ubuntu.com>
1209
1210 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1211 into no-ops, and use it in programs that copy files but do not need
1212 to take special care to sync writes (grub-mknetdir, grub-rescue,
1213 grub-mkstandalone).
1214
fc3f2b72
CW
12152013-11-26 Colin Watson <cjwatson@ubuntu.com>
1216
1217 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1218 than hardcoding /usr/local/bin/xorriso.
1219
1e4b3587
VS
12202013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 Add PCI command activation to all PCI drivers as required for coreboot
1223 and maybe some other firmwares.
1224
9208367d
VS
12252013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1228 and non-Apple variants of efiemu compile.
1229
67b9b7af
AB
12302013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1231
1232 * configure.ac: Add explicit check for linking format of
1233 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1234 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1235 hardcoding linking format.
1236
bee1b5ce
VS
12372013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1240 and not pkgdatadir.
1241
07e3b047
CW
12422013-11-25 Colin Watson <cjwatson@ubuntu.com>
12432013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 Add a --locale-directory option to grub-install and related tools.
1246
1247 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1248 --locale-directory option.
1249 (enum grub_install_options): Add
1250 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1251 * util/grub-install-common.c (grub_install_help_filter): Handle
1252 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1253 (grub_install_parse): Likewise.
1254 (get_localedir): New function to check for a user-provided option
1255 before trying grub_util_get_localedir.
1256 (copy_locales): Use get_localedir rather than
1257 grub_util_get_localedir. Handle differing locale directory layouts.
1258 (grub_install_copy_files): Likewise.
1259
61e1b9a4
VS
12602013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1263 Don't rely on PATH_MAX.
1264
c98dd165
VS
12652013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/genmoddep.awk: Use more portable && rather than and.
1268
ff1c277e
VS
12692013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1272 an object after data. While it doesn't seem right solution, it
1273 works well enough and OSX isn't main compilation platform.
1274
c8f7614b
VS
12752013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1278 While it doesn't seem right solution, it works well enough and
1279 OSX isn't main compilation platform.
1280
246a434f
VS
12812013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * configure.ac: Add -static to LDFLAGS when using apple linker to
1284 prevent it from pulling in dynamic linker.
1285
5c066a81
VS
12862013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 Apple assembly doesn't handle symbol arithmetic well. So define an
1289 offset symbol in boot.S and use it.
1290
78f961ef
VS
12912013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 Apple assembly doesn't handle symbol arithmetic well. So instead
1294 of getting addres of kernel_sector + 4 define kernel_sector_high.
1295 It also makes code more readable.
1296
09bc0a57
VS
12972013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 With Apple assembly in .macro environvemnt you have to use $$ instead
1300 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1301 to $$x on Apple and to $x on everything else.
1302
b700a427
VS
13032013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1306 OBJCONV.
1307
4480b95d
VS
13082013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1311 and non-Apple. This instruction is shorter and faster,
1312 so no reason not to use it on both.
1313
e77c81f6
VS
13142013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1317 .text when compiling for Apple.
1318
971dbee5
VS
13192013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1322
6f2e82be
VS
13232013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
1326 %dx restore the probe worked on non-existant drive. Reorganize the
1327 code a little bit to free 2 bytes necessary for push/pop.
1328
9eec9699
VS
13292013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1332 Add missing cast to silence warning.
1333
5ae5c54c
KPA
13342013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
1335
1336 * util/grub-install.c (update_nvram): Support --no-nvram flag
1337 for EFI targets.
1338
7b04fe6c
VS
13392013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1342
e67566ce
VS
13432013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * util/garbage-gen.c: Add missing include of sys/time.h.
1346
f93ddcfd
VS
13472013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 Don't add -mflush-func if it's not supported by compiler.
1350
1bba40f5
VS
13512013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 Move common BIOS/coreboot memory map declarations to
1354 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1355
f65e14dc
AB
13562013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1357
1358 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1359
14a94bba
VS
13602013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * INSTALL: Document why older clang versions aren't appropriate.
1363
8109c5d4
VS
13642013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * INSTALL: Document about clang for mips.
1367
a92b5cb8
VS
13682013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
1371 clang.
1372
4a23e2fe
VS
13732013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 Add *-xen to the list of grub-install-common platforms.
1376
a3ba7410
VS
13772013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
1380 3 last commits.
1381
e1c22419
VS
13822013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
1385
189090ce
VS
13862013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
1389 with -mcmodel=large.
1390
1a5b7b40
VS
13912013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
1394 range-checking for 32-bit quantities.
1395
9cf12b20
VS
13962013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * configure.ac: Compile with -fPIC when compiling with clang on
1399 mips.
1400
63a45330
VS
14012013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
1404 when compiling with clang.
1405
4a0aaad0
VS
14062013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 clang emits calls to abort () under some unknown conditions.
1409 Export abort () when compiling with clang.
1410
095bb1bf
VS
14112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * docs/grub-dev.texi: Document stack and heap sizes.
1414
3937bd96
VS
14152013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * include/grub/i386/pc/memory.h: Decrease
1418 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
1419 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
1420 The binary doesn't change (checked). It's more to better reflect actual
1421 usage.
1422
ddb3efc9
VS
14232013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
1426 at compile time that enough of scratch size is available.
1427
4e42521d
VS
14282013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
1431 Previously we misaligned stack by 8 in startup.S and compensated
1432 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
1433 right behaviour is to align stack in startup.S and keep it aligned
1434 in callwrap.S. startup.S part was committed few commits before. This
1435 takes care of callwrap.S.
1436 Reported by: Gary Lin.
1437
054efe54
VS
14382013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
1441 .data and .bss. May happen if compiler and assembly use different
1442 alignment.
1443
a0e1befb
VS
14442013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1447 way.
1448
c36c73f6
VS
14492013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 Add support for a new magic symbol _gp_disp on mips to handle PIC
1452 binaries.
1453
6f4a19f5
VS
14542013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1457
0d8f04cd
VS
14582013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1461 when rest of GRUB is compiled for hisher stepping. Instead use
1462 .set mips3/.set mips1 around cache and sync opcodes.
1463
49060520
VS
14642013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1467 do essentially the same thing, do it in similar way.
1468
c6a823e2
CW
14692013-11-21 Colin Watson <cjwatson@ubuntu.com>
1470
1471 * util/grub-mkrescue.c (main): If a source directory is not
1472 specified, read platform-specific files from subdirectories of
1473 pkglibdir, not pkgdatadir.
1474
b7f9aedf
CW
14752013-11-21 Colin Watson <cjwatson@ubuntu.com>
1476
1477 * grub-core/normal/progress.c: Remove unused file.
1478
7dd0a303
VS
14792013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1482 array.
1483
ca120e31
VS
14842013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1487 than grub.cfg.
1488
48eb35cd
VS
14892013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * coreboot.cfg: Add missing file.
1492
7f20dbbc
VS
14932013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1496
55e706c9
AK
14972013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1498
1499 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1500 selectively skipping systems.
1501
4e7d433d
CW
15022013-11-19 Colin Watson <cjwatson@ubuntu.com>
1503
1504 * Makefile.util.def (grub-mkimage): Add
1505 grub-core/osdep/aros/config.c to extra_dist.
1506 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1507 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1508 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1509 grub-core/gnulib-no-gets.diff.
1510
7d44ff7d
VS
15112013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 Add automated filesystem checking based on scripts I've used now for
1514 quite some time locally. Most of the test require root so they are
1515 skipped when run without necessarry privelegies.
1516
a8c3e5e3
CW
15172013-11-19 Colin Watson <cjwatson@ubuntu.com>
1518
1519 * util/grub-install.c (main): Adjust info messages to match
1520 installed paths of grub-bios-setup and grub-sparc64-setup.
1521
4402db3e
CW
15222013-11-19 Colin Watson <cjwatson@ubuntu.com>
1523
1524 * util/grub-install-common.c (copy_locales): Consistently use
1525 grub_util_get_localedir () rather than LOCALEDIR.
1526 (grub_install_copy_files): Likewise.
1527
7960d3e1
JT
15282013-11-19 Josh Triplett <josh@joshtriplett.org>
1529
1530 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1531 16-byte boundary, as required by the x86-64 ABI, before calling
1532 grub_main. In some cases, GCC emits code that assumes this
1533 alignment, which crashes if not aligned. The EFI firmware is also
1534 entitled to assume that stack alignment without checking.
1535
d53f4900
JT
15362013-11-18 Josh Triplett <josh@joshtriplett.org>
1537
1538 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1539 4k page boundaries as expected by firmware rather than 1k
1540 boundaries.
1541 (grub_mmap_malign_and_register): Likewise.
1542
bb2b275b
VS
15432013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1546 fragmentation 512M is enough.
1547
45bf8b3a
VS
15482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1551 pointer to 32K. This is the size of cache element which is the most
1552 common allocation >1K. This way the pointer is always around blocks
1553 of 32K and so we keep performance while decreasing fragmentation.
1554
39ff43c5
VS
15552013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1558 current memory when allocating large chunks. This significantly
1559 decreases memory fragmentation.
1560
60870be8
CW
15612013-11-18 Colin Watson <cjwatson@ubuntu.com>
1562
1563 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1564 but for symmetry).
1565 * tests/lzocompress_test.in: Skip if lzop is not installed.
1566 * tests/xzcompress_test.in: Skip if xz is not installed.
1567
a1f00cc5
CW
15682013-11-18 Colin Watson <cjwatson@ubuntu.com>
1569
1570 * util/grub-mkrescue.c (main): Fix typo.
1571
74e632fe
VS
15722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1575 clock frequency to 200 MHz,
1576
efb8de49
VS
15772013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1580
b7526e78
VS
15812013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1584 Load config file from (cbfsdisk)/etc/grub.cfg.
1585
b40ce651
VS
15862013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * util/grub-install-common.c (grub_install_copy_files): Fix module
1589 destination directory.
1590
1e8e2e78
CW
15912013-11-18 Colin Watson <cjwatson@ubuntu.com>
1592
1593 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1594 files have not been built.
1595
3bf4088b
CW
15962013-11-18 Colin Watson <cjwatson@ubuntu.com>
1597
1598 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1599 Handle errors from mkstemp.
1600 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1601
35c2851c
VS
16022013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1605 on primary master on pseries.
1606
ea7c1a7d
VS
16072013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1610 already loaded. This saves memory needed for tests,
1611
96adefdb
VS
16122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1615 work again.
1616
5e3cb8a7
VS
16172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1620 work again.
1621
256ee7ac
VS
16222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1625 master since with some combinations of qemu and firmware only primary
1626 IDE channel is available.
1627
f8b4c3b6
VS
16282013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1631 low-memory platforms where we don't have enough memory for them.
1632 * grub-core/tests/videotest_checksum.c: Likewise.
1633
4bf70320
VS
16342013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1637 already loaded. This saves memory needed for tests,
1638
a284320e
VS
16392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 Fix handling of install lists.
1642
2df8f43d
VS
16432013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1646
6f1bc8bc
VS
16472013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1650 the devices before accessing them.
1651
04f39f6d
VS
16522013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1655 as file argument.
1656
35d4761c
VS
16572013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1660
33d02a42
VS
16612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1664 (grub_file_close): Free file->name.
1665
7bbb60cf
VS
16662013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1669 (grub_load_public_key): Likewise.
1670 (grub_verify_signature_real): Likewise.
1671 (grub_cmd_verify_signature): Likewise.
1672
da93d675
VS
16732013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1676 memory leak.
1677
59c943ec
VS
16782013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1681 (grub_longjmp): Restore r31.
1682 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1683
4336b5d8
VS
16842013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1687 modules to be in line with make_image_abs.
1688
44ce3a93
VS
16892013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1692
1693 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1694
7d400406
IC
16952013-11-17 Ian Campbell <ijc@hellion.org.uk>
1696
1697 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1698
77dae919
VS
16992013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1702 to leave some memory to firmware.
1703
0ab8e025
VS
17042013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1707 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1708 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1709 Load gfxmenu.
1710
b80c2d6d
VS
17112013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1714 now needs full arguments.
1715
6aa6077b
VS
17162013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * util/grub-mkrescue.c (main): Add trailing \n in
1719 .disk_label.contentDetails to be in line with previous shell script.
1720
66c00cb1
VS
17212013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1724
3a129dba
VS
17252013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * util/grub-install-common.c (grub_install_parse): Recognize
1728 --compress=none like shell script did.
1729
8df6eff6
VS
17302013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * include/grub/misc.h: Replace check for __sparc64__ with one for
1733 __sparc__ as __sparc64__ isn't actually defined.
1734
889ebe92
VS
17352013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1738 counterpart of fixing the naming of escc ports.
1739
d4d55b29
VS
17402013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * util/grub-install-common.c (platforms): Fix the order of entries and
1743 remove useless field val.
1744
55e2c84f
VS
17452013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * util/grub-install.c: Add new option --no-bootsector to skip
1748 installing of bootsector. Accept --grub-setup=/bin/true as
1749 backwards-compatible synonym.
1750
cd46aa6c
VS
17512013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1752
1753 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1754 order of qsort arguments (number of elements vs. element size).
1755
17562013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1759 the function of these files exceeds what can be sanely handled in shell
1760 in posix-comaptible way. Also writing it in C extends the functionality
1761 to non-UNIX-like OS and minimal environments.
1762
9ef81064
VS
17632013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1766 compiling to thumb2.
1767 * grub-core/kern/arm/cache_armv7.S: Likewise.
1768 * grub-core/lib/arm/setjmp.S: Likewise.
1769
11a77932
LL
17702013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1771
1772 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1773 in grub_uboot_syscall
1774
080603f0
VS
17752013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 Decrease stack usage in lexer.
1778
1779 We have only 92K of stack and using over 4K per frame is wasteful
1780
1781 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1782 as macros so that compiler would remove useless structure on stack.
1783 Better solution would be to fix flex not to put this structure on
1784 the stack but flex is external program.
1785
4f84ae0e
VS
17862013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Decrease stack usage in signature verification.
1789
1790 We have only 92K of stack and using over 4K per frame is wasteful
1791
1792 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1793 rather than stack.
1794 (grub_verify_signature_real): Likewise.
1795
e6a6182d
VS
17962013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 Decrease stack usage in mdraid 0.9x.
1799
1800 We have only 92K of stack and using over 4K per frame is wasteful
1801
1802 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1803 rather than stack.
1804
1a454efe
VS
18052013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 Decrease stack usage in BtrFS.
1808
1809 We have only 92K of stack and using over 4K per frame is wasteful
1810
1811 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1812 rather than stack.
1813
7b5d51d8
VS
18142013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 Decrease stack usage in JFS.
1817
1818 We have only 92K of stack and using over 4K per frame is wasteful
1819
1820 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1821 stack. Note: this function is recursive.
1822 (grub_jfs_read_inode): Read only part we care about.
1823
593865b9
LL
18242013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1825
1826 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1827 handling
7b5d51d8 1828
31c0cd43
AB
18292013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1830
1831 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1832
c2fdb331
AB
18332013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1834
1835 * docs/grub.texi (Environment): Document cmdpath.
1836
9e18dfe2
AB
18372013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1838
1839 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1840 Remove "unused" attribute from arguments, they are used.
1841
59ba9d14
CW
18422013-11-15 Colin Watson <cjwatson@debian.org>
1843
1844 * .gitignore: Only ignore grub-mk* at the top level.
1845
23012db9
CW
18462013-11-15 Colin Watson <cjwatson@ubuntu.com>
1847
1848 * util/grub-reboot.in (usage): Fix a typo.
1849
6fcec439
VS
18502013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 Replace libgcc version of ctz with our own.
1853
1854 On upcoming arm64 port libgcc ctz* are not usable in standalone
1855 environment. Since we need ctz* for this case and implementation is
1856 in C we may as well use it on all concerned platforms.
1857
a9f25a08
VS
18582013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * configure.ac: Probe for linking format rather than guessing it based
1861 on target_os.
1862
c7995256
VS
18632013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1866 "1" prior to handoff.
1867
1868 Reported by: M A Young.
1869
e1aa5b66
VS
18702013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1873 \0 to all files.
1874
1875 Reported by: M A Young.
1876
da5ed5cf
VS
18772013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1880 compilation on NetBSD.
1881
5757a93e
VS
18822013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * acinclude.m4: Don't add -P on initial nm test.
1885
1886 Note: even though this patch postdates Andrey's it bears 14 Nov as
1887 date due to timezone difference.
1888
a5986276
AB
18892013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1890
1891 * grub-core/Makefile.core.def (signature_test): Add missing
1892 tests/signatures.h.
1893
0de172a0
CW
18942013-11-14 Colin Watson <cjwatson@ubuntu.com>
1895
1896 * util/grub-install_header: Set localedir here, since this file is
1897 where it's used.
1898 * util/grub-install.in: Remove setting of localedir.
1899 * util/grub-mkrescue.in: Likewise.
1900
da45f43c
VS
19012013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1904
20aea949
VS
19052013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * configure.ac: Move nm checks to the end.
1908 Call grub_PROG_NM_WORKS.
1909 * acinclude.m4: New check grub_PROG_NM_WORKS.
1910 Use $TARGET_CFLAGS -c when compiling test binary.
1911
1326b9ae
CW
19122013-11-14 Colin Watson <cjwatson@ubuntu.com>
1913
1914 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1915 unused variables.
1916
1fe26ab4
MG
19172013-11-14 Matthew Garrett <mjg@redhat.com>
1918
1919 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1920 cmdpath to firmware directory.
1921
83e9c273
VS
19222013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1925 at the start of second iteration.
1926
ec525c18
VS
19272013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1930
93fcc7ad
VS
19312013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * Makefile.am (default_payload.elf): New target for easier coreboot
1934 build.
1935
57ffe934
VS
19362013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1939 clang (not necessarry with -no-integrated-as).
1940 * include/grub/symbol.h [__arm__]: Likewise.
1941
2312f06c
VS
19422013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * configure.ac: Use -no-integrated-as on arm with clang.
1945 * INSTALL: Mention ARM compilation with clang.
1946
2416415c
VS
19472013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1950 -mthumb-interwork.
1951
5da55172
CW
19522013-11-14 Colin Watson <cjwatson@ubuntu.com>
1953
1954 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1955 code for indirect block handling.
1956
1957 Saves 185 bytes on compressed image.
1958
da770328
PFS
19592013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1960
1961 Fix make clean.
1962
1963 * Makefile.am: Remove build-grub-* in make clean.
1964
f02e6b56
PFS
19652013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1966
1967 New files to gitignore.
1968
1969 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1970 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1971
035a26c1
LL
19722013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1973
1974 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1975
bc8a6137
LL
19762013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1977
1978 * .gitignore: fix rules for .dep* and add *.a post git migration
1979
6fe506b0
CW
19802013-11-13 Colin Watson <cjwatson@ubuntu.com>
1981
1982 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1983 to match INSTALL.
1984
81a2e438
CW
19852013-11-13 Colin Watson <cjwatson@ubuntu.com>
1986
1987 * grub-core/kern/misc.c: Don't redirect divisions in the
1988 GRUB_UTIL case.
1989 * include/grub/misc.h: Likewise.
1990
9b45c073
CW
19912013-11-13 Colin Watson <cjwatson@ubuntu.com>
1992
1993 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1994 systems that require checking the return value of write.
1995
11b2a9b7
CW
19962013-11-13 Colin Watson <cjwatson@ubuntu.com>
1997
1998 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1999 efibootmgr quiet when --debug is not used, rather than when it is.
2000
d743d22d
CW
20012013-11-13 Colin Watson <cjwatson@ubuntu.com>
2002
2003 * gentpl.py (define_macro_for_platform_dependencies): Remove
2004 first (and thus unused) of two definitions for this function.
2005 (platform_dependencies): Likewise.
2006
11da14b5
CW
20072013-11-13 Colin Watson <cjwatson@ubuntu.com>
2008
2009 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2010 functions, we only need to check this for the target, not the host.
2011 * configure.ac (grub_apple_cc): Likewise.
2012
2bdd0719
VS
20132013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2016 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2017 asm to stay in arm even if surrounding is thumb.
2018
5e77d9cf
VS
20192013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2022 helper functions are needed for thumb.
2023
7d511625
VS
20242013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2027 level / 3 division explicitly unsigned. Saves few bytes.
2028
81023dbd
VS
20292013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2032
b2e9294f
VS
20332013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2036 division.
2037
16a22c38
VS
20382013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2041 grub_uboot_boot_data to asm part.
2042
c9cd02c9
VS
20432013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2046 literal load.
2047 (grub_uboot_syscall): Save/restore r9 and align stack.
2048
81498615
VS
20492013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2052
ea57de18
VS
20532013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2056 occurencies with END.
2057
d0d1e3da
CW
20582013-11-13 Colin Watson <cjwatson@ubuntu.com>
2059
2060 * util/grub-editenv.c (help_filter, argp): Document how to delete
2061 the whole environment block.
2062 Reported by Dan Jacobson. Fixes Debian bug #726265.
2063
3809f016
CW
20642013-11-13 Colin Watson <cjwatson@ubuntu.com>
2065
2066 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2067 sectioning.
2068
46d8a203
JT
20692013-11-13 Josh Triplett <josh@joshtriplett.org>
2070
2071 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2072 increment/decrement.
2073
513eeb61
VS
20742013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2077 compiling with clang.
2078
bc379c1a
VS
20792013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2082 ".".
2083
20842013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 2085
16057d6b
VS
2086 Redirect all divisions to grub_divmod64.
2087
f649a6a8
VS
20882013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2091
ef28ee8b
VS
20922013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Add missing includes of loader.h.
2095
300f48c5
VS
20962013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * configure.ac: Allow disabling themes.
2099
2d357558
LS
21002013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2101
2102 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2103
0c62a5b2
VS
21042013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2107 until it becomes operational.
2108
b0720b49
VS
21092013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/Makefile.core.def (legacy_password_test): Disable
2112 on platforms where no legacycfg is compiled.
2113 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2114 load legacy_password_test.
2115
d5bab2c0
VS
21162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2119
3ea0ccb3
VS
21202013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2123
08772054
VS
21242013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2127 strict-aliasing warning.
2128 (fsync): Silence cast warning.
2129
1dcb2715
VS
21302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/commands/verify.c: Remove variable length arrays.
2133 Load gcry_dsa/gcry_rsa automatically.
2134
61c22fdf
VS
21352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * grub-core/tests/signature_test.c: New test.
2138
431e57a7
VS
21392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2142 API.
2143
b521bb81
VS
21442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2147 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2148
7d06b24e
VS
21492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2152
3bbeade4
VS
21532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/fs/proc.c: Allow \0 in proc files.
2156
ba82db7a
VS
21572013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2160
801564c8
VS
21612013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2164
ac8cac1d
VS
21652013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/fs/ext2.c: Remove variable length arrays.
2168
4b85f122
VS
21692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2172 length arrays.
2173
c35fcdc0
VS
21742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2177 * grub-core/disk/cryptodisk.c: Likewise.
2178 * grub-core/disk/geli.c: Likewise.
2179 * grub-core/disk/luks.c: Likewise.
2180
15decd26
VS
21812013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/tests/legacy_password_test.c: New test.
2184 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2185
9c6482b8
VS
21862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2189
41f26e0e
VS
21902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/tests/pbkdf2_test.c: New test.
2193
2def6616
VS
21942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2197
9e34a34e
VS
21982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/io/lzopio.c: Remove variable length arrays.
2201
5ccaf904
VS
22022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * include/grub/crypto.h: Add maximums on hash size and cipher block
2205 size.
2206
44a387e0
VS
22072013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2210
a388e255
VS
22112013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/tests/xnu_uuid_test.c: New test.
2214
a1ef7718
VS
22152013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2218 covers it).
2219
65ddb300
VS
22202013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/commands/hashsum.c: Remove variable length arrays.
2223
31747dd5
VS
22242013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2227 condition.
2228 * tests/grub_func_test.in: Increase memory allocation.
2229
6a74c4df
VS
22302013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2233 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2234 sys/mount.h.
2235
394c3e0a
VS
22362013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2239 (grub_util_get_fd_size_os): ...this.
2240 (grub_hostdisk_flush_initial_buffer): New empty function.
2241
60d31116
VS
22422013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2245 without --defined-only.
2246
8445b011
VS
22472013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2250 rip-relative addressing in prologue.
2251
8506a641
VS
22522013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2255 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2256
66acd9d6
VS
22572013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2260 Add missing semicolon.
2261
348d0535
VS
22622013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2265
0d2d30bb
VS
22662013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * configure.ac: Check for lzma.h for enabling liblzma and allow
2269 manual disabling.
2270
631187be
VS
22712013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 Add missing includes of loader.h.
2274
e756ec82
FZ
22752013-11-11 Fam Zheng <famcool@gmail.com>
2276
2277 * util/grub.d/30_os-prober.in: Add minix entry.
2278
87d62d7d
VS
22792013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2282 right buffer for temporary load.
2283
5460cfeb
VS
22842013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2287
89977306
VS
22882013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2291 payload.
2292
3617c59b
VS
22932013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2296 not Types.h.
2297 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2298 environment.
2299 (LzmaDec_InitDicAndState): Make static.
2300
881c6a10
VS
23012013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2304
2024ade2
VS
23052013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2308
2309 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2310
674ad4f6
VS
23112013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * docs/grub-dev.texi: Replace bzr references with git ones.
2314
5b99970e
AB
23152013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2316
2317 * docs/grub.texi (Simple configuration): Remove reference to
2318 grub-reboot from saved default entry description - grub-default
2319 does not use it anymore.
2320
3c2304d5
VS
23212013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2324 compiled with.
2325
80cfd940
AB
23262013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2327
2328 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
2329
33690255
VS
23302013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Fix grub_machine_fini bitrot.
2333
2334 Reported by: Glenn Washburn.
2335
c61471fc
VS
23362013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2339
54da019f
VS
23402013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2343 -DELF.
2344 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2345 instead of ELF*.
2346
23472013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
2348
2349 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2350 Add -march=core2 when testing compile of efiemu64.
2351
2352 Thanks Andrey Borzenkov for spotting this.
2353
9612ebc0
VS
23542013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2357 XEN PV environment and load kernels.
2358
1a46a3a4
VS
23592013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
2362 * grub-core/loader/multiboot_mbi2.c: Likewise.
2363
2df12551
VS
23642013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
2367 handling.
2368
3c980381
VS
23692013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
2372
2373 Tested by: Denis 'GNUtoo' Carikli.
2374
800f63d3
VS
23752013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2378
9f8acdaa
VS
23792013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2380
5620eb53
VS
2381 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
2382 Use to get rounded angle rather than truncated.
2383
23842013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
2387 RTS/CTS flow control.
2388
2dc1eb6c
VS
23892013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
2392 divisions.
2393
b9563c94
VS
23942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
2397 Use grub_fatal rather than divide by zero.
2398 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2399
d6d8e9a9
VS
24002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
2403 truncate.
2404 (grub_fixed_fsf_divide): Likewise.
2405
d06de6c8
VS
24062013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
2409 division by-zero and senseless negative divisions.
2410
6af7d49b
VS
24112013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
2414 division by-zero and senseless negative divisions.
2415 (circprog_set_property): Don't accept negative num_ticks.
2416
bcfa6d72
VS
24172013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
2420 division by-zero and senseless negative divisions.
2421
dd7f792c
VS
24222013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * configure.ac: Use elf_*_fbsd on kfreebsd.
2425
d061fda7
VS
24262013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/tests/div_test.c: New test.
2429
4db22500
VT
24302013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2431
2432 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
2433 * grub-core/gfxmenu/gui_canvas.c: Likewise.
2434 * grub-core/gfxmenu/view.c: Likewise.
2435 * grub-core/video/fb/video_fb.c: Introduce new functions:
2436 grub_video_set_area_status, grub_video_get_area_status,
2437 grub_video_set_region, grub_video_get_region.
2438 * grub-core/video/bochs.c: Likewise.
2439 * grub-core/video/capture.c: Likewise.
2440 * grub-core/video/video.c: Likewise.
2441 * grub-core/video/cirrus.c: Likewise.
2442 * grub-core/video/efi_gop.c: Likewise.
2443 * grub-core/video/efi_uga.c: Likewise.
2444 * grub-core/video/emu/sdl.c: Likewise.
2445 * grub-core/video/radeon_fuloong2e.c: Likewise.
2446 * grub-core/video/sis315pro.c: Likewise.
2447 * grub-core/video/sm712.c: Likewise.
2448 * grub-core/video/i386/pc/vbe.c: Likewise.
2449 * grub-core/video/i386/pc/vga.c: Likewise.
2450 * grub-core/video/ieee1275.c: Likewise.
2451 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2452 * include/grub/video.h: Likewise.
2453 * include/grub/video_fb.h: Likewise.
2454 * include/grub/fbfill.h: Updated render_target structure.
2455 grub_video_rect_t viewport, region, area
2456 int area_offset_x, area_offset_y, area_enabled
2457 * include/grub/gui.h: New helper function
2458 grub_video_bounds_inside_region.
2459 * docs/grub-dev.texi: Added information about new functions.
2460
c6b755df
VS
24612013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2464 for alignment.
2465
e2a68100
VS
24662013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2469 missing attribute.
2470 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2471
c4f11a2a
VS
24722013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2475 simple division on arm and ia64.
2476
e0a7bffa
VS
24772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2480 link with libgcc.
2481
38b864ea
VS
24822013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2485
12359faf
VS
24862013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2489 prefix symbol, not @.
2490
9fdc64a9
VS
24912013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * INSTALL: Add note about older gcc and clang.
2494
665c575b
VS
24952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2498
47dcf7b1
VS
24992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2502 NULL pointer dereference.
2503
d59849b2
VS
25042013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2507 clang.
2508
7a3f4a18
VS
25092013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2512 warnings.
2513
7f084087
VS
25142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2517 function.
2518 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2519 * grub-core/disk/geli.c (ascii2hex): Likewise.
2520
d5524ca8
VS
25212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * configure.ac: Run linker tests without -Werror.
2524 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2525 Change all occurences of -static-libgcc resp -lgcc to
2526 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2527
390cd7ca
VS
25282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2531
60375a88
VS
25322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 Allow compiling with clang (not really supported though).
2535
2536 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2537 unconditionally.
2538 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2539 Add -mrtd -mregparm=3 on i386 when not using clang.
2540 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2541
dd07e0c4
VS
25422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2545 bindings.
2546 * grub-core/lib/reed_solomon.c: Likewise.
2547 * include/grub/i386/gdb.h: Likewise.
2548 * include/grub/i386/pc/int.h: Likewise.
2549 * include/grub/i386/pc/pxe.h: Likewise.
2550 * include/grub/ieee1275/ieee1275.h: Likewise.
2551
9d3ae8ec
VS
25522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 Import libgcrypt 1.5.3.
2555
c12936c5
VS
25562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * configure.ac: Don't add -Wcast-align on x86.
2559
cdc17f60
VS
25602013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * configure.ac: Add -freg-struct-return on all platforms that
2563 support it.
2564
b35ec299
VS
25652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * acinclude.m4: Use -Werror on parameter tests.
2568 * configure.ac: Likewise.
2569
05f3a0d7
VS
25702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2573
c966a489
VS
25742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * configure.ac: Check that -malign-loops works rather than assuming that
2577 either -falign-loops or -malign-loops work.
2578
bb0c57ec
VS
25792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2582
24f4e57c
VS
25832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * configure.ac: Prevent cflags leaking to subsequent tests by always
2586 resetting cflags to target_cflags in target tests.
2587
ac319fbc
VS
25882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2591 function.
2592
4bfe934c
VS
25932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2596
40a5bfde
VS
25972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2600
a67c755e
VS
26012013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/normal/cmdline.c (grub_cmdline_get):
2604 Remove nested functions.
2605
87a04a2d
VS
26062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * tests/test_sha512sum.in: Make it work on emu.
2609
c03995d2
VS
26102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2613 functions.
2614 (grub_bidi_line_logical_to_visual): Likewise.
2615
ec0ebb3f
VS
26162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 Remove vestiges of -Wunsafe-loop-optimisations.
2619
2620 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2621 -Wno-unsafe-loop-optimisations.
2622 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2623 pragma.
2624 * grub-core/io/gzio.c: Likewise.
2625 * grub-core/script/parser.y: Likewise.
2626 * grub-core/script/yylex.l: Likewise.
2627 * util/grub-mkfont.c: Likewise.
2628
6ab537e3
VS
26292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * util/grub-mkfont.c (process_cursive): Remove nested function.
2632
e6c368d4
VS
26332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2636 (grub_boot_time): Likewise.
2637
4f1cfd22
VS
26382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * include/grub/symbol.h (FUNCTION): Use @function rather than
2641 "function".
2642 (VARIABLE): Likewise.
2643
6d5a4cee
VS
26442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2647
f06c2172
VS
26482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2651 (parse_dhcp_vendor): Likewise.
2652
7cb24eb5
VS
26532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2656
f30c692c
VS
26572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2660 Define after defining type and not before.
2661
8b66bb5d
VS
26622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2665 type.
2666 (grub_gcm_decrypt): Likewise.
2667 (algo_decrypt): Likewise.
2668 (grub_zfs_decrypt_real): Transform error type.
2669
5d17fd0f
VS
26702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2673
ac35a0f7
VS
26742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2677 (grub_usbms_cbi_reset): Likewise.
2678 (grub_usbms_bo_reset): Likewise.
2679 (grub_usbms_reset): Likewise.
2680 (grub_usbms_attach): Likewise.
2681 (grub_usbms_transfer_cbi): Likewise.
2682
3ee08697
VS
26832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2686 "checksum = checksum;".
2687
70bb6c85
VS
26882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2691 entry_type.
2692
c7f34744
VS
26932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2696 BIOS disk check.
2697
3f63b4d8
VS
26982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2701 type.
2702 (grub_ehci_fini_hw): Likewise.
2703 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2704
dac6ce73
VS
27052013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2708 return grub_usb_err_t for cosistency. All users updated.
2709
5701750c
VS
27102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2713 assigning to itself.
2714
9e236169
GLD
27152013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
27162013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2717
2718 Issue separate DNS queries for ipv4 and ipv6
2719
2720 Adding multiple questions on a single DNS query is not supportted by
2721 most DNS servers. This patch issues two separate DNS queries
2722 sequentially for ipv4 and then for ipv6.
2723
2724 Fixes: https://savannah.gnu.org/bugs/?39710
2725
2726 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2727 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2728 * (grub_net_dns_lookup): Now using separated dns packages.
2729 * (grub_cmd_nslookup): Add error condition.
2730 * (grub_cmd_list_dns): Print DNS option.
2731 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2732 --prefer-ipv4, and --prefer-ipv6.
2733 * include/grub/net.h (grub_dns_option_t): New enum.
2734 * (grub_net_network_level_address): option added.
2735
339eacce
VT
27362013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2737
2738 * grub-core/video/fb/video_fb.c: Merge two blit functions
2739 into one.
2740
810f991b
VS
27412013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/term/terminfo.c: Add sequences for home and end.
2744
386571a2
VS
27452013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2748 graphics console.
2749
3fe63754
VS
27502013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2753 add mode 0x12.
2754
76681e71
VS
27552013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2758 e-mail by Per Öberg.
2759
46522fb7
VS
27602013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2763 name.
2764
e7d09ac4
AB
27652013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2766
2767 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2768 emu platforms.
2769 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2770
67508925
VS
27712013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * docs/grub.texi: Document usage of menuentry id.
2774
0c62124e
VS
27752013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2778
9b5d4eed
PL
27792013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2780
2781 * grub-core/commands/i386/nthibr.c: New command.
2782
79054c1d
VS
27832013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2786
44d47bbe
VS
27872013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2790 coordinate.
2791
323de05b
VS
27922013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 Support GRUB_DISABLE_SUBMENU config.
2795
2796 Inspired by patch from Prarit Bhargava.
2797
5a01722e
VS
27982013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * docs/grub.texi: Mention RSA support.
2801
1106c3f0
VS
28022013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/commands/verify.c: Add RSA support.
2805
a1dcc2cb
VS
28062013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2809 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2810 device is known to be ATAPI.
2811
ee7fb780
MF
28122013-11-03 Mike Frysinger <vapier>
2813
2814 * configure.ac: Don't add target-prefix.
2815
5ade4a42
VS
28162013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2819 variables.
2820
6cd66043
VS
28212013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2824 if language is English.
2825
090d7c81
VS
28262013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2829
dd614590
VS
28302013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * configure.ac: Don't add -m32/-m64 on emu.
2833
a8686589 28342013-11-02 neil
2835
2836 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2837 broken linux headers.
2838
fb9f12a0
VS
28392013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2842
e25f8e1f
VS
28432013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2846 Reed-Solomon recovery if more than half of redundancy info is 0.
2847
4685200f
VS
28482013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * util/grub-mount.c: Handle symlinks to directories.
2851
1397f0b5
VS
28522013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2855 find_file recursively for symlink.
2856
8b3e6eb6
VS
28572013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * tests/util/grub-shell.in: Copy themes.
2860
a0c9d5c6
VS
28612013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2864
5cf9459c
VS
28652013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * configure.ac: Use 0x8000 for address instead of 8000.
2868
e7b66a28
VS
28692013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2872 signature.
2873
203f53fb
VS
28742013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2877 variable.
2878
02663ee9
VS
28792013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2882
f169f65e
VS
28832013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2886 file_progress_read_hook.
2887 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2888
2855a0fc
VS
28892013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2892 and double.
2893
bf0f3a8c
VS
28942013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2897
cb72aa18
VS
28982013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 Rewrite blocklist functions in order to get progress when
2901 reading large extents and decrease amount of blocklist hook calls.
2902
896f9135
VS
29032013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2906 of SI suffixes.
2907
89295a06
VS
29082013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 Support --base-clock for serial command to handle weird cards with
2911 non-standard base clock.
2912
eb03ede0
VS
29132013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2916 strncpy.
2917 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2918 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2919 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2920 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2921 + strcpy rather than strncpy.
2922
8fbe5c7d
VS
29232013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2926 (check_pool_label): Likewise. Fixes overflow.
2927 (nvlist_find_value): Fix comparison.
2928
e54b8f53
VS
29292013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2932 more appropriate functions.
2933
fa9b3dca
VS
29342013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2937 realloc.
2938
9a021c55
VS
29392013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2942
80e8b13a
VS
29432013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2946 on core size.
2947
b61599ac
VS
29482013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2951
a602dc54
VS
29522013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2955 (initialize_tables): reset tl and td to NULL after freeing.
2956
93c12075
VS
29572013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2960
1ca4b75e
VS
29612013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2964 of supported tags.
2965
329550c4
VS
29662013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2969
00bfa988
VS
29702013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2973 quirks.
2974
81afc5cc
VS
29752013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2978 a page in protected space.
2979
cb3c4a47
VS
29802013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2983 allocate space for zero-sized modules.
2984
954f7bf5
VS
29852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2988
526d3d25
FL
29892013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2990
2991 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2992
74124c34
VS
29932013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2996 safeguards. Fixes a crash with i386/pc/console.c.
2997
5177391e
VS
29982013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3001 and grub_hostfs_init.
3002
64db14b0
VS
30032013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3006 windows method on other platforms without good stat as well.
3007
effe2036
VS
30082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3011
82591fa6 30122013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 3013
82591fa6
VS
3014 Make / in btrfs refer to real root, not the default volume.
3015 Modify mkrelpath to work even if device is mounted with subvolid option.
3016
30172013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3018
3019 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
3020 extra_dist.
3021 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3022 extra_dist.
3023
30fd7198
VS
30242013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3027 fails.
3028
8d179dae
BC
30292013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3030
3031 * docs/autoiso.cfg: New file.
3032
3bc9c8cf
VS
30332013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3036 COND_GRUB_PE2ELF conditions.
3037
8b46b0ea
VS
30382013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3041 "vnd", "rd" and "fd" disks.
3042
442b86de
VS
30432013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 Move grub_disk_write out of kernel into disk.mod.
3046
04dea7e6
VS
30472013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3050 handling.
3051
30522013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
3053
3054 * grub-core/kern/misc.c (grub_abort): Make static
3055
04dea7e6 30562013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
3057
3058 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3059 transform invalid unicode codepoints.
3060
04dea7e6 30612013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
3062
3063 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3064 \0 checking.
3065
03dcac7f
VS
30662013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3069
c81acb7f
VS
30702013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 Consolidate cpuid code.
3073
c1bee646
VS
30742013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 Move cpuid code to cpuid.h and TSC code to tsc.c.
3077
f37bf9c7
GS
30782013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3079
3080 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3081
4021132b
GS
30822013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3083
3084 * util/grub-mkconfig.in: Replace $0 with $self.
3085 * util/grub-reboot.in: Likewise.
3086 * util/grub-set-default.in: Likewise.
3087
3ace8d75
BC
30882013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3089
3090 * docs/osdetect.cfg: New file.
3091
1e6ad6a6
BC
30922013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3093
3094 * tests/util/grub-shell.in: Add new --debug option.
3095
188929eb
BC
30962013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3097
3098 * tests/test_unset.in: New test.
3099
7994a09a
BC
31002013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3101
3102 * tests/test_sha512sum.in: New test.
3103
2a8a7585
VS
31042013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3107 * include/grub/misc.h: Remove strncat.
3108 * grub-core/lib/posix_wrap/string.h: Likewise.
3109
cf8d6bbd
VS
31102013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3113 Try to handle more than 0xFFFF packets.
3114 Reported by: Bernhard Übelacker <bernhardu>.
3115 He also spotted few overflows in first version of this patch.
3116
6d1fc99a
VS
31172013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * tests/date_unit_test.c: New test.
3120
10bafa1c
VS
31212013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3124 of first three years after start of validity of unixtime.
3125
b1c6d037
VS
31262013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3129 division as the one making more sense.
3130 (update_screen): Likewise.
3131 (complete): Likewise.
3132
5f4028d4
VS
31332013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3136
a2856736
VS
31372013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 Make char and string width grub_size_t rather than grub_ssize_t.
3140
0a7e52b2
VS
31412013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3144 unsigned.
3145 (grub_history_replace): Likewise.
3146
42829573
VS
31472013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3150 appropriate.
3151
3523b8d8
VS
31522013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3155 appropriate.
3156
d43c6489
VS
31572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3160 Use unsigned divisions rather than signed variants.
3161
f690f8b0
VS
31622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3165 unsigned arithmetics.
3166 Add missing break.
3167
74ff2c05
VS
31682013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3171
fb56391e
VS
31722013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3175 rather than signed one.
3176 (recovery): Likewise.
3177
40f29060
VS
31782013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3181
c64577a5
VS
31822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3185 than signed.
3186
c16535a8
JM
31872013-10-25 Jon McCune <jonmccune@google.com>
3188
3189 * docs/grub.texi: Cleanup security documentation around signatures.
3190
6673d8e7
VS
31912013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3194
a105d375
VS
31952013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3198 than int.
3199
af81ed88
VS
32002013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3203 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3204 functions when compiling for kernel.
3205
ea899a57
VS
32062013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3209 unsigned long long when using %llu.
3210
c6dc6fa1
VS
32112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3214 terminal after updating progress.
3215
ad2dc003
VS
32162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3219 argument. We don't disable Gate A20 in this code.
3220
b46684ae
VS
32212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3224 Conceptually based on change in branch "vbe-on-coreboot".
3225
f70d5c07
RM
32262013-10-24 Robert Millan <rmh@gnu.org>
3227
3228 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3229 numeric constants with their symbolic equivalent.
3230 Taken from branch "vbe-on-coreboot".
3231
bca274b4
VS
32322013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3235
238f0489
VS
32362013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3239 divmod64 for offset division.
3240
863c590b
PFS
32412013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3242
3243 Rename .bzrignore to .gitignore. Add "*.o" rule.
3244
3245 * .bzrignore: Renamed to...
3246 * .gitignore: ...this.
3247
84a0e969
PFS
32482013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3249
3250 Add new progress module that displays the load progress of files.
3251
3252 * grub-core/lib/progress.c: New file.
3253 * grub-core/Makefile.core.def (progress): New module.
3254 * grub-core/kern/file.c (grub_file_open): File name added.
3255 * (grub_file_read): Progress hook added.
3256 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3257 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3258 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3259 * include/grub/file.h (struct grub_file): Add progress module members.
3260 * include/grub/term.h (struct grub_term_output): Likewise.
3261 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3262 Terminal velocity added.
3263 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3264 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3265 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3266 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3267 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3268 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3269 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3270 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3271 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3272 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3273 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3274 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
3275
0d711431
VS
32762013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 Verify signatures of signatures unless --skip-sig is specified.
3279
f8401f76
VS
32802013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3283 \0 checking.
3284
3285 Saves 70 bytes on compressed image.
3286
ac1feb61
VS
32872013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3290 check.
3291
3292 Saves 10 bytes on compressed image.
3293
00f72e89
VS
32942013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/kern/misc.c (grub_isprint): Move to ...
3297 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3298
3299 Saves 20 bytes on compressed image due to remving exporting.
3300
067e6ae7
VS
33012013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3304
3305 Saves 5 bytes on compressed image.
3306
64a6c791
VS
33072013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3310 function get_utf8.
3311
3312 Saves 379 bytes on compressed image.
3313
979d9f52
VS
33142013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3317
1437da54
VS
33182013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3321
3322 Saves 40 bytes on compressed image.
3323
d9ee2269
VS
33242013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
3327 mask rather than 64-bit type.
3328
3329 Saves 20 bytes on compressed image.
3330
63efa602
VS
33312013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
3334 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
3335
47601ffe
VS
3336 Saves 273 bytes on compressed image.
3337
2cc679ad
VS
33382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3341 variable length arrays.
3342
3343 Saves 50 bytes on compressed image.
3344
2e4659b8
VS
33452013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3348
2a40badf
VS
33492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/fs/ufs.c: Remove variable length arrays.
3352
1ba6b9b9
VS
33532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3356
f3e39341
VS
33572013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/fs/zfs.c: Remove variable length arrays.
3360 Reduces zfs.mod by 160 bytes (208 compressed).
3361
71523935
VS
33622013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
3365
28153eb8
VS
33662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * grub-core/net/arp.c: Remove variable length arrays.
3369 * grub-core/net/bootp.c: Likewise.
3370 * grub-core/net/dns.c: Likewise.
3371 * grub-core/net/icmp6.c: Likewise.
3372 * grub-core/net/net.c: Likewise.
3373
88ce4cd7
VS
33742013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * grub-core/fs/ntfs.c: Remove variable length arrays.
3377 Increases ntfs.mod by 64 bytes (but decreases by 3 when
3378 compressed).
3379
66123940
VS
33802013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/fs/hfs.c: Remove variable length arrays.
3383 Reduces hfs.mod by 8 bytes (52 compressed).
3384
0927e5bd
VS
33852013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 3388 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
3389 compressed).
3390
9c12ac97
VS
33912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 3394 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
3395 compressed).
3396
97ec2d71
VS
33972013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 3400 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
3401 compressed).
3402
156e4ea0
VS
34032013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * grub-core/fs/xfs.c: Remove variable length arrays.
3406 Reduces xfs.mod by 40 bytes (43 compressed).
3407
3b502c29
VS
34082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/fs/fshelp.c: Remove variable length arrays.
3411 Reduces fshelp.mod by 116 bytes (23 compressed).
3412
c7037f1d
VS
34132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/normal/completion.c: Remove variable length arrays.
3416 * grub-core/normal/menu_entry.c: Likewise.
3417
3418 Reduces normal.mod by 496 bytes.
3419
a07e6ad0
VS
34202013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
3423 by 356 bytes (158 compressed).
3424
2359bf88
VS
34252013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
3428 by 364 bytes (169 compressed).
3429
d28e1163
VS
34302013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
3433 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
3434 * include/grub/types.h (grub_unaligned_uint64_t): New type.
3435
e89c2d48
VS
34362013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
3439 bitmasks to small structures of size chosen to fit in registers.
3440
7abdac8e
VS
34412013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * conf/Makefile.common: Use -freg-struct-return on i386. This
3444 decreases code size and improves performance.
3445
518864c0
VS
34462013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3449
bbd2b539
VS
34502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3453 "(null)" string.
3454 Simplify expressions to save around 256 bytes in kernel.img.
3455 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3456
99519c15
VS
34572013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3460 Use GRUB_UTIL_FD_O_* rather than O_*.
3461
20285765
VS
34622013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 Add haiku-specific functions.
3465
887c0bb6
VS
34662013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3469
cd78a56f
VS
34702013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 Move stat () and device mode checking into OS-dependent files as
3473 long as performance doesn't suffer.
3474
a4012f07
VS
34752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 Split make_system_path_relative_to_its_root into separate file
3478 relpath.c from getroot.c as it's common between unix and haiku
3479 but otherwise haiku doesn't use any functions from unix getroot.c.
3480
31de274d
VS
34812013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3484 New function.
3485 (grub_util_is_special_file): Likewise.
3486
40346de6
VS
34872013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3490 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3491
d3923ab9
VS
34922013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3495 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3496
663f6eb1
VS
34972013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3500 (load_image): Likewise.
3501
44d1c20a
VS
35022013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * util/grub-render-label.c: Move backend part to ...
3505 * util/render-label.c: ... here.
3506
d0a116ee
VS
35072013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3510 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3511
b47fcae6
VS
35122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3515
0f7c00c1
VS
35162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3519 CD-ROM in case when it's declared as having subpartitions.
3520
29013cba
VS
35212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 Don't add -lm on haiku.
3524
3525 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3526 and empty on haiku.
3527 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3528 -lm.
3529
e8559d24
VS
35302013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * configure.ac: Use -melf_*_haiku as target on haiku.
3533
8104063c
VS
35342013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * Makefile.util.def: Add util/setup.c to extra_dist.
3537
fc3182c7
VS
35382013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3541 unknown types through.
3542
f90a3cc0
VS
35432013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3546 (grub_util_check_char_device): Likewise.
3547 * include/grub/emu/getroot.h: Likewise.
3548
1e3e7419
VS
35492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3552 memset rather than inline static function.
3553
92c88fc8
VS
35542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3557 not doing embedded decompressor.
3558
3cd910a2
VS
35592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3562 shadowing.
3563 * grub-core/kern/disk.c: Likewise.
3564 * grub-core/kern/misc.c: Likewise.
3565 * include/grub/parser.h: Likewise.
3566 * include/grub/script_sh.h: Likewise.
3567 * include/grub/zfs/zfs.h: Likewise.
3568
7b3aca00
VS
35692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3572
97dfe7e4
VS
35732013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3576 defined before trying to use it.
3577
bf919aa9
VS
35782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3581 warning.
3582
f4ccf29d
VS
35832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3586 Use __unused__ rather than __used__ on gcc < 3.2.
3587
0d3a6f85
VS
35882013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3591 gcc < 4.0.
3592 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3593
757e3eb7
VS
35942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3597
fb320faf
VS
35982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3601 * include/grub/emu/misc.h: Likewise.
3602
ea73acd2
VS
36032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3606 cur_color.
3607
71237a6f
VT
36082013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3609
3610 * grub-core/tests/checksums.h: Regenerated due to progress bar
3611 get_minimal_size changes.
3612
3d46c22f
BC
36132013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3614
3615 Added `tr' command support.
3616
3617 * grub-core/commands/tr.c: New file.
3618 * grub-core/Makefile.core.def: Build rules for new module.
3619
3620 * tests/grub_cmd_tr.in: New test.
3621 * Makefile.util.def: Build rules for new test.
3622
47e0a61f
VT
36232013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3624
3625 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3626
946fd073
VT
36272013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3628
3629 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3630 * docs/gurb.texi: Likewise.
3631
9c13c576
VT
36322013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3633
3634 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3635 Pixmap highlighted section with east and west slices was displayed
3636 incorrectly due to negative width of the central slice.
3637
ad543f12
VT
36382013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3639
3640 * docs/grub.texi: Graphical options information update.
3641 Removed outdated. Updated current. Inserted missed.
3642
6176a0cd
VS
36432013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * docs/grub.texi: Mention few new platform-specific commands.
3646
9688cae2
VS
36472013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3650 currently used so this doesn't really have any effect.
3651 Reported by: Douglas Ray <dougray>
3652
f7b69a3f
VS
36532013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3656 compilation but prevents gcc from displaying messages in non-Latin
3657 alphabets.
3658 * conf/Makefile.common: Likewise.
3659
ceca6ddf
HY
36602013-10-16 Hiroyuki YAMAMORI
3661
3662 Handle Japanese special keys.
3663 Reported by: Hiroyuki YAMAMORI.
3664 Codes supplied by: Hiroyuki YAMAMORI.
3665
ac48d334
VT
36662013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3667
3668 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3669
b2b71bff
VT
36702013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3671
3672 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3673 * docs/grub.texi: Likewise.
3674
669fc449
VS
36752013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3678 value in case of incomplete read.
3679 (grub_util_fd_write): Likewise.
3680
59381678
VS
36812013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3684
bacfefbb
VS
36852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * util/grub-editenv.c (create_envblk_file): More from here ...
3688 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3689
f7c49570
VS
36902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3693 canonicalize file name before doing the rest.
3694
7b83ca44
VS
36952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3698 mingw32.
3699
df1e64c9
VS
37002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 Define grub_util_is_directory/regular/special_file and
3703 use OS-dependent versions rather than to rely on stat().
3704
ec16e026
VS
37052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * util/grub-mkimage.c: Move backend part to ...
3708 * util/mkimage.c: ... here.
3709
4b4eeb3c
VS
37102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 Allow compilation with mingw64 albeit with warnings due to lack of
3713 %llx/%llu.
3714
3715 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3716 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3717 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3718 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3719 on mingw64.
3720 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3721
f4e0adc0
VS
37222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 Remove leftover references to some of the system headers.
3725
e0127364
VS
37262013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3729 read.
3730
20d53541
VS
37312013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3734 of strerror.
3735
5a869940
VS
37362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 Split out blocklist retrieving from setup.c to
3739 grub-core/osdep/blocklist.c and add windows implementation since
3740 generic version doesn't work on NTFS on Windows due to aggressive
3741 unflushable cache.
3742
c06c7520
VS
37432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3746 files.
3747
8f53bb3f
VS
37482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3751 Cut tailing newline. Remove arbitrary limitation. Always use
3752 grub_util_tchar_to_utf8.
3753
148f1007
VS
37542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3757 * tests/printf_unit_test.c (printf_test): Add %% tests.
3758 Reported by: Paulo Flabiano Smorigo.
3759
af3b06be
VS
37602013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3763 implement fsync.
3764
27f9d02e
VS
37652013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3768 use nvlist_lookup_string and don't use nvlist_print.
3769
f6a81f0a
VS
37702013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3773 closedir to handle filename charset translation.
3774
d7750b32
VS
37752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * include/grub/emu/hostdisk.h: Move file operations to
3778 * include/grub/emu/hostfile.h: ... here.
3779
2859196e
VS
37802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3783 unicode path.
3784
c018c968
VS
37852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3788
7e45abce
VS
37892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3792 and remove export.h.
3793
23934da2
VS
37942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * grub-core/kern/emu/error.c: Removed.
3797 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3798 explicitly as it's already in libgnu.a.
3799
c11ebcc8
VS
38002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3803 config-util.h include.
3804
70671037
VS
38052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 Split emunet into platform-dependent and GRUB-binding parts. Keep
3808 platform-dependent part in kernel for easy access to OS functions.
3809
25ac643a
VS
38102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3813 open/read/write.
3814
69ca5876
VS
38152013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/osdep/windows/emuconsole.c: New file.
3818
d9d68ef0
AB
38192013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3820
3821 * conf/Makefile.extra-dist: Add osdep/*/init.c
3822
58e211cc
VS
38232013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3826
588744d0
VS
38272013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * util/grub-probe.c (probe): Separate different drives in hint-str
3830 by spaces and not newlines.
3831 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3832
44016e52
AB
38332013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3834
3835 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3836 Handle CD-ROMs.
3837
6de9ee86
VS
38382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 Pass-through unknown E820 types. It required reorganisation of mmap
3841 module.
3842
f8f3f155
AB
38432013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3844
3845 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3846
b73249d2
VS
38472013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3850 fseeko.
3851
dac86b18 38522013-10-14 qwertial <qwertial>
3853
3854 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3855
17614b84
JM
38562013-10-14 Jon McCune <jonmccune@google.com>
3857
3858 * docs/grub.texi: Document new signatures possibility.
3859
6de292cb
VS
38602013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3863
84379b61
VS
38642013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3867 missing prototype.
3868 (grub_util_tchar_to_utf8): Likewise.
3869
21d85db1
VS
38702013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3873 * grub-core/kern/emu/main.c: Add missing include.
3874 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3875 Don't call grub_util_init_nls.
3876 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3877 Likewise.
3878
66a1b3ee
VS
38792013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3882 stat.
3883
e19bec17
VS
38842013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3887
ee8c1b29
VS
38882013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3891
bb338aaf
VS
38922013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 Add a wrapper for fopen. On unix-like systems just pass-through. On
3895 windows use unicode version.
3896
ae5540d3
VS
38972013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 Move set_program_name and init_nls to host_init. On windows
3900 fix in this fuction console and argument charset as well.
3901
4cd3c4fe
AB
39022013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3903
3904 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3905 GRUB_ENABLE_CRYPTODISK.
3906
3907 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3908 GRUB_ENABLE_CRYPTODISK.
3909 * util/grub-mkconfig_lib.in: Likewise.
3910
78170f3e
CCZ
39112013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3912
3913 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3914
3414b6c0
MC
39152013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3916
3917 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3918 error when enabling debug.
3919
6d0740e8
IB
39202013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3921
3922 * configure.ac: Use -melf_*_obsd on openbsd.
3923
ff2d4dc4
VS
39242013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3927
eac6ae82
VS
39282013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * include/grub/misc.h: Use gnu_printf rather than printf as format
3931 template since our functions are independent of libc.
3932
ba9baabe
VS
39332013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * util/grub-setup.c (setup): Move copying of partition table as
3936 futher up as possible to avoid possible overwrite by floppy routines.
3937
39382013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3939
3940 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3941
145e2369
VT
39422013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3943
3944 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3945 * docs/grub.texi: Likewise.
3946
3530bc9d
VS
39472013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3950 it's mostly unused. Move vestiges to the callers.
3951
fb9f59c3
VS
39522013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3955 version of salt and hash. Use grub_snprintf rather than snprintf.
3956
9be1c255
VS
39572013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * docs/grub.texi: Fix problem with braces.
3960
ed8c0887
VS
39612013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * conf/Makefile.extra-dist: Fix extra-dist list.
3964 * grub-core/Makefile.core.def: Likewise.
3965
f72ab14e
VS
39662013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * docs/grub.texi: Document disk names used on Windows and AROS.
3969
2fe53a22
VS
39702013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3973 with AROS devs.
3974 * grub-core/osdep/aros/hostdisk.c: Likewise.
3975
71c1d67a
VS
39762013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 Avoid including hostfile.h when not necessarry as it pulls
3979 in OS-specific headers which may redefine generic names
3980 like "far".
3981
ad297ec7
VT
39822013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3983
3984 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3985 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3986 scrollbar_bottom_pad
3987 * docs/grub.texi: Likewise.
3988
6e9e5dc9
VT
39892013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3990
3991 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3992
761c718b
VS
39932013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3996
37149a2f
VS
39972013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4000 Removed.
4001 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4002 Made static.
4003
3837a151
VS
40042013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4007 leftover.
4008
caca1c70
VS
40092013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 Move OS-specific driver configuration to grub_util_fd_open. This
4012 moves OS-dependent parts from kern/emu/hostdisk.c to
4013 grub-core/osdep/*/hostdisk.c.
4014
f7676b70
VS
40152013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * util/grub-mkimage.c (generate_image): Use size_t instead of
4018 grub_size_t.
4019 * util/grub-mkimagexx.c (locate_sections): Likewise.
4020 (load_image): Likewise.
4021
22f98db2
VS
40222013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4025 size_t.
4026 (grub_util_write_image): Likewise.
4027
b102ce69
VS
40282013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4031 get random when no RNG is available.
4032 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4033
acbbe5cb
VS
40342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * include/grub/util/lvm.h: Removed.
4037
2112fb3f
VS
40382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4041 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4042
79f78fbf
VS
40432013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4046
c2e6f705
VS
40472013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4050
aabe433a
VS
40512013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/net/drivers/emu/emunet.c: Move to ..
4054 * grub-core/osdep/linux/emunet.c: ..here.
4055
9a2c903f
VS
40562013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * util/ieee1275/ofpath.c: Move to ...
4059 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4060 * grub-core/osdep/basic/ofpath.c: ..here.
4061
4a445f58
VS
40622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 Move password-querying (util-version) routines to grub-core/osdep.
4065
c1ca4244
VS
40662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Move sleep routines to grub-core/osdep.
4069
672fa55e
VS
40702013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Move OS-dependent files to grub-core/osdep and document it.
4073
a5b0365a
VS
40742013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4077 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4078
29072e99
VS
40792013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4082
f8772ea7
VS
40832013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * util/misc.c: Remove leftover inclusion of malloc.h.
4086
a1a315e7
VS
40872013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * include/grub/setjmp.h: Remove leftover GRUBOF.
4090
cef86fef
VS
40912013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * util/raid.c: Fold into ...
4094 * util/getroot_linux.c: ... here. Make all functions static.
4095
c4cf25ee
VS
40962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4099 macros to GRUB ones.
4100
53a5f5c2
VT
41012013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4102
4103 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4104 occasional bug. If there are too many boot entries or too low
4105 scrollbar height then we need to use another formula to calculate
4106 the position and size of the scrollbar thumb.
4107
de300af2
VS
41082013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4109
c4cf25ee 4110 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 4111
c5827364
VT
41122013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4113
4114 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4115 * docs/grub.texi: Likewise.
4116
dd2ed8b0
VT
41172013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4118
4119 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4120 viewport.
4121
7286c384
VT
41222013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4123
ffdfc1f3
VT
4124 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4125 minimal width calculations.
7286c384 4126
ea547e14
VS
41272013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * docs/grub.texi: Update note on colors on emu console.
4130
b726be76
VS
41312013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4134 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4135 it's FS and not GRUB limitation.
4136
a5f6ade6
VS
41372013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4140
3b0f3aa2
VS
41412013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4144
1db38304
ST
41452013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4146
4147 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4148 kernels by version order.
4149
fb295fc0
VS
41502013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4153
47345010
VS
41542013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 Add AROS hostdisk and getroot routines.
4157
bf25f879
VS
41582013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 Make cryptodisk and diskfilter probe data retrievable programmatically
4161 and not just printable.
4162
24ca4512
VS
41632013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 Split random retrieving code into separate files.
4166
c7c177f0
VS
41672013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4170 R_ARM_V4BX.
4171
d71b45ae
VS
41722013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4175 condition.
4176 * grub-core/tests/fake_input.c: Likewise.
4177 * grub-core/tests/cmdline_cat_test.c: Likewise.
4178
e44b9a83
VS
41792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/video/capture.c: Do not do finalization when .fini
4182 is called as there is explicit capture_end.
4183
4fa60739
VS
41842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4187 changing windows to avoid crash.
4188
17c8bc37
VS
41892013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4192
9d4d7977
VS
41932013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * po/exclude.pot: Add several strings to exclude.
4196
0caa407c
VS
41972013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4200
9ae393da
VS
42012013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4204 ./util/grub-gen-asciih.c to exclude list.
4205
498d5033
VS
42062013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4209 and don't mark error strings for translation.
4210
7d93298f
VS
42112013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4214 properly in case of missing block size.
4215
b2cae20c
VS
42162013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/lib/arm/setjmp.S: Add missing license section.
4219
3896d6b4
VS
42202013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * po/swiss.sed: Add replacement for key names and for term computer.
4223
ebc1da55
VT
42242013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4225
4226 * grub-core/gfxmenu/theme_loader.c: New global options for the
4227 theme background image handling. desktop-image-scale-method,
4228 desktop-image-h-align, desktop-image-v-align.
4229 * grub-core/gfxmenu/view.c: Likewise.
4230 * include/gfxmenu_view.h: Likewise.
4231 * include/bitmap_scale.h: Proportional scale functions introduced.
4232 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4233 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4234 cases of unexpected input variables for scale functions.
4235 * docs/grub.texi: Updated documentation for new options.
4236
c5739143
VS
42372013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4240
be74aeb3
VT
42412013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4242
4243 * grub-core/tests/checksums.h: Corrected due to changes in
4244 bilinear interpolation function.
4245
d999ac72
VT
42462013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4247
4248 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4249 to eliminate artefacts in bilinear interpolation.
4250
2b131610
VS
42512013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/video/readers/tga.c: Support paletted tga.
4254
de6e5ff8
VS
42552013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4258 incorrect cbcr setting when in color mode.
4259
fa31ee9c
VS
42602013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/video/readers/png.c: Support paletted images and clean up
4263 greyscale support.
4264
e84f8188
VS
42652013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4268 usage of wrong table which resulted in mishandling of 4-byte
4269 sequences.
4270
42712013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
4272
4273 * grub-core/term/terminfo.c: Add Home and End key sequences.
4274
d72bff09
VS
42752013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4278 Fix formula for computing total number of bytes.
4279
29648c5d
VS
42802013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4283 image processing, fix big-endian and support grayscale.
4284
4a876492
VS
42852013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4288 Correctly will with maximum transparency when using index color.
4289
3ccf16df
VS
42902013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/video/readers/png.c: Support grayscale
4293
42942013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
4295
4296 * grub-core/video/readers/jpeg.c: Support grayscale.
4297
3ccf16df 42982013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
4299
4300 * grub-core/commands/loadenv.c: Support skipping signature check
4301 and variable names filtering.
4302
30b7f58f
VS
43032013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4306 * grub-core/kern/emu/hostfs.c: Likewise.
4307 * util/getroot_unix.c: Likewise.
4308
bab7b1eb
VS
43092013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4312 Migrate all explicit defines to this new one.
4313
43b1c99d
VS
43142013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4317 grub_util_fd_strerror when using grub_util_fd_*.
4318 (grub_util_fd_open_device): Likewise.
4319 (grub_util_biosdisk_read): Likewise.
4320 (grub_util_biosdisk_write): Likewise.
4321 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4322 (grub_util_fd_strerror): Likewise.
4323 (grub_util_fd_sync): Likewise.
4324 (grub_util_fd_close): Likewise.
4325 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
4326 (grub_util_fd_close): Likewise.
4327 (grub_util_fd_strerror): Likewise.
4328 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
4329 function proto rather than macro.
4330 (grub_util_fd_sync): Likewise.
4331 (grub_util_fd_open): Likewise.
4332 (grub_util_fd_strerror): New proto.
4333
e8fd80bc
VS
43342013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4337 platforms on which it doesn't work.
4338
bf645fda
VS
43392013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4342 stat immediately to where it's used.
4343
5177ba14
VS
43442013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * util/getroot.c (grub_util_check_block_device): Move to ...
4347 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4348 * util/getroot.c (grub_util_check_char_device): Move to ...
4349 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4350
9db826e1
VS
43512013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4354 disk closing logic.
4355
49120085
AB
43562013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4357
4358 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4359
b3328b68
AB
43602013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4361
4362 * docs/grub.texi (File name syntax): Document ZFS filenames
4363 (/volume@snapshot/...).
4364
3fff48ab
VS
43652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
4368 Always return full path. Fixes a problem with mkrelpath.
4369
39cfdaa9
PFS
43702013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4371
4372 * util/grub-install.in: Add GPT PReP support.
4373 * util/grub-probe.c (probe): Support GPT partition type.
4374 (main): Support -t gpt_parttype.
4375
7c680e1f 43762013-09-23 Aleš Nesrsta <starous@volny.cz>
4377
4378 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
4379
890bdabe
MM
43802013-09-23 Massimo Maggi <me@massimo-maggi.eu>
4381
4382 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
4383
9c262ff9
TH
43842013-09-23 Tim Hardeck <thardeck>
4385
4386 * util/grub.d/10_hurd.in: Filter out character for the class.
4387 * util/grub.d/10_kfreebsd.in: Likewise.
4388 * util/grub.d/10_linux.in: Likewise.
4389 * util/grub.d/20_linux_xen.in: Likewise.
4390
d755342a
MC
43912013-09-23 Melki Christian <Christian.melki@saabgroup.com>
4392
4393 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
4394 "changed".
4395
68b77707
JT
43962013-09-23 Josh Triplett <josh@joshtriplett.org>
4397
4398 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
4399 boot partition.
4400
efa68bfa
VS
44012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
4404 doesn't use posix_wrap. Keep literal -fno-builtin however.
4405
d9104204
VS
44062013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
4409
c248781a 44102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
44112013-09-23 neil
4412
5830df88 4413 * configure.ac: Do not enable -Wmissing-noreturn as its
4414 usefulness is limited and creates problems on some OS notably with
4415 code generated by bison.
4416
44172013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
44182013-09-23 neil
4419
4420 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 4421 supported by all gcc and when it is, it's already enabled by -Wall.
4422
621bed69
VS
44232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
4426 desactivated use of EDID at all.
4427
71764dc8 44282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
44292013-09-23 neil
4430
4431 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
4432 video if no text is available.
4433
affce7d4 44342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
44352013-09-23 neil
4436
4437 * configure.ac: Substitute TARGET_RANLIB.
4438
44392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
44402013-09-23 neil
affce7d4
VS
4441
4442 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4443
4444 Based on patches from AROS.
4445
0e8daad0 44462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 44472013-09-23 neil
0e8daad0
VS
4448
4449 * grub-core/Makefile.am: Override STRIP and RANLIB.
4450 * configure.ac: compute TARGET_RANLIB.
4451 * INSTALL: Document TARGET_RANLIB
4452
4453 Based on patches from AROS.
4454
3f7d9c82
VS
44552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4458 that floppies are unpartitioned.
4459
bca8873a
VS
44602013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4463 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4464
44652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4468 less nice but more portable.
4469 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4470
a47a78be
VS
44712013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4474 for cheat_fd.
4475 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4476 functions.
4477 (grub_cryptodisk_cheat_insert): Likewise.
4478 (grub_cryptodisk_close): Likewise.
4479
e85a5d5c
VS
44802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4483 Use windows path for DEFAULT_DIRECTORY.
4484
dad9fa6b
VS
44852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4488 difference was likely just gcc version, not anything mingw-related.
4489
7e518ca8
VS
44902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 Use Winapi on both cygwin and mingw32 to share more code between both.
4493
d68d0157
AB
44942013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4495
4496 * util/grub-install.in: Add --grub-editenv option.
4497 * util/grub-install_header (grub_compress_file): Explicitly check for
4498 plain file to avoid cp error.
4499
775b284d
AB
45002013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4501
4502 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4503 names; fix LVM driver name (lvm, not lv).
4504 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4505 names.
4506
3ff4063d
VS
45072013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4510 files rather than one file with loads of #if's.
4511 * util/getroot.c: Likewise.
4512
287faafe
VS
45132013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4516
d1983764
VS
45172013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4520 GNU/Hurd to the list of checked PRNG.
4521
15ce95c4
VS
45222013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4525
207862dd 45262013-09-21 Ales Nesrsta <starous@volny.cz>
4527
7c680e1f 4528 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4529
63653cfd
VS
45302013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4533 * grub-core/disk/lvm.c: Add LVM UUIDs.
4534 * util/getroot.c: Use LVM UUIDs whenever possible.
4535
f5d3e7ef
AB
45362013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4537
4538 * docs/grub.texi (Networking commands): Add documentation for
4539 network related commands.
4540
53c6b7d6
VS
45412013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4544 to determine if device is handled by devmapper.
4545 (convert_system_partition_to_system_disk): Likewise.
4546 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4547 already done in grub_util_open_dm.
4548
e70d6736
LL
45492013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4550
4551 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4552 Clean up stack manipulation (sync_caches_armv*)
4553
90379808
VS
45542013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * util/lvm.c: Remove since unused. Remove remaining references.
4557
386701a8
VS
45582013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 Handle the case of partitioned LVM properly.
4561
4562 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4563 Stop on meeting LVM, mpath or DMRAID.
4564 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4565 (read_device_map): Likewise.
4566 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4567 device is full disk rather than erroring out on LVM and similar cases.
4568
53070787
VS
45692013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4572
1bc783bd
VS
45732013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4576 4K before the end.
4577 Reported by: Leif Lindholm
4578
436ad5c3
PW
45792013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
45802013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4583 codes.
4584
607319c9
CW
45852013-09-18 Colin Watson <cjwatson@ubuntu.com>
4586
4587 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4588 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4589
d404d154
DR
45902013-09-18 Douglas Ray <dougray@cpan.org>
4591
4592 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4593 as secure.
4594
28851ef6
AN
45952013-09-18 Aleš Nesrsta <starous@volny.cz>
4596
4597 * docs/grub.texi: Fix broken link.
4598
897c3bc6
MC
45992013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4600
4601 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4602 to break endless loop.
4603
f1630459
VS
46042013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * util/grub-fstest.c: Fix several printf formats.
4607 * util/grub-mkimage.c: Likewise.
4608 * util/grub-mkimagexx.c: Likewise.
4609 * util/grub-script-check.c: Likewise.
4610
64463dfd
VS
46112013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4614 error.
4615
48972495
VS
46162013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4619
5dd5e64b
VS
46202013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4623 removed in current versions cygwin_conv_*.
4624
1c1f31e5
VS
46252013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * configure.ac: Disable efiemu runtime on cygwin.
4628
c546a259
VS
46292013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4632 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4633
81690478
VS
46342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4637 error message.
4638
6b87c10a
VS
46392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4642 windows variant.
4643 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4644 data.
4645
8f0baaac
VS
46462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4649 when on x86 and not cygwin.
4650 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4651 -Wl,-melf_x86_64.
4652
b224c266
VS
46532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * configure.ac: Set CPP to build one when checkoing for freetype for
4656 build.
4657
506b336b
VS
46582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4661 [!GRUB_BUILD]: Remove has_argument.
4662
8c8c87b7
VS
46632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4666 Replace with a dummy.
4667
7dc5ca13
VS
46682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * configure.ac: Don't change host_os from mingw to cygwin.
4671
c3302aa5
VS
46722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * configure.ac: Change target_os from windows to cygwin.
4675
7b780018
VS
46762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4679
4680 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4681 (build-grub-gen-asciih): Likewise.
4682 (build-grub-gen-widthspec): Likewise.
4683 * Makefile.util.def (grub-pe2elf): Remove.
4684 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4685 * configure.ac: Separate tests for build.
4686 Move ./build-grub-pe2elf to grub-core.
4687 Fix typo.
4688 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4689 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4690 defined.
4691 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4692 constants.
4693 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4694 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4695 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4696
984cfd8a
VS
46972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4700 mingw32 as well based on grub_util_get_disk_size.
4701 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4702 grub_util_get_fd_size.
4703 (sync): Removed.
4704 (fsync): Moved to ...
4705 * grub-core/kern/emu/misc.c (fsync): ... here.
4706
f82d79c9
VS
47072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * include/grub/mm.h (grub_extend_alloc): Remove.
4710 * grub-core/loader/i386/pc/plan9.c: Use own version of
4711 grub_extend_alloc with appropriate types.
4712
fd7dd66d
VS
47132013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4716
43ffba7c
VS
47172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4720
3c7eac44
VS
47212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 Fix dependencies on cygwin.
4724
4725 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4726 dependencies when used and defined.
4727 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4728
bdb5ba47
VS
47292013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4732 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4733
ed7fbf43
VS
47342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4737 implementation available to cause compile-time rather than runtime
4738 error.
4739
fc46e9fc
VS
47402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * util/grub-fstest.c: Don't check for symlinks on windows.
4743
7f68269a
VS
47442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * INSTALL: Mention unavailability of man pages when cross-compiling.
4747
8ed358e0
VS
47482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4751 and gcry_log_bug.
4752 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4753
fc97214f
VS
47542013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * INSTALL: Document cross-compilation.
4757 * acinclude.m4: Determine whether nm support -P and --defined-only.
4758 * configure.ac: Add TARGET_ to all variables pertaining to target
4759 that don't have it yet.
4760 * gentpl.py: Likewise.
4761 * grub-core/Makefile.am: Likewise.
4762 * grub-core/genmod.sh.in: Likewise.
4763 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4764 as well.
4765
ca1fb563
IB
47662013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4767
4768 * configure.ac: Remove -Wempty-body. It's not essential and needs
4769 recent gcc.
4770
0031b229
IB
47712013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4772
4773 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4774 * util/getroot.c: Likewise.
4775
54ea2f44
VS
47762013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/disk/ahci.c: Add needed explicit cast.
4779 * grub-core/lib/backtrace.c: Likewise.
4780 * grub-core/net/ip.c: Likewise.
4781 * grub-core/net/tcp.c: Likewise.
4782 * grub-core/net/udp.c: Likewise.
4783
3c601f8c
VS
47842013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4787
1d679dda
VS
47882013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * util/import_gcry.py: Add final newline in visibility.h.
4791
00c28dd9
VS
47922013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * conf/Makefile.common: Fix typo.
4795
32af299a
VS
47962013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4799
e733cf52
VS
48002013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * Makefile.am (widthspec.h): Fix typo.
4803 * util/grub-gen-widthspec.c: Likewise.
4804
c6b066f2
VS
48052013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 Move ascii.h and widthspec.h generation to a separate build-time-only
4808 tool.
4809
ad1fe3f9 48102013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4811
4812 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4813 Always fill bootdisk info and improve check for NetBSD disklabel.
4814
92a52dd4
VS
48152013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * conf/Makefile.extra-dist: Add util/bin2h.c.
4818 Reported by: floppym.
4819
b2e9d276
VS
48202013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4823
7b966834
VS
48242013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * configure.ac: Disable unifont and starfield if no freetype was found.
4827
d5c1eef1
VS
48282013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4831 on NetBSD and OpenBSD.
4832
66345b50 48332013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4834
4835 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4836
66345b50 48372013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4838
4839 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4840 reduced. Inheritant options are processed during the theme loading.
4841
66345b50 48422013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4843
4844 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4845
369508b3
AS
48462013-08-14 Avik Sil <aviksil@in.ibm.com>
4847
4848 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4849
48502013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4851
4852 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4853 using qemu.
4854
6f27a3f6
PFS
48552013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4856
4857 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4858 remove-potcdate.sed.
4859
c6ed362a
AB
48602013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4861
4862 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4863 unused attribute from pull argument.
4864
5e7d9464
AB
48652013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4866
4867 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4868 memory leak.
4869
dea55e2a
AB
48702013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4871
4872 * util/getroot.c (pull_lvm_by_command): add --separator option
4873 to vgs call to disable padding of output to 10 characters.
4874
f0b94ded
VS
48752013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4878 here ...
4879 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4880 here.
4881
b828fb5d
VS
48822013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4885 length.
4886
7c9d0c39
VS
48872013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4890 full Canadian cross. Tested with build=x86_64, host=arm,
4891 target=ppc-ieee1275.
4892
816719c8
VS
48932013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 * configure.ac: Error if no $BUILD_CC could be found.
4896 Reported by: DevHC.
4897
2af2353b
VS
48982013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4901 i386-multiboot.
4902
797abd0a
VS
49032013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4906 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4907
36e87d25
CW
49082013-08-13 Colin Watson <cjwatson@ubuntu.com>
4909
4910 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4911 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4912 falling back to the partition device, otherwise a later call to this
4913 function may fail spuriously.
4914 Reported by Axel Beckert. Fixes Debian bug #708614.
4915
273349fe
GS
49162013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4917
4918 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4919
418f86c6
GS
49202013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4921
4922 Prevent shadowing of stdlib's devname(3) on BSD.
4923
4924 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4925 and devlast to diskname and disklast, respectively.
4926
c137aea0
CW
49272013-08-11 Colin Watson <cjwatson@ubuntu.com>
4928
4929 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4930
272dc8df 49312013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4932
4933 * docs/grub.texi: Introduce terminal window position options:
4934 terminal-left: terminal window's left position
4935 terminal-top: terminal window's top position
4936 terminal-width: terminal window's width
4937 terminal-height: terminal window's height
4938 terminal-border: terminal window's border width
4939 * grub-core/gfxmenu/theme-loader.c: Likewise.
4940 * include/grub/gfxmenu_view.h: Likewise.
4941 * po/exlude.pot: Likewise.
4942 * grub-core/gfxmenu/view.c: Likewise.
4943 Also updated minimal window size.
4944 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4945 * grub-core/tests/checksums.h: Update (terminal window height
4946 is adjusted now for low resolution screen)
b4743461 4947
748a4533
VS
49482013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4951 position).
4952
fca5f944
VS
49532013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * po/exclude.pot: Add few recent exceptions.
4956
4f47d809
VS
49572013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * tests/grub_func_test.in: Add unicode.pf2.
4960
a62ae90c
VS
49612013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4964 standard rather than noral color, in line with other terminals.
4965
4ed41392
VS
49662013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4969 analysis.
4970
3719fbc5
VS
49712013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4974
459b1d91
VS
49752013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4978 inappropriate printf.
4979
f4e1ab9d
AB
49802013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4981
4982 * .bzrignore: Remove grub-core/lib/dtc-grub,
4983 grub-core/Makefile.libfdt.def
4984 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4985
fa471bfa
VS
49862013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * include/grub/video.h (grub_video_register): Keep double-linked as
4989 well as single-linked invariants.
4990 Reported by: qwertial.
4991
d65be02b
VS
49922013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * grub-core/commands/nativedisk.c (get_uuid): Handle
4995 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4996
ba8bc620
VT
49972013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4998
4999 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5000 maximum of NW, N, NE heights instead of N's height and maximum of
5001 NW, W, SW widths instead of W's width. (So the box will be always
5002 correctly drawn)
5003
4f0ad029
GS
50042013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5005
5006 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5007 Fix misuse of variable count.
5008
43d53b72
LL
50092013-07-18 Leif Lindholm <leif.lindholm@arm.com>
50102013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
50112013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 5012
43d53b72
LL
5013 New ports to arm-uboot and arm-efi.
5014 Mostly by Leif Lindholm with some additions from
5015 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 5016
88f8d146
VS
50172013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5020 and not before.
5021 Reported by: Leon Drugi.
5022
3f42504c
VS
50232013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5026 Reported by: Paulo Flabiano Smorigo.
5027
d110499b
VT
50282013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5029
5030 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5031
a8674ad3
VT
50322013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5033
5034 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5035
286fe4b3
VS
50362013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5039
1bd57aa3
VS
50402013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5043
7a87d69f
AB
50442013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5045
5046 * grub-core/net/bootp.c: Export net_* variables.
5047 * grub-core/net/net.c: Likewise.
5048
b2182299
VS
50492013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5052
795b3dc0
VS
50532013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5056
68714c43
VS
50572013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5060
af211bab
VS
50612013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5064
0036f02d
MM
50652013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5066
5067 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5068 <= 0.
5069
6d0ddff3
MM
50702013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5071
5072 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5073 functions.
5074
038016f4
MM
50752013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5076
5077 * grub-core/fs/zfs/zfs_lz4.c: New file.
5078 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5079
776bdce2
MM
50802013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5081
5082 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5083
c71dbd40
MM
50842013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5085
5086 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5087 (check_pool_label): Likewise.
5088 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5089
50902013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
5091
5092 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5093
8e67b50f
AB
50942013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5095
5096 * docs/grub.texi (Commands): Document postition parameters
5097 for menuentry command.
5098
f5ae3717
AB
50992013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5100
5101 * util/grub-mknetdir.in: Remove stray line from help output.
5102
9c28da2a
VS
51032013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 Remove early sm712 init as there is no reason for it (the "watchdog"
5106 effect was due to wrong GPIO map).
5107
139072b8
VS
51082013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/commands/pcidump.c: Remove static variables.
5111
c6a61bda
VS
51122013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5115
51369614
VS
51162013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * configure.ac: Move delimiter after the infos.
5119
efa8640a
VS
51202013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5123
6f80a7b2
VS
51242013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5127 not filling whole 8x16 space.
5128
a2371e19
VS
51292013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5132
64fce2d8
VS
51332013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * configure.ac: Indicate which liblzma is used if any.
5136
eb272d84
PW
51372013-06-21 Paul Wise <pabs3@bonedaddy.net>
51382013-06-21 Craig Sanders <savannah@taz.net.au>
5139
5140 * util/grub-reboot.in: Document submenu usage.
5141
a9e5abee
CW
51422013-06-25 Colin Watson <cjwatson@ubuntu.com>
5143
5144 * .bzrignore: Update with a number of new test-related files.
5145
e639c204
CW
51462013-06-25 Colin Watson <cjwatson@ubuntu.com>
5147
5148 * util/grub-script-check.c: Fail on scripts containing no
5149 commands, to guard against corrupted grub-mkconfig setups that
5150 produce no useful output.
5151 * tests/grub_script_no_commands.in: New test.
5152 * Makefile.util.def (grub_script_no_commands): Add.
5153 Reported by Hans Putter. Fixes Debian bug #713886.
5154
a4c89b17
AB
51552013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5156
5157 * grub-core/disk/diskfilter.c: Forgot to remove comment
5158 from previous commit.
5159
5b06b53c
AB
51602013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5161
5162 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5163 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5164
702da5c9
AB
51652013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5166
5167 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5168
aa62a5b7
AB
51692013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5170
5171 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5172 rescan diskfilter devices until nothing new is found.
5173
4aa237c8
VS
51742013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5177
93d8479b
VS
51782013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 Don't try to detect cbfs on *-emu.
5181
837222cc
VS
51822013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5185
99c971af
VS
51862013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 Add support for processed coreboot payload chainloading.
5189
e6930a45
VS
51902013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 Enable coreboot information commands even when not loaded as
5193 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5194
5027af38
VS
51952013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 Support for cbfs. Also factor out the part which is common
5198 for all archives to a separate module. This splits tar from cpio
5199 as they are very different but keeps cpio, cpio_be, odc and newc
5200 together since they're very similar.
5201
a5b55c4b
DM
52022013-06-15 David Michael <fedora.dm0@gmail.com>
5203
5204 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5205 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5206
0301a8b3
VS
52072013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * tests/grub_script_eval.in: Really add the eval test.
5210
3d84cb17
VS
52112013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Move flavour-specific parts out of common cpio.c file and
5214 rename remaining to cpio_common.c
5215
593e430c
AB
52162013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5217
5218 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5219 off new function grub_script_execute_new_scope. Change callers to use
5220 either of them as appropriate.
5221 * grub-core/commands/eval.c: New command eval.
5222 * docs/grub.texi (Commands): Document it.
5223
63c29849
AB
52242013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5225
5226 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5227 to fetch values when listing.
5228
cc284112
AB
52292013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5230
5231 Fix make dist on non-pc.
5232
52332013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
5234
5235 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5236 without a device name.
5237
69544d1e
VS
52382013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 Remove enable_executable_check as it's not needed anymore.
5241 Reported by: dougray.
5242
96dbe648
VS
52432013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5246 ambigouos RAID before discovering RAIDs on top of it.
5247 Reported by: bodom.
5248
ccfc0bdb
VS
52492013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 Fix typo (failback vs fallback).
5252
f2587088
AB
52532013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5254
5255 * util/grub.d/30_os-prober.in: Add support for probing EFI
5256 System Partition (as of os-prober 1.58).
5257
cec5cf0c
VS
52582013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * configure.ac: Add yet another path to unifont. For parabola.
5261
e40b4596
JT
52622013-05-30 Josh Triplett <josh@joshtriplett.org>
5263
5264 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5265 handling to copy the killed characters to the kill buffer as
5266 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5267 stored as char. Eliminates UCS4 truncation and corruption
5268 observed when killing characters with Ctrl-u and yanking them
5269 back with Ctrl-y.
5270
fc4c4fdd
VS
52712013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 Detach optional parts of gfxterm and integrate in with coreboot init.
5274
6570b205
VS
52752013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 Move blit and fill dispatcher to appropriate files to decrease export
5278 and relocation overhead.
5279
b8323067
VS
52802013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5283 functions.
5284
3cc1878f
VS
52852013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * grub-core/Makefile.am: Fix compilation problem with some
5288 automake versions.
5289
4b80e43c
VS
52902013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5293
57e0c20c
VS
52942013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5297 automake versions.
5298
4fd42c53
VS
52992013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5302 SSDT.
5303
1e908b34
RS
53042013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5305
5306 * grub-core/partmap/dfly.c: New partition map.
5307
1359e474
VS
53082013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5311 checking.
5312 Reported by: Francesco Lavra.
5313
17806392
AB
53142013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5315
5316 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5317 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5318 false conditions.
5319 * conf/Makefile.common: define dist_grubconf_DATA
5320
cdce14fa
VS
53212013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 Progressively skip menu elements on small terminals rather
5324 than crashing.
5325
c8d6cc3c
VS
53262013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5329 to avoid losing last column.
5330
a73b31ce
VS
53312013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * po/exclude.pot: Add missing string "%C".
5334
1202c764
VS
53352013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5338 after the test.
5339
50268344
VS
53402013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * util/grub-install.in: Gettextize "Not found" message.
5343
62b15edf
VS
53442013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 Fix distfiles list.
5347 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5348
53492013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
5350
5351 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5352 present.
5353 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5354
709ad61b
VS
53552013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5358
d128901a
VS
53592013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
5362 attribute since structure is not necessarily aligned.
5363
34b22f5c
AB
53642013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
5365
5366 * docs/grub.texi (Device syntax): Clarify description of network
5367 drives.
5368
0f7e980b
VS
53692013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
5372 for vasprintf presence.
5373
30b03dc2
VS
53742013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * util/grub-install.in: Handle efibootmgr presence check.
5377 Reported by: Leif Lindholm.
5378
0dc11c08
VS
53792013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
5382 new strings to translate.
5383
f8024c3f
VS
53842013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
5387 yet another string (pun intended) to translate.
5388
b4c1da62
VS
53892013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * po/POTFILES-shell.in: Autogenerate it.
5392
0ef7478b
VS
53932013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
5396
8200fa15
VS
53972013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
5400 misnomer.
5401
091945b2
AB
54022013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
5403
5404 * docs/grub.texi (Network): Add description of net_default_interface,
5405 net_default_ip and net_default_mac. Rewrite variables description
5406 to emphasize that they are per-interface.
5407
0e7b2e32
VS
54082013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 New test: cmdline and cat.
5411
16f7c8f6
VS
54122013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/commands/cat.c: Show UTF-8 characters.
5415
3e912fda
VS
54162013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * conf/Makefile.common: Poison float and double on non-emu.
5419
ee0220bc
VS
54202013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * configure.ac: Don't disable extended registers on emu.
5423
89e0240c
VS
54242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * configure.ac: Don't use extended registers on x86_64.
5427 Reported by: Peter Jones.
5428
e56d9637
VS
54292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/term/efi/console.c: Fix compile error.
5432
8098f655
VS
54332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Compressed HFS+ support.
5436
16940e07
VS
54372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
5440 pixel".
5441
c5dbc13d
VS
54422013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 Menu color test.
5445
011f8ae8
VS
54462013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * grub-core/tests/setjmp_test.c: New test.
5449
2aa072d7
VS
54502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 New variables 'net_default_*' to determine MAC/IP of default interface.
5453
43fe02cb
VS
54542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * tests/gettext_strings_test.in: A test to check for strings not
5457 marked for translation.
5458
bed06142
VS
54592013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * autogen.sh: Exclude unused libgcrypt files from translation.
5462
fb2666b5
VS
54632013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 Simplify few strings.
5466
d22840ec
VS
54672013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 Mark few forgotten strings for translation.
5470
e34092fd
VS
54712013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5474 rather than printf.
5475
47cf82b4
VS
54762013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5479 rather than printf.
5480 * grub-core/video/readers/tga.c: Likewise.
5481
1eed0e6e
VS
54822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * tests/priority_queue_unit_test.cc: New test.
5485
c5b7697b
VS
54862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5489 than printf.
5490
5945c2f8
AB
54912013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5492
5493 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5494 variable for one time boot menu entry.
5495
fa292343
B
54962013-05-05 Bean <bean123ch@gmail.com>
5497
5498 * grub-core/commands/testspeed.c: New command testspeed.
5499
310d4214
VS
55002013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Factor-out human-size printing.
5503
85002bf3
VS
55042013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Agglomerate more mallocs to speed-up gfxterm.
5507
22b06e96
VS
55082013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 Speed-up gfxterm by slightly agglomerating mallocs.
5511
b7c036bc
VS
55122013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 More video checks.
5515
92323d1f
VS
55162013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 Speed-up gfxterm by saving intermediate results in index+alpha
5519 format.
5520
0fb356a3
VS
55212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5524 test.
5525
44dea3f9
VS
55262013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5529 line of timeout as it may contain the rest of long line.
5530
14af86e4
VS
55312013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * grub-core/normal/main.c: Fix freed memory dereference.
5534
03f7c8c3
VS
55352013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 Fix several memory leaks.
5538
c686014c
VS
55392013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5542
0788a695
VS
55432013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5546
daf01d61
VS
55472013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Fix test -a and -o precedence.
5550 Reported by: adrian15.
5551
82ae74d7
VS
55522013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5555
8cec7bd4
AB
55562013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5557
5558 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5559 and add it as source to functional_test module.
5560
aa73d688
VS
55612013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5564
c104b6f9
VS
55652013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 New series of tests for gfxterm and gfxmenu.
5568
7391c4d5
VS
55692013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5572 the theme path relative to $prefix/themes.
5573
cff50118
VS
55742013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5577 Fix order bug.
5578 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5579
7c332bdc
VS
55802013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5583 descriptor.
5584
a4f9a5ff
VS
55852013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5588 grub_gfxmenu_timeout_notifications.
5589 (grub_gfxmenu_view_destroy): Likewise.
5590
b5a2114d
VS
55912013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5594
a8905e8a
VS
55952013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 Several fixes to ieee1275 and big-endian video.
5598
813c1622
VS
55992013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 Add missing exports on mips.
5602
3f3e7326
VS
56032013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5606 if no unifont is found.
5607 Restore original keyboard.
5608
095accd1
VS
56092013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5612 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5613
50361660
VS
56142013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 First automated video test (running videotest and comparing results)
5617
cd0f6eec
VS
56182013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5621 instead of 2 to have full RGB/CMY test pattern.
5622
3f9634e5
VS
56232013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 Add few more tests.
5626
583e5b64
VS
56272013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5630 ARCS. All users updated.
5631
aa7bcb99
VS
56322013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5635
95ef1a54
VS
56362013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5639
46546fc5
VS
56402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5643 Reported by: qwertial.
5644
3476e0ef
VT
56452013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5646
5647 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5648 with syntax "XXX deg"/"XXX °".
5649
96f33fed
VS
56502013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 Make PCI init in i386-qemu port more robust.
5653
56542013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5655
5656 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5657 cached view is reused.
5658 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5659 open boot menus.
5660
c53b4e67
VS
56612013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 Unify more code in grub-install_header.
5664
f7457fb2
VS
56652013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 Add few new tests.
5668
e2f27a8c
VS
56692013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 Enforce disabling of firmware disk drivers when native drivers kick in.
5672
ef9d8cd5
VS
56732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * grub-core/commands/nativedisk.c: Customize the list of modules on
5676 platform. Don't try to search for disks already using native drivers.
5677
f7bf6c31
VS
56782013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5681 platforms.
5682
bdc4add8
VS
56832013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5686 handling of variables containing backslash.
5687
e9e46c9a
VS
56882013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5691 dereference.
5692 Reported by: qwertial.
5693
0e90dee8
VS
56942013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5697
e0aacf24
VS
56982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5701 dereference.
5702 Reported by: qwertial.
5703
3c0003c3
VS
57042013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5707
adb7d667
VS
57082013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5711
7cd0df84
VS
57122013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 New command `nativedisk'.
5715
02adbb93
VS
57162013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5719 * grub-core/loader/i386/bsd.c: Likewise.
5720
9fb0fd4f
VS
57212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5724
bd69257a
VS
57252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5728 grub_get_unaligned16 rather than shifts.
5729
178c2764
VS
57302013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/kern/file.c: Use const char * rather than casting to
5733 non-const.
5734
eadfad24
VS
57352013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * grub-core/commands/probe.c: Add missing grub_device_close.
5738
9f73ebd4
VS
57392013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * INSTALL: Document linguas.sh.
5742
965fa829
VS
57432013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 Remove POTFILES.in and regenerate it in autogen.sh.
5746
d417ddc4
VS
57472013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 Move --directory/--override-directorry to grub-install_header and unify.
5750
f97ec546
VS
57512013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5752
5753 * grub-core/term/morse.c: Macroify dih and dah.
5754
b2d7470c
PFS
57552013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5756
5757 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5758
141e2a78
VS
57592013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/term/ns8250.c: Systematically probe ports by writing
5762 to SR before using them.
5763
1dd70ebd
PFS
57642013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5765
5766 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5767 disks.
5768 (check_sas): Get sas_adress info.
5769
c796a107
VS
57702013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5773 ports.
5774
43168646
LD
57752013-04-27 Leon Drugi <eyak>
5776
5777 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5778 BSS clearing.
5779
e7b8fd08
VS
57802013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 Core compression test.
5783
17f9fd29
VS
57842013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 Implement grub_machine_get_bootlocation for ARC.
5787
dc2a6c8b
VS
57882013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 Improve AHCI detection and command issuing.
5791
f25a2ba6
VS
57922013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 Fix pseries test.
5795
a6393224
VS
57962013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 Make 'make check' work on emu.
5799
db99fbe8
VS
58002013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 Replace libcurses with our own vt100 handling for the ease of testing
5803 and decreasing prerequisites.
5804
b24ca7cd
VS
58052013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5808
63314aa4
VS
58092013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5812 compile when not needed.
5813
c1b00fff
VS
58142013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * tests/pseries_test.in: New test.
5817
f93e89ef
VS
58182013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 Add test to check that different boot mediums work.
5821
c4b456d3
VS
58222013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5825 ofw limited ISO support.
5826
5fe67f39
VS
58272013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * configure.ac: Fix loongson conditional.
5830
7f63a64f
VS
58312013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 Enable mipsel-arc.
5834
b04b5990
VS
58352013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 Add serial on ARC platform.
5838
88d2f302
VS
58392013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5842 commit.
5843
86eb23bc
VS
58442013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * tests/partmap_test.in: Add missing double semicolon.
5847
eec3bb75
VS
58482013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * util/grub-mkrescue.in: Fix loongson filename.
5851
e0810df3
VS
58522013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * util/grub-mkrescue.in: Move all files that don't have a location
5855 set in stone under /boot/grub. Use ISO hard links rather than copies
5856 to save some space.
5857
65a6b30b
VS
58582013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5861 bogus SLOF values.
5862
6aff0107
VS
58632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 Make check work on mips-arc.
5866
5e013e56
VS
58672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * util/grub-mkrescue.in: Alias sashARCS as sash.
5870
d1989e2e
VS
58712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5874 it's serial.
5875
1a25e72c
VS
58762013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * util/grub-install.in: Fix target fo qemu_mips.
5879 Fix extension on EFI.
5880
a59a9826
VS
58812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5884 in front of chosen entry to mark it even if highlighting is lost.
5885
1a40f80c
VS
58862013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5889 gfxpayload=keep if cbfb is active.
5890
e343549c
VS
58912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5894
45fbd9a2
VS
58952013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Add missing video ids to coreboot and ieee1275 video.
5898
ab1440bd
VS
58992013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * util/grub-mkrescue.in: Add mips-arc support.
5902
cdeb8324
VS
59032013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5906
8528c879
VS
59072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 Move mips-arc link address. Previous link address was chosen
5910 in belief that RAM on SGI platforms grows down while in fact it
5911 grows up from an unusual base.
5912
17fca573
VS
59132013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5916 Fix a type which prevented CD-ROM and floppy boot.
5917
d178788e
VS
59182013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 Support coreboot framebuffer.
5921
5922 * grub-core/video/i386/coreboot/cbfb.c: New file.
5923
fe4c3e7e
VS
59242013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5927 detecting too small regions.
5928
ec2dd179
VS
59292013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5932
872dac83
VS
59332013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5936 Remove dprintf.
5937 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5938
90ec4b7f
VS
59392013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5942 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5943 * grub-core/loader/powerpc/ieee1275/linux.c
5944 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5945
f32555dd
VS
59462013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5949 Look for /boot-rom as well as /rom/boot-rom.
5950
38649799
VS
59512013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5954 handling when creating text_layer failed.
5955 * grub-core/video/video.c (grub_video_create_render_target):
5956 Set result to 0 on error.
5957 (grub_video_delete_render_target): Do not dereference NULL.
5958
aeace7f7
VS
59592013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5962 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5963 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5964 (grub_linux_load64): Mask out 2 high bits.
5965
4eafa175
AB
59662013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5967
5968 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5969 more place.
5970
daaa64bd
VS
59712013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 Add support for pseries and other bootinfo machines to grub-mkrescue.
5974
5975 Tested by: Paulo Flabiano Smorigo.
5976
d0d2daa6
VS
59772013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * util/grub-mkrescue.in: Add GPT for EFI boot.
5980
b193e100
VS
59812013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5984 It improves performance in qemu.
5985
a0f8f3ac
VS
59862013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * build-aux/snippet: Add missing gnulib files.
5989
284df0e2
AB
59902013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5991
5992 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5993
740201f3
AB
59942013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5995
5996 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5997
a7e03923
PJ
59982013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
59992013-04-15 Peter Jones <pjones@redhat.com>
6000
6001 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6002 sectors.
6003 Based on patch by Peter Jones.
6004
25fc51a8
VS
60052013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Fix DMRAID partition handling.
6008
88017d47
VS
60092013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * tests/grub_cmd_date.in: Skip on sparc64.
6012
fa7d914e
VS
60132013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6016 firmware error messages.
6017
cbe57a48
VS
60182013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6021 source and destination differ.
6022
21aecce0
VS
60232013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6026 detection.
6027
25092d29
VS
60282013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6031 match config-util.h to avoid warnings and increase compatibility.
6032
79451522 60332013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 60342013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
6035
6036 Add option to compress files on install/image creation.
6037
78b7d77b
VS
60382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * docs/grub-dev.texi: Rearrange menu to match the section order.
6041 Reported by: Bryan Hundven.
6042
cc2fa5ec
VS
60432013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6046
b49fe879
VS
60472013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 Move GRUB out of system area when using xorriso 1.2.9 or later.
6050
5351da81
VS
60512013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * tests/grub_cmd_date.in: Add missing exit 1.
6054
c9d586ea
VS
60552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * tests/partmap_test.in: Skip on sparc64.
6058
3f729741
VS
60592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 Support grub-shell on sparc64.
6062
8ca86b3a
VS
60632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 Support mkrescue on sparc64.
6066
aa1af9bb
VS
60672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6070 Needed on OpenBIOS due to incomplete device tree.
6071
ac4fea79
VS
60722013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6075 would be otherwise excluded.
6076
60772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
6078
6079 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6080 Inline name defines used only once.
6081
fe22b071
VS
60822013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 Fix memory leaks in ofnet.
6085 Reported by: Francesco Lavra.
6086
9d21381b
VS
60872013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * docs/man/grub-glue-efi.h2m: Add missing file.
6090
07aec23c
VS
60912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6094
67ab8353
VS
60952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 Better support Apple Intel Macs on CD.
6098
ba44ca6d
VS
60992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 Replace stpcpy with grub_stpcpy in tools.
6102
bbdd6305
VS
61032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 Handle Japanese special keys.
6106 Reported by: Hiroyuki YAMAMORI.
6107 Codes supplied by: Hiroyuki YAMAMORI.
6108
8573d302
VS
61092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * util/grub-mkimage.c: Document memdisk implying --prefix.
6112
d70dbab7
VS
61132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6116 much we can do about it anyway.
6117
51a4c3e3
AN
61182013-04-12 Aleš Nesrsta <starous@volny.cz>
6119
6120 Fix handling of split transfers.
6121
92c8f58d
VS
61222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * grub-core/net/http.c: Fix bad free.
6125
b7d17a49
VS
61262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6129 than buffer size.
6130
a3d566d4
VS
61312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6134
a936af56
VS
61352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * tests/util/grub-shell.in: Fix it on powerpc.
6138
51212234
VS
61392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 Turn off QEMU ACPI-way since new releases don't have shutdown port
6142 anymore.
6143
a21eec9e
VS
61442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * docs/grub.texi: Update coreboot status info.
6147
e3734b84
VS
61482013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * tests/grub_cmd_date.in: New test for datetime.
6151
f9d40055
VS
61522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * tests/partmap_test.in: Fix missing qemudisk setting.
6155
dbc56d8f
VS
61562013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 Support i386-ieee1275 grub-mkrescue and make check on it.
6159
a79b8a15
VS
61602013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6161
6162 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6163 feature for it.
6164
48f39bb4
VS
61652013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6168 GRUB_CMDLINE_XEN_DEFAULT.
6169 Reported by: Marc Warne (GigaTux) <gigatux>
6170
053cfcdd
VS
61712013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 Import new gnulib.
6174
93cd84df
VS
61752013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Use ACPI shutdown intests as traditional port was removed.
6178
f4b1fa4f
AB
61792013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6180
6181 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6182 distinction.
6183
49818a59
VS
61842013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6187 Fix few warining messages and leaks while on it.
6188
9277a306
AB
61892013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6190
6191 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6192 links under grub-core/lib/libgcrypt-grub/mpi.
6193
d5e2a158
VS
61942013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 Fix ia64-efi image generation on big-endian machines. Deduplicate
6197 some code while on it.
6198 Reported by: Leif Lindholm.
6199
18866643
AB
62002013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6201
6202 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6203 as extra_dist.
6204
ca53deb8
AB
62052013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6206
6207 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6208
d4c4b8e1
BH
62092013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6210
6211 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6212 texinfo-5.1.
6213
47043f95
VS
62142013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/normal/term.c: Few more fixes for menu entry editor
6217 rendering.
6218 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6219
a3216068
VS
62202013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * grub-core/normal/term.c: Few more fixes for menu entry editor
6223 rendering.
6224 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6225
21026747
AB
62262013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6227
6228 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6229 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6230
59624ca8
AB
62312013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6232
6233 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6234 instead of hardcoding grub.mo.
6235
1f44478c
FN
62362013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6237
6238 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6239
eeada7b1
VS
62402013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6243 grub-core/disk/geli.c.
6244
132867de
VS
62452013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * util/grub-mkfont.c: Prefer enum to #define.
6248
de73de17
VS
62492013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6252
1865baa7
VS
62532013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6256
ce7d92a9
VS
62572013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6260
52eab656
VS
62612013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6264
98b23b95
VS
62652013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * include/grub/bsdlabel.h: Use enums.
6268
0467a5dd
VS
62692013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 Move GRUB_CHAR_BIT to types.h.
6272
16cc9f03
AB
62732013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6274
6275 * docs/grub.texi: Document more user commands.
6276
3152aecb
AB
62772013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6278
6279 * docs/grub.texi: Document menuentry --id option.
6280
c506fc30
FL
62812013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6282
6283 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6284
aa428238
VS
62852013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 Unify file copying setup across different install scripts. Add
6288 options for performing partial install.
6289
efe0cdda
PJ
62902013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
62912013-04-04 Peter Jones <pjones@redhat.com>
6292
6293 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6294
f75835bd
VS
62952013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 Use TSC as a possible time source on i386-ieee1275.
6298
2cd5ce6c
VS
62992013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6302 Init err.
6303
c9625630
VS
63042013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * util/grub-setup.c (setup): Handle some corner cases.
6307
be008941
VS
63082013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6311
1a78d573
VS
63122013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/commands/verify.c: Save verified file to avoid it being
6315 tampered with after verification was done.
6316
db8ff59f
VS
63172013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6320 reported width by one to compensate for curesor algorithm problem.
6321
91bf46b1
VS
63222013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 Fix screen corruption in menu entry editor and simplify the code
6325 flow while on it.
6326
a7b1d693
AB
63272013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
6328
6329 * util/grub-mount.c (fuse_init): Return error if fuse_main
6330 failed.
6331
31df9ad8
FL
63322013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
6333
6334 * include/grub/elf.h: Add missing ARM relocation codes and fix
6335 existing ones.
6336
07f392eb
VT
63372013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6338
6339 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6340
9efd73ec 63412013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
63422013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6345 into account when calculating radius.
6346
63472013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
6348
6349 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6350
4985ddaa
VT
63512013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6352
6353 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6354
8c3635ff
RS
63552013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6356
6357 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6358 missing closing bracket.
6359
74a35e69
RS
63602013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6361
6362 * INSTALL: Mention xorriso requirement.
6363
40f1c000
AB
63642013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
6365
6366 * grub-core/commands/verify.c: Fix hash algorithms values for
6367 the first three hashes - they start with 1, not with 0.
6368
e75fdee4
VS
63692013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
6372 Try terminating EFI services several times due to quirks in some
6373 implementations.
6374
33028f4c
CW
63752013-03-26 Colin Watson <cjwatson@ubuntu.com>
6376
6377 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
6378 skipping Event, Device, Processor, PowerRes, ThermalZone, and
6379 BankField extended opcodes.
6380 (get_sleep_type): Add minimal scope handling (just enough to
6381 handle setting the scope to the root path).
6382 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
6383 * include/grub/acpi.h: Add enumeration values for Event, Device,
6384 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
6385
33871a10
VT
63862013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
6387
6388 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
6389 memory leak.
6390
8990963a
VS
63912013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/disk/ahci.c: Give more time for AHCI request.
6394
daae8f9e
VS
63952013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
6398 command.
6399
6a7fb94b
VS
64002013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 Replace the region at 0 from coreboot tables to available in BSD
6403 memory map.
6404
ff99babd
VS
64052013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
6408 non-BIOS platforms.
6409
30d6b1b2
VS
64102013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
6413 platforms.
6414
6ccd0b31
VS
64152013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6418 handling of multi-device filesystems.
6419
23c9cc04
VS
64202013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
6423 platforms.
6424
ce50dbd7
VS
64252013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 Add new 'proc' filesystem framework and put luks_script into it.
6428
d975e8d5
VS
64292013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
6432 and qemu.
6433
e73ba5e8
VS
64342013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
6437
92750e4c
VS
64382013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 Add ability to generate newc additions on runtime.
6441
0ec45a68
VS
64422013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
6445 description.
6446
320abd43
VS
64472013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * po/POTFILES.in: Regenerate.
6450
d7a6506e
VS
64512013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * grub-core/commands/verify.c (hashes): Add several hashes
6454 from the spec.
6455
8fe05def
VS
64562013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 Slight improve in USB-related boot-time checkpoints.
6459
524e2766
VS
64602013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/commands/boottime.c: Fix copyright header.
6463
cc19857a
VS
64642013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6467 coreboot tables content. Support for cbmemc.
6468
ef8810e9
VS
64692013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 Fix a conflict between ports structures with 2 controllers of
6472 same kind.
6473
e9dabdfa
VS
64742013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * include/grub/boottime.h: Add missing file.
6477
f6df57d2
VS
64782013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 Initialize USB ports in parallel to speed-up boot.
6481
d745dda7
VS
64822013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 Fix USB devices not being detected when requested
6485 due to delayed attach.
6486
e5a2dd7b
VS
64872013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6488
e744219b
VS
6489 Implement boot time analysis framework.
6490
64912013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
6494 descriptor to just receive it as argument rather than endpoint
6495 address.
6496
5dd6f587
VS
64972013-03-19 Aleš Nesrsta <starous@volny.cz>
6498
6499 Better estimate the maximum USB transfer size.
6500
2f1071d5
VS
65012013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Resend a packet if we got the wrong buffer in status.
6504
46ecfc49
VS
65052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6508 multiplication rather than division.
6509
ea811130
VS
65102013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6513 than divisions.
6514
d2789cf0
VS
65152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6518 operations to have intended shifts and not divisions.
6519
a9c94590
VS
65202013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6523 intended shifts rather than division.
6524
84cfe81b
VS
65252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6528 computation for some years before epoch. Avode confusing division
6529 while on it.
6530
21344ef6
VS
65312013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/video/i386/pc/vbe.c
6534 (grub_video_vbe_print_adapter_specific_info): Replace division by
6535 shifts.
6536
3f2b4d1a
VS
65372013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 Adjust types in gdb module to have intended unsigned shifts rather than
6540 signed divisions.
6541
3dac5878
VS
65422013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6545 maximum size is 4G - 1 on hfs
6546
5341c0fb
VS
65472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6550
fc3ff2a2
VS
65512013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6554 function.
6555
81455e8e
AB
65562013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6557
6558 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6559 causing gcc error with gcc 4.7.1.
6560
efd4f117
NZ
65612013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6562
6563 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6564 dereference null pointer. While the code is technically correct, gcc
6565 may eliminate a null check if pointer is already dereferenced.
6566
e11645f4
NZ
65672013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6568
6569 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6570 OOM check.
6571 * grub-core/normal/term.c (read_terminal_list): Likewise.
6572
77468368
VS
65732013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 Lift up core size limits on some platforms. Fix potential memory
6576 corruption with big core on small memory systems. Document remaining
6577 limits.
6578
f6b58fe5
VS
65792013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6582 gotoxy to 0,0.
6583
19ce697d
VS
65842013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 Remove all trampoline support. Add -Wtrampolines when
6587 present. Remove symbols used for trampolines to make
6588 link fail if trampolines are present.
6589
73b5d90f
VS
65902013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6593 append out of its parent.
6594
cb758e96
VS
65952013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6598 parent.
6599
3188131f
VS
66002013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6603 all vars to a macro. All users updated.
6604
e42b2514
VS
66052013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6608 i386-ieee1275.
6609
83e1a1a1
VS
66102013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6613
1d5a880f
VS
66142013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6617
6e4146c4
VS
66182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Move to more hookless approach in IEEE1275 devices handling.
6621
99fcda8a
VS
66222013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/kern/term.c (grub_term_normal_color),
6625 (grub_term_highlight_color): Add back lost defaults.
6626
73bf57e2
VS
66272013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 Make elfload not use hooks. Opt for flags and iterators instead.
6630
7f8c105f
VS
66312013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6634 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6635
396d4091
VS
66362013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6639
66402013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6643 hook pass-through parameter. All users updated and unnested.
6644
74a27421
VS
66452013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6648 out of its parent.
6649
b46d4213
VS
66502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/fs/hfs.c: Remove nested functions.
6653
e114c3cc
VS
66542013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6657 the context through.
6658 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6659
f9b7d780
VS
66602013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * util/grub-editenv.c (list_variables): Move print_var out of its
6663 parent.
6664
ca9c2608
VS
66652013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6668 function.
6669
5d983f5f
VS
66702013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * grub-core/gentrigtables.c: Make tables const.
6673
3056d3e7
VS
66742013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 Remove nested functions from videoinfo iterators.
6677
e2303774
VS
66782013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6681 for 64-bit platforms.
6682
f42e3a2f
VS
66832013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6686 a FOR_CHILDREN macro.
6687
be174e5e
VS
66882013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6691 platform from firmware path.
6692
0789b672
VS
66932013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 Enable linux16 on non-BIOS systems for i.a. memtest.
6696
6697 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6698 correctly.
6699 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6700
005a9c32
VS
67012013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6704 Fix end of table condition.
6705
ff2b3cd9
VS
67062013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6709 out of its parent.
6710
4fc40ff8
VS
67112013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * grub-core/fs/jfs.c: Remove nested functions.
6714
be42d97a
VS
67152013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * grub-core/fs/minix.c: Remove nested functions.
6718
99373ce4
VS
67192013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/fs/iso9660.c: Remove nested functions.
6722
5aec2afe
VS
67232013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6726 of parent function.
6727
6c69e691
VS
67282013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * util/grub-fstest.c: Remove nested functions.
6731
43c91882
VS
67322013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * grub-core/loader/machoXX.c: Remove nested functions.
6735
4eb8b756
CW
67362013-02-27 Colin Watson <cjwatson@ubuntu.com>
6737
6738 Remove nested functions from disk and file read hooks.
6739
6740 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6741 (struct grub_disk): Add read_hook_data member.
6742 * include/grub/file.h (struct grub_file): Likewise.
6743 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6744 argument.
6745
6746 Update all callers.
6747
df6da5a5
AB
67482012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6749
6750 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6751 Fix off by one error in enumerating extended partitions.
6752
21aecde5
AB
67532013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6754
6755 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6756 memory leak if device name is not found.
6757
f1a19118
AB
67582013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6759
6760 * grub-core/normal/menu_entry.c (update_screen): remove
6761 unused variable `off' which caused scroll down arrow to be always shown.
6762
958bfd20
AB
67632013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6764
6765 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6766 access to unallocated memory.
6767
b7b78edb
AB
67682013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6769
6770 * Makefile.util.def: Add partmap/msdos.c to common library.
6771 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6772 * grub-core/disk/ldm.c: Check for existence of
6773 GRUB_PC_PARTITION_TYPE_LDM.
6774
28d468d6
VS
67752013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6778 sizes and display sector size.
6779
d55ffb02
VS
67802013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Implement new command cmosdump.
6783
b5ea6ce0
VS
67842013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6785
6786 Support Openfirmware disks with non-512B sectors.
6787
6788 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6789 size of the disk.
6790 * (grub_ofdisk_get_block_size): New function.
6791 * (grub_ofdisk_prepare): Use the correct block size.
6792 * (grub_ofdisk_read): Likewise.
6793 * (grub_ofdisk_write): Likewise.
6794 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6795 New proto.
6796
cc0e476f
VS
67972013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6800
c5dbdc33
VS
68012013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6804 on first error.
6805
3f078c0f
VS
68062013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6809 freeing it.
6810
66a93674
VS
68112013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 Implement USBDebug (full USB stack variant).
6814
c9f0c134
VS
68152013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6818 unless they have unexpected values.
6819
cfe1288b
VS
68202013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6823 grub_print_error.
6824
e42b9969
VS
68252013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6828 zero-out of port structure.
6829
cf94fd62
VS
68302013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6833 of extended attributes.
6834
f81ef4b5
AB
68352013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6836
6837 * util/grub-install.in: change misleading comment about
6838 device.map creation
6839
af18fdb4
VS
68402013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6843 when menu highlight color isn't set.
6844
08bcec50
M
68452013-01-27 C. Masloch <pushbx@38.de>
6846
6847 Improve FreeDOS direct loading support compatibility.
6848
6849 * include/grub/i386/relocator.h (grub_relocator16_state):
6850 New member ebp.
6851 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6852 variable.
6853 (grub_relocator16_boot): Handle %ebp.
6854 * grub-core/lib/i386/relocator16.S: Likewise.
6855 * grub-core/loader/i386/pc/freedos.c:
6856 Load BPB to pass kernel which partition to load from.
6857 Check that kernel file is not too large.
6858 Set register dl to BIOS unit number as well.
6859
7782b8a6
CW
68602013-01-22 Colin Watson <cjwatson@ubuntu.com>
6861
6862 * util/grub-reboot.in (usage): Document the need for
6863 GRUB_DEFAULT=saved.
6864 * util/grub-set-default.in (usage): Likewise.
6865 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6866
e661c180
VS
68672013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6870 than defining WORDS_BIGENDIAN manually.
6871
1c22ca9a
VS
68722013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6875 invariants.
6876
d44892fe
CW
68772013-01-21 Colin Watson <cjwatson@ubuntu.com>
6878
6879 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6880 nested.
6881 (blit_comb: add_device_width): Likewise.
6882
5fdbaed1
CW
68832013-01-21 Colin Watson <cjwatson@ubuntu.com>
6884
6885 Remove nested functions from USB iterators.
6886
6887 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6888 (grub_usb_controller_iterate_hook_t): Likewise.
6889 (grub_usb_iterate): Add hook_data argument.
6890 (grub_usb_controller_iterate): Likewise.
6891 (struct grub_usb_controller_dev.iterate): Likewise.
6892
6893 Update all implementations and callers.
6894
4250985a
VS
68952013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6898 margin when not needed.
6899
7d8848f3
VS
69002013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6901
bc136973 6902 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6903
69042013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6905
bc136973
VS
6906 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6907 asterisk.
7d8848f3 6908
ed12a003
CW
69092013-01-21 Colin Watson <cjwatson@ubuntu.com>
6910
6911 Fix powerpc and sparc64 build failures caused by un-nesting memory
6912 map iterators.
6913
6a0db449
CW
69142013-01-21 Colin Watson <cjwatson@ubuntu.com>
6915
6916 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6917 parameter declarations.
6918
ccd86b21
VS
69192013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6922
822b726b
VS
69232013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 Improve spkmomdem reliability by adding a separator between bytes.
6926
115c2cc1
CW
69272013-01-21 Colin Watson <cjwatson@ubuntu.com>
6928
6929 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6930 an Acer registration utility with several sightings in the wild.
6931 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6932
fc524edf
CW
69332013-01-21 Colin Watson <cjwatson@ubuntu.com>
6934
6935 Remove nested functions from filesystem directory iterators.
6936
6937 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6938 (struct grub_fs.dir): Add hook_data argument.
6939
6940 Update all implementations and callers.
6941
53d3e4e3
CW
69422013-01-21 Colin Watson <cjwatson@ubuntu.com>
6943
6944 * docs/grub.texi (Multi-boot manual config): Fix typo for
6945 "recommended".
6946
c821711f
LL
69472013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6948
6949 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6950 until after its use in generate_image.
6951
6a0debbd
CW
69522013-01-20 Colin Watson <cjwatson@ubuntu.com>
6953
6954 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6955 initrd size to addr_min, since the initrd will be allocated after
6956 this address.
6957
f41e08db
AB
69582013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6959
6960 * conf/Makefile.common: Fix autogen rules to pass definition
6961 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6962
77529e0f
LL
69632013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6964
6965 * include/grub/elf.h: Update ARM definitions based on binutils.
6966
b879aa7b
VS
69672013-01-20 Aleš Nesrsta <starous@volny.cz>
6968
6969 Split long USB transfers into short ones.
6970
8eb8284d
AB
69712013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6972
6973 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6974 is interrupted by ESC.
6975
08dad2dc
VS
69762013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * util/grub-script-check.c (main): Uniform the error message.
6979
6c724b85
CW
69802013-01-20 Colin Watson <cjwatson@ubuntu.com>
6981
6982 Remove nested functions from ELF iterators.
6983
25239370
CW
69842013-01-20 Colin Watson <cjwatson@ubuntu.com>
6985
6986 Remove nested functions from device iterators.
6987
6988 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6989 (grub_arc_iterate_devs): Add hook_data argument.
6990 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6991 (struct grub_ata_dev.iterate): Add hook_data argument.
6992 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6993 (grub_device_iterate): Add hook_data argument.
6994 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6995 (struct grub_disk_dev.iterate): Add hook_data argument.
6996 (grub_disk_dev_iterate): Likewise.
6997 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6998 Likewise.
6999 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7000 Likewise.
7001 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7002 type.
7003 (struct grub_partition_map.iterate): Add hook_data argument.
7004 (grub_partition_iterate): Likewise.
7005 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7006 (struct grub_scsi_dev.iterate): Add hook_data argument.
7007
7008 Update all callers.
7009
6c0314d6
CW
70102013-01-20 Colin Watson <cjwatson@ubuntu.com>
7011
7012 Fix typos for "developer" and "development".
7013
600dc5f1
VS
70142013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 Add license header to spkmodem-recv.c.
7017
17334a6b
VS
70182013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 Rewrite spkmodem to use PIT for timing. Double the speed.
7021
7d462559
VS
70222013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 Add new command pcidump.
7025
b78d6c32
VS
70262013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 New terminal outputs using serial: morse and spkmodem.
7029
34f71cb8
VS
70302013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 Improve bidi handling in entry editor.
7033
4542e71b
VS
70342013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7037 argument to prevent name collision.
7038
09fd6d82
CW
70392013-01-15 Colin Watson <cjwatson@ubuntu.com>
7040
7041 Remove nested functions from script reading and parsing.
7042
7043 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7044 getline_data argument, passed to getline.
7045 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7046 getline_data argument, passed to grub_parser_split_cmdline.
7047 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7048 lexerstate->getline_data to lexerstate->getline.
7049 (grub_script_lexer_init): Add getline_data argument, saved in
7050 lexerstate->getline_data.
7051 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7052 argument, passed to grub_script_parse.
7053 * grub-core/script/script.c (grub_script_parse): Add getline_data
7054 argument, passed to grub_script_lexer_init.
7055 * include/grub/parser.h (grub_parser_split_cmdline): Update
7056 prototype. Update all callers to pass appropriate getline data.
7057 (struct grub_parser.parse_line): Likewise.
7058 (grub_rescue_parse_line): Likewise.
7059 * include/grub/reader.h (grub_reader_getline_t): Add void *
7060 argument.
7061 * include/grub/script_sh.h (struct grub_lexer_param): Add
7062 getline_data member.
7063 (grub_script_parse): Update prototype. Update all callers to pass
7064 appropriate getline data.
7065 (grub_script_lexer_init): Likewise.
7066 (grub_normal_parse_line): Likewise.
7067
7068 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7069 data argument.
7070 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7071 static instead of nested. Rename to ...
7072 (grub_parser_execute_getline): ... this.
7073 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7074 data argument.
7075 * grub-core/normal/main.c (read_config_file: getline): Make static
7076 instead of nested. Rename to ...
7077 (read_config_file_getline): ... this.
7078 (grub_normal_read_line): Add unused data argument.
7079 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7080 getline): Make static instead of nested. Rename to ...
7081 (grub_script_execute_sourcecode_getline): ... this.
7082 * util/grub-script-check.c (main: get_config_line): Make static
7083 instead of nested.
7084
d0d4b8a0
CW
70852013-01-15 Colin Watson <cjwatson@ubuntu.com>
7086
7087 Remove nested functions from memory map iterators.
7088
7089 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7090 argument, passed to hook.
7091 * grub-core/kern/i386/coreboot/mmap.c
7092 (grub_linuxbios_table_iterate): Likewise.
7093 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7094 instead of nested.
7095 (grub_machine_mmap_iterate): Add hook_data argument.
7096 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7097 Add hook_data argument, passed to hook.
7098 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7099 Likewise.
7100 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7101 Likewise.
7102 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7103 Likewise.
7104 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7105 Likewise.
7106 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7107 Likewise.
7108 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7109 Likewise.
7110 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7111 (grub_machine_mmap_iterate): Likewise.
7112 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7113 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7114 prototype.
7115 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7116 Remove NESTED_FUNC_ATTR from here and from all users.
7117 (grub_mmap_iterate): Update prototype.
7118 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7119 pass appropriate hook data.
7120 (grub_machine_mmap_iterate): Likewise.
7121
7122 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7123 static instead of nested.
7124 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7125 Rename to ...
7126 (lsmmap_hook): ... this.
7127 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7128 Likewise.
7129 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7130 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7131 heap_init): Likewise.
7132 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7133 Rename to ...
7134 (mmap_iterate_hook): ... this.
7135 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7136 Likewise.
7137 * grub-core/lib/ieee1275/relocator.c
7138 (grub_relocator_firmware_get_max_events: count): Likewise.
7139 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7140 to ...
7141 (grub_relocator_firmware_fill_events_iter): ... this.
7142 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7143 hook): Likewise. Rename to ...
7144 (grub_relocator_alloc_chunk_align_iter): ... this.
7145 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7146 Rename to ...
7147 (generate_e820_mmap_iter): ... this.
7148 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7149 Rename to ...
7150 (count_hook): ... this.
7151 (grub_linux_boot: hook): Likewise. Rename to ...
7152 (grub_linux_boot_mmap_find): ... this.
7153 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7154 (grub_linux_boot_mmap_fill): ... this.
7155 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7156 hook): Likewise. Rename to ...
7157 (grub_fill_multiboot_mmap_iter): ... this.
7158 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7159 hook): Likewise. Rename to ...
7160 (count_hook): ... this.
7161 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7162 hook): Likewise. Rename to ...
7163 (grub_fill_multiboot_mmap_iter): ... this.
7164 * grub-core/loader/powerpc/ieee1275/linux.c
7165 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7166 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7167 Likewise. Rename to ...
7168 (alloc_phys_choose): ... this.
7169 (determine_phys_base: get_physbase): Likewise.
7170 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7171 find_hook): Likewise.
7172 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7173 (malloc_hook: count_hook): Likewise.
7174 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7175 Likewise. Rename to ...
7176 (lower_hook): ... this.
7177 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7178 (upper_hook): ... this.
7179 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7180 (post64_hook): ... this.
7181 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7182 Likewise. Rename to ...
7183 (lower_hook): ... this.
7184 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7185 (upper_hook): ... this.
7186 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7187 (grub_mmap_iterate: fill_hook): Likewise.
7188 (fill_mask): Pass addr and mask within a single struct.
7189 (grub_cmd_badram: hook): Make static instead of nested. Rename
7190 to ...
7191 (badram_iter): ... this.
7192 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7193 (cutmem_iter): ... this.
7194
22099030
VS
71952013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7198 delimit path in strings using quotes.
7199 * util/getroot.c (grub_guess_root_devices): Likewise.
7200 (grub_make_system_path_relative_to_its_root): Likewise.
7201 * util/grub-probe.c (probe): Likewise.
7202 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7203 (xrealpath): Likewise.
7204
4a9950ec
VS
72052013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 Fix compilation with older compilers.
7208
7209 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7210 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7211 declarations.
7212 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7213 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7214 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7215 identifier with b.
7216 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7217 * include/grub/crypto.h: Add type defines.
7218 * util/import_gcrypth.sed: Remove duplicate type defines.
7219
adcc6020
VS
72202013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 New command list_trusted.
7223
7224 * grub-core/commands/verify.c (grub_cmd_list): New function.
7225
a4528937
CW
72262013-01-13 Colin Watson <cjwatson@ubuntu.com>
7227
7228 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7229 info message.
7230
ca3a7446
CW
72312013-01-13 Colin Watson <cjwatson@ubuntu.com>
7232
7233 Remove nested functions from PCI iterators.
7234
7235 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7236 passed to hook. Update all callers to pass appropriate hook data.
7237 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7238 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7239 Remove NESTED_FUNC_ATTR from here and from all users.
7240 (grub_pci_iterate): Update prototype.
7241 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7242 instead of nested. Rename to ...
7243 (grub_cs5536_find_iter): ... this.
7244 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7245 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7246 Likewise.
7247 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7248 Likewise.
7249 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7250 Likewise.
7251 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7252 Likewise.
7253 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7254 * grub-core/video/radeon_fuloong2e.c
7255 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7256 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7257 find_card): Likewise.
7258 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7259 Likewise.
7260
f8e98fee
VS
72612013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/commands/verify.c: Mark messages for translating.
7264
055b36b6
VS
72652013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7268 fatal.
7269
f7ff879b
VS
72702013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7273 fatal.
7274
72752013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
7276
7277 * autogen.sh: Do not try to delete nonexistant files.
7278 * util/import_gcrypth.sed: Add some missing header removals.
7279
01323d49
CW
72802013-01-12 Colin Watson <cjwatson@ubuntu.com>
7281
7282 Clean up dangling references to grub-setup.
7283 Fixes Ubuntu bug #1082045.
7284
7285 * docs/grub.texi (Images): Refer generally to grub-install rather
7286 than directly to grub-setup.
7287 (Installing GRUB using grub-install): Remove direct reference to
7288 grub-setup.
7289 (Device map) Likewise.
7290 (Invoking grub-install): Likewise.
7291 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7292 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7293 * util/grub-install.in (usage): Likewise.
7294
7295 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7296 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7297 grub-setup.
7298 * configure.ac: Remove grub_setup output variable.
7299
7300 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7301 to grub-bios-setup.
7302 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7303 grub-setup to grub-sparc64-setup.
7304
5e3b8dcb
VS
73052013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 Import gcrypt public-key cryptography and implement signature checking.
7308
535714bd
VS
73092013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * grub-core/fs/ntfs.c: Ue more appropriate types.
7312 * grub-core/fs/ntfscomp.c: Likewise.
7313 * include/grub/ntfs.h: Likewise.
7314
3e4f3566
VS
73152013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 Support Apple FAT binaries on non-Apple platforms.
7318
7319 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7320 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7321 Likewise.
7322 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7323 Apple FAT binaries.
7324
4dedb13f
VS
73252013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
7328 sector devices.
7329
f8861eaf
CW
73302013-01-07 Colin Watson <cjwatson@ubuntu.com>
7331
7332 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
7333 explicitly zeroing elements.
7334 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
7335 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7336 of elements in a structure already allocated using grub_zalloc.
7337 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7338
86065b0a
CW
73392013-01-07 Colin Watson <cjwatson@ubuntu.com>
7340
7341 * docs/grub.texi (grub_cpu): New subsection.
7342 (grub_platform): Likewise.
7343
c6f1e92f
VS
73442013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7347
f797ec85
VS
73482013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7351 divisions.
7352
033d0b4b
VS
73532013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7356 * grub-core/fs/ntfscomp.c: Likewise.
7357 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7358 (grub_ntfs_comp): Likewise.
7359
21d1b9a0
VS
73602013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
7363 Rename to ...
7364 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
7365 of groups_per_block. All users updated.
7366
10ca8645
VS
73672013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
7370 grub_error properly.
7371 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
7372 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
7373
a4c3ed4c
VS
73742013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
7377 always in /boot/zfs.
7378 Reported by: Yuta Satoh.
7379
0b716507
YS
73802013-01-03 Yuta Satoh <nigoro>
7381
7382 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
7383 ${grub_probe}
7384
00c05e22
VS
73852013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * configure.ac: Extend -Wno-trampolines to host.
7388
dadddb76
VS
73892013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
7392 entry->len = 0.
7393
54ce53ca
CW
73942013-01-03 Colin Watson <cjwatson@ubuntu.com>
7395
7396 * docs/grub.texi (Invoking grub-mkrelpath): New section.
7397 (Invoking grub-script-check): Likewise.
7398
8912efca
CW
73992013-01-03 Colin Watson <cjwatson@ubuntu.com>
7400
7401 * docs/grub.texi (Invoking grub-mount): New section.
7402 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
7403
c3fc8394
CW
74042013-01-02 Colin Watson <cjwatson@ubuntu.com>
7405
7406 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
7407 test failures, so that a failing unit test correctly causes 'make
7408 check' to fail.
7409
45d26abb
CW
74102013-01-02 Colin Watson <cjwatson@ubuntu.com>
7411
7412 Fix failing printf test.
7413
7414 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
7415 '$' in the correct order when collecting type information.
7416
971dd2c6
CW
74172013-01-02 Colin Watson <cjwatson@ubuntu.com>
7418
7419 * docs/grub.texi (configfile): Explain environment variable
7420 handling.
7421 (source): New section.
7422 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
7423
5c67ea6c
CW
74242012-12-31 Colin Watson <cjwatson@ubuntu.com>
7425
7426 Remove several trivially-unnecessary uses of nested functions.
7427
7428 * grub-core/commands/i386/pc/sendkey.c
7429 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
7430 instead of nested.
7431 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
7432 Rename to ...
7433 (legacy_file_getline): ... this.
7434 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
7435 Likewise.
7436 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
7437 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
7438 to ...
7439 (probe_dummy_iter): ... this.
7440 * grub-core/kern/i386/coreboot/mmap.c
7441 (grub_linuxbios_table_iterate: check_signature): Likewise.
7442 * grub-core/kern/parser.c (grub_parser_split_cmdline:
7443 check_varstate): Likewise. Mark inline.
7444 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
7445 an additional parameter.
7446 (find_long: fnd_long): Likewise. Pass two additional parameters.
7447 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7448 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7449 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7450 Likewise. Rename to ...
7451 (grub_cmos_find_port_iter): ... this.
7452 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7453 Rename to ...
7454 (find_rtc_iter): ... this.
7455
7456 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7457 function directly into the function body, since it is only called
7458 once.
7459
33a68ac6
CW
74602012-12-30 Colin Watson <cjwatson@ubuntu.com>
7461
7462 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7463 __attribute__ ((unused)).
7464 * grub-core/video/bochs.c (find_card): Likewise.
7465 * grub-core/video/cirrus.c (find_card): Likewise.
7466 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7467 * grub-core/video/sis315pro.c (find_card): Likewise.
7468 * grub-core/video/sm712.c (find_card): Likewise.
7469
608b647a
CW
74702012-12-28 Colin Watson <cjwatson@ubuntu.com>
7471
7472 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7473 Fixes Savannah bug #37821.
7474
fd49ceb3
CW
74752012-12-28 Colin Watson <cjwatson@ubuntu.com>
7476
7477 Apply program name transformations at build-time rather than at
7478 run-time. Fixes Debian bug #696465.
7479
7480 * acinclude.m4 (grub_TRANSFORM): New macro.
7481 * configure.ac: Create output variables with transformed names for
7482 most programs.
7483 * util/bash-completion.d/grub-completion.bash.in: Use
7484 pre-transformed variables for program names.
7485 * util/grub-install.in: Likewise.
7486 * util/grub-kbdcomp.in: Likewise.
7487 * util/grub-mkconfig.in: Likewise.
7488 * util/grub-mkconfig_lib.in: Likewise.
7489 * util/grub-mknetdir.in: Likewise.
7490 * util/grub-mkrescue.in: Likewise.
7491 * util/grub-mkstandalone.in: Likewise.
7492 * util/grub-reboot.in: Likewise.
7493 * util/grub-set-default.in: Likewise.
7494 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7495 * tests/util/grub-shell-tester.in: Remove unused assignment.
7496 * tests/util/grub-shell.in: Likewise.
7497 * util/grub.d/00_header.in: Likewise.
7498
7024b3c0
CW
74992012-12-28 Colin Watson <cjwatson@ubuntu.com>
7500
7501 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7502
7503 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7504 HAVE_RAW_DECL_GETS.
7505 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7506
e3501b13
VS
75072012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7510 Reported by: Eriks Latosheks <foresterlv>.
7511
b40c88a9
VS
75122012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * docs/grub.texi (Network): Update instructions on generating netboot
7515 image.
7516
ce96d01c
VS
75172012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7520 around device name if necessarry.
7521
0f596201
PFS
75222012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7523
7524 * util/grub-install.in: Follow the symbolic link parameter added
7525 to the file command.
7526
600d5bdb
AB
75272012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7528
7529 * util/grub-install.in: Remove stale TODO.
7530
64ebd2f4
PFS
75312012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7532
7533 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7534 dynamic allocation for the bootpath buffer.
7535
74b2fe3e
DTB
75362012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7537
7538 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7539 window too small.
7540
969b804f
VS
75412012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7544 argument rather than font name. All users updated.
7545 (grub_gfxterm_set_window): Likewise.
7546
b9f5ebd6
VT
75472012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7548
7549 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7550 from working.
7551
258f43b7
VS
75522012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * util/getroot.c (convert_system_partition_to_system_disk): Support
7555 nbd disks.
7556
cc1ce5f9
VS
75572012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7560 infinite loop on corrupted FS.
7561
e77a16ca
VS
75622012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 Fix big-endian mtime.
7565
7566 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7567 together sec and usec.
7568 (grub_ufs_dir): Use correct byteswapping for UFS time.
7569
d9c48c7b
VS
75702012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 Support big-endian UFS1.
7573
7574 * Makefile.util.def (libgrubmods): Add ufs_be.c
7575 * grub-core/Makefile.core.def (ufs1_be): New module.
7576 * grub-core/fs/ufs_be.c: New file.
7577 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7578 the file.
7579
2f9f40ba
LL
75802012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7581
7582 * include/grub/types.h: Fix functionality unaffecting typo in
7583 GRUB_TARGET_WORDSIZE conditional macro.
7584
48ff0889
PFS
75852012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7586
7587 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7588
03711240
GS
75892012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7590
7591 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7592 that /netbsd appears first (when it exists).
7593
a31b11bd
CJ
75942012-10-12 Christoph Junghans <ottxor@gentoo.org>
7595
7596 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7597 Fixes Savannah bug #37558.
7598
e8a5d5d4
CW
75992012-10-12 Colin Watson <cjwatson@ubuntu.com>
7600
7601 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7602 description of extract_entries_configfile.
7603
76042012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7605
7606 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7607 preferred_address.
7608 (grub_cmd_linux): Likewise.
7609 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7610 preferred_lifetime. Update all users.
7611
288c757d
CW
76122012-09-26 Colin Watson <cjwatson@ubuntu.com>
7613
7614 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7615 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7616
0d35da3f
CW
76172012-09-26 Colin Watson <cjwatson@ubuntu.com>
7618
7619 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7620 errors from grub-probe to /dev/null, not stdout.
7621
b78c3127
VS
76222012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7625 sector 1.
7626
473959f0
CW
76272012-09-24 Colin Watson <cjwatson@ubuntu.com>
7628
7629 * util/grub-install.in: Make the error message if $source_dir
7630 doesn't exist more useful.
7631
794c8c33
CW
76322012-09-22 Colin Watson <cjwatson@ubuntu.com>
7633
7634 Fix grub-emu build on FreeBSD.
7635
7636 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7637 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7638 headers on Linux.
7639 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7640 implementation is currently Linux-specific.
7641 * util/getroot.c (exec_pipe): Define only on Linux or when either
7642 libzfs or libnvpair is unavailable.
7643 (find_root_devices_from_poolname): Remove unused path variable.
7644
86d08fdb
CW
76452012-09-19 Colin Watson <cjwatson@ubuntu.com>
7646
7647 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7648 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7649 should fit before end == 63.
7650
735abf54
CW
76512012-09-19 Colin Watson <cjwatson@ubuntu.com>
7652
7653 * util/grub-setup.c (write_rootdev): Remove unused core_img
7654 parameter. Update all callers.
7655 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7656 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7657 GRUB_SETUP_BIOS.
7658
140acd3c
VS
76592012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7662 (grub_add_tab): New function.
7663 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7664 * util/grub.d/10_illumos.in: Likewise.
7665 * util/grub.d/10_kfreebsd.in: Likewise.
7666 * util/grub.d/10_linux.in: Likewise.
7667 * util/grub.d/10_netbsd.in: Likewise.
7668 * util/grub.d/10_windows.in: Likewise.
7669 * util/grub.d/10_xnu.in: Likewise.
7670 * util/grub.d/20_linux_xen.in: Likewise.
7671 * util/grub.d/30_os-prober.in: Likewise.
7672
7ddffdad
VS
76732012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7676 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7677 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7678 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7679 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7680 ieee1275-nocursor.
7681 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7682 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7683
4e092454
VS
76842012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7687 le-conversion.
7688 Reported by: BURETTE, Bernard.
7689
735abf54 76902012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7691
7692 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7693 from comment.
7694
dfd39dbd
CW
76952012-09-14 Colin Watson <cjwatson@ubuntu.com>
7696
7697 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7698 IEEE1275 machines. Fixes powerpc-emu compilation.
7699 * include/grub/terminfo.h: Likewise.
7700
3bfa763c
VS
77012012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7704 a const pointer.
7705 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7706 const pointer.
7707 (efiemu_set_variable): Make vendor_guid a const pointer.
7708
250e475b
VS
77092012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 Don't require grub-mkconfig_lib to generate manpages for programs.
7712
7713 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7714 dependencies, don't add grub-mkconfig_lib.
7715 (program): Pass empty adddeps.
7716 (script): Pass grub-mkconfig_lib as adddeps.
7717
592fd0e4
VS
77182012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7721 * util/getroot.c (grub_find_device): Likewise.
7722 (get_mdadm_uuid): Likewise.
7723 (grub_util_is_imsm): Likewise.
7724 (grub_util_pull_device): Likewise.
7725 * util/grub-probe.c (probe): Likewise.
7726
801a3027
BG
77272012-09-10 Benoit Gschwind <gschwind>
7728
7729 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7730 (devs): Add devpath_8.
7731
c5052c81
PJ
77322012-09-08 Peter Jones <pjones@redhat.com>
7733
7734 * grub-core/Makefile.core.def (efifwsetup): New module.
7735 * grub-core/commands/efi/efifwsetup.c: New file.
7736 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7737 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7738 New define.
7739 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7740
8e832f71
JS
77412012-09-05 Jiri Slaby <jslaby@suse.cz>
7742
7743 * configure.ac: Add SuSe path.
7744
f0f55752
CW
77452012-09-05 Colin Watson <cjwatson@ubuntu.com>
7746
7747 * NEWS: Fix typo.
7748
ecadc4c2
CW
77492012-09-05 Colin Watson <cjwatson@ubuntu.com>
7750
7751 * util/import_gcry.py: Sort cipher_files, to make build system
7752 generation more deterministic.
7753
64498f25
VS
77542012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7757 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7758 (grub_set_datetime): Likewise.
7759
9cc836a2
VS
77602012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7763 warnings.
7764
bcfcea01
VS
77652012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7768
a4099485
VS
77692012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7772
265c162a
CW
77732012-09-04 Colin Watson <cjwatson@ubuntu.com>
7774
7775 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7776 required for checkouts from bzr, but it may be useful for users or
7777 distributors wishing to update translations against a tarball
7778 distribution, and it can be helpful for the tarball to be a superset
7779 of what's in bzr.
7780
3d171e95
CW
77812012-09-04 Colin Watson <cjwatson@ubuntu.com>
7782
7783 * Makefile.am (EXTRA_DIST): Add
7784 grub-core/tests/boot/linux.init-mips.S,
7785 grub-core/tests/boot/linux.init-ppc.S, and
7786 grub-core/tests/boot/linux-ppc.cfg.
7787
f2c2503e
CW
77882012-09-04 Colin Watson <cjwatson@ubuntu.com>
7789
7790 * grub-core/mmap/mips/loongson: Remove empty directory.
7791
77922012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7793
7794 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7795 gone.
7796
ab2163d5
CW
77972012-09-04 Colin Watson <cjwatson@ubuntu.com>
7798
7799 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7800 grub-sparc64-setup.
7801
ce938140
GS
78022012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7803
7804 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7805
529f58a5
GS
78062012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7807
7808 * po/POTFILES.in: Regenerated.
7809
16cf79e9
GS
78102012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7811
7812 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7813 (NetBSD): New subsection.
7814
39b27f1e 78152012-07-22 Ales Nesrsta <starous@volny.cz>
7816
7817 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7818 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7819
a885261b
VS
78202012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7823 * util/grub.d/10_hurd.in: Add missing quoting.
7824 * util/grub.d/10_illumos.in: Likewise.
7825 * util/grub.d/10_kfreebsd.in: Likewise.
7826 * util/grub.d/10_linux.in: Likewise.
7827 * util/grub.d/20_linux_xen.in: Likewise.
7828
7bd29c01
VS
78292012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 New command `lsefi'.
7832
7833 * grub-core/Makefile.core.def (lsefi): New module.
7834 * grub-core/commands/efi/lsefi.c: New file.
7835 * include/grub/efi/api.h: Add more GUIDs.
7836
ac625d8f
VS
78372012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7840 (grub_bsd_elf32_hook): Likewise.
7841 (grub_bsd_elf64_size_hook): Likewise.
7842 (grub_bsd_elf64_hook): Likewise.
7843 (grub_bsd_load_elf): Likewise.
7844
e73bb801
VS
78452012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7848 if hash function is unavailable.
7849 (dec_stream_header): Likewise.
7850
e81db8b5
VS
78512012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7854 filter state.
7855
d187a1c3
VS
78562012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 Fix coreboot compilation.
7859
7860 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7861 (grub_vga_text_init_real): ... this.
7862 (grub_vga_text_fini): Rename to ...
7863 (grub_vga_text_fini_real): ... this.
7864
91a05f64
VS
78652012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7868
6af96df7
VS
78692012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * grub-core/lib/legacy_parse.c: Support clear and testload.
7872
4d569e12
VS
78732012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7876
073b57bb
VS
78772012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7880
a706f4cc
VS
78812012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * grub-core/net/tftp.c (ack): Fix endianness problem.
7884 (tftp_receive): Likewise.
7885 Reported by: Michael Davidsaver.
7886
e7850aa9
VS
78872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7890
78912012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7894 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7895 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7896
35692881
VS
78972012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7900 efi_mmap_size.
7901 Reported by: Stuart Hayes.
7902
c35fc5bd
VS
79032012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7906
7907 * grub-core/Makefile.core.def (mda_text): New module.
7908 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7909 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7910 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7911 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7912 here.
7913 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7914 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7915 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7916 here.
7917 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7918 to ..
7919 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7920 ... here
7921 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7922 here.
7923 * grub-core/term/i386/vga_common.c: Removed.
7924 * include/grub/i386/vga_common.h: Likewise.
7925 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7926 (grub_vga_cr_bw_read): Likewise.
7927 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7928 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7929 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7930 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7931 grub_vga_cr_read/grub_vga_cr_write.
7932 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7933
5f91f701
VS
79342012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * configure.ac: Bump version to 2.00.
7937 * grub-core/normal/main.c (features): Add feature_200_final.
7938
0c4f85f6
VS
79392012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
79402012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7941
7942 * NEWS: Fix unclarity and language mistakes.
7943
f923ad22
VS
79442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7947 additional size to 3 pages.
7948 Reported by: Stuart Hayes.
7949
d22029ba
VS
79502012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * NEWS: Add 2.00 entry.
7953
58eee08f
VS
79542012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7957 put explicit "/" for empty path.
7958 (wildcard_expand): Improve dprintf.
7959
c59bdff7
VS
79602012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7963 it's equal to currnode. This can happen with "" symlink.
7964
5e6a440a
YB
79652012-06-27 Yves Blusseau <blusseau@zetam.org>
7966
7967 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7968 echo shell command by printf command.
7969
73a68bcb
VS
79702012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7973 the value returned by firmware is the maximal position, not diumension.
7974 (grub_terminfo_output_state): Use a more sane fallback.
7975
392a603b
VS
79762012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7979
42d0867f
VS
79802012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7983 frequency to 150 MHz.
7984
489509f4
VS
79852012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 Apple fixes.
7988
7989 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7990 __APPLE_
7991 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7992 definition.
7993 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7994
9f3fc883
VS
79952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 Handle slash in HFS label.
7998
7999 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8000 (grub_hfs_dir): Tanslate slash.
8001 (grub_hfs_label): Don't translate slash.
8002
54853fd7
VS
80032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8006 network protocol listing since it introduces problematic dependency on
8007 net module.
8008
4dc02ddf
VS
80092012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8012
c50c867d
VS
80132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 Init video early on yeeloong to avoid being rebooted by watchdog.
8016
8017 * grub-core/Makefile.am (gensm712): New target.
8018 (sm712_start.S): Likewise.
8019 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8020 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8021 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8022 description.
8023 * include/grub/vga.h: Move registry definitions to...
8024 * include/grub/vgaregs.h: ... here.
8025
5f92c8a1
VS
80262012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8029 signedness.
8030
e9e6f111
VS
80312012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8034 platforms with firmware disk drivers in the core.
8035
754ad9eb
VS
80362012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8039 informative verbose message.
8040 (read_lv): Handle 64-bit segment size.
8041
315654c2
VS
80422012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8045
fb022c79
VS
80462012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8049 character but still remove trainling spaces.
8050 (grub_fat_label): Ignore archive flag.
8051
8645f72c
VS
80522012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8055 cast between linux_kernel_header and linux_kernel_params.
8056
36498496
VS
80572012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8060 type for size.
8061 (grub_raid6_recover_func_t): Likewise.
8062 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8063 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8064
0b5ea6b8
VS
80652012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8068
650cfcfe
GS
80692012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8070
8071 Fix overflow.
8072
8073 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8074 [__NetBSD__]: Add explicit cast before bitshift.
8075
8a4d6a44
VS
80762012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * configure.ac: Bump to 2.00~rc1.
8079
2fb97ed3
VS
80802012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8083 half of $a0.
8084
1fa097dc
VS
80852012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
80862012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8087
8088 * docs/grub.texi: Fix search syntax.
8089 (Multi-boot manual config): Put msdos rather than GPT example.
8090 Grammar corrections.
8091
c890ba78
VS
80922012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8095
0f92dca7
VS
80962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8099
3988c4a0
VS
81002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8103 message on double free. Put the value of magic in case of mismatch.
8104
9e86d4c5
VS
81052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Speed-up video on yeeloong.
8108
8109 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8110 add cached_ptr.
8111 (grub_video_sm712_video_fini): Unmap cached_ptr.
8112 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8113 (grub_video_sm712_set_active_render_target): Removed.
8114 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8115 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8116 sync caches.
8117
ed24c312
VS
81182012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 Avoid flushing the same line multiple times on loongson.
8121
8122 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8123 Step in 32 bytes and not 1 byte.
8124 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8125 Likewise.
8126
d1718e7d
VS
81272012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8130 subvolumes.
8131
982f1909
VS
81322012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 Implement flow control for http.
8135
8136 * grub-core/net/http.c (parse_line): Handle response 206.
8137 (http_receive): Stall if too many packets are in the queue.
8138 (http_establish): Fix range header.
8139 (http_seek): Fix double free.
8140 (http_close): Likewise.
8141 (http_packets_pulled): New function.
8142 (grub_http_protocol): Set http_seek
8143 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8144 (ack_real): Set window depending on i_stall.
8145 (grub_net_send_tcp_packet): Likewise.
8146 (grub_net_tcp_stall): New function.
8147 (grub_net_tcp_unstall): Likewise.
8148 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8149 (grub_net_tcp_unstall): Likewise.
8150
bd407d6e
VS
81512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8154
c7564b8e
VS
81552012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8158
a3706162
VS
81592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * tests/util/grub-shell.in: Fix a typo.
8162
b27069e0
VS
81632012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 Implement flow control for tftp.
8166
8167 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8168 packets but stop only if stop condition is satisfied.
8169 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8170 `stall' instead of `eof' as stop condition.
8171 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8172 (http_err): Likewise.
8173 * grub-core/net/tftp.c (ack): Replace the first argument with data
8174 instead of socket.
8175 (tftp_receive): Stall if too many packets are in wait queue.
8176 (tftp_packets_pulled): New function.
8177 (grub_tftp_protocol): Set packets_pulled.
8178 * include/grub/net.h (grub_net_packets): New field count.
8179 (grub_net_put_packet): Increment count.
8180 (grub_net_remove_packet): Likewise.
8181 (grub_net_app_protocol): New field `packets_pulled'.
8182 (grub_net): New field `stall'.
8183
6b9cfac6
VS
81842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8187 sync part to handle them.
8188
f35abd81
VS
81892012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8192 * grub-core/net/drivers/ieee1275/ofnet.c
8193 (grub_ieee1275_net_config_real): Likewise.
8194
0e7ec820
VS
81952012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8198 the direct route for server/gateway.
8199
9d611a31
VS
82002012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8203 IP address to server name since we may not hame the DNS.
8204
418f45ab
VS
82052012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8208 freeing random buffer on failure.
8209 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8210
44a0efc1
VS
82112012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8214
531e2241
VS
82152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8218 reserved bytes.
8219 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8220 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8221 Handle malloc error correctly.
8222
cde393c9
VS
82232012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8226 blocks.
8227
538478d0
VS
82282012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8231 increment.
8232
9b55efe0
VS
82332012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8236 none is explicitly specified.
8237
9eb832c3
VS
82382012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8241 while reallocating.
8242
d6b7c7c9
VS
82432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 Respect netmask from bootp/dhcp.
8246
8247 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8248 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8249 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8250 into ...
8251 (grub_net_add_ipv4_local): ... this.
8252 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8253 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8254 (grub_net_add_ipv4_local): New proto.
8255
67caf9eb
VS
82562012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8259 determining EFI memory map size.
8260
43657558
VS
82612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8264
eb6d0dd3
VS
82652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8268 when looking for partition separator.
8269
31230544
VS
82702012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8273 Escape commas.
8274
918a2517
VS
82752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 Restructure FAT driver to avoid hook in label reading as it hits a
8278 GCC bug.
8279
8280 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8281 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8282 (grub_fat_iterate_dir): Split into ...
8283 (grub_fat_iterate_init): ... this, ...
8284 (grub_fat_iterate_fini): ... this, ...
8285 (grub_fat_iterate_dir_next): ... and this. All users updated.
8286
9f1d654e
VS
82872012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8290 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8291 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8292 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8293 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8294 New fields last_key and last_key_time.
8295 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8296 extended key-esc into extended key-extended key.
8297
52f0f643
VS
82982012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 Avoid unnecessary memcpy of whole video buffer.
8301
8302 * grub-core/video/fb/video_fb.c (dirty): New struct.
8303 (framebuffer): Add members current_dirty and previous_dirty.
8304 (dirty): New function.
8305 (grub_video_fb_fill_rect): Update dirty.
8306 (common_blitter): Likewise.
8307 (grub_video_fb_scroll): Likewise.
8308 (doublebuf_blit_update_screen): Copy only dirty part.
8309 (doublebuf_pageflipping_update_screen): Likewise.
8310 (grub_video_fb_doublebuf_blit_init): Init dirty.
8311 (doublebuf_pageflipping_init): Likewise.
8312 (grub_video_fb_setup): Likewise.
8313
e169a180
VS
83142012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8317 poll rate.
8318
48556879
VS
83192012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 Fix wildcard regexp dot and other special characters handling.
8322 Reported by: Robert Mabee.
8323
8324 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
8325 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
8326 (split_path): Trigger expansion on '?'.
8327 (unescape): New function.
8328 (wildcard_expand): Unescape parts copied without globbing.
8329 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
8330 (grub_script_arglist_to_argv): Don't unescape expansions.
8331
0494408e
VS
83322012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * include/grub/net.h (grub_net_card): New member txbufsize.
8335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8336 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8337 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8338 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8339 txbufsize.
8340 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8341 compatible property to check for macs. Set
8342 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8343 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8344 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8345 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8346 (send_card_buffer): Use txbuf.
8347 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8348 nested function out of the parent while on it.
8349
cc35fe8f
VS
83502012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8353 presence check.
8354 (grub_ieee1275_net_config_real): Fix config pointer.
8355
970a0a09
VS
83562012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8359 filename parsing to non-block devices.
8360
3e19bf87
VS
83612012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/kern/device.c (grub_device_open): Remove dead code.
8364
c62d1a0c
VS
83652012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
8368 All users updated.
8369
ef76bec3
VS
83702012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
8373 UUID search command even if hints probing failed.
8374
83752012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
8376
8377 * po/POTFILES.in: Regenerated.
8378
70aaf305
VS
83792012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 Speed-up video on fuloong.
8382
8383 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
8384 New function.
8385 (grub_pci_device_unmap_range): Handle non-cached address.
8386 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
8387 add direct_ptr.
8388 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
8389 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
8390 (grub_video_sis315pro_set_active_render_target): Removed.
8391 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
8392 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8393 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
8394 sync caches.
8395 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
8396 New proto.
8397
10400f0b
VS
83982012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * docs/grub.texi (Multi-boot manual config): New section.
8401
ba67e2c6
VS
84022012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 Avoid slow read-back from VRAM.
8405
8406 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8407 Move from here ...
8408 * grub-core/video/fb/video_fb.c
8409 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
8410 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
8411 (front_target): Remove front_target. Add pages.
8412 (grub_video_fb_init): Skip setting front_pages.
8413 (grub_video_fb_fini): Likewise.
8414 (doublebuf_blit_update_screen): Use pages.
8415 (grub_video_fb_doublebuf_blit_init): Likewise.
8416 (doublebuf_pageflipping_init): Allocate offscreen buffer.
8417 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
8418 (grub_video_fb_setup): Prefer doublebuffing.
8419
377c98cb
VS
84202012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
8423 gzio.
8424
eac49cff
VS
84252012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 Add loongson tests.
8428
8429 * tests/util/grub-shell.in: Handle loongson.
8430 * tests/partmap_test.in: Add loongson to the list of platform using ATA
8431 drivers.
8432 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
8433 Reboot instead of shutdown if REBOOT is defined.
8434
0321415e
VS
84352012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
8438 sized ports since unlike on real hardware qemu supports only 32-bit
8439 regs.
8440
3f2bdd8f
VS
84412012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * Makefile.util.def (grub-mkrescue): Enable on loongson.
8444 * util/grub-mkrescue.in: Handle loongson.
8445
29a049c9
VS
84462012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8449 Set is_part appropriately.
8450 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8451 names. Canonicalize partition without full disk.
8452
4abde346
VS
84532012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 Revert usb-quiesce since it's wrong.
8456
8457 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8458 (grub_ofdisk_init): Don't do quiesce.
8459
61f1d93b
VS
84602012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8463 PowerMac workaround to Xserves as well.
8464 Information supplied by: Benjamin Herrenschmidt.
8465
a09eb541
VS
84662012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 Don't assume that beginning address is also the entry point on ppc.
8469
8470 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8471 (grub_linux_boot): Use linux_entry.
8472 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8473 (grub_linux_load64): Likewise.
8474
505b3c9b
VS
84752012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8476
8477 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8478
cbe0b4ef
VS
84792012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8482 needlessly lose the console.
8483
3006e981
VS
84842012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8487 space.
8488
4e5a96b0
VS
84892012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8490
7da036bb
VS
8491 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8492 than current grub_get_rtc() not implemented when booted with
8493 coreboot without TSC.
8494
8495 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8496 Add machine/time.h to kernel headers on loongson.
8497 * grub-core/Makefile.core.def (kernel): Remove
8498 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8499 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8500 (grub_get_rtc): Likewise.
8501 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8502 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8503 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8504 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8505 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8506 rather than installing known non-working time source.
8507 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8508 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8509 * include/grub/time.h: Don't include machine/time.h.
8510 * include/grub/efi/time.h: Removed.
8511 * include/grub/i386/efi/time.h: Likewise.
8512 * include/grub/i386/ieee1275/time.h: Likewise.
8513 * include/grub/powerpc/ieee1275/time.h: Likewise.
8514 * include/grub/sparc64/ieee1275/time.h: Likewise.
8515 * include/grub/x86_64/efi/time.h: Likewise.
8516
85172012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
8520
8521 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8522 value.
8523 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8524 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8525 with dotless variants when any combining above is present.
8526
5561c22d
VS
85272012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8530 text and not binary.
8531
96f7e60e
VS
85322012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 Stop polling as soon as we have the packet we were waiting for.
8535
8536 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8537 All users updated.
8538 * grub-core/net/arp.c (have_pending): New var.
8539 (pending_req): Likewise.
8540 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8541 stop indicator.
8542 (grub_net_arp_receive): Set have_pending.
8543 * grub-core/net/dns.c (recv_data): New field stop.
8544 (recv_hook): Set stop.
8545 (grub_net_dns_lookup): Init stop and use as stop condition.
8546 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8547 condition.
8548 * grub-core/net/net.c (grub_net_poll_cards): New argument
8549 stop_condition. Stop when it goes true.
8550 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8551 indicator.
8552 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8553
3e747239
VS
85542012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 Keep TX and RX buffers on EFI rather than always allocate new ones.
8557
8558 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8559 card. All users updated.
8560 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8561 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8562 (get_card_packet): Likewise.
8563 (grub_efinet_findcards): Init new fields.
8564
f695e99a
VS
85652012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8568 compilation error on sparc64.
8569
9e5e66d1
VS
85702012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 Use ITC on IA64 rather than broken routine based on daytime.
8573
8574 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8575 ia64.
8576 (grub_get_rtc) [__ia64__]: Likewise.
8577 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8578 (get_itc): New function.
8579 (grub_rtc_get_time_ms): Likewise.
8580 (grub_machine_init): Calibrate ITC.
8581 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8582 Keep only on non-ia64. Don't export since it's broken and used only
8583 if TSC is unavailable.
8584
a1767404
VS
85852012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8588 even if it's used.
8589 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8590 Skip if parent is unused.
8591
34b2bced
VS
85922012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8595
5e619f40
VS
85962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 Fix wildcard escaping.
8599
8600 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8601 * grub-core/script/execute.c (wildcard_escape): .. to here.
8602 Don't escape dot.
8603 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8604 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8605 Don't escape dot.
8606 * grub-core/script/execute.c (gettext_append): Always escape.
8607 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8608 * grub-core/script/yylex.l: Don't cut away the escaping.
8609 * tests/grub_script_echo1.in: Add tests with wildcard.
8610
c8ca5855
VS
86112012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8614 (ftdi_hw_configure): Likewise.
8615 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8616 define.
8617 (real_config): Handle 1.5 stop bits.
8618 (pl2303_hw_configure): Likewise.
8619
7183452c
VS
86202012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * Makefile.am: Add ppc linux bootcheck.
8623 * grub-core/tests/boot/linux-ppc.cfg: New file.
8624 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8625
f57c84cd
VS
86262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * tests/grub_script_expansion.in: Skip network protocols.
8629
ecfc6207
VS
86302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8633
8d03d284
VS
86342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8637 --rom-directory.
8638 Add -graft-points.
8639
61c42af0
VS
86402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 ESCC serial driver for conducting sautomated tests in qemu.
8643 Not tested on real hardware.
8644
8645 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8646 * grub-core/term/ieee1275/escc.c: New file.
8647 * grub-core/Makefile.core.def (escc): New module.
8648
08fd1291
VS
86492012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8652 invalid on error.
8653 (serial_hw_fetch): Don't read invalid handle.
8654 (serial_hw_put): Don't write into invalid handle.
8655
08dafeea
VS
86562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 Add a 1.5 stop bits value.
8659
8660 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8661 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8662 GRUB_SERIAL_STOP_BITS_1_5.
8663
9068fdcf
VS
86642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8667 value rather than let it uninited.
8668
f4d5820f
VS
86692012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * grub-core/commands/wildcard.c (+check_file): New function.
8672 (wildcard_expand): Don't expand to non-existing files, expand with
8673 suffix and not attempt to expand if not needed.
8674
3d2de9a7
VS
86752012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8678 out of partitions containing other partitions.
8679
c5c81ff9
VS
86802012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8683 on some qemu versions with GRUB.
8684
8685 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8686 define.
8687 (grub_openbsd_bootarg_pcibios): New struct.
8688 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8689 Add PCIINFO.
8690
08a14e0b
VS
86912012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * tests/util/grub-shell.in: Trim firmware output on EFI.
8694
cede3ca3
VS
86952012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8698 and coreboot since it's already in kernel.
8699
558d3a60
VS
87002012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8703 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8704 to here. New return value start. All users updated.
8705 Recursively scan linear mappings.
8706 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8707 proto.
8708 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8709 Use grub_util_get_dm_node_linear_info.
8710 * util/getroot.c (convert_system_partition_to_system_disk): Use
8711 grub_util_info rather than grub_dprintf.
8712 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8713
60fde14d
VS
87142012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8717
8718 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8719 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8720
24bd8838
VS
87212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * include/grub/types.h (grub_set_unaligned64): New function.
8724 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8725 (setup): Likewise.
8726
7bc06a49
VS
87272012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8730 (grub_ofdisk_fini): Quiesce USB devices.
8731
49cea015
VS
87322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8735 caches.
8736
8dcbe03b
VS
87372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8740
5b258735
VS
87412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/disk/pata.c (grub_pata_pio_read)
8744 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8745 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8746
37ba07eb
VS
87472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 Extend automated tests to qemu-mips.
8750
8751 * Makefile.am: reorganise tests and enable qemu-mips.
8752 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8753 * grub-core/tests/boot/linux.init-mips.S: New file.
8754 * tests/partmap_test.in: Handle ata0 disks.
8755 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8756 non-pc i386.
8757
070038f8
VS
87582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8761 ia64.
8762 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8763 quotes while on it.
8764
004be2cd
VS
87652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8768 (grub_halt): Likewise.
8769 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8770
b1622487
VS
87712012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * grub-core/term/serial.c (grub_serial_register)
8774 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8775 the behaviour in line with x86 platforms.
8776
b7b4ab33
VS
87772012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8780 (grub_ata_strncpy): Likewise.
8781 (grub_ata_identify): Add missing byteswaps.
8782
5e3535ae
VS
87832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8786 byte-swap.
8787 (screen_read_char): Likewise.
8788 (grub_vga_text_cls): Likewise.
8789
c21b17e6
VS
87902012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8793 filenames.
8794 (make_file_path): Likewise.
8795
bf293dec
VS
87962012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8799 machines.
8800 Tested by: Paulo Flabiano Smorigo.
8801 Crucial information about API supplied by: Coleen <Last name unknown>.
8802 Reviewed by: Coleen <Last name unknown>.
8803
81f6ef0e
VS
88042012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * util/grub-mkimage.c: Disable -Wcast-align.
8807
7284143a
VS
88082012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8811 as they are fatal.
8812
b99f3e00
VS
88132012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8814
8815 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8816
944f752d
VS
88172012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * util/grub-probe.c (escape_of_path): Fix double free.
8820
6cce6f38
VS
88212012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/commands/videoinfo.c (hook): Show pitch.
8824
1e1eb50e
VS
88252012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8828
1c715b5a
VS
88292012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8832 (probe): Add ieee1275 to OFW devices.
8833
007ae52d
VS
88342012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8837
4557a36d
VS
88382012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 Handle IBM OFW path.
8841
8842 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8843 available.
8844 (of_path_of_scsi): Handle vdevice.
8845
efbeefe9
VS
88462012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8849 Allocate in multiples of 16 to avoid adding a few bytes free region the
8850 windows bugs upon.
8851
15a940bb
VS
88522012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8855 Allocate in multiples of 16 to avoid adding a few bytes free region the
8856 windows bugs upon.
8857 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8858
6e5efd60
VS
88592012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8862 resolutions.
8863 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8864 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8865
0d3d137e
IS
88662012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8867
8868 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8869
45dbe300
VS
88702012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8873 resulted in \\ at the end of the line.
8874
6d8db947
VS
88752012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8878 (grub_parser_cmdline_state): Likewise.
8879 (grub_parser_split_cmdline): Likewise.
8880
de89d338
VS
88812012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8884 /dev/root and /dev/dm-*.
8885
00d41dee
VS
88862012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8889 fix partially stale display.
8890
f95d1f11
VS
88912012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8894 substraction.
8895
6297e197
VS
88962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8899 Fix MBR remapping workaround.
8900 (grub_util_biosdisk_read) [__linux__]: Likewise.
8901
8a7ecad3
VS
89022012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8905
2b34f944
VS
89062012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * configure.ac: Bump to beta6.
8909
684aef11
CW
89102012-05-31 Christer Weinigel <christer@weinigel.se>
8911
8912 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8913
05b0bb91
VS
89142012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8917 (grub_cmd_linux): Likewise.
8918
bda36bfa
CW
89192012-05-31 Christer Weinigel <christer@weinigel.se>
8920
8921 Fix EHCI low-speed.
8922
8923 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8924 (GRUB_EHCI_MULT_TWO): Likewise.
8925 (GRUB_EHCI_MULT_THREE): Likewise.
8926 (GRUB_EHCI_CMASK_MASK): New enum value.
8927 (GRUB_EHCI_SMASK_MASK): Likewise.
8928 (GRUB_EHCI_CMASK_OFF): Likewise.
8929 (GRUB_EHCI_SMASK_OFF): Likewise.
8930 (grub_ehci_pci_iter): Enable periodic schedule.
8931 (grub_ehci_parse_notrun): Likewise.
8932 (grub_ehci_restore_hw): Likewise.
8933 (grub_ehci_setup_qh): Set flags for low speed transfers.
8934 (grub_ehci_find_qh): Use periodic list for low speed.
8935 (grub_ehci_setup_transfer): Check periodic queue as well.
8936 (grub_ehci_check_transfer): Likewise.
8937 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8938
e12bcb1c
PFS
89392012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8940
8941 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8942 parameter is used.
8943
bcc75fb3
PJ
89442012-05-31 Peter Jones <pjones@redhat.com>
8945
8946 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8947 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8948 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8949
f19cb95e
VS
89502012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8953 uninited variable. Allocate at least setup_sects.
8954
a4e5ca80
VS
89552012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 Fix handling of EFI with big memory maps.
8958
8959 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8960 (real_mode_mem): Likewise.
8961 (real_mode_target): Likewise.
8962 (real_mode_pages): Likewise.
8963 (prot_mode_pages): Likewise.
8964 (linux_params): New var.
8965 (linux_cmdline): Likewise.
8966 (free_pages): Don't set real mode variables.
8967 (allocate_pages): Don't allocate real mode memory.
8968 (grub_e820_add_region): Remove the limit.
8969 (grub_linux_boot): Allocate and copy real mode memory.
8970 (grub_linux_unload): Free linux_cmdline.
8971 (grub_cmd_linux): Use temporary storage for parameters.
8972 (grub_cmd_initrd): Likewise.
8973 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8974 (linux_kernel_params): Make it 1K big.
8975
ddb73558
VS
89762012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * Makefile.util.def: Remove -Wno-format.
8979 * grub-core/Makefile.core.def: Likewise.
8980
1c4afb60
VS
89812012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * tests/cmp_unit_test.c: Add missing failure message.
8984 * tests/example_unit_test.c: Likewise.
8985 * tests/printf_unit_test.c: Likewise.
8986
941e3a6d
VS
89872012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8990 relaxation of protective MBR requirements.
8991
b105df76
VS
89922012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * configure.ac: Add condition for COND_HOST_XNU.
8995 * Makefile.util.def (10_xnu): New script.
8996 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8997
84e1569e
VS
89982012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9001 objconv bug.
9002
130c0f77
VS
90032012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9006 Binary on other platforms stays identical.
9007
6fd0b143
VS
90082012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9011 Apple.
9012
0af1751d
VS
90132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9016
176d5f7d
VS
90172012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9020 rather than defining size_t ourselves to avoid conflict.
9021
7de5e20a
VS
90222012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9025 initialisation to avoid __bzero reference.
9026
f7143efe
VS
90272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9030 version.
9031 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9032 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9033 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9034 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9035 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9036
e6ad0555
VS
90372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9040 * grub-core/kern/misc.c: Likewise.
9041 * grub-core/loader/i386/xnu.c: Likewise.
9042 * include/grub/i386/tsc.h: Likewise.
9043 * include/grub/symbol.h: Likewise.
9044
4a5a3c4a
VS
90452012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9048 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9049 on older compiler.
9050
037f6d90
VS
90512012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9054 Implement Apple flavour.
9055 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9056
f7194551
VS
90572012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9060 (memmove) [__APPLE__]: Likewise.
9061 (memcpy) [__APPLE__]: Likewise.
9062 (memset) [__APPLE__]: Likewise.
9063 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9064 (memmove) [__APPLE__]: Likewise.
9065 (memcpy) [__APPLE__]: Likewise.
9066 (memset) [__APPLE__]: Likewise.
9067
85a730ca
VS
90682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9071 dependency discard.
9072
40e80b94
VS
90732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * grub-core/normal/main.c (read_config_file): Provide config_file and
9076 config_directory.
9077 * util/grub.d/41_custom.in: Use config_directoy when available.
9078
9da59c32
VS
90792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9082 (grub_bfs_dir): Likewise.
9083
2787ae53
PJ
90842012-05-27 Peter Jones <pjones@redhat.com>
9085
9086 The old code gives arguments to a printf function which can't work
9087 correctly, and the compiler complains.
9088
9089 * grub-core/tests/example_functional_test.c (example_test): Add
9090 missing text.
9091 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9092 * include/grub/test.h (grub_test_assert_helper): New declaration.
9093 (grub_test_assert): Use grub_test_assert_helper.
9094
526ef13d
VS
90952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9098 (exfctest): ... this to avoid overlong filenames.
9099 All users updated.
9100
20dd511c
VS
91012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 Handle "." and ".." on squashfs.
9104
9105 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9106 Make inode numbers into stack.
9107 (grub_squash_read_symlink): Use stack.
9108 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9109 (make_root_node): Fill stack.
9110 (grub_squash_open): Use stack.
9111
1d80c62a
VS
91122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9115 freeing.
9116
d336f652
VS
91172012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9120 stderr on test calls.
9121
8b43f587
VS
91222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9125
80a3dc3f
VS
91262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9129
47e297d4
VS
91302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9133 "..".
9134
df042ccb
VS
91352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9138 (grub_hfsplus_iterate_dir): Add "." and "..".
9139
fc977f48
VS
91402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9143 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9144
f3250e5f
VS
91452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9148 (find_path): Handle "." and "..".
9149
fd8ed4c5
VS
91502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9153 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9154 (grub_affs_iterate_dir): Handle hardlinks.
9155
4ce776d2
MG
91562012-05-26 Matthew Garrett <mjg@redhat.com>
9157
9158 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9159 (grub_efi_console_fini): Likewise.
9160 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9161 (grub_video_gop_fill_mode_info): Rename to ...
9162 (grub_video_gop_fill_real_mode_info): ... this.
9163 (grub_video_gop_fill_mode_info): New function.
9164 (grub_video_gop_setup): Setup double framebuffer.
9165 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9166 Free offscreen.
9167 (grub_video_gop_swap_buffers): Copy framebuffer.
9168 (grub_video_gop_fini): Free offscreen buffer.
9169 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9170 New enum.
9171 (grub_efi_gop_blt_pixel): New struct.
9172
683031ba
VS
91732012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * gentpl.py: Remove error disabling for objconv.
9176
c2deb798
VS
91772012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * configure.ac: Remove -Wunitialized as it's not available on older
9180 compilers.
9181
91822012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
9183
9184 Fix extent overflow comparator.
9185
9186 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9187 (grub_hfsplus_read_block): Set type.
9188 (grub_hfsplus_cmp_extkey): Compare type.
9189
d6b1fd36
VS
91902012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9193
0a9aa0f6
VS
91942012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9197 than 0.
9198
8360e159
VS
91992012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9202 (dejavu_bold_14.pf2): New target.
9203
501b9e4b
VS
92042012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * configure.ac: Fix djvu font detection.
9207
7026b0e2
VS
92082012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9211 ext* instead of ext2.
9212
c2a51ade
VS
92132012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9216 name with \0.
9217
8f803a5d
JU
92182012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9219
9220 * docs/grub-dev.texi: Remove dot from .png.
9221
13c6353f
VS
92222012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9225 protective entry in any slot.
9226 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9227 if protective entry is found in any slot.
9228
9229 Protective entry in non-first slot make no sense but is a widespread
9230 brain damage.
9231
4cf6be1b
VS
92322012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9235
937d1c44
VS
92362012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9239 with old reiserfs.
9240 (grub_reiserfs_open): Don't free root.
9241
021d90ec
VS
92422012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9245 after freeing for safety.
9246
967b2b64
VS
92472012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9250 Reported by: Jordan Uggla.
9251
34274d02
JU
92522012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9253
967b2b64
VS
9254 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9255 actual implementation. Specifically, clarify that the grub menu will
9256 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9257 passed.
34274d02 9258
dcaaae9d
BH
92592012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9260
9261 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9262 of r0.
9263
7086ad52
VS
92642012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 Remove unjustified hard dependency of normal.mod on gfxterm.
9267
9268 * include/grub/term.h (grub_term_output): New member fullscreen.
9269 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9270 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9271 (grub_gfxterm): Set .fullscreen.
9272 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9273 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9274
37ed2c9b
VS
92752012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9278 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 9279 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 9280
a4469c88
VS
92812012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9284
4e461486
VS
92852012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9288 a bad FS.
9289
aa78f5c4
VS
92902012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9293 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9294
197626b5
VS
92952012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9298 (grub_jfs_mount): Fill caseins.
9299 (grub_jfs_find_file): Respect caseins.
9300
8ad3f28c
VS
93012012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9304 through UTF-16.
9305
0c6c324e
VS
93062012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9309 New argument origpath. All users updated.
9310
c6666ba6
VS
93112012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9314 (read_attr): Ensure that we read start of possibly compressed block.
9315
e28e5fe5
VS
93162012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9319 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9320 All users updated.
9321
5fc23ab2
VS
93222012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
9325 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
9326 (dejavu.pf2): Replace with ...
9327 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
9328 this.
9329
79dbc21c
VS
93302012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * util/grub.d/20_linux_xen.in: Add missing line.
9333
d2fcfb0c
VS
93342012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9337 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9338 (grub_utf16_to_utf8): Likewise.
9339
5560e9d6
VS
93402012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9341
9342 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9343 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9344 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9345 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9346 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9347 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9348
93492012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
9350
9351 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9352 a bad FS.
9353
5560e9d6 93542012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
9355
9356 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9357 (grub_udf_read_symlink): Handle read_string failure.
9358
5eae3175
VS
93592012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
9362 comment.
9363
c1ad82db
VS
93642012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 Fix handling of UDF symlinks.
9367
9368 * grub-core/fs/udf.c (read_string): New argument outbuf.
9369 All users updated.
9370 (grub_ufs_read_symlink): Rename to ...
9371 (grub_udf_read_symlink): ... this. All users updated.
9372 Handle symlinks with more than one component.
9373
33eca6e0
VS
93742012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
9377 symlinks. Replace leading colon with a slash.
9378
57f4a70b
VS
93792012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
9382 filename.
9383
38c8ee20
VS
93842012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
9387 match in inner node.
9388
2e57f28f
VS
93892012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
9392 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
9393 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
9394 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
9395 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
9396 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
9397 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
9398 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
9399 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
9400
fe8c2f11
VS
94012012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 Use grub-probe and not cmp to check that disk is empty.
9404
9405 * util/grub-install.in: Use grub-probe for zero-check.
9406 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
9407 (probe): Handle PRINT_ZERO_CHECK.
9408 (argp_parser): Handle -t zero_check.
9409
94102012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
9411
9412 Flush block cache on adding disk to device map.
9413
9414 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
9415 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
9416 adding.
9417 (read_device_map): Likewise.
9418 (open_device): Flush on opening.
9419
690434e8
VS
94202012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
9423 (handle_symlink): Fix off-by-one error.
9424 Canonicalize the target.
9425 (grub_cpio_dir): Canonicalize the name.
9426 Fix memory leak.
9427 Set directory.
9428 (grub_cpio_open): Canonicalize the name.
9429
742d2be6
VS
94302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
9433 handling.
9434
3244fe96
VS
94352012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
9438 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
9439
8aeb1837
VS
94402012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
9443 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 9444 All users updated.
8aeb1837 9445
9133fd05
VS
94462012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9449 counterpart.
9450
6d521c5b
VS
94512012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 Fix UFS1 big file support.
9454
9455 * grub-core/fs/ufs.c (INODE): Removed.
9456 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9457 64-bit.
9458 (INODE_MODE): Simplify.
9459 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9460 (grub_ufs_lookup_symlink): Don't use INODE.
9461
21b82e17
VS
94622012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9465
9466 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9467 (grub_minix_data): Replace log_block_size with block_size.
9468 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9469 (grub_minix_mount): Fill block_size.
9470
94712012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
9472
9473 * configure.ac: Bump to beta5.
9474
f417ed04
VS
94752012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 Fix wrapped HFS+ handling.
9478
9479 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9480 blocks_start. All users updated.
9481 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9482 wrapping offset.
9483 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9484
607d282b
VS
94852012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 Fix long symlinks on reiserfs.
9488
9489 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9490 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9491 (grub_reiserfs_iterate_dir): Save size for non-directories.
9492 (grub_reiserfs_open): Don't reread stat block as we already know the
9493 size.
9494 (grub_reiserfs_read): Split into...
9495 (grub_reiserfs_read_real): ... and ...
9496 (grub_reiserfs_read): ...this.
9497
ae16024d
VS
94982012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 Fix non-indexed JFS.
9501
9502 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9503 (grub_jfs_data): New field namecomponentlen.
9504 (grub_jfs_mount): Fill namecomponentlen.
9505 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9506
eea1e26e
VS
95072012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9510 * tests/grub_script_echo1.in: Add tests.
9511
df760f77
VS
95122012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * util/grub-install.in: Ignore empty devicetree directory.
9515
5efb817d
B
95162012-05-08 Bean <bean123ch@gmail.com>
9517
9518 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9519 All users updated.
9520 (free_rsm): Free header as well.
9521 (free_old_fragments): Fix memory leak.
9522 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9523 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9524 (destroy_pq): Likewise.
9525 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9526
668ea6d2
VS
95272012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9530 resulting hash as a precaution.
9531
1739b1fe
VS
95322012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9535 '_' in variable names.
9536 * grub-core/net/net.c (grub_net_network_level_interface_register):
9537 Likewise.
9538
6ae485aa
VS
95392012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 Fix AFFS with non-512B blocks.
9542
9543 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9544 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9545 (grub_affs_data): Replace blocksize with log_blocksize.
9546 (grub_affs_read_block): Fix non-512B blocks.
9547 (grub_affs_read_symlink): Likewise.
9548 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9549 (grub_affs_read): Fix non-512B blocks.
9550 (grub_affs_label): Likewise.
9551 (grub_affs_mtime): Likewise.
9552 (grub_affs_mount): Fix block detection routine.
9553
d20fab84
VS
95542012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 Add filesystem mtime to AFFS.
9557
9558 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9559 (aftime2ctime): New function.
9560 (grub_affs_dir): Use aftime2ctime.
9561 (grub_affs_label): Fix return value.
9562 (grub_affs_mtime): New function.
9563 (grub_affs_fs): Add mtime.
9564
e87b10f5
VS
95652012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9568 UTF-8.
9569
7dceec9b
VS
95702012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9573 UTF-8.
9574
2f48221f
VS
95752012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9578
dacd85cf
VS
95792012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9582 flags.
9583 (FLAGS_CASE_SENSITIVE): New enum value.
9584 (cache_entry): New struct.
9585 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9586 cache_size and cache.
9587 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9588 Add log_blocksize and fshelp_flags.
9589 (grub_sfs_read_extent): Handle non-512 blocks.
9590 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9591 (grub_sfs_read_file): Handle non-512 blocks.
9592 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9593 fshelp_flags.
9594 (grub_sfs_read_symlink): Handle non-512 blocks.
9595 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9596 (grub_sfs_dir): Free cache.
9597 (grub_sfs_close): Likewise.
9598
24e9a854
VS
95992012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9602 filesystems.
9603
62ace64d
VS
96042012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9607
83b2e89c
VS
96082012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9611
75ccaea3
VS
96122012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9615 (grub_sfs_read_extent): Likewise.
9616 (grub_sfs_read_block): Likewise.
9617 (grub_sfs_mount): Likewise.
9618 (grub_sfs_iterate_dir): Likewise.
9619 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9620 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9621
1b8463f2
VS
96222012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 Fix errors on compressed NTFS with 512B clusters.
9625
9626 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9627 types.
9628 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9629 not 0.
9630 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9631 Relax check for inline extents.
9632 (ntfscomp): Return correct -1 on error and not 0.
9633
4f8e368f
VS
96342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * util/grub-install.in: Fix handling of prefix containing spaces.
9637
6f5d5ee8
VS
96382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9641 (grub_squash_read_data): Fix offset byte-swapping.
9642
ce41ab7a
VS
96432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9646 per common usage and preffered in several parts of code.
9647 (grub_memcmp): Likewise.
9648 (grub_strncmp): Likewise.
9649 * include/grub/misc.h (grub_strcasecmp): Likewise.
9650 (grub_strncasecmp): Likewise.
9651 * Makefile.util.def (cmp_test): New test.
9652 (grub_script_strcmp): Likewise.
9653 * tests/cmp_unit_test.c: New file.
9654 * tests/grub_script_strcmp.in: Likewise.
9655 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9656
49717bf4
VS
96572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * include/grub/pci.h: Move enums into no-asm part.
9660
0a308f64
VS
96612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9664
1796965f
ST
96652012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9666
9667 * util/getroot.c (find_hurd_root_device): Try to make error message
9668 and comments to translators clearer.
9669
4e9b2819
VS
96702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9673
076aeb50
VS
96742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9677 btrfs.
9678
19424d94
VS
96792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * docs/grub.cfg: Update.
9682
ebb73076
VS
96832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * docs/grub.texi (PXE): Remove not present variables.
9686
9a1b669c
VS
96872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/net/net.c (defserver_set_env): New function.
9690 (defserver_get_env): Likewise.
9691 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9692
d38bf7d3
VS
96932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9696 entries.
9697
96982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9699
9700 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9701 * grub-core/kern/emu/hostdisk.c: Likewise.
9702
e5e4ca48
ST
97032012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9704
9705 Handle hurd userspace partitions.
9706
9707 * util/getroot.c (find_hurd_root_device): New function.
9708 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9709
56bb5dd5
VS
97102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9711
9712 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9713 names.
9714 Reported by: Bastian Blank.
9715
9e8bc27a
VS
97162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9719 crossing page boundary.
9720
aa01499d
VS
97212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 Fix B-tree search in BFS, especially in presence of non-ASCII
9724 characters.
9725
9726 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9727 (find_in_b_tree): Use standard bsearch + btree algorithm.
9728
57006035
VS
97292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9732 and so on.
9733
9d34bb85
MG
97342012-05-03 Matthew Garrett <mjg@redhat.com>
97352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 Suspend broadcom cards in order to stop their DMA.
9738
9739 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9740 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9741 (pci): Don't build on x86 EFI.
9742 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9743 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9744 New function.
9745 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9746 stop_broadcom if running on EFI.
9747 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9748 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9749 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9750 (grub_pci_find_capability): New proto.
9751
01aab997
VS
97522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 * docs/grub.texi: Remove dot from the extension as it apparently
9755 doesn't work with some makeinfo versions.
9756
fbd8dca6
VS
97572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9760 with GRUB expectance.
9761
dab797f4
VS
97622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9765
1516bfb4
VS
97662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9769 zero after directory block since last entry may be not 0-terminated if
9770 it ends on block boundary. Use continue instead of if spanning whole
9771 loop.
9772
a3a0eace
VS
97732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 Support 4K sectors UDF inline files.
9776
9777 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9778 (grub_udf_extended_file_entry): Likewise.
9779 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9780 All users updated.
9781 (get_fshelp_size): New function.
9782 (grub_udf_read_icb): Read whole block.
9783 (grub_udf_iterate_dir): Likewise.
9784 (grub_udf_dir): Likewise.
9785 (grub_udf_open): Likewise.
9786
c82f16c1
VS
97872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9790
59fd2aac
VS
97912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9792
9793 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9794 inline symlinks in addition to workaround.
9795
3b4afb4d
VS
97962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9799
f45c794a
VS
98002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9803
f25cecbd
VS
98042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9807
bb9a34e8
VS
98082012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 Fix reiserfs big seek times.
9811
9812 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9813 exact. All users updated.
9814 (grub_reiserfs_read): Use nearest btree search for seeking.
9815 Fix return value on error.
9816
dc478aea
VS
98172012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9820 entries.
9821 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9822 * docs/grub.texi: Update menuentry description.
9823
8db10f47
VS
98242012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9827 crash when embedding onto filesystem.
9828
bcb288ed
VS
98292012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9832 name.
9833
a626fdd7
VS
98342012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9837
b2f68477
VS
98382012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9841 commit.
9842
ba15b2af
B
98432012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
98442012-05-01 Bean <bean123ch@gmail.com>
9845
9846 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9847
a188012e
VS
98482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9851 Special behaviour for len = 0 to read whole file isn't used anywhere and
9852 can cause buffer ovewrflows in several places.
9853
f0a53ed2
VS
98542012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9857
5ed554f0
VS
98582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 Handle RAIDZ on non-512B sectors.
9861
9862 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9863 max_children_ashift.
9864 (fill_vdev_info_real): Fill max_children_ashift.
9865 (read_device): Use max_children_ashift.
9866
ddc58357
VS
98672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9870
e3282399
VS
98712012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9874 disk names.
9875 * docs/grub.texi: Update device.map parts.
9876
ee618bd4
VS
98772012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 Don't scan into non-diskfilter devices having diskfilter names.
9880
9881 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9882 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9883 handling.
9884 (scan_disk_hook): New function.
9885
bdf88864
B
98862012-04-29 Bean <bean123ch@gmail.com>
9887
9888 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9889 allocation.
9890
32745f51
MK
98912012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9892
9893 * configure.ac: Detect starfield theme font path
9894 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9895
bc95c8c0
VS
98962012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9899 geometry on serial consoles.
9900
147fbcab
VS
99012012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9904 because of network consoles.
9905
0f42c889
VS
99062012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9909 handling.
9910
4a3594c9
VS
99112012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9914 falls on Q syndrom.
9915
5cb53879
VS
99162012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9919 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9920
b282dfe5
VS
99212012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9924 Allocate at lest 8192 for temporary buffer as required for lzo.
9925
daa59f47
VS
99262012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9929 to cluster_bits, since it's already added in.
9930 (grub_fat_read_data): Likewise.
9931
986748ce
VS
99322012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9935 as long as cluster size is multiple of 512 bytes.
9936
a20f6ad0
VS
99372012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * util/grub-mkrescue.in: Fix locale directory.
9940
385f9abb
VS
99412012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/kern/emu/hostdisk.c (map): Make static.
9944
1c557d30
B
99452012-04-23 Bean <bean123ch@gmail.com>
9946
9947 * util/grub-fstest.c (fstest): Add missing break.
9948
524b5d3a
ST
99492012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9950
9951 Fix hurd build.
9952
9953 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9954 not define nr variable.
fe4824e9 9955 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9956 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9957 grub_find_device): Do not define.
524b5d3a 9958
9a06490c
VS
99592012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 Fix kfreebsd compile and behaviour.
9962
9963 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9964 format-security.
9965 * util/getroot.c: Fix wait.h include.
9966 (grub_guess_root_devices): Error if grub_find_device fails.
9967 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9968 (grub_util_get_dev_abstraction): Likewise.
9969 (grub_util_pull_device): Likewise.
9970 (grub_util_get_grub_dev): Likewise.
9971 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9972
48143d96
VS
99732012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 Fix and unify wholedisk detection.
9976
9977 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9978 is_part. All users updated.
9979 (device_is_wholedisk): Removed.
9980 (grub_util_biosdisk_get_grub_dev): Use is_part.
9981
ebbd24f3
VS
99822012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9985 mode.
9986
56f7aa1e
VS
99872012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * configure.ac: Bump to beta4.
9990
9c815e01
VS
99912012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9994 --fs-uuid --set UUID syntax.
9995
59e2651a
VS
99962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9999 disunification.
10000
54e03cfc
VS
100012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10004
81092a75
MK
100052012-04-18 Mads Kiilerich <mads@kiilerich.com>
10006
10007 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10008
f8315e14
MG
100092012-04-18 Mike Gilbert <floppym@gentoo.org>
10010
10011 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10012
1501ac21
B
100132012-04-18 Bean <bean123ch@gmail.com>
10014
10015 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10016 place.
10017
cb7f944e
VS
100182012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10021 users updated.
10022 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10023 corresponding to GRUB partitions.
10024 (grub_util_biosdisk_write): Likewise.
10025
b72d44a1
VS
100262012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 Scan mdraid before LVM.
10029
10030 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10031 (grub_diskfilter_register_front): ... this.
10032 (grub_diskfilter_register_back): New function.
10033 All users of grub_diskfilter_register updated.
10034
33d918b8
VS
100352012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * util/grub-install.in: Fix an automatic target detection bug.
10038
c6ca973d
VS
100392012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * util/grub-install.in: New option --efi-directory.
10042
b41be562
VS
100432012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10046 boot services if we have no other choice.
10047
100482012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10051 document it.
10052 * tests/util/grub-shell.in: Update to --directory.
10053
e0595a73
VS
100542012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10057
4ed80652
VS
100582012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10061 (grub_minix_read_file): Likewise.
10062 (grub_minix_read_inode): Likewise.
10063 (grub_minix_find_file): Likewise.
10064 (grub_minix_dir): Likewise.
10065
56008077
VS
100662012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * util/grub-setup.c (setup): Fix partition handling and blocklist
10069 check.
10070
ee520775
VS
100712012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10074 redundant buggy overlap check.
10075
16fc9293
VS
100762012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10079 and grub-mknetdir.
10080
9bab65c4
VS
100812012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10084 kh.loadflags on pre-2.00 kernels.
10085
3c491b47
VS
100862012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 Terminate UNDI and PXE before launching the payload to avoid problems
10089 with DMA.
10090
10091 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10092 (grub_loader_flags): ... this. All users updated.
10093 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10094 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10095 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10096 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10097 function.
10098 (grub_pxe_restore): Likewise.
10099 (fini_hnd): New var.
10100 (GRUB_MOD_INIT): Register shutdown hook.
10101 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10102 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10103 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10104 (grub_loader_set): Rename second argument to flags.
10105
851ffada
VS
101062012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10109 written bytes.
10110 (grub_get_num_of_utf8_bytes): New function.
10111 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10112 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10113 executing it.
10114 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10115 (grub_ucs4_to_utf8): Change return type.
10116
491c57a8
VS
101172012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10120 warning.
851ffada
VS
10121 * grub-core/fs/bfs.c (hop_level): Likewise.
10122 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 10123
756773df
VS
101242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/lib/adler32.c: Recode due to license unclearness.
10127
fd556a96
VS
101282012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10131 (test_header): Likewise.
10132
9f9d3f69
VS
101332012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 Fix --help formatting.
10136
10137 * util/grub-mkconfig_lib.in (print_option_help): New function.
10138 (grub_fmt): Likewise.
10139 * util/grub-install.in: Use print_option_help and grub_fmt.
10140 * util/grub-kbdcomp.in: Likewise.
10141 * util/grub-mkconfig.in: Likewise.
10142 * util/grub-mknetdir.in: Likewise.
10143 * util/grub-mkrescue.in: Likewise.
10144 * util/grub-mkstandalone.in: Likewise.
10145 * util/grub-reboot.in: Likewise.
10146 * util/grub-set-default.in: Likewise.
10147 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10148
561ec77e
VS
101492012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * linguas.sh: Remove autogenerated *.po.
10152
7ec2b021
VS
101532012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * po/README: Move language fetcing to ...
10156 * linguas.sh: ... here.
10157 * po/README: Point to linguas.sh.
10158
a88f3270
VS
101592012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * po/README: Exclude ko.po due to disclaimer problems.
10162
d61357ce
VS
101632012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10166 len = 0.
10167 (grub_gettext_translate_real): Handle 0th string.
10168 (grub_gettext_translate): Ensure that "" isn't translated.
10169
505e41dc
VS
101702012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10173 TRANSLATORS comment.
10174 (grub_diskfilter_print_partmap): Propagate changing of error into
10175 warning.
10176
e44092db
VS
101772012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10180 to uint64_t to prevent overflow.
10181 (grub_diskfilter_lv): Increase start_extent and extent_count
10182 to uint64_t to prevent overflow.
10183
9b83956a
VS
101842012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 * configure.ac: Increase version.
10187
da0d5b3f
VS
101882012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10191
10192 * po/Rules-translit: New file.
10193 * po/arabic.sed: Likewise.
10194 * po/cyrillic.sed: Likewise.
10195 * po/greek.sed: Likewise.
10196 * po/hebrew.sed: Likewise.
10197 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10198 * po/Makefile.in.in: Add extra_dist4.
10199
ac66b453
VS
102002012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10203
10204 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10205 modify names. Introduce MODE_BIGENDIAN.
10206 * grub-core/fs/minix_be.c: New file.
10207 * grub-core/fs/minix2_be.c: Likewise
10208 * grub-core/fs/minix3_be.c: Likewise.
10209 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10210 minix3_be.
10211 * grub-core/Makefile.core.def (minix_be): New module.
10212 (minix2_be): Likewise.
10213 (minix3_be): Likewise.
10214
102152012-04-01 Felix <email@hamburg.de>
10216
10217 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10218 (devs): Add MBP 2011.
10219
0a2d5a82
VS
102202012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10223
d1625889
VS
102242012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/normal/cmdline.c (print_completion): New field
10227 prompt_len.
10228 (grub_cmdline_get): Handle width properly.
10229
6d36a236
VS
102302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10233
9576977e
VS
102342012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 10237 after 29th of February.
9576977e 10238
d73ff15d
VS
102392012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 Fix exfat endianness handling.
10242
10243 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10244 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10245 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10246 Byte-swap utf16 when necessary.
10247 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10248
bbb39a45
AB
102492012-03-31 Anton Blanchard <anton@samba.org>
102502012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 Fix btrfs endianness handling.
10253
10254 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10255 (lower_bound): Make root uint64_t. Use root in le.
10256 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10257 (find_path): Fix template key init.
10258 (grub_btrfs_dir): Fix mtime byteswap.
10259 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10260
354e0af7
VS
102612012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10264 recursion_depth. Break infinite resursions. All users updated.
10265
4e75f21c
VS
102662012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10269 after free.
10270 Reported by: Peter Jones.
10271
25581802
AB
102722012-03-31 Anton Blanchard <anton@samba.org>
10273
10274 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
10275 8 bit values.
10276
08fbf92e
VS
102772012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * util/grub-install.in: Fix nvram call for PreP.
10280
5d1182a6
VS
102812012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10284 the error when some elements are missing into a warning.
10285
3f8cdd90
VS
102862012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10289
51006716
CW
102902012-03-28 Colin Watson <cjwatson@ubuntu.com>
10291
10292 * docs/grub.texi (Invoking grub-probe): New section.
10293 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10294
e1bd676b
VS
102952012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 Fix tab and wide character handling in editor and menu.
10298
10299 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10300 agglomerate control characters with combining marks.
10301 (bidi_line_wrap): Allow break on tab.
10302 (grub_unicode_get_comb_start): New function.
10303 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10304 and tab correctly.
10305 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10306 with a space.
10307 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10308 fixed_tab_size. All users updated.
10309 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10310 (grub_term_getcharwidth): Handle \t.
10311 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10312 and copy.
10313
22e6a774
VS
103142012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 Handle big-endian mdraid.
10317
10318 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10319 * grub-core/Makefile.core.def (mdraid09_be): New module.
10320 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10321 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10322 * grub-core/disk/mdraid_linux_be.c: New file.
10323
3c0eae66
VS
103242012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
10327
b6cf74c9
VS
103282012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10331 missing quotes which caused confusion among translators.
10332
83c93b9c
VS
103332012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * util/grub-mkconfig_lib.in: Fix typo.
10336
ac6fd218
VS
103372012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10340 spaces.
10341 * tests/grub_script_leading_whitespace.in: New file.
10342 * Makefile.util.def (grub_script_leading_whitespace): New test.
10343
ba287dd8
VS
103442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10347 to work.
10348
d2d58d0a
VS
103492012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10352 starts with control character.
10353
0382d9bb
VS
103542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10357 overflow.
10358 (grub_gdb_outbuf): Likewise.
10359
d83ff9f9
VS
103602012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
10363 zero terminator. Fixes a crash.
10364
2282da4a
VS
103652012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
10368 beyond 4 GiB.
10369 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
10370 images independently of preffered adderss field.
10371
0ae4f0bd
VS
103722012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
10375 * grub-core/commands/regexp.c: Likewise.
10376 * grub-core/loader/i386/linux.c: Likewise.
10377 * grub-core/partmap/msdos.c: Likewise.
10378 * grub-core/script/execute.c: Likewise.
10379 * grub-core/term/gfxterm.c: Likewise.
10380
546fbe9b
VS
103812012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 Add variable parsing in $"..." and fix several mismatches with bash.
10384
10385 * Makefile.util.def (grub_script_gettext): New test.
10386 * grub-core/script/execute.c (parse_string): New function.
10387 (gettext_append): Likewise.
10388 (grub_script_arglist_to_argv): Use gettext_append.
10389 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
10390 * tests/grub_script_gettext.in: New file.
10391
9fdb2d7b
VS
103922012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 Fix handling of leading spaces in scripts.
10395
10396 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
10397 spaces.
10398 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
10399 other than skipping \r. All users updated.
10400 * tests/grub_script_echo1.in: Add space-related tests.
10401 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
10402
1a1ac4f6
VS
104032012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
10406
b63d89b6
VS
104072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * configure.ac: Bump up the version to beta2.
10410
17f38c0f
VS
104112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 Fix gettext reload bugs (e.g. inability to disable gettext
10414 once enabled).
10415
10416 * grub-core/gettext/gettext.c: Encapsulate all static variables in
10417 main_context and secondary_context. All functions updated.
10418 (grub_gettext_translate): Rename to ...
10419 (grub_gettext_translate_real): ... this. Return NULL on failed
10420 translate.
10421 (grub_gettext_translate): Handle secondary context.
10422 (grub_gettext_delete_list): Close file and zero-out the context.
10423 (grub_mofile_open): Don't call grub_gettext_delete_list.
10424 Don't close file.
10425 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
10426 if locale="" to avoid pointless error message.
10427 (grub_gettext_env_write_lang): Update lang even if load fails.
10428 Handle secondary context.
10429 (grub_gettext_reread_prefix): New function.
10430 (read_main): Likewise.
10431 (read_secondary): Likewise.
10432 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
10433 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
10434 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
10435 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
10436
8e56f870
VS
104372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * configure.ac: Decrease warning level to avoid spurious warnings and
10440 to be able to compile with GCC 4.2.
10441 * Makefile.util.def: Remove -Wno-error=logical-op.
10442
82f6d455
WB
104432012-03-10 William Bittner <william.bittner@gmail.com>
10444
10445 * util/import_unicode.py: Add missing brackets around string for
10446 python 3 support.
10447
1ecd61a4
VS
104482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 Fix efi chainloader on network root.
10451
10452 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10453 network devices.
10454 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10455 New function.
10456
14361ee8
VS
104572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10460 unused show_text member.
10461 * docs/grub.texi: Document "text" property.
10462
922aabf3
VS
104632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10466 in dprintf.
10467
ec316771
VS
104682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 Fix IMSM handling on Fedora.
10471
10472 * util/getroot.c (grub_util_is_imsm): New function.
10473 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10474
0f021838
VS
104752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * Makefile.am: Strip gold section.
10478 * conf/Makefile.common: Likewise.
10479 * gentpl.py: Likewise.
10480 * grub-core/Makefile.core.def: Likewise.
10481 * grub-core/genmod.sh.in: Likewise.
10482
1039c8eb
VS
104832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10486 * util/grub.d/20_linux_xen.in: Likewise.
10487 Based on Debian patch.
10488
6dd412cd
VS
104892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * util/grub.d/10_linux.in: Fix syntax error resulting in
10492 Richard Laager's patch.
10493 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10494
3fd8bae5
VS
104952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10498 dependencies.
10499
7eea1671
RL
105002012-03-10 Richard Laager <rlaager@wiktel.com>
10501
10502 * util/grub.d/10_linux.in: Fix ZFS root passing.
10503
e8e0566b
VS
105042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10507 * grub-core/commands/xnu_uuid.c: Likewise.
10508 * grub-core/loader/efi/appleloader.c: Likewise.
10509 * grub-core/script/execute.c: Likewise.
10510 * grub-core/script/main.c: Likewise.
10511 * util/grub-mkfont.c: Likewise.
10512
1acc5b1f
VS
105132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * util/grub-mkfont.c (options): Use more appropriate "select" that
10516 "set" for face index.
10517
35d70620
VS
105182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * util/grub-editenv.c (options): Gettextize command summaries.
10521
c9eb96b5
VS
105222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10525 "out of memory" error messagge.
10526
1f493136
VS
105272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10530 of diskfilter for diskfilter on diskfilter support.
10531
6d790129
VS
105322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10535
005f46c9
VS
105362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10539 themes/starfield.
10540
c8f778a0
VS
105412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10544
de1e64eb
VS
105452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10548
c6d54211
VS
105492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10552 of error message.
10553
dd390777
VS
105542012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10557
5fd1c522
VS
105582012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10561 message.
c6d54211 10562 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10563
fae01f6c
VS
105642012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10567 Gettextize.
10568 * util/grub-mount.c (options): Likewise.
10569
292fdaff
VS
105702012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10573 gettextize.
10574 * grub-core/commands/search_wrap.c (options): Likewise.
10575
ecdbae77
VS
105762012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10579
52bfedfa
VS
105802012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10583 size calculation.
10584 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10585 none is known.
10586
55b20e58
VS
105872012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10590 "temporary" since it's used in identifier and is limited in space.
10591
fda9d101
VS
105922012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * po/POTFILES.in: Regenerate. Include *.h since they contain
10595 translatable strings as well.
10596
6a0295e2
VS
105972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10600 byte-swap on big-endian.
10601 Reported by: Lennart Sorensen
10602
807fb77c
VS
106032012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10606 (allocate_pages): Improve dprintf.
10607 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10608 code32_start. Fill code32_start and kernel_alignment in params.
10609 (grub_cmd_initrd): Use prot_init_space.
10610
61ac50ba
VS
106112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10614
abdd26dd
VS
106152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * util/grub-install.in: Add missing dot at the end of sentence.
10618
6e69da9c
VS
106192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10622 * grub-core/commands/videotest.c: Likewise.
10623 * grub-core/loader/i386/linux.c: Likewise.
10624
4a929343
VS
106252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10628 sentence.
10629 Reported by: Milo Casagrande.
10630
bb51c6c6
VS
106312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10634 * grub-core/commands/gptsync.c: Likewise.
10635 * grub-core/commands/hashsum.c: Likewise.
10636 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10637 * grub-core/commands/legacycfg.c: Likewise.
10638 * grub-core/io/gzio.c: Likewise.
10639 * grub-core/net/net.c: Likewise.
10640 * grub-core/term/gfxterm.c: Likewise.
10641 * grub-core/term/terminfo.c: Likewise.
10642 * grub-core/tests/test_blockarg.c: Likewise.
10643 * grub-core/video/video.c: Likewise.
10644 * util/grub-install.in: Likewise.
10645 * util/grub-mkfont.c: Likewise.
10646
b2b149cb
VS
106472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10650
c7c080ad
VS
106512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10654 Reported by: David Prévot.
c7c080ad 10655
f2e243c0
VS
106562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10659 description.
10660
09963c76
VS
106612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * util/grub-script-check.c (main): Fix a syntax error message which was
10664 unclear.
10665
a50514a8
VS
106662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10669
4650daec
VS
106702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10673 messages.
10674
106752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10676
10677 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10678 without argument.
10679 * util/grub-mount.c (options): Likewise.
10680
bbc5a342
VS
106812012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10684
ef292a87
VS
106852012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10686
10687 * grub-core/net/http.c: Add TRANSLATORS comments.
10688 * grub-core/normal/cmdline.c: Likewise.
10689 * grub-core/normal/misc.c: Likewise.
10690 * grub-core/partmap/msdos.c: Likewise.
10691 * grub-core/parttool/msdospart.c: Likewise.
10692 * grub-core/script/execute.c: Likewise.
10693 * grub-core/script/main.c: Likewise.
10694 * grub-core/term/terminfo.c: Likewise.
10695 * grub-core/video/bitmap.c: Likewise.
10696 * util/grub-install.in: Likewise.
10697 * util/grub-mkimage.c: Likewise.
10698 * util/grub-mklayout.c: Likewise.
10699 * util/grub-setup.c: Likewise.
10700
0fc19bd0
VS
107012012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10704 with similar messages in grub-fstest.
10705
d95862ef
VS
107062012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * util/grub-install.in: Unify "option requires an argument" message
10709 with similar messages in other files.
10710 * util/grub-mkconfig.in: Likewise.
10711
b7308f90
VS
107122012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * util/grub-set-default.in: Replace printf with gettext_printf (the
10715 string in in question is already translated from grub-reboot)
10716
559dc587
VS
107172012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * configure.ac: Bump up the version to beta1.
10720
1a11761f
VS
107212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10724 case when min_align = 0.
10725
24539abd
VS
107262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10729 and fix a case when line_start overflows.
10730
32bd735b
VS
107312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * util/grub-reboot.in (usage): Mention id posibility.
10734 * util/grub-set-default.in (usage): Likewise.
10735
1a2fd1e6
VS
107362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10739 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10740 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10741 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10742 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10743 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10744 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10745
90eeab76
VS
107462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/commands/menuentry.c (options): Remove
10749 GRUB_ARG_OPTION_REPEATABLE.
10750 Reported by: Andreas Vogel
10751
5ad1be82
AV
107522012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10753
10754 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10755
cb055286
HE
107562012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10757
10758 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10759 error.
10760
93b1cd79
VS
107612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 Use sort -V by the idea of Georgi Georgiev.
10764
10765 * util/grub-mkconfig_lib.in (version_sort): New function.
10766 (version_test_numeric): Use version_sort.
10767
0cdc126c
VS
107682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 Use submenus in grub-mkconfig.
10771
10772 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10773 * util/grub-mkconfig_lib.in (grub_quote): New function.
10774 (gettext_printf): Use gettext and not gettext_quoted to fix several
10775 messages.
10776 * util/grub.d/10_hurd.in: Use submenus.
10777 * util/grub.d/10_kfreebsd.in: Likewise.
10778 * util/grub.d/10_linux.in: Likewise.
10779 * util/grub.d/10_netbsd.in: Likewise.
10780 * util/grub.d/20_linux_xen.in: Likewise.
10781 * util/grub.d/30_os-prober.in: Likewise.
10782 * util/grub.d/10_illumos.in: Add missing quoting.
10783 * util/grub.d/10_windows.in: Likewise.
10784
d9bef9bc
VS
107852012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 Fix menu title instability bug.
10788
10789 * grub-core/commands/menuentry.c (options): New option --id.
10790 (grub_normal_add_menu_entry): New argument id. All users updated.
10791 (grub_cmd_menuentry): Handle --id.
10792 (grub_menu_init): Accept unknown arguments.
10793 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10794 feature_menuentry_options.
10795 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10796 saved_entry.
10797 (get_entry_number): Match with id as well.
10798 * include/grub/menu.h (grub_menu_entry): New member id.
10799 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10800 * util/grub.d/00_header.in: Define menuentry_id_option.
10801 * util/grub.d/10_hurd.in: Define id.
10802 * util/grub.d/10_illumos.in: Likewise.
10803 * util/grub.d/10_kfreebsd.in: Likewise.
10804 * util/grub.d/10_linux.in: Likewise.
10805 * util/grub.d/10_netbsd.in: Likewise.
10806 * util/grub.d/10_windows.in: Likewise.
10807 * util/grub.d/20_linux_xen.in: Likewise.
10808 * util/grub.d/30_os-prober.in: Likewise.
10809
108102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10811
10812 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10813 "scope" with "body".
10814
7c8d0ce7
VS
108152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10818 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10819 prot_size and prot_file_size.
10820
49de079b
VS
108212012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10824 All users updated. If easily=1 require raid-5/-6 to be full.
10825 (is_node_readable): Likewise.
10826 (scan_devices): Scan incomplete but readable LVs at the end.
10827 (grub_diskfilter_memberlist): Pull missing devices.
10828 (insert_array): Skip scanning until device is complete or scan is
10829 done otherwise.
10830 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10831 check.
10832 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10833 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10834
aff05d45
MG
108352012-03-03 Matthew Garrett <mjg@redhat.com>
108362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 Avoid EFI boot services when loading Linux.
10839
10840 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10841 avoid_efi_bootservices. All users updated.
10842 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10843 argument avoid_efi_bootservices. All users updated.
10844 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10845 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10846 align, min_align, relocatable, prefered_address. All users updated.
10847 Allocate avoiding boot services if kernel is relocatable.
10848 (grub_cmd_linux): Check if kernel is relocatable.
10849 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10850 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10851 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10852 avoid_efi_boot_services.
10853 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10854 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10855 (linux_kernel_params): Likewise.
10856
3935dde2
MG
108572012-03-03 Matthew Garrett <mjg@redhat.com>
108582012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 Use EDID on EFI.
10861
10862 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10863 datasize_out.
10864 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10865 modes. Set gop_handle.
10866 (grub_video_gop_get_edid): New function.
10867 (grub_gop_get_preferred_mode): Likewise.
10868 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10869 (grub_video_efi_gop_adapter): Set .get_edid.
10870 * include/grub/efi/edid.h: New file.
10871 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10872
32107ec0
VS
108732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * util/grub-install.in: Load efivars unconditionally.
10876
e70a2c50
VS
108772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * po/Rules-piglatin: Change suffix from .po-update-en to
10880 .po-update-en-piglatin.
10881
8f9cace1
VS
108822012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 Add a pig farm.
10885
10886 * po/piglatin.sed: New file.
10887 * po/en@piglatin.header: Likewise.
10888 * po/Rules-piglatin: Likewise.
10889 * po/README: Add en@piglatin to autogenerated languages.
10890
8f95d002
VS
108912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10894 "Command for ...".
10895 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10896 "Check" since we don't check anything.
10897 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10898 is 64-bit one.
10899 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10900 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10901 (grub_md_sha512_real): Likewise.
10902
805a8dcc
VS
109032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * grub-core/commands/gptsync.c: Fix typographic quoting.
10906 * grub-core/commands/ieee1275/suspend.c: Likewise.
10907 * grub-core/commands/parttool.c: Likewise.
10908 * grub-core/commands/search_wrap.c: Likewise.
10909 * grub-core/commands/videoinfo.c: Likewise.
10910 * grub-core/gfxmenu/gui_label.c: Likewise.
10911 * grub-core/hello/hello.c: Likewise.
10912 * grub-core/kern/emu/main.c: Likewise.
10913 * grub-core/net/net.c: Likewise.
10914 * grub-core/normal/menu.c: Likewise.
10915 * grub-core/normal/menu_text.c: Likewise.
10916 * grub-core/normal/misc.c: Likewise.
10917 * util/grub-editenv.c: Likewise.
10918 * util/grub-install.in: Likewise.
10919 * util/grub-kbdcomp.in: Likewise.
10920 * util/grub-mkconfig.in: Likewise.
10921 * util/grub-mknetdir.in: Likewise.
10922 * util/grub-mkrescue.in: Likewise.
10923 * util/grub-mkstandalone.in: Likewise.
10924 * util/grub-reboot.in: Likewise.
10925 * util/grub-set-default.in: Likewise.
10926 * util/grub-setup.c: Likewise.
10927 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10928
40211ab8
VS
109292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10932 * grub-core/commands/keystatus.c: Likewise.
10933 * grub-core/commands/loadenv.c: Likewise.
10934 * grub-core/commands/probe.c: Likewise.
10935 * grub-core/commands/regexp.c: Likewise.
10936 * grub-core/commands/true.c: Likewise.
10937 * grub-core/commands/videoinfo.c: Likewise.
10938 * grub-core/disk/cryptodisk.c: Likewise.
10939 * grub-core/disk/ldm.c: Likewise.
10940 * grub-core/disk/loopback.c: Likewise.
10941 * grub-core/disk/luks.c: Likewise.
10942 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10943 * grub-core/kern/disk.c: Likewise.
10944 * grub-core/kern/emu/hostdisk.c: Likewise.
10945
0c7d99c7
VS
109462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10949 * util/grub-install.in: Add missing quote in the comment.
10950
e7d2559b
VS
109512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10954 * grub-core/commands/lsmmap.c: Likewise.
10955 * grub-core/commands/minicmd.c: Likewise.
10956 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10957 * grub-core/commands/regexp.c: Likewise.
10958 * grub-core/gdb/gdb.c: Likewise.
10959 * grub-core/term/gfxterm.c: Likewise.
10960 * util/grub-mkconfig.in: Likewise.
10961 * util/grub-mkfont.c: Likewise.
10962 * util/grub-mklayout.c: Likewise.
10963 * util/grub-mknetdir.in: Likewise.
10964 * util/grub-mkrescue.in: Likewise.
10965 * util/grub.d/30_os-prober.in: Likewise.
10966
49ce9e50
VS
109672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10970 with "Direct color" and "Packed" with "Packed pixel".
10971 (grub_cmd_videoinfo): Simplify legend.
10972
e4b791fa
VS
109732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10976 absolutely unclear error message.
10977
fd1265cb
VS
109782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * util/grub-mkstandalone.in: Remove confusing leftover print.
10981
8822a8a0
VS
109822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10985 comments.
10986 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10987 (GRUB_MOD_INIT): Likewise.
10988 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10989 VGA mode.
10990 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10991 comments.
10992 * util/grub-install.in (usage): Likewise.
10993 Spell ID in whole letters.
10994 Add missing ending dot.
10995 Quote variables.
10996 * util/grub-reboot.in: Fix capitalisation.
10997 * util/grub-set-default.in: Likewise.
10998
937fd0cc
VS
109992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11002 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11003 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11004 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11005 Disable -Werror for -Wdeprecated-declarations.
11006 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11007 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11008 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11009 (grub_util_get_grub_dev): Make luks handling dependent on
11010 HAVE_DEVICE_MAPPER and not __linux__.
11011 (get_win32_path): Fix format security.
11012 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11013 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11014 Don't try grub_find_zpool_from_dir.
11015 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11016 #ifdef-out paresdir.
11017
1bab1ae3
VS
110182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * util/grub-pe2elf.c (usage): Add missing noreturn.
11021 (write_section_data): Rename name to shname to avoid shadowing.
11022 (write_symbol_table): Rename name to symname to avoid shadowing.
11023 Fix write_reloc_section call.
11024
ef023e42
VS
110252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11028 to ensure that it's after the last byte of .text.
11029
48afcb75
VS
110302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 * util/ieee1275/ofpath.c (my_isdigit): New function.
11033 (trailing_digits): Use my_isdigit.
11034 (strip_trailing_digits): Likewise.
11035
88d51eff
VS
110362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11039 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11040
17edc2ba
VS
110412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * grub-core/kern/i386/pc/startup.S: Define __start.
11044
ad5518d7
VS
110452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11048 strip already transforms he format.
11049
9e95e1bf
VS
110502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11053
9cc3ee5c
VS
110542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * util/grub-install.in: Add missing gettext init.
11057 * util/grub-kbdcomp.in: Likewise.
11058 * util/grub-mkconfig.in: Likewise.
11059 * util/grub-mknetdir.in: Likewise.
11060 * util/grub-mkrescue.in: Likewise.
11061 * util/grub-mkstandalone.in: Likewise.
11062 * util/grub-reboot.in: Likewise.
11063 * util/grub-set-default.in: Likewise.
11064 * util/grub.d/00_header.in: Likewise.
11065 * util/grub.d/10_hurd.in: Likewise.
11066 * util/grub.d/10_windows.in: Likewise.
11067 * util/grub.d/30_os-prober.in: Likewise.
11068 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11069
49e08a06
VS
110702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * po/Rules-swiss: Fix header comment.
11073
3809cb41
AV
110742012-02-29 Andreas Vogel <anvoit>
11075
11076 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11077 resulted in leak of arguments.
11078
fa6ec573
VS
110792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11082 reed_solomon_size const definition instead of computing it since
11083 Apple assembler doesn't support the later.
11084
22899b9c
VS
110852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * gentpl.py (kernel): Rewrite Apple part.
11088
a132afc3
VS
110892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11092
9d742bd4
VS
110932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11096 ELF section gap.
11097 (load_image): Likewise.
11098
f04a9a21
VS
110992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * configure.ac: Fix a typo in previous commit.
11102
46cf439c
VS
111032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 Don't add -Wl,-N on Apple platform.
11106
11107 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11108 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11109
c4c48c54
VS
111102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * grub-core/Makefile.core.def (lzma_decompress): Use
11113 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11114
31a12124
VS
111152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * grub-core/genmod.sh.in: Rewrite the Apple part.
11118
4f3aa1af
VS
111192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11122 comparison.
11123
7bd8b0c7
VS
111242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * acinclude.m4 (grub_CHECK_PIC): New test.
11127 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11128
97304d7c
VS
111292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11132 to avoid the warning.
11133
fb883812
VS
111342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11135
11136 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11137 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11138 after. All users updated.
11139
a121c964
VS
111402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 Use the common size routine in hostfs so we can read disks as well.
11143
11144 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11145 (grub_util_get_fd_size): ... this. Return size in bytes.
11146 All users updated.
11147 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11148 grub_util_get_fd_size.
11149
c66d6410
VS
111502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11153 Add blocksize retrieval.
11154
dfc8aeb0
VS
111552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * configure.ac: Restore CFLAGS after efiemu check.
11158
403e25a5
VS
111592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11162 Apple bug.
11163
382775d1
VS
111642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11167
6fd4e6e4
VS
111682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11171 (grub_cmd_halt): Likewise.
11172
bea359d6
VS
111732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11176 for local arithmetics.
11177 Break %sp init into 2 instructions.
11178 Add 0 byte at the end.
11179
32eb6ee1
VS
111802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11183 before loops.
11184
e8377389
VS
111852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11188 for context.
11189
8cb17de7
VS
111902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * grub-core/disk/ldm.c (make_vg): Init part.name.
11193 (grub_ldm_detect): Silence spurious warning.
11194 (grub_util_is_ldm): Likewise.
11195
595717e6
VS
111962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11199 sane value to avoid a spurious warning.
11200
c4b7e588
VS
112012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11204 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11205
59824957
VS
112062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11209 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11210
70115b99
VS
112112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11214 hardcoding the relevant info.
11215
56733740
VS
112162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11219 missing const qualifiers.
11220 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11221
43481481
VS
112222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * util/getroot.c [__APPLE__]: Add missing includes.
11225 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11226
3cb38f01
VS
112272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11230
d9dbf11e
VS
112312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11234 avoid conflicts.
11235
0c42a45d
VS
112362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11239
46c34eb0
VS
112402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11243 and grub_file_close call.
11244
99ce1597
VS
112452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 Add LZSS Mach-O support (needed for new xnu kernelcache).
11248
11249 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11250 * grub-core/loader/lzss.c: New file.
11251 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11252 on Mach-O open failure.
11253 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11254 Don't free cmdsXX in uncompressedXX is set.
11255 (grub_macho_file): Init new fields.
11256 New argument is_64bit. All users updated.
11257 Handle compressed. Error out if no suitable architecture is found.
11258 Don't close file.
11259 (grub_macho_open): New argument is_64bit. All users updated.
11260 * grub-core/loader/macho32.c: Add defines for new fields.
11261 * grub-core/loader/macho64.c: Likewise.
11262 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11263 (grub_macho_parse): Handle compressed.
11264 Defer actual processing if compressed.
11265 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11266 "filename". All users updated.
11267 (grub_macho_size): New argument "filename". All users updated.
11268 (grub_macho_get_entry_point): Likewise.
11269 (grub_macho_load): Handle compressed.
11270 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11271 (GRUB_MACHO_LZSS_OFFSET): New define.
11272 (grub_decompress_lzss): New proto.
11273 * include/grub/machoload.h (grub_macho_file): New fields to handle
11274 compressed.
11275 (grub_macho_contains_macho64): Remove proto.
11276 (grub_macho_contains_macho32): Likewise.
11277 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11278
ebd17d6f
VS
112792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11282
2702b4e4
VS
112832012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 Fix make dist.
11286
11287 * Makefile.am (starfield_theme_files): New var.
11288 (starfield_DATA): Use starfield_theme_files.
11289 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11290 Add bootcheck-related files.
11291 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11292 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11293 and font_char_metrics.txt.
11294 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11295 (setjmp): Add lib/ia64/longjmp.S.
11296 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11297 * po/POTFILES.in: Regenerate.
11298 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11299 DISTFILES.common.extra1.
11300 * util/devicemap.c: Removed.
11301 * grub-core/lib/i386/relocator_backward.S: Likewise.
11302 * util/import_gcry.py: Remove unused files. Add extra_dist for
11303 ChangeLog.
11304
cf1adfdf
VS
113052012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11308 grub_gettext_delete_list before changing grub_gettext_max to avoid
11309 running out of array bounds.
11310
113112012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
11312
11313 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11314 grub_vga_text_init/grub_vga_text_fini.
11315
cf1adfdf 113162012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
11317
11318 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11319
541d92e9
VS
113202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * configure.ac: Bump to 2.00~beta0.
11323
7931dddf
VS
113242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
11327 missing initialisation.
11328
f1b16fa3
VS
113292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
11332
83ddae23
VS
113332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 Support v2 xnu boot arguments.
11336
11337 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11338 New argument fsbfreq_out.
11339 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11340 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11341 be used.
11342 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11343 darwin_version.
11344 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11345 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11346 (grub_xnu_boot_params): Rename to ...
11347 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11348 (grub_xnu_boot_params_v2): New struct.
11349
dc693fe6
VS
113502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11353 zeroing of CRC field before computing CRC.
11354
5a6e39c2
VS
113552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11358 Change order of allocations to decrease fragmentation.
11359
6c21f5d7
VS
113602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
11363
cfe456dc
CW
113642012-02-27 Colin Watson <cjwatson@ubuntu.com>
11365
11366 Use write-combining MTRR to speed up video with buggy BIOSes.
11367
11368 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
11369 (cpuid): New define.
11370 (rdmsr): Likewise.
11371 (wrmsr): Likewise.
11372 (mtrr_base): Likewise.
11373 (mtrr_mask): Likewise.
11374 (grub_vbe_enable_mtrr_entry): New function.
11375 (grub_vbe_enable_mtrr): Likewise.
11376 (grub_vbe_disable_mtrr): Likewise.
11377 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
11378 control off to BIOS.
11379 (grub_video_vbe_init): Fill mtrr.
11380 (grub_video_vbe_fini): Disable mtrr.
11381 (grub_video_vbe_get_info_and_fini): Likewise.
11382 (grub_video_vbe_setup): Enable mtrr.
11383
e3c78337
CW
113842012-02-27 Colin Watson <cjwatson@ubuntu.com>
11385
11386 * include/grub/partition.h (grub_partition_map): Change prototype of
11387 embed to take a maximum value for nsectors.
11388 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
11389 * include/grub/fs.h (grub_fs): Likewise.
11390 * grub-core/partmap/msdos.c (embed_signatures): New array.
11391 (pc_partition_map_embed): Check for and avoid sectors matching any
11392 of the signatures in embed_signatures, up to max_nsectors.
11393 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
11394 returned sector map to max_nsectors.
11395 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
11396 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
11397 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
11398 * util/grub-setup.c (setup): Allow for the embedding area being
11399 split into multiple blocklists. Tell dest_partmap->embed the
11400 maximum number of sectors we care about.
11401
114022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
11405 Specify blocklist_install and reserver_first_sector for all fs.
11406 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
11407 blocklists.
11408
984b973f
VS
114092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * util/grub-install.in: Clarify strings.
11412 Fix source dir check.
11413
f122e0d6
RL
114142012-02-27 Richard Laager <rlaager@wiktel.com>
11415
11416 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
11417 "zfs" and "fuse.zfs" as synonyms.
11418
071114bb
VS
114192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11420
11421 * configure.ac: Put platform and target_cpu substitutions back since
11422 they are used for directories.
11423
817e6abc
RL
114242012-02-27 Richard Laager <rlaager@wiktel.com>
114252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * util/grub.d/10_linux.in: Add ZFS-related arguments.
11428 * util/grub.d/20_linux_xen.in: Likewise.
11429
897b7419
RL
114302012-02-27 Richard Laager <rlaager@wiktel.com>
11431
11432 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
11433 with full paths.
11434
a414bd15
RL
114352012-02-27 Richard Laager <rlaager@wiktel.com>
11436
11437 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
11438 unescape.
11439
30ac48c4
VS
114402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 Don't use insecure popen in getroot.
11443
11444 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
11445 (exec_pipe): ... here.
11446 (find_root_devices_from_poolname): Use exec_pipe.
11447
53f13848
VS
114482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 Remove platform and target_cpu replacement.
11451
11452 * configure.ac: Remove platform and target_cpu substitutions.
11453 * tests/util/grub-shell.in: Use modinfo.
11454 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11455 explicitly.
11456
90cb2803
VS
114572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 Autodetect platform in grub-install but allow override.
11460
11461 * util/grub-install.in: Autodetect platform. Support --target and
11462 --directory. Read platform from modinfo.sh.
11463
b9136427
VS
114642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 Support btrfs multi-volume probe.
11467
11468 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11469 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11470 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11471 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11472 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11473 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11474 grub_find_root_devices_from_btrfs if on btrfs.
11475
c36e5cd1
VS
114762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 Remove any awareness of *.c util files about target.
11479
11480 * Makefile.util.def (grub-setup): Split to ...
11481 (grub-bios-setup): ... and this.
11482 (grub-sparc64-setup): ... and this.
11483 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11484 * docs/man/grub-setup.h2m: Split into ...
11485 * docs/man/grub-sparc64-setup.h2m: ... this.
11486 * docs/man/grub-bios-setup.h2m: ... and this.
11487 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11488 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11489 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11490 (grub_target_addr_t): Remove.
11491 (grub_target_size_t): Remove.
11492 (grub_target_ssize_t): Remove.
11493 * util/grub-install.in: Use new grub-*-setup.
11494 * util/grub-mkimagexx.c (Elf_Word): New define.
11495 (Elf_Half): Likewise.
11496 (Elf_Section): Likewise.
11497 (ELF_ST_TYPE): Likewise.
11498 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11499 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11500
584b2f8a
VS
115012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 Replace grub_target_addr with more appropriate types.
11504
11505 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11506 grub_target_addr with grub_addr.
11507 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11508 grub_target_addr with grub_port.
11509 (grub_cmd_write): Likewise.
11510 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11511 grub_target_addr with grub_addr.
11512 (grub_cmd_write): Likewise.
11513 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11514
5a0dc6fb
VS
115152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11518 const qualifier for vendor_guid.
11519
786aff6e
VS
115202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11523 const qualifier.
11524 (efiemu_memequal): Likewise.
11525 (find_variable): Likewise.
11526
49017b17
VS
115272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11528
11529 Fix missing console prototype on qemu-mips.
11530
11531 * include/grub/mips/qemu_mips/console.h: New file.
11532
c5988629
MG
115332012-02-27 Matthew Garrett <mjg@redhat.com>
115342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11537 * include/grub/efi/efi.h: Likewise.
11538 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11539 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11540 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11541 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11542 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11543 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11544
e33f8d69
MG
115452012-02-27 Matthew Garrett <mjg@redhat.com>
11546
11547 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11548
fb312cd9
VS
115492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11552 error.
11553
7134247c
VS
115542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * configure.ac: Remove inappropriate use of program_transform_name
11557 on grubdir and bootdir but allow explicit specification of those
11558 variables.
11559
6a313124
VS
115602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * util/grub-mknetdir.in (grub_prefix): Removed.
11563 (subdir): Use @bootdirname@ and @grubdirname@.
11564
2311c5ca
VS
115652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11568
7d5d60f7
VS
115692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * po/POTFILES.in: Regenerated.
11572
8151bc82
VS
115732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 Remove improper use of program_transform_name on pkglibrootdir.
11576
11577 * configure.ac (pkglibrootdir): Removed.
11578 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11579 * util/grub-mkimage.c: Likewise.
11580
b4a6a533
VS
115812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11582
11583 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11584 warning.
11585
668f304f
VS
115862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * util/grub-install.in: Use file identifier if no UUID is available
11589 or user explicitly prompted for it.
11590
665f2341
NP
115912012-02-27 Navdeep Parhar <nparhar@gmail.com>
11592
11593 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11594 (freebsd_get_zfs): New function.
11595 (grub_freebsd_boot): Pass zfs UUID.
11596 (grub_cmd_freebsd): Set zfs UUID.
11597
8151bc82 115982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11599
11600 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11601 pkglibrootdir.
11602
e4c498a1
MG
116032012-02-27 Mike Gilbert <floppym@gentoo.org>
11604
11605 Add configure flag to control libzfs integration.
11606
11607 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11608
1e9a9a3f
VS
116092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11612 device.
11613 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11614 small devices.
11615
036985b8
VS
116162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11619 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11620 be used on non-modules.
11621
11622 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11623 Rename to grub_boot_init.
11624 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11625 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11626 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11627 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11628 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11629 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11630 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11631 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11632 includes.
11633 (grub_machine_init): Remove empty inits.
11634 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11635 includes.
11636 (grub_machine_init): Remove empty inits.
11637 * grub-core/term/arc/console.c: Remove explicit proto.
11638 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11639 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11640 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11641 grub_at_keyboard_fini.
11642 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11643 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11644 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11645 grub_gfxterm_fini.
11646 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11647 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11648 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11649 grub_vgatext_fini.
11650 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11651 * grub-core/term/serial.c (GRUB_MOD_INIT)
11652 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11653 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11654 grub_serial_fini.
11655 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11656 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11657 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11658 grub_terminfo_fini.
11659 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11660 (GRUB_MOD_FINI): Likewise.
11661 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11662 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11663 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11664 grub_video_radeon_fuloong2e_fini.
11665 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11666 [LOONGSON]: Rename to grub_video_sis315pro_init.
11667 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11668 grub_video_sis315pro_fini.
11669 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11670 [LOONGSON]: Rename to grub_video_sm712_init.
11671 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11672 grub_video_sm712_fini.
11673 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11674 (grub_at_keyboard_fini): Likewise.
11675 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11676 Don't declare grub_{modname}_init.
11677 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11678 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11679 New proto.
11680 (grub_keylayouts_fini) [!EMU]: Likewise.
11681 * include/grub/serial.h (grub_serial_init) [!EMU]:
11682 New proto.
11683 (grub_serial_fini) [!EMU]: Likewise.
11684 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11685 New proto.
11686 (grub_terminfo_fini) [!EMU]: Likewise.
11687 * include/grub/video.h (grub_font_init) [!EMU]:
11688 New proto.
11689 (grub_font_fini) [!EMU]: Likewise.
11690 (grub_gfxterm_init) [!EMU]: Likewise.
11691 (grub_gfxterm_fini) [!EMU]: Likewise.
11692 (grub_video_sm712_init) [!EMU]: Likewise.
11693 (grub_video_sm712_fini) [!EMU]: Likewise.
11694 (grub_video_sis315pro_init) [!EMU]: Likewise.
11695 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11696 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11697 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11698
d5534665
VS
116992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 Make nand a prefix for nand devices.
11702
11703 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11704
10133b5f
VS
117052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11708 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11709
8e307a62
VS
117102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * include/grub/env.h (grub_env_find): Remove prototype.
11713 * grub-core/kern/env.c (grub_env_find): Make static.
11714 (grub_env_set): Remove useless set.
11715
a4c65f34
VS
117162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * grub-core/kern/i386/realmode.S: Remove useless align.
11719
d87893d5
VS
117202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * include/grub/dl.h (grub_dl_load_file): Don't export.
11723
50159add
VS
117242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11727 grub_dprintf.
11728
b2582b84
VS
117292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11732 grub_errors.
11733 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11734 not reloading whole superblock but only the part which is really needed.
11735 Remove useless grub_errors.
11736 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11737 grub_errors.
11738
e2a83395
VS
117392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 Don't export grub_get_rtc.
11742
11743 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11744 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11745
e7d2a906
VS
117462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11749
6cf1363b
VS
117502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11753 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11754
eece3349
VS
117552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 Remove prio_list.
11758
11759 * include/grub/list.h (grub_prio_list): Removed.
11760 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11761 GRUB_COMMAND_PRIO_MASK.
11762 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11763 GRUB_COMMAND_FLAG_ACTIVE.
11764 (grub_prio_list_insert): Removed.
11765 (grub_prio_list_remove): Likewise.
11766 (GRUB_AS_PRIO_LIST): Likewise.
11767 (GRUB_AS_PRIO_LIST_P): Likewise.
11768 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11769 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11770 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11771 * grub-core/kern/command.c (grub_register_command_prio): Inline
11772 the prio_list code.
11773 (grub_unregister_command): Likewise.
11774
94f064b4
VS
117752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11776
11777 Fix interrupt mixup from previous commit.
11778
11779 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11780 (grub_realidt): New var.
11781 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11782 Load idt.
11783 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11784 New declaration.
11785 (grub_relocator16_boot): Set grub_relocator16_idt.
11786 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11787 (LOCAL(realidt)): ... this.
11788 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11789 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11790 (grub_realidt): New variable.
11791
27317084
VS
117922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11795 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11796 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11797 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11798 Gettextize.
11799 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11800 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11801 * po/POTFILES.in: Regenerate.
11802
47b40053
VS
118032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11806 errors.
11807
2b343101
VS
118082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11811 \0.
11812 (add_length): Likewise.
11813
ff27c3dd
LK
118142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
118152012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11816
11817 GDB serial and backtrace support.
11818
11819 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11820 (prot_to_real): Likewise.
11821 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11822 * grub-core/Makefile.core.def (backtrace): New module.
11823 (gdb): Likewise.
11824 * grub-core/gdb/cstub.c: New file.
11825 * grub-core/gdb/gdb.c: Likewise.
11826 * grub-core/gdb/i386/idt.c: Likewise.
11827 * grub-core/gdb/i386/machdep.S: Likewise.
11828 * grub-core/gdb/i386/signal.c: Likewise.
11829 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11830 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11831 * include/grub/backtrace.h: Likewise.
11832 * include/grub/gdb.h: Likewise.
11833 * include/grub/i386/gdb.h: Likewise.
11834
118352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11836
11837 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11838 New function.
11839 (add_length): Likewise.
11840 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11841 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11842 proto.
11843 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11844 __argp_get_display_len.
11845
ff27c3dd 118462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11847
11848 $"..." support in scripts.
11849
11850 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11851 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11852 * grub-core/script/yylex.l: Likewise.
11853 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11854 value.
11855
ff27c3dd 118562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11857
11858 * gentpl.py: Remove obsolete pkglib_DATA handling.
11859
ff27c3dd 118602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11861
11862 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11863 mailing list.
11864
11865 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11866 * util/grub-kbdcomp.in: Likewise.
11867 * util/grub-mkconfig.in: Likewise.
11868 * util/grub-mkconfig_lib.in: Likewise.
11869 * util/grub-mknetdir.in: Likewise.
11870 * util/grub-mkrescue.in: Likewise.
11871 * util/grub-mkstandalone.in: Likewise.
11872 * util/grub-reboot.in: Likewise.
11873 * util/grub-set-default.in: Likewise.
11874 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11875
ff27c3dd 118762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11877
11878 Remove GRUB_PREFIX.
11879
11880 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11881 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11882 used for backward compatibility.
11883
ff27c3dd 118842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11885
11886 Add new all_video module.
11887
11888 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11889 * grub-core/Makefile.core.def (all_video): New module.
11890 * grub-core/genmoddep.awk: Generate dependency of all_video from
11891 video.lst.
11892 * grub-core/lib/fake_module.c: New file.
11893 * grub-core/normal/main.c (features): Add feature_all_video_module.
11894 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11895 don't do explicit search again.
47454da5 11896 insmod all_video in load_video if available.
22c7ce85 11897
ff27c3dd 118982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11899
11900 Another round of string clarification and adding TRANSLATORS comments.
11901
ff27c3dd 119022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11903
11904 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11905
ff27c3dd 119062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11907
11908 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11909 to grub_ssize_t.
11910 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11911 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11912
ff27c3dd 119132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11914
11915 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11916 trailing newline implicitly. All users updated.
11917
ff27c3dd 119182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11919
11920 Implement serial on IEEE1275 and EFI.
11921
11922 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11923 on emu. Mention arc and emu as the only platforms without serial
11924 support.
11925 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11926 ieee1275 platforms.
11927 * grub-core/term/efi/serial.c: New file.
11928 * grub-core/term/ieee1275/serial.c: Likewise.
11929 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11930 specification if no ns8250 driver is available.
11931 (grub_cmd_serial): Likewise.
11932 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11933 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11934 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11935 (grub_efi_parity_type_t): New type.
11936 (grub_efi_stop_bits_t): Likewise.
11937 (grub_efi_serial_io_interface): New struct.
11938 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11939 available for all interfaces.
11940 Add EFI and IEEE1275 fields.
11941 (grub_ofserial_init): New proto.
11942 (grub_efiserial_init): Likeiwse.
11943 * util/grub.d/00_header.in: Don't check for the presence of serial
11944 module.
11945
ff27c3dd 119462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11947
11948 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11949 name as if it was an alias.
11950
114076ef
VS
119512012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 * grub-core/commands/lsacpi.c (options): Fix typo.
11954
6a656b0e
VS
119552012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 Convert grub-emu to argp.
11958
11959 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11960 emu.
11961 * util/argp_common.c: Rename to ...
11962 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11963 Add missing includes.
11964 * grub-core/kern/emu/main.c: Convert to argp.
11965 * po/POTFILES.in: Regenerate.
11966 * util/grub-install.in (usage): Make first letter lowcase in messages
11967 for uniformity.
11968 * util/grub-setup.c (options): Likewise.
11969
1e3f8ae8
VS
119702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11973 Put back accidently commented-out code.
11974
ed167a80
VS
119752012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11978 loop check using Brent algorithm.
11979 (grub_hfsplus_btree_search): Likewise.
11980
6753c0ec
VS
119812012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * util/grub-install.in: Fix usage of wrong device for PreP install.
11984
4e27343f
VS
119852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 * conf/Makefile.common (CFLAGS_GNULIB): Add
11988 -Wno-unsafe-loop-optimizations.
11989 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11990 on tools.
11991 * grub-core/commands/legacycfg.c: Add pragma to skip
11992 -Wunsafe-loop-optimizations.
11993 (check_password_md5_real): Fix loop counter type.
11994 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11995 reading.
11996 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11997 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11998 loop condition.
11999 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12000 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12001 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12002 condition.
12003 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12004 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12005 avoid possible infinite loops.
12006 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12007 and -Wunsafe-loop-optimizations.
12008 * grub-core/script/yylex.l: Likewise.
12009 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12010 (print_glyphs): Avoid infinite loops.
12011 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12012
697f18b0
GS
120132012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12014
12015 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12016 to avoid infinite loop.
12017 (disp_acpi_rsdt_table): Likewise.
12018
274416e8
VS
120192012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * grub-core/font/font.c (grub_font_load): Add support for default
12022 path for fonts ($prefix/fonts).
12023 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12024 for checking if string is a path.
12025 * grub-core/normal/main.c (features): Add feature_default_font_path.
12026 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12027 * util/grub.d/00_header.in: Use default directory if possible.
12028 * util/grub-install.in: Install unicode.pf2.
12029
b3e08622
VS
120302012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12033 * po/Rules-swiss: New file.
12034 * po/swiss.sed: Likewise.
12035
fe42ce09
VS
120362012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * grub-core/fs/btrfs.c (find_device): Fix typos.
12039 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12040 * util/grub-mkrelpath.c (argp_parser): Likewise.
12041 Reported by: Yuri Chornoivan.
12042
72f1d065
DO
120432012-02-23 Dalet Omega <daletomega@gmail.com>
12044
12045 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12046 for usual informative messages.
12047
c5884973
DO
120482012-02-23 Dalet Omega <daletomega@gmail.com>
12049
12050 Starfield theme.
12051
12052 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12053 * conf/Makefile.common: Define starfielddir.
12054 * configure.ac: Configure starfield.
12055 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12056 * themes/starfield/README: Likewise.
12057 * themes/starfield/blob_w.png: Likewise.
12058 * themes/starfield/boot_menu_c.png: Likewise.
12059 * themes/starfield/boot_menu_e.png: Likewise.
12060 * themes/starfield/boot_menu_n.png: Likewise.
12061 * themes/starfield/boot_menu_ne.png: Likewise.
12062 * themes/starfield/boot_menu_nw.png: Likewise.
12063 * themes/starfield/boot_menu_s.png: Likewise.
12064 * themes/starfield/boot_menu_se.png: Likewise.
12065 * themes/starfield/boot_menu_sw.png: Likewise.
12066 * themes/starfield/boot_menu_w.png: Likewise.
12067 * themes/starfield/slider_c.png: Likewise.
12068 * themes/starfield/slider_n.png: Likewise.
12069 * themes/starfield/slider_s.png: Likewise.
12070 * themes/starfield/src/blob_nw.xcf: Likewise.
12071 * themes/starfield/src/bootmenu/: Likewise.
12072 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12073 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12074 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12075 * themes/starfield/src/slider_c.xcf: Likewise.
12076 * themes/starfield/src/slider_n.xcf: Likewise.
12077 * themes/starfield/src/slider_s.xcf: Likewise.
12078 * themes/starfield/src/terminalbox/: Likewise.
12079 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12080 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12081 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12082 * themes/starfield/starfield.png: Likewise.
12083 * themes/starfield/terminal_box_c.png: Likewise.
12084 * themes/starfield/terminal_box_e.png: Likewise.
12085 * themes/starfield/terminal_box_n.png: Likewise.
12086 * themes/starfield/terminal_box_ne.png: Likewise.
12087 * themes/starfield/terminal_box_nw.png: Likewise.
12088 * themes/starfield/terminal_box_s.png: Likewise.
12089 * themes/starfield/terminal_box_se.png: Likewise.
12090 * themes/starfield/terminal_box_sw.png: Likewise.
12091 * themes/starfield/terminal_box_w.png: Likewise.
12092 * themes/starfield/theme.txt: Likewise.
12093
17d73325
VS
120942012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 * util/grub.d/00_header.in: Add missing export theme.
12097
dbebaf92
VS
120982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12101 already included.
12102 Reported by: Eren D.
12103
3d68bffb
VS
121042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 * conf/Makefile.common (grubdatadir): Removed.
12107 (Makefile.am): Move eveything grubdata to pkgdata.
12108
4b59234d
VS
121092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * grub-core/commands/acpihalt.c (get_sleep_type):
12112 Remove unused variable.
12113
463dcadc
VS
121142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12117 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12118 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12119 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12120 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12121 i18n with gettext no-op.
12122 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12123 GRUB_ACPI_OPCODE_STRING_CONST.
12124 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12125 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12126
e5b90c82
VS
121272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * po/POTFILES.in: Regenerate.
12130
2a704ca9
VS
121312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12134 -Wno-error=missing-noreturn.
12135
84f9d341
VS
121362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12139 condition to avoid possibly infinite loops.
12140 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12141 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12142
d46683f9
VS
121432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12146 condition to avoid possibly infinite loops.
12147
c44866b2
VS
121482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12151 on show_error.
12152
96790539
VS
121532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12156
1ba7e295
VS
121572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12160
21ffe8f1
VS
121612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * util/bin2h.c (usage): Add missing attribute noreturn.
12164
0ccb6b3c
VS
121652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12168 if the size isn't divisible by 512.
12169
b00d7fb6
VS
121702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 Make list_push and list_remove functions rather than inline functions
12173 to decrease size and avoid aliasing violations.
12174
12175 * include/grub/list.h (grub_list_push): Move to ...
12176 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12177 * include/grub/list.h (grub_list_remove): Move to ...
12178 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12179
9d369087
VS
121802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12183 and -Wunused-result.
12184
af0250d9
VS
121852012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12188 Reported by: Seth Goldberg
12189
aad32b14
VS
121902012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12193
ac96441c
ST
121942012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12195
12196 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12197 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12198 command line.
12199 * docs/grub.texi (Simple configuration): Document
12200 GRUB_CMDLINE_GNUMACH.
12201
122022012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
12203
12204 * conf/Makefile.common (platform_SCRIPTS): New variable.
12205 (platform_PROGRAMS): Likewise.
12206 * gentpl.py: Mark *,module and *.image for install.
12207 * grub-core/gdb_grub.in: Add a notice of expected environment.
12208 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12209 (gmodule.pl): Likewise.
12210
ac96441c 122112012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
12212
12213 Replace grub_checkkey with grub_getkey_noblock.
12214
12215 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12216 (grub_getkey_noblock): ... this. All users updated.
12217
ac96441c 122182012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
12219
12220 * grub-core/kern/emu/console.c: Move to ...
12221 * grub-core/term/emu/console.c: ...here.
12222 (grub_ncurses_getkey): Fix return value if no key is detected.
12223
e51b5666
VS
122242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12227 (grub_unit_test_fini): Likewise.
12228 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12229
122302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * include/grub/test.h (GRUB_UNIT_TEST)
12233
d9a62292
VS
122342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12237 Better error handling.
12238 (grub_script_return): Likewise.
12239 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12240
77c9182f
VS
122412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12244 rimplicit redifinition.
12245
edb13cf9
VS
122462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12249 GRUB.
12250
a9e9dc7c
VS
122512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12254 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12255 prompt here.
12256
b4ba8e02
VS
122572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12260 as GRUB_ERR_BUG. Don't malloc if no device is available.
12261
dded5540
VS
122622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12265 Mark calling with invalid term as GRUB_ERR_BUG.
12266
0cf69874
VS
122672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12270 packets rather than raising an error.
12271
59bfe502
VS
122722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
12275 in if.
12276
db5fc596
VS
122772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12280 diagnostic to dprintf.
12281 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12282
e4b7f404
VS
122832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12286 device name.
12287
e7b02f9e
VS
122882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12291 (grub_ntfs_iterate_dir): Likewise.
12292
0331e102
VS
122932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 Efiemu stylistic fixes and gettext.
12296
12297 * grub-core/efiemu/i386/loadcore32.c
12298 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12299 * grub-core/efiemu/i386/loadcore64.c
12300 (grub_arch_efiemu_relocate_symbols64): Likewise.
12301 * grub-core/efiemu/i386/pc/cfgtables.c
12302 (grub_machine_efiemu_init_tables): Likewise.
12303 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12304 (grub_efiemu_loadcore_initXX): Add a filename argument.
12305 All users updated.
12306 Improved error message.
12307 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12308 Add a filename argument.
12309 All users updated.
12310 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12311 Reclassify double relocation as GRUB_ERR_BUG.
12312
306fc074
VS
123132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12316 handling.
12317
794d8ef2
VS
123182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12321 on partition.
12322
123232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
12324
12325 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
12326
794d8ef2 123272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
12328
12329 Improve string. Gettextize.
12330
78dde88e
VS
123312012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
12334 utils.
12335 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12336
4786a90f
VS
123372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12340 [GRUB_UTIL]: New function.
12341 (insert_array) [GRUB_UTIL]: Store partmaps.
12342 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12343 partmaps.
12344 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12345 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12346 (probe_abstraction): Print diskfilter and not raid.
12347 Reported by: Lennart Sorensen
12348
0b6225bd
VS
123492012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12352 * util/grub-mkimagexx.c (MASK3): New define.
12353 (add_value_to_slot_20b): Use MASK3.
12354 (add_value_to_slot_21): Likewise.
12355 (relocate_addresses): Fix format specification.
12356 (load_image): Explicitly init symtab_section.
12357
b055f8f6
VS
123582012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
12361 (grub_util_biosdisk_get_grub_dev): Fix format specification.
12362
b77c2fb7
VS
123632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
12366 on powerpc.
12367 Reported by: Lennart Sorensen
12368
e3ec28ab
VS
123692012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * gentpl.py: Add missing license header.
12372 * docs/grub.texi: Update copyright year.
12373
c8d9ead6
GS
123742012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12375
12376 Source grub-mkconfig_lib from the build directory at build time.
12377 Suggested by: Vladimir Serbinenko.
12378
12379 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
12380 * util/grub-install.in: Define pkgdatadir if not already set, and source
12381 grub-mkconfig_lib from there.
12382 * util/grub-kbdcomp.in: Likewise.
12383 * util/grub-mkconfig.in: Likewise.
12384 * util/grub-mknetdir.in: Likewise.
12385 * util/grub-mkrescue.in: Likewise.
12386 * util/grub-mkstandalone.in: Likewise.
12387 * util/grub-reboot.in: Likewise.
12388 * util/grub-set-default.in: Likewise.
12389 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12390
ebcecdf1
VS
123912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 Increase warning level.
12394
12395 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
12396 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
12397 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
12398 (TARGET_CFLAGS): Likewise.
12399 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
12400 * grub-core/Makefile.core.def (decompressor_xz): Add
12401 -Wno-unreachable-code.
12402 (normal): Add -Wno-redundant-decls.
12403 (xzio): Add -Wno-unreachable-code.
12404 (lzopio): Add -Wno-redundant-decls -Wno-error.
12405 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
12406 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
12407 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
12408 * grub-core/kern/dl.c: Add exception to -Wcast-align.
12409 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
12410 * grub-core/kern/i386/coreboot/init.c: Add exception to
12411 -Wsuggest-attribute=noreturn.
12412 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
12413 * grub-core/kern/ia64/dl_helper.c: Likewise.
12414 * grub-core/kern/mips/dl.c: Likewise.
12415 * grub-core/kern/sparc64/dl.c: Likewise.
12416 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
12417 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
12418 (memcmp): Likewise.
12419 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
12420 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
12421 * grub-core/loader/mips/linux.c: Likewise.
12422 * grub-core/loader/multiboot_elfxx.c: Likewise.
12423 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
12424 * grub-core/video/sm712.c: Add exception to -Wcast-align.
12425 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
12426 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
12427 fixme.
12428 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12429 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
12430 Fix prototype.
12431
37bb97fe
VS
124322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
12435 address.
12436
29a3550b
VS
124372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12440 Avoid improper use of strings.
12441 (grub_cmd_legacy_initrdnounzip): Likewise.
12442
dfdffd0d
VS
124432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12446 attribute.
12447 (grub_util_info): Likewise.
12448 (grub_util_error): Likewise.
12449
102fae4a
VS
124502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12453 * util/grub-fstest.c (fstest): Likewise.
12454
7e94d044
VS
124552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12458 (grub_md_sha512_real): Likewise.
12459 (grub_util_get_geli_uuid): Likewise.
12460 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12461 (grub_util_biosdisk_open): Fix format specification.
12462 Respect format security.
12463 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12464 (xrealloc): Likewise.
12465 (xasprintf): Likewise.
12466
5ebd9769
VS
124672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 * util/import_gcry.py: Include grub/crypto.h in init.c.
12470
495fc8c1
VS
124712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12474 (generate_image): Make prefix a const char *.
12475 Fix format specifications. Respect format security.
12476 Avoid void * arithmetics.
12477 Avoid shadowing.
12478 (argp_parser): Remove unused variable. Respect format security.
12479 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12480 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12481 (count_funcs): Remove unused variable.
12482 (relocate_addresses): Fix format specification.
12483 Disable x86-64 with elf32. Remove unused variables.
12484 (add_fixup_entry): Avoid shadowing.
12485 (make_reloc_section): Fix format specification.
12486 Use assert.
12487 (locate_sections): Fix format specifications.
12488 (load_image): Avoid shadowing.
12489
043c2ea3
VS
124902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12493 Fix format specifications. Respect format security.
12494 Don't translate already translated grub_errmsg.
12495 (argp_parser): Remove unused variable
12496
3ec65a81
VS
124972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12500
a4d9fe4a
VS
125012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12504 (main): Likewise. Use xmalloc. Respect format security.
12505
15b81d49
VS
125062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12509 a const char *.
12510 (argp_parser): Remove unused variable.
12511
31731fc0
VS
125122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12515 (add_pixel): Make static.
12516 (add_font): Likewise.
12517 (write_string_section): Make name and str a const char *.
12518 (write_be16_section): Make name a const char *.
12519 (print_glyphs): Make static.
12520 (write_font_ascii_bitmap): Likewise.
12521 (write_font_width_spec): Likewise.
12522 (write_font_pf2): Likewise.
12523 (argp_parser): Remove unused variable.
12524 Respect format security.
12525 (main): Avoid shadowing. Respect format security.
12526
0809527b
VS
125272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * util/grub-editenv.c (argp_parser): Make static.
12530 (create_envblk_file): Use xmalloc.
12531 (open_envblk_file): Likewise.
12532 Resepect format security.
12533 (set_variables): Respect format security.
12534
45b0c8b7
VS
125352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 * util/getroot.c (grub_find_device): Respect format security.
12538 (get_mdadm_uuid): Remove unused variable.
12539 (grub_util_pull_device): Dont call gettext on already translated
12540 grub_errmsg.
12541 (find_system_device): Remove unused variable.
12542 (grub_util_get_grub_dev): Likewise.
12543 (grub_make_system_path_relative_to_its_root): Respect format security.
12544
1b024b4e
VS
125452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * util/grub-fstest.c (execute_command): Make first argument
12548 a const char *.
12549 (read_file): Avoid shadowing.
12550 Reuse underlying error message if device open fails.
12551 (cmd_cmp): Respect format security.
12552 (root): Make const char *.
12553 (fstest): Remove args argument and use global copy.
12554 Respect format security.
12555 (argp_parser): Make static.
12556 (main): Make default_root const char *.
12557
5d1d4e28
VS
125582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * util/grub-mount.c (root): Make const char *.
12561 (execute_command): Make first argument a const char *.
12562 (fuse_init): Respect format security.
12563 (argp_parser): Make static. Remove unused variable.
12564 (main): Make default_root a const char *.
12565 Respect format security.
12566
36eb7379
VS
125672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * util/grub-probe.c (probe): Don't call gettext on already translated
12570 grub_errmsg.
12571 Remove unused variables.
12572 (argp_parser): Remove unused variable.
12573
76fb2ea9
VS
125742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 * util/grub-script-check.c (argp_parser): Remove unused variable.
12577 (main): Rename read to curread to avoid shadowing.
12578
56c98584
VS
125792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 * util/misc.c (grub_util_write_image_at): Fix format specification.
12582 (grub_util_write_image): Likewise.
12583 (grub_script_execute_argument_to_string): Removed (unused).
12584 (grub_script_execute_menuentry): Likewise.
12585 (grub_putchar): Likewise.
12586
164ebb48
VS
125872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12590 (FUNCTION) [GRUB_UTIL]: Likewise.
12591 (VARIABLE) [GRUB_UTIL]: Likewise.
12592
44318d61
VS
125932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12596 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12597
31a26002
VS
125982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12601 buffer.
12602
126032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12606 (LzmaEnc_SaveState): Removed (unused).
12607 (LzmaEnc_RestoreState): Likewise.
12608 (LzmaEnc_InitPriceTables): Made static.
12609 (LzmaEnc_Construct): Likewise.
12610 (LzmaEnc_FreeLits): Likewise.
12611 (LzmaEnc_Destruct): Likewise.
12612 (LzmaEnc_Init): Likewise.
12613 (LzmaEnc_InitPrices): Likewise.
12614 (LzmaEnc_Finish): Likewise.
12615 (LzmaEnc_PrepareForLzma2): Removed (unused).
12616 (LzmaEnc_MemPrepare): Likewise.
12617 (LzmaEnc_GetNumAvailableBytes): Likewise.
12618 (LzmaEnc_GetCurBuf): Likewise.
12619 (LzmaEnc_CodeOneMemBlock): Likewise.
12620
6fa67967
VS
126212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12624 (grub_util_ldm_embed): Likewise.
12625
9a7428e6
VS
126262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * util/grub-editenv.c (print_var): Rename name to varname to
12629 avoid shadowing.
12630 (main): Rename index to curindex to avoid shadowing.
31a26002 12631 Make filename a const char *.
9a7428e6 12632
4f96abd1
VS
126332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12636 to arg_getline to avoid shadowing.
12637
44d10dad
VS
126382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12641 disk_ to avoid shadowing.
12642
340ba63e
VS
126432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12646 curindex to avoid shadowing.
12647 Make static.
12648 (MatchFinder_GetNumAvailableBytes): Make static.
12649
22965bce
VS
126502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12653 avoid shadowing.
12654
7b5784d4
VS
126552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12656
12657 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12658 argument from encrypt to do_encrypt to avoid shadowing.
12659
6f48ca01
VS
126602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12663 incorrect nesting of #if's.
12664
a4ea2dff
VS
126652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12668 checks which are always false on some platforms.
12669 (grub_cmd_lsacpi): Likewise.
12670 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12671 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12672 Likewise.
12673
def9fc1b
VS
126742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12677 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12678
a67b2a04
VS
126792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12682 re_dfa_t to avoid breaking alignment invariants.
12683 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12684 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12685
44c6828d
VS
126862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12689 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12690
bebe0dd0
VS
126912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12694 Fix declaration.
12695
a9cdb3cf
VS
126962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12699 conserve alignment invariants.
12700 (grub_ehci_ehcc_read16): Likewise.
12701 (grub_ehci_oper_read32): Likewise.
12702 (grub_ehci_oper_write32): Likewise.
12703 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12704 Conserve alignment invariants.
12705
ccc3b1b8
VS
127062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12709 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12710 declarations.
12711
987fbd95
VS
127122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12715 Remove unused variable.
12716
0df363f3
VS
127172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12720 Remove set in if.
12721
b2c0c4a6
VS
127222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * include/grub/net.h: Remove double declarations.
12725
690c531f
VS
127262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 Remove "payload" command in ia64 Linux loader since I couldn't
12729 find any evidence of it being used for anything.
12730 Replace "relocate" command with an environment variable
12731
12732 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12733 fields.
12734 (ia64_boot_payload): Removed.
12735 (last_payload): Likewise.
12736 (RELOCATE_OFF): Likewise.
12737 (RELOCATE_ON): Likewise.
12738 (RELOCATE_FORCE): Likewise.
12739 (relocate): Likewise.
12740 (free_pages): Don't free payloads.
12741 (grub_load_elf64): Use common error messages.
12742 Use "linux_relocate" variable.
12743 Increase the space after boot_params.
12744 (grub_cmd_payload): Removed.
12745 (grub_cmd_relocate): Likewise.
12746 (grub_cmd_fpswa): Improve messages.
12747 (cmd_payload): Removed.
12748 (cmd_relocate): Likewise.
12749 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12750 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12751
01783768
VS
127522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 Convert UHCI to DMA framework.
12755
12756 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12757 (grub_uhci_pci_iter): Fill new members
12758 (grub_alloc_td): Use P2V and V2P functions.
12759 (grub_free_queue): Likewise.
12760 (grub_alloc_qh): Likewise.
12761 (grub_uhci_setup_transfer): Likewise.
12762 (grub_uhci_check_transfer): Likewise.
12763
43206939
VS
127642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12767 Remove assignment in if while on it.
12768
571e140e
VS
127692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 * util/grub-mkstandalone.in: Fix modules directory.
12772
a9d96eeb
VS
127732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12776 on i386-pc target.
12777 (argp_parser): Accept "auto" as compression specification.
12778
e4e37e8d
VS
127792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 Fix `help' with unloaded modules.
12782
12783 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12784 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12785 (grub_dyncmd_dispatcher): Small stylistic fix.
12786 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12787 explicit help is requested.
12788
e1ea3ade
VS
127892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12792 Explicitly init restart while on it.
12793
27556881
VS
127942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12797 uninited variable.
12798
d65f6b36
VS
127992012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * util/grub-mknetdir.in: Use . rather than source for POSIX
12802 compatibility.
12803
0a1e473c
VS
128042012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12807
ce6647c8
VS
128082012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12811 variable.
12812
66747894
VS
128132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12816 without quotes.
12817
71645f6e
VS
128182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12821
0e1c1f61
VS
128222012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12825 iteration of partitions.
12826
9c4b5c13
VS
128272012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 Improve gettext support. Stylistic fixes and error handling fixes while
12830 on it.
12831
215c90cb
VS
128322012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12835 part. Instead setup the correct stack in RM.
12836 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12837 for stack.
12838 * include/grub/i386/relocator_private.h: New file.
12839
b5c1f9bf
VS
128402012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12843 argument.
12844 * util/grub-fstest.c (options): Add missing DEVICE part.
12845
b525fd83
VS
128462012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 Clarify and unify messages.
12849
12850 * grub-core/commands/hashsum.c (options): Unify messages.
12851 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12852 literal-only message as translatable.
12853 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12854 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12855 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12856 commands.
12857 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12858 key, not the key used to unlock. Clarify what it's used for.
12859 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12860 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12861 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12862 * util/grub-editenv.c (options): Unify "verbose" message.
12863 * util/grub-fstest.c (read_file): Unify error message.
12864 (fstest): Add quotes around commands.
12865 (options): Unify "verbose" message.
12866 * util/grub-install.in: Add quotes around variable name.
12867 * util/grub-kbdcomp.in: Unify error message.
12868 * util/grub-mkfont.c (main): Likewise.
12869 * util/grub-mkrescue.in: Likewise.
12870 * util/grub-mklayout.c (options): Unify "verbose" message.
12871 * util/grub-mkstandalone.in: Unify help and verbose messages.
12872 * util/grub-mount.c (options): Unify "verbose" message.
12873 * util/grub-probe.c (options): Likewise.
12874 * util/grub-script-check.c (options): Likewise.
12875 * util/grub-setup.c (setup): Unify no-terminator message.
12876 (options): Use DEVICE and not DEV.
12877 Unify "verbose" message.
12878 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12879
0ae70393
VS
128802012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 Improve and unify messages.
12883
12884 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12885 name. All users updated.
12886 Print filename in error.
12887 (read_device_map): Print filename in error.
12888 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12889 (grub_util_get_os_disk): Likewise.
12890 (grub_util_biosdisk_get_grub_dev): Likewise.
12891 (grub_util_check_block_device): Likewise.
12892 (grub_util_check_char_device): Likewise.
12893 (grub_make_system_path_relative_to_its_root): Likewise.
12894 * util/grub-editenv.c (create_envblk_file): Likewise.
12895 (open_envblk_file): Likewise.
12896 (write_envblk): Likewise.
12897 * util/grub-fstest.c (cmd_cp): Likewise.
12898 (cmd_cat): Likewise.
12899 (cmd_cmp): Likewise.
12900 * util/grub-menulst2cfg.c (main): Likewise.
12901 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12902 (write_font_width_spec): Likewise.
12903 (write_font_pf2): Likewise.
12904 * util/grub-mkimage.c (generate_image): New argument outname.
12905 All users updated.
12906 Remove unreacheable message.
12907 (options): Unify messages.
12908 (help_filter): Likewise.
12909 * util/grub-mklayout.c (usage): Removed (unused).
12910 (main): Print filename in error.
12911 * util/grub-mkrescue.in: Fix wrong quoting.
12912 * util/grub-setup.c (setup): Print filename in error.
12913 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12914 (check_sas): Likewise.
12915 * util/misc.c (grub_util_get_fp_size): Removed.
12916 (grub_util_get_image_size): Print filename in error.
12917 (grub_util_read_at): Removed.
12918 (grub_util_read_image): Print filename in error.
12919 (grub_util_load_image): Likewise.
12920 (grub_util_write_image_at): New argument filename. All users updated.
12921 Print filename in error.
12922 (grub_util_write_image): New argument filename. All users updated.
12923 Print filename in error.
12924 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12925 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12926
0a96117d
VS
129272012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * grub-core/Makefile.core.def (pxechain): New module.
12930 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12931 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12932 function.
12933 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12934 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12935
aca002f7
VS
129362012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12939 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12940 * include/grub/err.h (grub_error_saved): New struct.
12941 (grub_errmsg): Make array size explicit.
12942 * include/grub/misc.h (grub_error_save): New function.
12943 (grub_error_load): Likewise.
12944 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12945 (grub_error_push): Update `errno' member name.
12946 (grub_error_pop): Likewise
12947 * grub-core/net/tftp.c (tftp_data): New member save_err.
12948 (tftp_receive): Save error.
12949 (tftp_open): Restore error.
12950
a51dab13
VS
129512012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12954 to real mode down to execute A20-related code in protected mode as
12955 intended.
12956
eb6e6649
GS
129572012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12958
12959 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12960 NULL when the argument `level' has an unexpected value.
12961
92cd0f6e
VS
129622012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 Move platform-dependent files from $prefix to $prefix/$platform.
12965
12966 * config.h.in (GRUB_TARGET_CPU): New definition.
12967 (GRUB_PLATFORM): Likewise.
12968 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12969 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12970 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12971 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12972 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12973 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12974 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12975 * grub-core/normal/term.c (read_terminal_list): Likewise.
12976 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12977 $prefix/locale.
12978 (grub_gettext_init_ext): Likewise.
12979 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12980 grub_platform.
12981 * util/grub-install.in: Update directories.
12982 * util/grub-mknetdir.in: Likewise.
12983 * util/grub-mkrescue.in: Likewise.
12984
db606889
VS
129852012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12988 grub_error framework. All users updated.
12989
c39992a4
VS
129902012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12993 lists (by always binsearching), improve caching (cache strings
12994 used for binsearch, not only results), improve
12995 maintainability (by using more structured binary search) and correct
12996 error handling.
12997
1e5ec32f
VS
129982012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12999
13000 * grub-core/script/execute.c (grub_script_return): Fix warning.
13001
ac576cde
VS
130022012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * grub-core/script/execute.c (grub_script_return): Fix potential
13005 NULL-dereference.
13006 Reported by: Jim Meyering.
13007
498453f6
VS
130082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * po/POTFILES.in: Regenerate.
13011 * util/grub-install.in: Gettextize the strings missed in first pass.
13012
8be63f2e
VS
130132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * Makefile.util.def (grub-mkdevicemap): Removed.
13016 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13017 * include/grub/util/deviceiter.h: Removed.
13018 * util/deviceiter.c: Likewise.
13019 * util/getroot.c (grub_util_get_os_disk): New function.
13020 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13021 replacement for EFI.
13022 * util/grub-mkdevicemap.c: Removed.
13023 * util/grub-probe.c (probe): Handle PRINT_DISK.
13024 (argp_parser): Handle -t disk.
13025
8e1e4e39
VS
130262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 * util/grub-mkfont.c: Migrate to argp.
13029 * util/grub-mklayout.c: Likewise.
13030 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13031 * util/grub-mkrelpath.c: Likewise.
13032 * util/grub-probe.c: Likewise.
13033 * util/grub-script-check.c: Likewise.
13034
4459819a
VS
130352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * util/grub-reboot.in: Add missing datarootdir.
13038 Add missing newline.
13039 * util/grub-set-default.in: Add missing datarootdir.
13040 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13041 * util/grub-mkrescue.in: Likewise.
13042
f65741c7
VS
130432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13046
c1a33466
VS
130472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 * util/grub-kbdcomp.in: Add decent help and gettextize.
13050 * docs/man/grub-kbdcomp.h2m: New file.
13051
c76899a0
VS
130522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 Migrate grub-mkimage.c to argp.
13055
13056 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13057 (grub-setup): Likewise.
13058 * util/grub-setup.c (print_version): Move to ...
13059 * util/argp_common.c (print_version): ... here.
13060 * util/grub-setup.c (argp_program_version_hook): Move to ...
13061 * util/argp_common.c (argp_program_version_hook): ... here.
13062 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13063 safety.
13064 * util/grub-mkimage.c (main): Migrate to argp.
13065
57db0757
VS
130662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * util/grub-mkrescue.in: Use same message as
13069 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13070 for better translations.
13071
18534ad9
VS
130722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13075 options with generic grub-mkrescue.in with the goal of future
13076 merge.
13077
c84ba308
VS
130782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * grub-core/kern/mm.c: Add missing include of i18n.h
13081 * grub-core/lib/relocator.c: Likewise.
13082
347998c2
VS
130832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13086 error.
13087 (allocate_pages): Check return value.
13088 Replace fatal with error.
13089 (grub_linux_boot): Replace printf with dprintf.
13090 Check find_mmap_size return value.
13091 Replace fatal with error.
13092 Don't call grub_machine_fini.
13093 (grub_load_elf64): Replace printf with dprintf.
13094 (grub_cmd_linux): Likewise.
13095 (grub_cmd_initrd): Likewise.
13096 (grub_cmd_payload): Likewise.
13097
c779226e
VS
130982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13101 message.
13102 * grub-core/video/radeon_fuloong2e.c
13103 (grub_video_radeon_fuloong2e_setup): Likewise.
13104 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13105 * grub-core/video/video.c (grub_video_set_mode): Don't override
13106 standard out of memory message.
13107
dc87d45a
GS
131082012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13109
13110 NetBSD disk wedge support.
13111
13112 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13113 [__NetBSD__]: Handle NetBSD disk wedges.
13114 * util/getroot.c (convert_system_partition_to_system_disk)
13115 [__NetBSD__]: Likewise.
13116
055f856f
MW
131172012-02-03 Mark Wooding <mdw@distorted.org.uk>
13118
13119 * util/grub-mkconfig.in: Use umask rather than chmod to create
13120 grub.cfg.new to avoid insecure grub.cfg.
13121
4a9f8346
VS
131222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 * grub-core/commands/ls.c: Gettextize.
13125 * grub-core/commands/setpci.c: Likewise.
13126 * grub-core/commands/videotest.c: Likewise.
13127 * grub-core/disk/geli.c: Likewise.
13128 * grub-core/kern/mm.c: Likewise.
13129 * grub-core/lib/relocator.c: Likewise.
13130 * grub-core/loader/efi/appleloader.c: Likewise.
13131 * grub-core/loader/i386/xnu.c: Likewise.
13132 * grub-core/loader/ia64/efi/linux.c: Likewise.
13133 * grub-core/loader/xnu.c: Likewise.
13134 * grub-core/net/dns.c: Likewise.
13135 * grub-core/net/net.c: Likewise.
13136 * grub-core/script/lexer.c: Likewise.
13137 * grub-core/script/parser.y: Likewise.
13138 * grub-core/script/yylex.l: Likewise.
13139 * util/getroot.c: Likewise.
13140 * util/grub-setup.c: Likewise.
13141
a646a366
VS
131422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13145 number.
13146
54e2be26
VS
131472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13150
f7c71e68
VS
131512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13154 macro.
13155 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13156 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13157
a32d5c71
VS
131582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13161 * util/grub-install.in: Gettextize.
13162 * util/grub-mkconfig.in: Likewise.
13163 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13164 if not available.
13165 (grub_warn): Gettextize.
13166 * util/grub-mknetdir.in: Gettextize.
13167 * util/grub-mkrescue.in: Likewise.
13168 * util/grub-mkstandalone.in: Likewise.
13169 * util/grub-reboot.in: Likewise.
13170 * util/grub-set-default.in: Likewise.
13171 * util/grub.d/00_header.in: Likewise.
13172 * util/grub.d/10_hurd.in: Likewise.
13173 * util/grub.d/10_kfreebsd.in: Likewise.
13174 * util/grub.d/10_linux.in: Likewise.
13175 * util/grub.d/10_netbsd.in: Likewise.
13176 * util/grub.d/10_windows.in: Likewise.
13177 * util/grub.d/20_linux_xen.in: Likewise.
13178 * util/grub.d/30_os-prober.in: Likewise.
13179 * po/POTFILES-shell.in: Regenerate.
13180
69edd81a
RL
131812012-02-03 Richard Laager <rlaager@wiktel.com>
13182
13183 * util/grub-mkimage.c (main): Fix format-security warning.
13184 * util/grub-mkrelpath.c (main): Likewise.
13185 * util/grub-probe.c (main): Likewise.
13186
65f08dbf
RL
131872012-02-03 Richard Laager <rlaager@wiktel.com>
13188
13189 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13190 failure.
13191 Put back lost PRINT_DRIVE.
13192
e9084abe
RL
131932012-02-03 Richard Laager <rlaager@wiktel.com>
13194
13195 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13196 (grub_guess_root_devices): Replace strlen with sizeof.
13197 Avoid crash.
13198 (find_root_devices_from_poolname): Remove unused variable.
13199 Handle raidzN.
13200
cf5f7ee7
VS
132012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 Support install on multi-device filesystems.
13204
13205 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13206 (grub_guess_root_devices): ...this. Return char **. All users updated.
13207 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13208 Removed.
13209 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13210 (find_root_devices_from_poolname): ... here.
13211 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13212 Support zfs-fuse.
13213 (grub_guess_root_device): Rename to ...
13214 (grub_guess_root_devices): ... this. Return char **. All users updated.
13215 * util/grub-install.in: Handle multi-device filesystems.
13216 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13217 argument. All users updated.
13218 Handle multi-device filesystems.
13219 Use 'delim' as separator.
13220 Remove device check to allow filesystems on file.
13221 (main): Support -0 argument. Handle multi-device.
13222 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13223 Fix a cross-device check while on it.
13224 (arguments): Remove root_dev.
13225 (argp_parser): Remove -r.
13226 (main): Remove root_dev.
13227
2f53a9ed
VS
132282012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13231
17e1d934
VS
132322012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13235 symbol.
13236 Reported by: NODA, Kai <nodakai>.
13237
d3e3fab5
VS
132382012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 Fix ehci on amd64.
13241
13242 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13243 pointers.
13244 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13245 (grub_ehci_setup_qh): Likewise.
13246 (grub_ehci_find_qh): Likewise.
13247 (grub_ehci_transaction): Likewise.
13248 (grub_ehci_setup_transfer): Likewise.
13249 (grub_ehci_check_transfer): Likewise.
13250 (grub_ehci_portstatus): Likewise.
13251 (grub_ehci_detect_dev): Likewise.
13252 (grub_ehci_transfer_controller_data): New field td_last_phys.
13253 (grub_ehci_setup_transfer): Fill td_last_phys.
13254 (grub_ehci_check_transfer): Use td_last_phys.
13255
3008675b
SG
132562012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13257
13258 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13259 if no submenu is present.
13260
fc9b5652
AN
132612012-02-01 Aleš Nesrsta <starous@volny.cz>
13262
13263 CBI support.
13264
13265 * include/grub/usb.h (grub_usbms_protocol_t): New values
13266 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13267 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13268 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13269 (grub_usbms_dev): Add subclass, protocol and intrpt.
13270 Remove in_maxsz and out_maxsz.
13271 (grub_usbms_reset): Rename to ...
13272 (grub_usbms_bo_reset): .. this.
13273 (grub_usbms_cbi_cmd): New function.
13274 (grub_usbms_cbi_reset): Likewise.
13275 (grub_usbms_reset): Likewise.
13276 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13277 (grub_usbms_transfer): Rename to ...
13278 (grub_usbms_transfer_bo): ... this.
13279 (grub_usbms_transfer_cbi): Likewise.
13280 (grub_usbms_transfer): Likewise.
13281
a2b81d53
AN
132822012-02-01 Aleš Nesrsta <starous@volny.cz>
132832012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13286 the support for the CS5536 modification thereos and few bugfixes.
13287
13288 * grub-core/Makefile.core.def (ehci): New module.
13289 * grub-core/bus/usb/ehci.c: New file.
13290 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13291 port and hubaddr. All users updated.
13292 Save port and hubaddr into dev structure.
13293 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13294 define.
13295 * include/grub/pci.h (grub_dma_phys2virt): New function.
13296 (grub_dma_virt2phys): Likewise.
13297 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13298
b1d51f02
VS
132992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13302 check as some mkfs implementations omit it.
13303
fc694106
VS
133042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13307
6c0920e3
VS
133082012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13311 Add new member volname2.
13312 (grub_jfs_label): Use volname2 if available.
13313
d1a46f9a
VS
133142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13317 over last_mounted as seen in image generated by mkfs.nilfs2.
13318 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13319
dec8ed14
VS
133202012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13323 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13324 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
13325
7397c69b
VS
133262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
13329 over the sector.
13330
b3fe42ad
VS
133312012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
13334 subvolume name (by removing a bogus and useless check).
13335
10476bb0
VS
133362012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13339 sizeof while on it.
13340
9c08ad87
VS
133412012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13344 (grub_scsi_read_capacity10): ... this.
13345 (grub_scsi_read_capacity16): New function.
13346 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13347 0xffffffff.
13348 Fix off-by-one error.
13349 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13350 64-bit unsigned.
13351 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13352 (grub_scsi_read_capacity10): ... this.
13353 (grub_scsi_read_capacity_data): Rename to ...
13354 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13355 (grub_scsi_read_capacity16): New struct.
13356 (grub_scsi_read_capacity16_data): Likewise.
13357 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13358 grub_scsi_cmd_read_capacity10.
13359 New command grub_scsi_cmd_read_capacity16.
13360
bc8d0f45
VS
133612012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 SCSI >2TiB support.
13364
13365 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
13366 (grub_scsi_write16): Likewise.
13367 (grub_scsi_read): Use read16 when necessary.
13368 (grub_scsi_write): Likewise.
13369 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
13370 (grub_scsi_write16): Likewise.
13371 (grub_scsi_cmd_t): Add READ16 and WRITE16.
13372
cc774926
VS
133732012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 SCSI write support (for usbms mainly).
13376
13377 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
13378 a const pointer.
13379 (grub_scsi_write): Implement.
13380 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
13381
67639fd7
VS
133822012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
13385 variable.
13386
9079d3ed
VS
133872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/lib/posix_wrap/string.h (memchr): New function.
13390
c6a6f204
VS
133912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * po/POTFILES.in: Regenerate.
13394
ecbf8cd1
VS
133952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
13398 with grub_printf to avoid unnecessary fatal failure.
13399
0b3b3b38
VS
134002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13403 (INT_MAX): Likewise.
13404 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
13405 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
13406 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
13407 (strcpy): Likewise.
13408 (strstr): Likewise.
13409 (strchr): Likewise.
13410 (strncpy): Likewise.
13411 (strcat): Likewise.
13412 (strncat): Likewise.
13413 (strcoll): Likewise.
13414 * include/grub/types.h (GRUB_SHRT_MAX): New define.
13415 (GRUB_INT_MAX): Likewise.
13416
db7337a3
VS
134172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
13420 unexpected error.
13421 (optimize_utf8): Likewise.
13422 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
13423
f37c87e1
VS
134242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 * grub-core/boot/i386/pc/lnxboot.S: Use
13427 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
13428 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13429 location.
13430 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
13431 definition.
13432 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
13433
63fe43f3
VS
134342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
13437 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
13438 now to avoid double free.
13439 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
13440 hostdisk.
13441 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
13442 * util/grub-probe.c (escape_of_path): Always return a new copy.
13443 (print_full_name): Escape path.
13444 (probe): Don't call grub_util_devname_to_ofpath on NULL.
13445 Fix hints on abstractions.
13446
ebe2c961
VS
134472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13450 Don't add "root" line if no compatibility hont is available.
13451 Suggested by: Seth Goldberg.
13452
2b5336a2
VS
134532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13456 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13457 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13458 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13459
74310bd8
VS
134602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13463
c30582ba
VS
134642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * util/grub-pe2elf.c (ehdr): Make static.
13467 (shdr): Likewise.
13468 (num_sections): Likewise.
13469 (offset): Likewise.
13470
5f47782c
VS
134712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13472
13473 Eliminate ofpath limits and possible overflows.
13474
13475 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13476 (OF_PATH_MAX): Removed.
13477 (MAX_DISK_CAT): New const.
13478 (find_obppath): Use allocated rather than preallocated buffer.
13479 Return result. Argument of_path removed. All users updated.
13480 Add missing fdstat.
13481 (xrealpath): New function.
13482 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13483 Allocate rather than use preallocated buffer. All users updated.
13484 (__of_path_common): Use allocated rather than preallocatecd buffer.
13485 Return result. Argument of_path removed. All users updated.
13486 (vendor_is_ATA): Read only needed part form the file.
13487 (check_sas): Allocate depending on contents rather than fixed.
13488 (main) [STANDALONE]: Handle NULL result.
13489
f990cbf9
VS
134902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13493
9c6e84b8
VS
134942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 Cryptodisk write support.
13497
13498 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13499 (grub_cryptodisk_decrypt): Moved logic to ...
13500 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13501 (grub_cryptodisk_write): Implement.
13502 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13503 (grub_util_fd_write): ... this. Make global.
13504 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13505
87cf9744
VS
135062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13507
13508 * include/grub/list.h (grub_list_remove): Don't crash if element is
13509 removed twice.
13510
ca8c0baf
VS
135112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 Rename ofconsole to console.
13514
13515 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13516 as sysnonym to console.
13517 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13518 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13519 Rename grub_ofconsole_ to grub_console_. All users updated
13520 (grub_console_term_output): Rename "ofconsole" to "console".
13521 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13522 as "console".
13523
64c8b8f6
VS
135242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13527 handling.
13528 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13529 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13530 GRUB_DISK_DEVICE_FILE_ID.
13531
f6c434d5
VS
135322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13535 and improve performance.
13536
5858b42d
VS
135372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13540 missing ieee1275/ prefix on whole disk.
13541
4ed3c26b
VS
135422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13545 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13546
df71143e
VS
135472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13550
076e7c0f
VS
135512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 Merge common RAID and LVM logic to an abstract diskfilter.
13554 Add LDM support using the same framework.
13555
13556 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13557 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13558 (libgrubmods): Remove grub-core/disk/raid.c and
13559 grub-core/partmap/gpt.c.
13560 * grub-core/Makefile.core.def (ldm): New module.
13561 (raid): Renamed to diskfilter. All users updated.
13562 * grub-core/disk/raid.c: Moved to ...
13563 * grub-core/disk/diskfilter.c: ... here.
13564 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13565 (lv_num): New var.
13566 (find_array): Renamed to ...
13567 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13568 (grub_is_array_readable): Renamed to ...
13569 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13570 (insert_array): New argument id.
13571 (is_node_readable): New function.
13572 (scan_device): Rename to ...
13573 (scan_disk): .. this. Restrict to one disk.
13574 (scan_devices): New function.
13575 (grub_diskfilter_iterate): Support multi-LV.
13576 Skip invisible and nameless LVs.
13577 (grub_diskfilter_memberlist): Support multi-LV.
13578 (grub_diskfilter_read_node): New function.
13579 (grub_raid_read): Most of logic moved to ...
13580 (read_segment): ... here
13581 (read_lv): New function.
13582 (grub_diskfilter_get_vg_by_uuid): New function.
13583 (grub_diskfilter_make_raid): Likewise.
13584 * grub-core/disk/ldm.c: New file.
13585 * grub-core/disk/lvm.c (vg_list): Removed.
13586 (lv_count): Likewise.
13587 (scan_depth): Likewise.
13588 (is_lv_readable): Likewise.
13589 (grub_lvm_getvalue): Advance pointer past the number.
13590 (find_lv): Removed.
13591 (do_lvm_scan): Refactored into ...
13592 (grub_lvm_detect): ... this. Support raid.
13593 (grub_lvm_iterate): Removed.
13594 (grub_lvm_memberlist): Likewise.
13595 (grub_lvm_open): Likewise.
13596 (grub_lvm_close): Likewise.
13597 (read_lv): Likewise.
13598 (read_node): Likewise.
13599 (is_node_readable): Likewise.
13600 (is_lv_readable): Likewise.
13601 (grub_lvm_read): Likewise.
13602 (grub_lvm_write): Likewise.
13603 (grub_lvm_dev): Use diskfilter
13604 (GRUB_MOD_INIT): Likewise.
13605 (GRUB_MOD_FINI): Likewise.
13606 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13607 new interface.
13608 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13609 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13610 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13611 grub_diskfilter_read_node.
13612 Fix a bug with xor.
13613 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13614 grub_diskfilter_read_node.
13615 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13616 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13617 (grub_disk_dev_iterate): Move from here...
13618 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13619 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13620 Make global.
13621 (grub_hostdisk_find_partition_start): Likewise.
13622 (grub_hostdisk_os_dev_to_grub_drive): New function.
13623 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13624 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13625 * util/getroot.c (make_device_name): ... here.
13626 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13627 Move to ...
13628 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13629 * grub-core/kern/emu/hostdisk.c
13630 (convert_system_partition_to_system_disk): Move to ...
13631 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13632 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13633 * util/getroot.c (device_is_wholedisk): ... here.
13634 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13635 * util/getroot.c (find_system_device): ... here.
13636 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13637 Move to ...
13638 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13639 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13640 Move to ...
13641 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13642 Handle LDM.
13643 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13644 Move to ...
13645 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13646 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13647 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13648 DISKFILTER.
13649 * include/grub/raid.h: Renamed to ...
13650 * include/grub/diskfilter.h: ... this.
13651 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13652 (GRUB_RAID_LAYOUT_*): Make into array.
13653 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13654 (grub_diskfilter_vg): New struct.
13655 (grub_diskfilter_pv_id): Likewise.
13656 (grub_raid_member): Removed.
13657 (grub_raid_array): Likewise.
13658 (grub_diskfilter_pv): New struct.
13659 (grub_diskfilter_lv): Likewise.
13660 (grub_diskfilter_segment): Likewise.
13661 (grub_diskfilter_node): Likewise.
13662 (grub_diskfilter_get_vg_by_uuid): New proto.
13663 (grub_raid_register): Inline.
13664 (grub_diskfilter_unregister): Likewise.
13665 (grub_diskfilter_make_raid): New proto.
13666 (grub_diskfilter_vg_register): Likewise.
13667 (grub_diskfilter_read_node): Likewise.
13668 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13669 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13670 (grub_util_is_ldm): Likewise.
13671 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13672 (grub_hostdisk_find_partition_start): Likewise.
13673 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13674 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13675 New definition.
13676 (grub_gpt_partition_map_iterate): New proto.
13677 * include/grub/lvm.h (grub_lvm_vg): Removed.
13678 (grub_lvm_pv): Likewise.
13679 (grub_lvm_lv): Likewise.
13680 (grub_lvm_segment): Likewise.
13681 (grub_lvm_node): Likewise.
13682 * util/getroot.c [...]
13683 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13684 (probe_abstraction): Likewise.
13685 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13686 (main): Remove dead logic.
13687
8a7f9b9c
VS
136882012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13689
13690 Simplify root device discover and don't fail when trying to open
13691 incorrect devices.
13692
13693 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13694 function.
13695 (get_diskname_from_path): Likewise.
13696 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13697 of iterating.
13698
30545b85
VS
136992012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13702
28ea58cf
VS
137032012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13706 pastthe end.
13707
692dabca
VS
137082012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * util/grub-install.in: Add missing \.
13711 Reported by: gentoofan
13712
f6e4ea70
VS
137132012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13716 (direct_read): Use correct compressed size.
13717 (grub_squash_read_data): Likewise.
13718
137192012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13720
13721 * docs/grub.texi (Platform limitations): New section.
13722 (Platform-specific operations): Likewise.
13723 * docs/grub-dev.texi (Porting): Likewise.
13724
76261110
VS
137252012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 IEEE1275 disk write support.
13728
13729 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13730 const void *.
13731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13732 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13733 and seek loginc to ...
13734 (grub_ofdisk_prepare): ... here.
13735 (grub_ofdisk_write): Implement.
13736
fc36d603
VS
137372012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 ARC disk write support.
13740
13741 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13742 (reopen): New argument writable. All users updated.
13743 Handle required access mode.
13744 (grub_arcdisk_write): Implement.
13745 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13746 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13747
e06c2e7a
VS
137482012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13751 (read_sblock): Don't attempt to read superblocks outside the disk size.
13752
ff447958
VS
137532012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13756 first superblock to find the second one when possible.
13757
9e88df39
VS
137582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * util/grub-install.in: Fix an ARC bug.
13761 Print a warning if no platform-specific setup is available.
13762
bb26e4ff
VS
137632012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 Use static allocation rather than scratch pointer in reed_solomon.
13766 It decreases its size significantly and avoids a variable in .text.
13767
13768 * grub-core/lib/reed_solomon.c (scratch): Removed.
13769 (chosenstat): New const or static array.
13770 (sigma): Likewise.
13771 (errpot): Likewise.
13772 (errpos): Likewise.
13773 (sy): Likewise.
13774 (mstat): Likewise.
13775 (errvals): Likewise.
13776 (eqstat): Likewise.
13777 (pol_evaluate): Replace x with log_x argument. All users updated.
13778 (syndroms): Removed.
13779 (gauss_solve): Use statically allocated arrays.
13780 (rs_recover): Likewise.
13781 Calculate syndroms directly.
13782 (decode_block): Use statically allocated arrays.
13783 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13784 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13785
2e13ede5
VS
137862012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 Eliminate fixed limit on reed solomon decoder length.
13789
13790 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13791 rather than hardcoding the address.
13792 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13793 no_reed_solomon_length.
13794 Move gate_a20 to no-reed-solomon part.
13795 Don't force a particular size of no reed-solomon part.
13796 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13797 Removed.
13798 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13799 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13800
f8a9ab12
VS
138012012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/commands/wildcard.c (match_files): Handle filenames
13804 without explicit device.
13805 (wildcard_expand): Don't add explicit device if not already present.
13806 * tests/grub_script_echo1.in: Add a new expansion test.
13807
87edb894
VS
138082012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 Replace single-linked with double-linked lists. It results in more
13811 compact and more efficient code.
13812
13813 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13814 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13815 (grub_list_remove): Moved from here ...
13816 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13817 (grub_prio_list_insert): Set prev.
13818 * include/grub/list.h (grub_list): Add prev. All users updated.
13819
48b391e9
VS
138202012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 Handle newer autotools. Add some missing quotes while on it.
13823
13824 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13825 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13826 (pkgdata_DATA): ... here.
13827 * Makefile.util.def (update-grub_lib): Removed.
13828 * conf/Makefile.common (pkglib_DATA): Removed.
13829 (pkglib_SCRIPTS): Likewise.
13830 (pkgdata_DATA): New variable.
13831 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13832 needed.
13833 Add missing quotes.
13834 Remove unused variable while on it.
13835 * tests/util/grub-shell.in: Likewise.
13836 * util/grub-install.in: Likewise.
13837 * util/grub-mkconfig.in: Likewise.
13838 * util/grub-mknetdir.in: Likewise.
13839 * util/grub-mkrescue.in: Likewise.
13840 * util/grub-mkstandalone.in: Likewise.
13841 * util/grub.d/00_header.in: Likewise.
13842 * util/grub.d/10_hurd.in: Likewise.
13843 * util/grub.d/10_illumos.in: Likewise.
13844 * util/grub.d/10_kfreebsd.in: Likewise.
13845 * util/grub.d/10_linux.in: Likewise.
13846 * util/grub.d/10_netbsd.in: Likewise.
13847 * util/grub.d/10_windows.in: Likewise.
13848 * util/grub.d/20_linux_xen.in: Likewise.
13849 * util/grub.d/30_os-prober.in: Likewise.
13850 * util/update-grub_lib.in: Removed.
13851
138522012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13853
13854 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13855 a workaround for intel problem.
13856
66832792
PRP
138572012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
138582012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
138592012-01-23 pfsmorigo
13860
13861 * util/grub-install.in: Support dd'in into PreP partition.
13862 * util/grub-probe.c (probe): Support discovering partition type.
13863 (main): Support -t msdos_parttype.
13864
7816a17e
VS
138652012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13868 infinite recursion using counter.
13869 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13870 init to skip it if the magic check fails.
13871 (dec_stream_header): Init s->crc32.
13872
8f9d3a8c
ZB
138732012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
138742012-01-22 Zachary Bedell <pendorbound@gmail.com>
138752012-01-22 Richard Laager <rlaager@wiktel.com>
13876
13877 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13878 All users updated.
13879 (find_bestub): Determine correct size.
13880 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13881 (scan_disk): Align the size down.
13882 Call check pool before find_bestub to have ashift.
13883
b055dd32
VS
138842012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13887 dprintf in no-malloc zone.
13888
d779e9bd
ML
138892012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13890
13891 * configure.ac: Add back in test for limits.h.
13892
b508af69
VS
138932012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 Support 4K-sector NTFS.
13896
13897 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13898 (grub_ntfs_data): Remove blocksize.
13899 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13900 Remove data argument. All users updated.
13901
dad9c8b5
VS
139022012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13905 being in .text to avoid dprel references.
13906 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13907 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13908 (grub_arch_highmemsize): Likewise.
13909 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13910 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13911 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13912
d43a777e
VS
139132012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13916
13917 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13918 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13919
34e4208f
VS
139202012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13923 GRUB_UTIL.
13924 (grub_set_datetime_cmos): Likewise.
13925
3ec0fc1c
VS
139262012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 Make XZ compression parameters dependent on target and not host CPU.
13929
13930 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13931 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13932
22489834
VS
139332012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13936 set but not used variable.
13937
8502fbca
VS
139382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13941 created when no uuid support is compiled into mkfs.reiser.
13942
76df2068
VS
139432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13946 (utf8_to_macroman): Do the opposite.
13947 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13948
64e3f8f6
VS
139492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 * configure.ac: Refise build qemu_mips w/o unifont.
13952
9c271078
VS
139532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 Eliminate grub_min/grub_max prone to overflow usage.
13956
13957 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13958 (poll_nonroot_hub): Likewise.
13959 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13960 (grub_affs_label): Likewise.
13961 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13962 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13963 (grub_hfs_label): Likewise.
13964 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13965 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13966 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13967 (zap_leaf_array_get): Likewise.
13968 (dnode_get_path): Likewise.
13969 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13970 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13971 * grub-core/script/execute.c (grub_script_break): Likewise.
13972 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13973 grub_max.
13974 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13975 * include/grub/misc.h (grub_min): Removed.
13976 (grub_max): Likewise.
13977
80662dbc
VS
139782012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13979
13980 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13981 direct.inode = 0.
13982
e6da1467
VS
139832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13986
b1ac4cb1
VS
139872012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13988
13989 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13990
b4bf7c3b
VS
139912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13994 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13995
8ee1101a
VS
139962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13997
13998 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13999 rather than a hack for grub_strncasemap.
14000
140012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 Support multiple initrds
14004 Note: part of this was accidently committed in r3739.
14005
14006 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14007 initrd.
14008 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14009 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14010 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14011 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14012 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14013
4d1e2bc9
VS
140142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14017 disks with unknown size.
14018 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14019
75b49ebe
VS
140202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 Remove defines pertaining to arbitrary limits not affecting GRUB
14023 anymore.
14024
14025 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14026 (EXT2_MAX_SYMLINKCNT): Likewise.
14027 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14028 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14029 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14030 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14031 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14032 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14033 (DN_MAX_OBJECT_SHIFT): Likewise.
14034 (DN_MAX_OFFSET_SHIFT): Likewise.
14035 (DN_MAX_OBJECT): Likewise.
14036 (DNODES_PER_LEVEL_SHIFT): Likewise.
14037 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14038 (SPA_MAXBLOCKSIZE): Likewise.
14039 (SPA_BLOCKSIZES): Likewise.
14040 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14041 (MZAP_MAX_BLKSZ): Likewise.
14042
74a1dce7
VS
140432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14046 handle NULL appropriately.
14047 Remove MIN.
14048
30c7d3ce
VS
140492012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 Fix efiemu.
14052
14053 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14054 cpu/types.h.
14055 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14056 * configure.ac: Fix efiemu check.
14057
3c76ea0c
VS
140582012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14061 grub_probe.
14062 Reported by: adamwill
14063
7e532280
SG
140642012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14065
14066 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14067
30492374
VS
140682012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 Fix handling of wide characters in gfxterm.
14071
14072 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14073 (clear_char): Likewise.
14074 (paint_char): Skip code == NULL chars.
14075 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14076
e70cb72f
VS
140772012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * grub-core/normal/charset.c: Move comment to right place.
14080
5c827cf9
VS
140812012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14084 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14085 (grub_affs_mount): Revert the correct version checking.
14086
53603892
VS
140872012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * docs/grub.texi (Unicode): Mention several other unsupported features.
14090
ff094b9b
VS
140912011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14094 case statements as compile-time one.
14095 (direct_read): Prevent spurious warnings.
14096 (grub_squash_read_data): Likewise.
14097
c029da8a
VS
140982011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 Various squash4 fixes and LZO and XZ support.
14101
14102 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14103 Add xzembed source files.
14104 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14105 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14106 (grub_squash_inode): New subtype long_dir.
14107 (SQUASH_TYPE_LONG_DIR): New inode type.
14108 (COMPRESSION): New enum.
14109 (XZBUFSIZ): New const.
14110 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14111 (read_chunk): Use data->decompress.
14112 (zlib_decompress): New function.
14113 (lzo_decompress): Likewise.
14114 (xz_decompress): Likewise.
14115 (squash_mount): Set new data fields.
14116 (grub_squash_iterate_dir): Handle long dir.
14117 (squash_unmount): Free xzdec and xzbuf.
14118 (grub_squash_open): Check ino type.
14119 (direct_read): Stylistic fixes. Use data->decompress.
14120 (grub_squash_read_data): Likewise.
14121 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14122 (get_byte): Likewise.
14123 (grub_zlib_disk_read): Removed.
14124 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14125 (GRUB_POSIX_BOOL_DEFINED): New define.
14126 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14127 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14128 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14129 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14130
7a45a539
VS
141312011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 Don't override more informative errors.
14134
14135 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14136 * grub-core/font/font.c (open_section): Likewise.
14137 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14138 filename. Don't override errors.
14139 (grub_cmd_openbsd_ramdisk): Don't override errors.
14140 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14141 (grub_cmd_initrd): Likewise.
14142 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14143 (grub_cmd_initrd): Likewise.
14144 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14145 (grub_cmd_linux): Likewise.
14146 (grub_cmd_initrd): Likewise.
14147 (grub_cmd_payload): Likewise.
14148 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14149 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14150 (grub_cmd_module): Likewise.
14151 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14152 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14153 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14154 (grub_cmd_xnu_mkext): Likewise.
14155 (grub_cmd_xnu_ramdisk): Likewise.
14156 (grub_xnu_check_os_bundle_required): Likewise.
14157 (grub_xnu_load_kext_from_dir): Likewise.
14158 (grub_cmd_xnu_kextdir): Likewise.
14159 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14160
b2d004db
VS
141612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14164 as 1024 in block size field. Found on one of my test images.
14165 Small optimisation while on it.
14166
ec000eac
VS
141672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14170 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14171 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14172 performance fixes while on it.
14173 (grub_sfs_close): Fix memory leak while on it.
14174 (grub_sfs_label): Convert Latin1 to UTF-8.
14175
f50e1165
VS
141762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14179 space to avoid overflows.
14180 (grub_hfs_label): Convert from macroman to UTF-8.
14181
2ae254de
VS
141822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14185
0108f491
VS
141862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14189
f45f5f89
VS
141902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * unicode: Import Unicode 6.0 data.
14193
4d8c4765
VS
141942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14195
63fa8ef9
VS
14196 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14197 outside of range.
14198
141992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
14202
14203 * include/grub/charset.h (grub_getend): New function.
14204 * grub-core/script/function.c (grub_script_function_find): Use
14205 grub_getend.
14206 * grub-core/normal/completion.c (add_completion): Likewise.
14207
f3cb4a4e
VS
142082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14211 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14212 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14213 (GRUB_UNICODE_TAG_END): Likewise.
14214 (GRUB_UNICODE_LAST_VALID): Likewise.
14215
5da8dbc5
VS
142162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14217
14218 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14219 len and make it smaller. All users updated.
14220 * util/import_unicode.py: Put length and not end character.
14221 Check length.
14222
8569f13d
VS
142232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 Make better Unicode-compliant and unify some UTF-8 code pathes.
14226
14227 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14228 valid character.
14229 (grub_is_valid_utf8): Use grub_utf8_process.
14230 Check resulting code range.
14231 (grub_utf8_to_ucs4): Use grub_utf8_process.
14232 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14233 valid character.
14234
cc4fddf5
VS
142352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14238
bbc47747
VS
142392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 * docs/grub.texi (Filesystems): Mention AFS.
14242
f63d6bf4
VS
142432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * docs/grub.texi (Filesystems): Clarify restrictions.
14246 (Regexp): Mention non-Unicode regexp behaviour.
14247 (Other): Mention non-Unicode matching behaviour.
14248
74bbf0db
VS
142492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14250
f63d6bf4 14251 Make HFS implementation use MacRoman.
74bbf0db
VS
14252
14253 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14254 (macroman): New const array.
14255 (macroman_to_utf8): New function.
14256 (utf8_to_macroman): Likewise.
14257 (grub_hfs_find_dir): Use utf8_to_macroman.
14258 (grub_hfs_dir): Use macroman_to_utf8.
14259 Set case_insensitive.
14260
4ea0316e
VS
142612011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14264
d3c13cbd
VS
142652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 Integrate hints into autogeneration scripts.
14268
14269 * docs/grub.texi (Filesystems): Add a hostdisk example.
14270 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14271 (grub-probe): Add ofpath.
14272 * gentpl.py: Remove group nosparc64.
14273 * grub-core/commands/search.c (cache_entry): New struct.
14274 (cache): New var.
14275 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14276 * grub-core/commands/search_wrap.c (options): Add platform-specific
14277 hint options.
14278 (grub_cmd_search): Handle platform-specific hints.
14279 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14280 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14281 (grub_util_biosdisk_data): Likewise.
14282 (grub_util_biosdisk_open): Set device_map.
14283 (read_device_map): Handle "" as indication of no map.
14284 Set device_map.
14285 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14286 (grub_util_biosdisk_get_compatibility_hint): New function.
14287 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14288 * include/grub/emu/hostdisk.h
14289 (grub_util_biosdisk_get_compatibility_hint): New proto.
14290 * util/grub-install.in: Don't call grub-mkdevicemap.
14291 Add platform-specific hint to load.cfg.
14292 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14293 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14294 hints. Set root preliminary to compatibility hint, not to OS name.
14295 * util/grub-probe.c (PRINT_*): Add hints.
14296 (print): Make static.
14297 (escape_of_path): New function.
14298 (guess_bios_drive): Likewise.
14299 (guess_efi_drive): Likewise.
14300 (guess_baremetal_drive): Likewise.
14301 (print_full_name): Likewise.
14302 (probe): Handle hints.
14303 (main): Likewise.
14304 * util/ieee1275/devicemap.c: Removed.
14305 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14306 updated.
14307 (grub_util_devname_to_ofpath): Return NULL on failure.
14308
14309 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14310 resource leak.
14311 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14312
14313 * po/POTFILES.in: Regenerated.
14314
14315 Allow purely long options
14316
14317 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14318 (SHORT_ARG_USAGE): Likewise.
14319 (grub_arg_show_help): Compare opt with help_options.
14320 (parse_option): Receive opt as argument. If makes big simplificatons.
14321 All users updated
14322
00ce2df3
VS
143232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
14326 Restructure to avoid warning.
14327
e77e325f
VS
143282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * util/grub-install.in: Account for possible escaped comma in device
14331 name.
14332
165099ea
VS
143332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14336 channel.
14337
ce4a999d
VS
143382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14341 allocation and zero-setting.
14342 (grub_ieee1275_get_devname): Check that alias is complete.
14343
379586ad
VS
143442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14347 unaligned segments.
14348
9197b0ad
VS
143492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14352 prefix.
14353 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14354 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14355 Add ieee1275 prefix.
14356
edddb7f9
VS
143572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 * docs/grub.texi (Filesystems): Update.
14360
a1a8b1b9
VS
143612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14362
14363 Support odc, newc and bigendian cpio formats.
14364
14365 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
14366 * grub-core/Makefile.core.def (newc): New module.
14367 (odc): Likewise.
14368 (cpio_be): Likewise.
14369 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
14370 (MAGIC): Likewise.
14371 (MAGIC2): Likewise.
14372 (head) [MODE_ODC]: Adapt for the format.
14373 (head) [MODE_NEWC]: Likewise.
14374 (head) [!MODE_*]: Write fields of interest as arrays.
14375 (MAGIC_USTAR): Removed.
14376 (read_number) [MODE_NEWC]: Change to hex.
14377 (read_number) [!MODE_*]: Parse binary arrays.
14378 (grub_cpio_find_file): Factor out the code for better structure and
14379 always use read_number.
14380 (grub_cpio_mount): Use MAGIC and MAGIC2.
14381 (grub_cpio_dir): Exit on first hook non-0 return.
14382 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
14383 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
14384 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
14385 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
14386 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
14387 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
14388 * grub-core/fs/newc.c: New file.
14389 * grub-core/fs/odc.c: Likewise.
14390 * grub-core/fs/cpio_be.c: Likewise.
14391
58eba9ee
VS
143922011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 Fix handling of tar numbers occupying the whole field.
14395
14396 * grub-core/fs/cpio.c (read_number): New function.
14397 (grub_cpio_find_file): Use read_number instead of strtoull.
14398
a54a0e12
VS
143992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
14402 occupying the whole field size.
14403
a6120aca
LA
144042011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
14405
14406 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
14407
a93964ce
VS
144082011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
14411
3ea1ca46
SG
144122011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
14413
14414 * grub-core/Makefile.core.def (lzma_decompress): Add missing
14415 TARGET_IMG_LDFLAGS.
14416
b87f7ef2
VS
144172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * util/getroot.c (ESCAPED_PATH_MAX): New define.
14420 (mountinfo_entry): Increase the field size to take escaping into
14421 account.
14422 (find_root_device_from_libzfs): Add one byte to size of strings for
14423 security.
14424
62092395
VS
144252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
14428 an assert.
14429 * util/grub-setup.c (setup): Likewise.
14430
1f0b1a77
VS
144312011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14432
14433 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
14434 _LzmaDecodeA.
14435
8eba9997
VS
144362011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 * docs/grub.texi (Internationalisation): New section.
14439
dd0c91e9
VS
144402011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * docs/grub.texi (Loopback booting): New section.
14443
144442011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
14445
14446 * util/grub-mkstandalone.in: Fix minor typo errors.
14447
198e150a
VS
144482011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14451
14452 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14453 net/icmp.c and net/icmp6.c.
14454 (http): New module.
14455 (priority_queue): Likewise.
14456 * grub-core/io/bufio.c: Rewritten.
14457 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14458 TYPE_WITH_CONFIGFILE_OPTION.
14459 (legacy_commands): Add bootp and dhcp.
14460 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14461 (grub_legacy_parse): Likewise.
14462 * grub-core/lib/priority_queue.c: New file.
14463 * grub-core/net/arp.c: Add missing license header.
14464 (arp_find_entry): Removed.
14465 (arp_find_entry): Likewise.
14466 (grub_net_arp_resolve): Rename to ...
14467 (grub_net_arp_send_request): ...this.
14468 (grub_net_arp_receive): New card argument.
14469 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14470 Set router and DNS server.
14471 (grub_net_configure_by_dhcp_ack): Handle routing information.
14472 (grub_cmd_bootp): Set checksum.
14473 (grub_bootp_init): Remove net_dhcp.
14474 * grub-core/net/dns.c: New file.
14475 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14476 completion.
14477 (get_card_packet): Handle allocation.
14478 (grub_efinet_findcards): Set mtu.
14479 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14480 (get_card_packet): Handle allocation.
14481 (emucard): Set mtu.
14482 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14483 (GRUB_MOD_INIT): Set mtu.
14484 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14485 mtu.
14486 (get_card_packet): Handle allocation.
14487 (grub_ofnet_findcards): Set mtu.
14488 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14489 assert.
14490 (grub_net_recv_ethernet_packet): Handle IPv6.
14491 * grub-core/net/http.c: New file.
14492 * grub-core/net/icmp.c: Likewise.
14493 * grub-core/net/icmp6.c: Likewise.
14494 * grub-core/net/ip.c (ip6addr): New type.
14495 (ip6hdr): Likewise.
14496 (reassemble): Likewise.
14497 (cmp): New function.
14498 (reassembles): New variable.
14499 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14500 (id): New variable.
14501 (send_fragmented): New function.
14502 (grub_net_send_ip_packet): Rename to ...
14503 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14504 Handle non-UDP.
14505 (grub_net_recv_ip_packets): Rename to ...
14506 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14507 (free_rsm): New function.
14508 (free_old_fragments): Likewise.
14509 (grub_net_recv_ip4_packets): New function.
14510 (grub_net_send_ip6_packet): Likewise.
14511 (grub_net_send_ip_packet): Likewise.
14512 (grub_net_recv_ip6_packets): Likewise.
14513 (grub_net_recv_ip_packets): Likewise.
14514 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14515 (LINK_LAYER_CACHE_SIZE): New const.
14516 (link_layer_find_entry): New function.
14517 (grub_net_link_layer_add_address): Likewise.
14518 (grub_net_link_layer_resolve_check): Likewise.
14519 (grub_net_link_layer_resolve): Likewise.
14520 (grub_net_ipv6_get_slaac): Likewise.
14521 (grub_net_ipv6_get_link_local): Likewise.
14522 (grub_cmd_ipv6_autoconf): Likewise.
14523 (parse_ip): Handle one number representation.
14524 (parse_ip6): New functoion.
14525 (match_net): Handle IPv6.
14526 (grub_net_resolve_address): Handle IPv6 and DNS.
14527 (grub_net_resolve_net_address): Handle IPv6.
14528 (route_cmp): New function.
14529 (grub_net_route_address): Find best route.
14530 (grub_net_addr_to_str): Handle IPv6.
14531 (grub_net_addr_cmp): New function.
14532 (grub_net_add_addr): Register local route.
14533 (print_net_address): Handle net address.
14534 (grub_net_poll_cards): Retransmit TCP.
14535 (grub_net_poll_cards_idle_real): Likewise.
14536 (have_ahead): New function.
14537 (grub_net_seek_real): Use underlying seek.
14538 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14539 * grub-core/net/tcp.c: New file.
14540 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14541 (cmp): New function.
14542 (ack): Likewise.
14543 (tftp_receive): Handle unordered input.
14544 (destroy_pq): New function.
14545 (tftp_close): Close pq.
14546 * grub-core/net/udp.c: Put missing license header.
14547 (grub_net_udp_socket): New function.
14548 (udp_socket_register): Likewise.
14549 (grub_net_udp_close): Likewise.
14550 (grub_net_recv_udp_packet): Check checksum.
14551 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14552 * include/grub/misc.h (grub_memchr): New function.
14553 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14554 (grub_net_card_driver): Return buf in recv.
14555 (grub_net_slaac_mac_list): New struct.
14556 (grub_network_level_protocol_id): Add ipv6.
14557 (grub_net_network_level_addr): Likewise.
14558 (grub_net_network_level_net_addr): Likewise.
14559 (grub_net_app_protocol): Add seek.
14560 (grub_net_socket): Removed.
14561 (grub_net_sockets): Likewise.
14562 (grub_net_socket_register): Likewise.
14563 (grub_net_socket_unregister): Likewise.
14564 (FOR_NET_SOCKETS): Likewise.
14565 (grub_net_add_addr): Add const.
14566 (GRUB_NET_BOOTP_*): New enum.
14567 (grub_net_addr_cmp): New proto.
14568 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14569 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14570 (grub_net_hwaddr_to_str): NEw proto.
14571 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14572 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14573 (grub_dns_init): New proto.
14574 (grub_dns_fini): Likewise.
14575 (grub_net_tcp_retransmit): Likewise.
14576 (grub_net_link_layer_add_address): Likewise.
14577 (grub_net_link_layer_resolve_check): Likewise.
14578 (grub_net_link_layer_resolve): Likewise.
14579 (grub_net_dns_lookup): Likewise.
14580 (grub_net_add_dns_server): Likewise.
14581 (grub_net_remove_dns_server): Likewise.
14582 (GRUB_NET_TRIES): New const.
14583 (GRUB_NET_INTERVAL): Likewise.
14584 * include/grub/net/arp.h: Mostly rewritten.
14585 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14586 * include/grub/net/ip.h: Mostly rewritten.
14587 * include/grub/net/netbuff.h: Indent.
14588 * include/grub/net/tcp.h: New file.
14589 * include/grub/net/udp.h: Mostly rewritten.
14590 * include/grub/priority_queue.h: New file.
14591 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14592 (grub_swap_bytes64_compile_time): Likewise.
14593 (grub_cpu_to_be16_compile_time): Likewise.
14594 (grub_cpu_to_be32_compile_time): Likewise.
14595 (grub_cpu_to_be64_compile_time): Likewise.
14596 (grub_be_to_cpu64_compile_time): Likewise.
14597
215c1800
VS
145982011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14601 UINT_TO_PTR with cast.
14602
c17e546c
VS
146032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14606 don't use them.
14607
ff6b18b6
VS
146082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14609
14610 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14611 already there.
14612
70ffcc93
VS
146132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14616 confusing ipxe.
14617
e5f4d260
VS
146182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14621 Add missing const attribute.
14622 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14623 Likewise.
14624 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14625 Likewise.
14626
8e54b4b7
VS
146272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14630 misaligned access.
14631 (serpent_setkey): Likewise.
14632 (serpent_encrypt_internal): Likewise.
14633 (serpent_decrypt_internal): Likewise.
14634 (serpent_encrypt): Don't put an alignment-increasing cast.
14635 (serpent_decrypt): Likewise.
14636 (serpent_test): Likewise.
14637
813c0a2b
VS
146382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14641
f2b60fbd
VS
146422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14645
14646 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14647 grub_addr_t casts.
14648 (PTR_TO_UINT64): Likewise.
14649 (PTR_TO_UINT32): Likewise.
14650
5ef5c511
VS
146512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14654 because of stack.
14655 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14656 limit.
14657
c476e6df
VS
146582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14661 text_width > available width a bit more gracefully.
14662
384ad7cc
VS
146632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14666 current address calculation.
14667
96f8caf8
VS
146682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14671 stack.
14672 (encode_block): Likewise.
14673
276b7a8b
VS
146742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14677 certainety.
14678
e3fd394a
VS
146792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14680
14681 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14682 non-RS part to avoid RS messing with GDT.
14683 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14684 Increase to suit in realmode routines.
14685
146862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 * grub-core/kern/i386/realmode.S: Increase alignment.
14689 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14690
ee9c2e7a
VS
146912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14694 be deterministic.
14695 (syndroms): Compute 0 syndrom.
14696 (rs_recover): Use 0 syndrom.
14697
7a7f7cc9
VS
146982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14701
a14b16d1
VS
147022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14705 brackets.
14706
9f59e9fc
VS
147072011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14708
ca1b552c
VS
14709 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14710 account.
14711 (get_top_pad): Likewise.
14712 (get_right_pad): Likewise.
14713 (get_bottom_pad): Likewise.
14714
147152011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14718
e739d698
VS
147192011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14722 attribute as the structure isn't guaranteed to be properly aligned.
14723 (grub_efi_pci_device_path): Likewise.
14724 (grub_efi_pccard_device_path): Likewise.
14725 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14726 specify the size of `memory_type'.
14727 (grub_efi_vendor_device_path): Likewise.
14728 (grub_efi_controller_device_path): Likewise.
14729 (grub_efi_acpi_device_path): Likewise.
14730 (grub_efi_expanded_acpi_device_path): Likewise.
14731 (grub_efi_atapi_device_path): Likewise.
14732 (grub_efi_scsi_device_path): Likewise.
14733 (grub_efi_fibre_channel_device_path): Likewise.
14734 (grub_efi_1394_device_path): Likewise.
14735 (grub_efi_usb_device_path): Likewise.
14736 (grub_efi_usb_class_device_path): Likewise.
14737 (grub_efi_i2o_device_path): Likewise.
14738 (grub_efi_mac_address_device_path): Likewise.
14739 (grub_efi_ipv4_device_path): Likewise.
14740 (grub_efi_ipv6_device_path): Likewise.
14741 (grub_efi_infiniband_device_path): Likewise.
14742 (grub_efi_uart_device_path): Likewise.
14743 (grub_efi_vendor_messaging_device_path): Likewise.
14744 (grub_efi_hard_drive_device_path): Likewise.
14745 (grub_efi_cdrom_device_path): Likewise.
14746 (grub_efi_vendor_media_device_path): Likewise.
14747 (grub_efi_file_path_device_path): Likewise.
14748 (grub_efi_protocol_device_path): Likewise.
14749 (grub_efi_piwg_device_path): Likewise.
14750 (grub_efi_bios_device_path): Likewise.
14751
cb8f88ea
VS
147522011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14755 (grub_ucs4_to_utf8_alloc): Likewise.
14756 (grub_ucs4_to_utf8): Likewise.
14757 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14758 (grub_ucs4_to_utf8_alloc): Likewise.
14759
309e5352
VS
147602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 AFFS never uses unicode.
14763
14764 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14765 (grub_latin1_to_utf8): New inline function.
14766 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14767
e7987e1b
VS
147682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14771 overflow.
14772
efc2616e
VS
147732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14776 (grub_squash_dirent_header): Likewise.
14777 (read_chunk): Don't double swap.
14778 (grub_squash_iterate_dir): Fix swap sizes.
14779
3c349f5a
VS
147802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14781
14782 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14783
b453412d
VS
147842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14785
14786 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14787 (grub_hfs_iterate_dir): Likewise.
14788
12e9d4d1
VS
147892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 Fix video on platforms where unaligned access is forbidden.
14792 Make several optimisations while on it.
14793
14794 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14795 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14796 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14797 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14798 Disable.
14799 (grub_video_fbblit_replace_16bit_1bit):
14800 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14801 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14802 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14803 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14804 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14805 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14806 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14807 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14808 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14809 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14810 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14811 (grub_video_fbblit_replace_index_RGB888): Likewise.
14812 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14813 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14814 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14815 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14816 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14817 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14818 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14819 Disable.
14820 (grub_video_fbblit_blend_XXX565_1bit):
14821 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14822 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14823 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14824 void *.
14825 * grub-core/video/fb/video_fb.c (common_blitter)
14826 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14827 (grub_video_fb_create_render_target_from_pointer)
14828 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14829 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14830 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14831 definition.
14832 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14833
ace96609
VS
148342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14837 HH22 and HM10 relocations.
14838
fd261d73
VS
148392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14842
e59b7857
VS
148432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14846 allocation succeeded.
14847
9b4baaa4
VS
148482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14851 argument a u8 pointer. All users updated.
14852 Handle unaligned buffers.
14853
dc713193
VS
148542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14855
14856 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14857 add_part to workaround compiler bug.
14858
30dd48c2
VS
148592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14862
0c6087a8
VS
148632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14866 Reserve alignment invariants.
14867 (grub_multiboot_load): Likewise.
14868 (retrieve_video_parameters): Likewise.
14869 (grub_multiboot_make_mbi): Likewise.
14870
c2e77777
VS
148712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14874 incorrect pointer.
14875
b70b6d11
VS
148762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14879 (grub_pata_pio_write): Likewise.
14880
02a2bf83
VS
148812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 Add noreturn attributes and remove unreachable code.
14884
14885 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14886 code.
14887 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14888 code. Mark as noreturn.
14889 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14890 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14891 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14892 unreachable code.
14893 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14894 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14895 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14896 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14897 * include/grub/kernel.h (grub_main): Mark as noreturn.
14898 * include/grub/reader.h (grub_rescue_run): Likewise.
14899
2019d09e
VS
149002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14903 redundant declaration.
14904
d1c501ee
VS
149052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14908 redundant declaration.
14909 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14910
61664420
VS
149112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14914 to ensure alignment.
14915 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14916 alignment. Ensure tmp alignment.
14917 (grub_cmd_hdparm): Ensure buf alignment.
14918 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14919 to ensure alignment.
14920 (grub_ata_dumpinfo): Ensure text alignment.
14921 (grub_atapi_identify): Preserve alignment invariant.
14922 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14923
0d51ee20
VS
149242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14927 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14928 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14929 * include/grub/misc.h (grub_reboot)
14930 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14931 (grub_halt) [__mips__]: Likewise.
14932
753ef8c1
VS
149332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14936 Remove redundant declaration.
14937 (grub_mmap_get_post64): Likewise.
14938 (grub_mmap_get_upper): Likewise.
14939 (grub_mmap_get_lower): Likewise.
14940
85c85365
VS
149412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14944 uint32_t * to ensure alignment.
14945 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14946
a23f2cc4
VS
149472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14948
93018f64
VS
14949 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14950 uint16_t * to ensure alignment.
14951 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14952 alignment.
14953
149542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14957 to ensure alignment.
14958 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14959
58acccd6
VS
149602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14963 Handle unaligned pointers.
14964 (u32at): Likewise.
14965 (u64at): Likewise.
14966 (fixup): Use byte access instead of v16at.
14967 (find_attr): Fix imporper usage of v32at.
14968 (read_data): Likewise.
14969 (list_file): Handle byte-swapping and unaligned strings.
14970 (grub_ntfs_label): Likewise.
14971
9b05cad7
VS
149722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14975 as it's not necessarily aligned.
14976
b3950b84
VS
149772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14980 redundant declaration.
14981 (grub_serial_init): Likewise.
14982 (grub_terminfo_init): Likewise.
14983
fcd232b7
VS
149842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14987 function.
14988 (ZAP_HASH_IDX): Likewise.
14989 (ZAP_LEAF_HASH_SHIFT): Likewise.
14990 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14991 (LEAF_HASH): Likewise.
14992 (ZAP_LEAF_NUMCHUNKS): Likewise.
14993 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14994 alignment invariants. Return pointer. All users updated.
14995 (ZAP_LEAF_ENTRY): Make into inline function.
14996 (NBBY): Removed.
14997 (xor): LIkewise.
14998 (xor_out): Use grub_crypto_xor.
14999 (dnode_get_path): Use grub_get_unaligned.
15000 (nvlist_find_value): Likewise.
15001 (grub_zfs_nvlist_lookup_uint64): Likewise.
15002 (grub_zfs_nvlist_lookup_string): Likewise.
15003 (get_nvlist_size): Likewise.
15004 (grub_zfs_open): Likewise.
15005 (fill_fs_info): Likewise.
15006 (grub_zfs_dir): Likewise.
15007 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15008 alignment invariants.
15009 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15010 necessarily aligned.
15011
f138623a
VS
150122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15015
564840dc
VS
150162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15019 arithmetic to conserve alignment invariants.
15020
9b40df20
VS
150212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15024 redundant declaration.
15025 (grub_efiemu_mm_obtain_request): Likewise.
15026 (grub_efiemu_prepare): Likewise.
15027
d1c930f9
VS
150282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15031 to match types.
15032
4c5f3056
VS
150332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15036 case of aunaligned recptr.
15037 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15038 alignment.
15039 (grub_hfsplus_btree_search): Handle unaligned index.
15040
728cba91
VS
150412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15044 to get freetag and skip.
15045
eb561f31
VS
150462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15049 array.
15050 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15051 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15052
20993fbb
VS
150532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15056 name for checksum and fix allocation algorithm.
15057
1f313b94
VS
150582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * include/grub/types.h (grub_properly_aligned_t): New type.
15061 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15062 (grub_get_unaligned16): Add explicit casts.
15063 (grub_get_unaligned32): Likewise.
15064 (grub_get_unaligned64): Likewise.
15065 (grub_set_unaligned16): New function.
15066 (grub_set_unaligned32): Likewise.
15067
47ae27ec
VS
150682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15071
78c2cd1c
VS
150722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15075 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15076 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15077
53072f9b
VS
150782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15081 conditionals.
15082
055dc239
VS
150832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15086 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15087
496bd074
VS
150882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 Unify and improve RAID and crypto xor.
15091
15092 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15093 changed to grub_crypto_xor
15094 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15095 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15096 Use bigger types when possible.
15097
ef6e4335
VS
150982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * grub-core/disk/raid.c (scan_devices): Fix condition.
15101
5d048bf2
VS
151022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15105 Make name a const ptr.
15106
ee533335
VS
151072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15110 first argument a const pointer.
15111 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15112 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15113 proto.
15114 (grub_children_iterate): Likewise.
15115 (grub_machine_mmap_iterate): Remove redundant declaration.
15116
cc8f3668
VS
151172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15120 (grub_cmd_acpi) [!x86]: Disable EBDA.
15121
c5fc563a
VS
151222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 Enable UTF8 in gnulib regexp.
15125
15126 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15127 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15128 (isupper): Use grub_isupper.
15129 (isascii): New inline function.
15130 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15131 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15132 * grub-core/normal/charset.c (grub_utf8_process): New function.
15133 (grub_utf8_to_utf16): Use grub_utf8_process.
15134 (grub_encode_utf8_character): New function.
15135 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15136 * include/grub/charset.h (grub_utf8_process): New declaration.
15137 (grub_encode_utf8_character): Likewise.
15138 * include/grub/misc.h (grub_islower): New inline function.
15139 (grub_isupper): Likewise.
15140 (grub_strchrsub): Moved down to fix the definitions.
15141
0af2346f
VS
151422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15145 specification.
15146
74dbd244
VS
151472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * include/grub/loader.h (grub_loader_register_preboot_hook):
15150 Use struct preboot * and not void * for handle. All users updated.
15151 (grub_loader_unregister_preboot_hook): Likewise.
15152
1bc8f60d
VS
151532011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15156 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15157 UTF-16-BE. All users updated.
15158 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15159 (grub_hfsplus_iterate_dir): Likewise.
15160 (grub_hfsplus_label): Likewise.
15161
48d6e456
VS
151622011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15165
bf3a3857
VS
151662011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15167
15168 Add missing const qualifiers.
15169
15170 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15171 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15172 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15173 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15174 (grub_lvm_check_flag): Likewise.
15175 * grub-core/efiemu/i386/coredetect.c
15176 (grub_efiemu_get_default_core_name): Likewise
15177 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15178 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15179 * grub-core/fs/ntfs.c (fixup): Likewise.
15180 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15181 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15182 (fzap_lookup): Likewise.
15183 (zap_lookup): Likewise.
15184 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15185 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15186 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15187 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15188 (grub_freebsd_add_meta_module): Likewise.
15189 (grub_cmd_freebsd_module): Likewise.
15190 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15191 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15192 (grub_xnu_writetree_get_size): Likewise.
15193 (grub_xnu_writetree_toheap_real): Likewise.
15194 (grub_xnu_find_key): Likewise.
15195 (grub_xnu_create_key): Likewise.
15196 (grub_xnu_create_value): Likewise.
15197 (grub_xnu_register_memory): Likewise.
15198 (grub_xnu_check_os_bundle_required): Likewise.
15199 (grub_xnu_scan_dir_for_kexts): Likewise.
15200 (grub_xnu_load_kext_from_dir): Likewise.
15201 * grub-core/normal/color.c (color_list): Likewise.
15202 * grub-core/normal/completion.c (current_word): Likewise.
15203 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15204 * grub-core/term/serial.c (grub_serial_find): Likewise.
15205 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15206 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15207 Likewise.
15208 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15209 (grub_freebsd_add_meta_module): Likewise.
15210 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15211 * include/grub/net.h (grub_net_card_driver): Likewise.
15212 (grub_net_card): Likewise.
15213 (grub_net_app_protocol): Likewise.
15214 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15215 * include/grub/serial.h (grub_serial_find): Likewise.
15216 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15217 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15218 (grub_xnu_create_value): Likewise.
15219 (grub_xnu_find_key): Likewise.
15220 (grub_xnu_scan_dir_for_kexts): Likewise.
15221 (grub_xnu_load_kext_from_dir): Likewise.
15222
15223 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15224 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15225 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15226 Moved from here ...
15227 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15228
112b4837
CW
152292011-11-28 Colin Watson <cjwatson@ubuntu.com>
15230
15231 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15232
49e891ac
VS
152332011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15234
15235 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15236 (read_device): Fix size calculation.
15237
fd258e5c
RM
152382011-11-25 Robert Millan <rmh@gnu.org>
15239
15240 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15241 (find_root_device_from_libzfs): Add zpool output parser to be used
15242 as fallback when libzfs isn't available.
15243
78845dc2
SG
152442011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15245
15246 * po/Makefile.in.in: Add missing escape-continuation.
15247
adac5211
VS
152482011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15251
10b64f1c
VS
152522011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15255
bb416954
VS
152562011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15259
bdfe9eeb
VS
152602011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15263
581ffa8a
VS
152642011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 * grub-core/lib/adler32.c: Add missing license specification.
15267 * grub-core/lib/crc64.c: Likewise.
15268 * grub-core/loader/i386/pc/plan9.c: Likewise.
15269 * grub-core/partmap/plan.c: Likewise.
15270
2536cf64
LK
152712011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15272
15273 Add facility to debug GRUB with gdb under qemu.
15274
15275 * grub-core/gdb_grub.in: New file.
15276 * grub-core/gmodule.pl.in: Likewise.
15277 * grub-core/Makefile.core.def (gmodule.pl): New script.
15278 (gdb_grub): Likewise.
15279
bc108a4a
VS
152802011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 * util/grub-mount.c (argp_parser): Accept relative pathes.
15283 * util/grub-fstest.c (argp_parser): Likewise.
15284
111c1778
VS
152852011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 Plan9 support.
15288
15289 * Makefile.util.def (libgrubmods): Add
15290 grub-core/partmap/plan.c.
15291 * docs/grub.texi: Notice Plan9 support.
15292 * grub-core/Makefile.core.def (plan9): New module.
15293 (part_plan): Likewise.
15294 * grub-core/loader/i386/pc/plan9.c: New file.
15295 * grub-core/partmap/plan.c: Likewise.
15296 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15297 define.
15298 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15299 * include/grub/mm.h (grub_extend_alloc): New inline function.
15300
c30be3b6
VS
153012011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15302
15303 Make Reed-Solomon faster by using power of generator representation of
15304 GF(256)*.
15305
15306 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15307 (gf_double_t): Likewise.
15308 (gf_invert): Removed.
15309 (gf_powx): New array.
15310 (gf_powx_inv): Likewise.
15311 (scratch): Move higher.
15312 (gf_reduce): Removed.
15313 (gf_mul): Use powx.
15314 (gf_invert): Likewise.
15315 (init_inverts): Replaced with ...
15316 (init_powx): ...this. All users updated.
15317 (pol_evaluate): Replace multiplications with additions.
15318 (rs_encode): Likewise.
15319 (gauss_eliminate): Call gf_invert.
15320 (grub_reed_solomon_add_redundancy): Call init_powx.
15321 (grub_reed_solomon_recover): Call init_powx unconditionally.
15322
fa5aeffc
VS
153232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
15326
a346b81c
VS
153272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
15330 disk->partiton for safety.
15331
d89ee414
VS
153322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15333
15334 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
15335 Fix a memory leak.
15336 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15337
91ee7b6d
VS
153382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15341
91e5a33d
VS
153422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15343
15344 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15345
9edd7be2
VS
153462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 Fix spaces handling in proc/self/mountinfo.
15349
15350 * util/getroot.c (unescape): New function.
15351 (grub_find_root_device_from_mountinfo): Use unescape.
15352
ba102053
VS
153532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 Support ZFS embedding.
15356
15357 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15358 (grub_zfs_fs): Register grub_zfs_embed.
15359
aa94b870
VS
153602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 Fix MIPS compilation.
15363
15364 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
15365 * include/grub/offsets.h: Rename decompressor fields from
15366 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
15367 * util/grub-mkimage.c (image_targets): Use new names.
15368
5fbdac14
VS
153692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 Defer multiboot device parsing until we're in compressed part.
15372
15373 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
15374 bsd_part. setdevice has fallen into disuse.
15375 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
15376 (bsd_part): Likewise.
15377 (boot_dev): New variable.
15378 (multiboot_trampoline): Don't parse multiboot device.
15379 Pass multiboot device in %edx.
15380 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
15381 grub_boot_device.
15382 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
15383 Likewise.
15384 * grub-core/kern/i386/pc/startup.S: Save edx.
15385 (grub_boot_drive): Removed.
15386 (grub_install_dos_part): Likewise.
15387 (grub_install_bsd_part): Likewise.
15388 (grub_boot_device): New variable.
15389 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
15390 (grub_install_bsd_part): Likewise.
15391 (grub_boot_drive): Likewise.
15392 (grub_boot_device): New variable.
15393 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
15394 Removed.
15395 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15396 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
15397 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
15398 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
15399 * util/grub-install.in: Remove redundant condition.
15400
691cbb58
VS
154012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 Fix bug introduced by previous commit.
15404
15405 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
15406
60240b8b
VS
154072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 Use decompressors framework on i386-pc. It increases core size
15410 by 46 bytes but improves compatibility and maintainability.
15411
15412 * grub-core/Makefile.core.def (lzma_decompress): New image.
15413 (kernel): Add i386_pc_ldflags.
15414 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
15415 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
15416 to real_to_prot, prot_to_real and device info.
15417 * include/grub/offsets.h: Renamed decompressor offsets.
15418 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
15419 (image_target_desc): Remove raw_size and rename decompressor fields.
15420 (compress_kernel): Handle lzma.
15421 (generate_image): Handle decompressors on i386-pc.
15422
e9d3421c
VS
154232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 * configure.ac: Add -fno-asynchronous-unwind-tables.
15426
2b23074a
VS
154272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 Move assembly code to C by using intwrap. It increases core size
15430 by 88 bytes but improves compatibility and maintainability.
15431
15432 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
15433 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
15434 ... here. Translated to C.
15435 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
15436 * grub-core/term/i386/pc/console.c (grub_console_getkey):
15437 ... here. Translated to C.
15438 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
15439 * grub-core/term/i386/pc/console.c (grub_console_getxy):
15440 ... here. Translated to C.
15441 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
15442 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
15443 ... here. Translated to C.
15444 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
15445 * grub-core/term/i386/pc/console.c (grub_console_cls):
15446 ... here. Translated to C.
15447 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15448 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15449 ... here. Translated to C.
15450 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15451 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15452 Translated to C.
15453 * grub-core/term/i386/pc/console.c (int10_9): New function.
15454 (grub_console_putchar): Likewise.
15455 * include/grub/i386/pc/console.h: Removed the not anymore shared
15456 functions.
15457
678f4b67
VS
154582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 Move grub_chainloader_real_boot out of the kernel.
15461
15462 * grub-core/Makefile.am: Remove machine/loader.h.
15463 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15464 Removed.
15465 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15466 variable.
15467 (grub_relocator16_keep_a20_enabled): Likewise.
15468 (grub_relocator16_boot): Fill new variables.
15469 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15470 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15471 relocator.
15472 (grub_chainloader_unload): Likewise.
15473 (grub_chainloader_cmd): Likewise.
15474 * include/grub/i386/pc/loader.h: Removed.
15475 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15476 and esi. All initialisers updated.
15477
4626edf6
VS
154782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
154792011-11-12 Colin Watson <cjwatson@ubuntu.com>
15480
15481 * Makefile.util.def (grub-mount): New util.
15482 * .bzrignore: Add grub-mount.
15483 * configure.ac: Check for fuse and enable grub-mount if available.
15484 * docs/man/grub-mount.h2m: New file.
15485 * util/grub-mount.c: Likewise.
15486
10f0117b
VS
154872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 * grub-core/commands/efi/fixvideo.c: Gettextize.
15490 * grub-core/commands/hashsum.c: Likewise.
15491 * grub-core/commands/i386/cmostest.c: Likewise.
15492 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15493 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15494 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15495 * grub-core/commands/lsmmap.c: Likewise.
15496 * grub-core/commands/menuentry.c: Likewise.
15497 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15498 * grub-core/commands/setpci.c: Likewise.
15499 * grub-core/loader/i386/bsd.c: Likewise.
15500 * grub-core/loader/i386/linux.c: Likewise.
15501 * util/getroot.c: Likewise.
15502 * util/grub-editenv.c: Likewise.
15503 * util/grub-fstest.c: Likewise.
15504 * util/grub-mkfont.c: Likewise.
15505 * util/grub-mkimage.c: Likewise.
15506 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15507 * util/grub-pe2elf.c: Likewise.
15508 * util/grub-probe.c: Likewise.
15509 * util/grub-setup.c: Likewise.
15510 * util/ieee1275/ofpath.c: Likewise.
15511 * util/misc.c: Likewise.
15512 * util/raid.c: Likewise.
15513
566f779b
RM
155142011-11-11 Robert Millan <rmh@gnu.org>
15515
15516 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15517 __attribute__((unused)) from `os_dev', which *is* being used.
15518
b50787de
VS
155192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15522 forgotten define.
15523 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15524 GRUB_IA64_DL_GOT_ALIGN.
15525 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15526 GRUB_IA64_DL_TRAMP_ALIGN.
15527
119d11c8
VS
155282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 Replace grub_fatal with normal errors in i386 linux loader.
15531
15532 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15533 (allocate_pages): Check find_efi_mmap_size return value.
15534 (grub_e820_add_region): Return error.
15535 (grub_linux_boot): Check mmap return value.
15536
6e0632e2
VS
155372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * grub-core/commands/acpihalt.c: Gettextized.
15540 * grub-core/commands/cacheinfo.c: Likewise.
15541 * grub-core/commands/cmp.c: Likewise.
15542 * grub-core/commands/efi/loadbios.c: Likewise.
15543 * grub-core/commands/gptsync.c: Likewise.
15544 * grub-core/commands/ieee1275/suspend.c: Likewise.
15545 * grub-core/commands/legacycfg.c: Likewise.
15546 * grub-core/commands/memrw.c: Likewise.
15547 * grub-core/commands/minicmd.c: Likewise.
15548 * grub-core/commands/parttool.c: Likewise.
15549 * grub-core/commands/time.c: Likewise.
15550 * grub-core/commands/videoinfo.c: Likewise.
15551 * grub-core/disk/geli.c: Likewise.
15552 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15553 * grub-core/disk/luks.c: Likewise.
15554 * grub-core/disk/lvm.c: Likewise.
15555 * grub-core/font/font_cmd.c: Likewise.
15556 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15557 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15558 * grub-core/gfxmenu/view.c: Likewise.
15559 * grub-core/kern/emu/hostdisk.c: Likewise.
15560 * grub-core/kern/emu/main.c: Likewise.
15561 * grub-core/kern/emu/misc.c: Likewise.
15562 * grub-core/kern/emu/mm.c: Likewise.
15563 * grub-core/kern/mips/arc/init.c: Likewise.
15564 * grub-core/kern/mips/loongson/init.c: Likewise.
15565 * grub-core/kern/partition.c: Likewise.
15566 * grub-core/lib/i386/halt.c: Likewise.
15567 * grub-core/lib/mips/arc/reboot.c: Likewise.
15568 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15569 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15570 * grub-core/loader/i386/xnu.c: Likewise.
15571 * grub-core/loader/multiboot.c: Likewise.
15572 * grub-core/net/bootp.c: Likewise.
15573 * grub-core/net/net.c: Likewise.
15574 * grub-core/normal/term.c: Likewise.
15575 * grub-core/partmap/bsdlabel.c: Likewise.
15576 * grub-core/parttool/msdospart.c: Likewise.
15577 * grub-core/term/gfxterm.c: Likewise.
15578 * grub-core/term/terminfo.c: Likewise.
15579 * grub-core/video/i386/pc/vbe.c: Likewise.
15580 * util/grub-menulst2cfg.c: Likewise.
15581 * util/grub-mkdevicemap.c: Likewise.
15582 * util/grub-mklayout.c: Likewise.
15583 * util/grub-mkrelpath.c: Likewise.
15584 * util/grub-script-check.c: Likewise.
15585 * util/ieee1275/grub-ofpathname.c: Likewise.
15586 * util/resolve.c: Likewise.
15587
073aa7a9
VS
155882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 Support %1$d syntax.
15591
15592 * tests/printf_unit_test.c: New file.
15593 * Makefile.util.def (printf_test): New test.
15594 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15595
c76b5417
VS
155962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15599 fix.
15600
df067ad1
VS
156012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15604 dprintf.
15605 * grub-core/font/font.c (grub_font_load): Likewise.
15606
5b289bc5
VS
156072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * util/grub-macho2img.c: Add comment concerning gettext.
15610 * grub-core/lib/legacy_parse.c: Likewise.
15611
c1860f87
VS
156122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15615 (grub_xvasprintf): Likewise.
15616
d35d0d37
VS
156172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 Add const keyword to grub_env_get and gettextize week days.
15620
15621 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15622 (grub_read_hook_datetime): Return const char *.
15623 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15624 updated.
15625 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15626 Mark for gettext.
15627 (grub_get_weekday_name): Return const char *. Call gettext.
15628 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15629 char * and len as the argument. All users updated.
15630 (grub_script_argv_split_append): Receive const char *.
15631 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15632 * include/grub/env.h (grub_env_get): Likewise.
15633 (grub_env_read_hook_t): Return const char *.
15634 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15635 (grub_script_argv_split_append): Likewise.
15636
9aed8a71
VS
156372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15640
067fdf00
VS
156412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15644 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15645
a8bd9d39
VS
156462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15649 Fix prototype.
15650
f7ce5baf
VS
156512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 Fix mips compilation.
15654
15655 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15656 normal decoder.
15657 (hashes): Use in embed decoder as well (for sizes).
15658 (dec_stream_header): Fix embed decompressor logic.
15659 (dec_stream_footer): Likewise.
15660
9bb182f3
VS
156612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15664 an error and not a fatal on unrecognised relocation types.
15665
63a9e6f6
VS
156662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15669 Issue error rather than printf on unknown arguments.
15670
4c458569
VS
156712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15672
15673 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15674 Make buf a const.
15675
e2d22baf
VS
156762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15677
15678 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15679 Fix module name.
15680
53dc8590
VS
156812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15684 leftover debug printf.
15685
6c189294
VS
156862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15689
f7688369
VS
156902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15693 A stylistic fix.
15694
11a775a3
VS
156952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15696
15697 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15698
33f784e8
SL
156992011-11-10 Shea Levy <slevy@tieronedesign.com>
15700
15701 Allow all modules to perform serial IO
15702
15703 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15704 * include/grub/serial.h (grub_serial_port_configure): New inline
15705 function.
15706 (grub_serial_port_fetch): Likewise.
15707 (grub_serial_port_put): Likewise.
15708 (grub_serial_port_fini): Likewise.
15709 (grub_serial_find): New proto.
15710
f6276525
VS
157112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 Put symlink at the end of the node and fix a potential
15714 memory corruption.
15715
15716 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15717 Make symlink into an array.
15718 (set_rockridge): Set have_symlink and alloc_dirents.
15719 (grub_iso9660_read_symlink): Use new layout.
15720 (grub_iso9660_iterate_dir): Fix memory corruption.
15721 Use new layout.
15722 (grub_iso9660_dir): Set have_symlink.
15723 (grub_iso9660_open): Likewise.
15724
c3591189
VS
157252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 Remove local keyword.
15728
15729 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15730 (version_test_gt): Likewise.
15731 (version_find_latest): Likewise.
15732 (gettext_printf): Likewise.
15733 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15734
cb544caa
VS
157352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15738
45bd824d
VS
157392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 Fix ZFS memory and resource leaks.
15742
15743 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15744 All users updated.
15745 Free type on exit.
15746 (fill_vdev_info): New parameter inserted. All users updated.
15747 (check_pool_label): Likewise.
15748 (scan_disk): Likewise.
15749 (scan_devices): Close non-inserted disks.
15750 (fzap_iterate): Free l.
15751 (unmount_device): Free children descripto memory.
15752
ad9a2f44
VS
157532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15756 argument (access out of bounds).
15757
6b68db81
VS
157582011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15761 >= 6 drives.
15762
28840fda
VS
157632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15766 Fix declaration.
15767
8a5a3a5b
VS
157682011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 Fix several memory leaks.
15771
15772 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15773 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15774 (grub_cpio_dir): Likewise.
15775 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15776 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15777 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15778 (grub_romfs_label): Likewise.
15779 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15780 (squash_unmount): New function.
15781 (grub_squash_dir): Fix memory leak.
15782 (grub_squash_open): Likewise.
15783 (grub_squash_read): Likewise.
15784 (grub_squash_mtime): Likewise.
15785 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15786 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15787 * util/grub-fstest.c (fstest): Likewise.
15788
57b01250
VS
157892011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15792 avoid accessing beyond the array.
15793
19e81ba7
VS
157942011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15797
52b656c0
VS
157982011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 Several AFFS fixes.
15801
15802 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15803 (GRUB_AFFS_FLAG_FFS): Removed.
15804 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15805 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15806 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15807 (grub_fshelp_node): Make block 32-bit.
15808 Add block_cache and last_block_cache.
15809 (grub_affs_read_block): Fill and use block cache.
15810 (grub_affs_read_file): Removed.
15811 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15812 boot block.
15813 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15814 safety.
15815 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15816 space.
15817 (grub_affs_close): Free block cache.
15818 (grub_affs_read): Use grub_fshelp_read_file directly.
15819
438a746a
VS
158202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15823 with no error set.
15824
49a45021
VS
158252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15828 used variable.
15829 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15830 Likewise.
15831
3ae17eb8
VS
158322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15833
15834 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15835
15836 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15837 byteswap when needed.
15838
27610c38
VS
158392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 Fix FreeBSD compilation.
15842
15843 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15844 to avoid circular dependency.
15845 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15846 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15847 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15848
4a19b601
VS
158492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 Fix ZFS crypto error types.
15852
15853 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15854 (grub_gcm_decrypt): Likewise.
15855 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15856 from PBKDF2.
15857
958ee221
VS
158582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 Illumos support.
15861
15862 * Makefile.util.def (10_illumos): New script.
15863 * configure.ac: Set COND_HOST_ILLUMOS.
15864 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15865 Support Illumos calls.
15866 (find_partition_start) [__sun__]: Likewise.
15867 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15868 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15869 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15870 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15871 device.
15872 * util/grub-probe.c (probe) [__sun__]: Do character check.
15873 * util/grub.d/10_illumos.in: New file.
15874
cac14fb6
VS
158752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 Support escaped commas in hostdisk.
15878
15879 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15880 (find_grub_drive): Use unescape_cmp.
15881 (make_device_name): Escape commas.
15882
78e08dc3
VS
158832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15886
9f421dd1
VS
158872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15890 variable.
15891
ed64e9e2
VS
158922011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 Support trampoline jumps on powerpc.
15895
15896 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15897 __ia64__ path.
15898 (grub_dl_load_segments): Set mod->sz.
15899 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15900 segments.
15901 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15902 (jump): Likewise.
15903 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15904 function.
15905 (trampoline): New struct.
15906 (trampoline_template): New const.
15907 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15908 * include/grub/dl.h (grub_dl): Add sz element.
15909 [__powerpc__]: Follow __ia64__.
15910 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15911 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15912 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15913 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15914
3084ede4
VS
159152011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 ZFS crypto support.
15918
15919 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15920 * grub-core/Makefile.core.def (zfscrypt): New module.
15921 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15922 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15923 it. All users updated.
15924 (grub_zfs_decrypt): New var.
15925 (grub_zfs_load_key): Likewise.
15926 (zio_checksum_functions): Add SHA256+MAC.
15927 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15928 (zio_read): Handle encrypted blocks.
15929 (zap_verify): Remove incorrect check.
15930 (fzap_iterate): Handle non-standard fzap.
15931 (zap_iterate): Likewise.
15932 (zap_iterate_u64): New function.
15933 (dnode_get_fullpath): Load keys.
15934 * grub-core/fs/zfs/zfscrypt.c: New file.
15935 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15936 (grub_crypto_ecb_encrypt): Make input const.
15937 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15938 (grub_crypto_ecb_encrypt): Make input const.
15939 (GRUB_CIPHER_AES): New macro.
15940 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15941 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15942 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15943 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15944 prefix. All users updated.
15945 (grub_zfs_add_key): New proto.
15946 (grub_zfs_decrypt): Likewise.
15947 (grub_zfs_load_key): Likewise.
15948 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15949 * util/grub-fstest.c (options): Add -K option.
15950 (argp_parser): Likewise.
15951
b632b404
VS
159522011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 Support zle compression on ZFS.
15955
15956 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15957 (decomp_table): Add zle.
15958 * include/grub/zfs/zio.h (zio_compress): Add zle.
15959
c7ba4f69
VS
159602011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 Support BtrFS embedding.
15963
15964 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15965 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15966 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15967 * util/grub-setup.c (setup): Use fs embedding if available.
15968 Add additional sanity check.
15969
455377d9
VS
159702011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * util/grub-install.in: Fix condition for config_opt.
15973
c2fd16ca
VS
159742011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 Support third redundancy strip on raidz3.
15977
15978 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15979 Return error on singularity. All users updated.
15980 (read_device): Don't stop on 3rd failure on raidz3.
15981
8622923b
VS
159822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 Support case-insensitive ZFS subvolumes.
15985
15986 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15987 All users updated.
15988 (zap_hash): Likewise.
15989 (name_cmp): New function.
15990 (zap_leaf_array_equal): New parameter case_insensitive.
15991 All users updated.
15992 (zap_leaf_lookup): Likewise.
15993 (fzap_lookup): Likewise.
15994 (zap_lookup): Likewise.
15995 (dnode_get_path): New parameter case_insensitive. Retrieve case
15996 sensitiviness of a volume. All users updated.
15997 (dnode_get_fullpath): New parameter case_insensitive.
15998 All users updated.
15999 (grub_zfs_dir): Set info.case_insensitiveness.
16000
95f2e860
VS
160012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 Support second redundancy strip on raidz(2,3).
16004
16005 * grub-core/fs/zfs/zfs.c (powx): New array.
16006 (powx_inv): Likewise.
16007 (poly): New const.
16008 (xor_out): New function.
16009 (gf_mul): Likewise.
16010 (recovery): Likewise.
16011 (read_device): Use second redundancy strip.
16012
11ee4389
VS
160132011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 Use a power of generator representation of GF(256) multiplication group
16016 to save space time and complexity.
16017
16018 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16019 (raid6_table2): Likewise.
16020 (powx): New array.
16021 (powx_inv): Likewise.
16022 (poly): New const.
16023 (grub_raid_block_mul): Replace with ...
16024 (grub_raid_block_mulx): ...this.
16025 (grub_raid6_init_table): Rewritten.
16026 (grub_raid6_recover): Use power of generator representation.
16027
09e2763f
VS
160282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16031 for the right device.
16032
8bec9a28
VS
160332011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16036 expected by grub-mkimage and it's more clear since there is no implicit
16037 padding.
16038
dbd3a32e
VS
160392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16042 disk.
16043 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16044
182c872a
PMH
160452011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16046
16047 * util/grub-mkrescue.in: Fix handling xorriso option.
16048
1e51cabd
VS
160492011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16050
16051 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16052 NULL.
16053
9cc3581d 160542011-11-03 crocket <crockabiscuit@gmail.com>
16055
16056 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16057
158dc1ea
VS
160582011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16059
16060 XZ CRC64 and SHA256 support.
16061
16062 * Makefile.util.def (libgrubmods): Add crc64.c.
16063 * grub-core/Makefile.core.def (crc64): New module.
16064 * grub-core/lib/crc64.c: New file.
16065 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16066 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16067 Fix the type.
16068 (MAX_HASH_SIZE): New define.
16069 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16070 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16071 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16072 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16073 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16074 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16075 Handle non-crc32 hashes.
16076 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16077 (dec_stream_header): Handle non-crc32 hashes.
16078 (dec_stream_footer): Likewise.
16079 (dec_block_header): Likewise.
16080 (dec_main): Likewise.
16081 (xz_dec_init): Likewise.
16082 (xz_dec_reset): Likewise.
16083 (xz_dec_end): Likewise.
16084 * util/import_gcry.py: Add CRC64 line.
16085
9d9b3d2f
VS
160862011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16089 as well.
16090
7d0ac931
VS
160912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16092
16093 Make reiserfs label retrieval similar to other *_label functions.
16094
16095 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16096 (REISERFS_MAX_LABEL_LENGTH): Removed.
16097 (REISERFS_LABEL_OFFSET): Likewise.
16098 (grub_reiserfs_label): Rewritten.
16099
161002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16101
16102 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16103 field.
16104
cf5ba824
VS
161052011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16108
17744004
VS
161092011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16110
16111 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16112 drive failure on both raidz and raidz2.
16113
aca5aefc
VS
161142011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 Fix RAIDZ(2) for >= 5 devices.
16117
16118 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16119 asize argument. All users updated.
16120
ce8ca56e
VS
161212011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 Fix RAIDZ(2).
16124
16125 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16126 (fill_vdev_info_real): Set ashift.
16127 (read_device): Rewrite RAIDZ part based on reverse engineering.
16128
7c01e783
VS
161292011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16132 don't report potentially unavialiable fields in debug output.
16133 (find_path): Fix double-free and memory leak.
16134
ce109e84
VS
161352011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 Read label on UFS1.
16138
16139 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16140 (grub_ufs_fs): Always set .label.
16141
87661123
VS
161422011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 Use shifts in UFS.
16145
16146 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16147 (grub_ufs_data): New field log2_blksz.
16148 (grub_ufs_read_file): Use shifts.
16149 (grub_ufs_mount): Check block size and logarithm it.
16150
46bc1dc2
VS
161512011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16154 long symlinks.
16155
19ee2987
VS
161562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 Handle symlinks and long names on tar and cpio.
16159
16160 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16161 (ATTR_FILE): Likewise.
16162 (ATTR_DIR): Likewise.
16163 (ATTR_LNK): Likewise.
16164 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16165 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16166 L and K entries.
16167 (grub_cpio_mount): Zero-fill data.
16168 (handle_symlink): New function.
46bc1dc2
VS
16169 (grub_cpio_dir): Handle symlinks.
16170 (grub_cpio_open): Likewise.
16171 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 16172
c83a08d8
VS
161732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 Fix iso9660 filename limitations and fix memory leaks.
16176
16177 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16178 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16179
45cdd3ea
VS
161802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 Fix JFS file name length limitations.
16183
16184 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16185 (grub_jfs_diropen): Fix maximum filename length.
16186 (grub_jfs_getent): Fix filename length.
16187 (grub_jfs_lookup_symlink): Fix size checks.
16188
94ef05c2
VS
161892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16192 string.
16193
785ab8c7
VS
161942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16195
eb0b6b45
VS
16196 Leverage BFS implementation to read AFS.
16197
16198 * Makefile.util.def (libgrubmods): Add afs.c.
16199 * grub-core/Makefile.core.def (afs): New module
16200 * grub-core/fs/afs.c: New file.
16201 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16202
162032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 16206
c4a1628f
VS
162072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * grub-core/fs/bfs.c: Run indent.
16210
5825b379
VS
162112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 BFS implementation based on the specification.
16214
16215 * grub-core/fs/bfs.c: New file.
16216 * Makefile.util.def (libgrubmods): Add bfs.c.
16217 * grub-core/Makefile.core.def (bfs): New module.
16218
42b2a706
VS
162192011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 * util/grub-fstest.c (cmd_cp): Clarify error message.
16222 (cmd_cmp): Likewise.
16223
61b99bfc
YB
162242011-10-30 Yves Blusseau <blusseau@zetam.org>
16225
16226 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16227 and befs_be.
16228
faba3d16
VS
162292011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 Remove afs and befs because of copyright problem.
16232
16233 * grub-core/fs/afs.c: Removed.
16234 * grub-core/fs/afs_be.c: Removed.
16235 * grub-core/fs/befs.c: Removed.
16236 * grub-core/fs/befs_be.c: Removed.
16237 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16238 * grub-core/Makefile.core.def (afs): Removed.
16239 (afs_be): Likewise.
16240 (befs): Likewise.
16241 (befs_be): Likewise.
16242
c39224b0
VS
162432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 Prefer rockridge over Joliet.
16246
16247 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16248 to ...
16249 (set_rockridge): ... here.
16250 (grub_iso9660_mount): Check rockridge on the primary label when
16251 discovering. Ignore Joliet if Rockridge is present.
16252
e551115a
VS
162532011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 Use shifts in nilfs2.
16256
16257 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16258 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16259 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16260 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16261 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16262 (grub_nilfs2_entries_per_block): Replaced with ...
16263 (grub_nilfs2_log_entries_per_block_log): ... this.
16264 (grub_nilfs2_blocks_per_group): Replaced with ...
16265 (grub_nilfs2_blocks_per_group_log): ... this.
16266 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16267 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16268 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16269 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16270 (grub_nilfs2_palloc_entry_offset): Replaced ...
16271 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16272 (grub_nilfs2_dat_translate): Use shifts.
16273 (grub_nilfs2_read_inode): Likewise.
16274 (GRUB_MOD_INIT): Ensure that logs are correct.
16275
564dd58c
VS
162762011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 Use shifts in minix filesystem.
16279
16280 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16281 (GRUB_MINIX_ZONE2SECT): Likewise.
16282 (grub_minix_data): Replace block_size with log_block_size.
16283 (grub_minix_read_file): Use shifts.
16284 (grub_minix_mount): Check block size and take a logarithm.
16285
ed9ba06d
VS
162862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 Use shifts in squash4.
16289
16290 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16291 (squash_mount): Check block size and take logarithm.
16292 (direct_read): Use shifts.
16293
ad03fe76
VS
162942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 Correct befs block counting logic.
16297
16298 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16299 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16300 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16301 (grub_afs_read_inode): Use block_shift.
16302 (RANGE_SHIFT): New definition.
16303 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16304 unexpected conditions, use shifts and appropriate types.
16305 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16306
6563f63d
VS
163072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16308
16309 * grub-core/disk/raid.c (scan_devices): Check partition.
16310 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16311
5b1ae25f
VS
163122011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 Support BFS (befs) UUID.
16315
16316 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16317 (grub_afs_small_data_element_header): New struct.
16318 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16319 (grub_afs_read_attribute) [MODE_BFS]: New function.
16320 (grub_afs_iterate_dir): Allocate for complete inode.
16321 (grub_afs_mount): Likewise.
16322 (grub_afs_uuid) [MODE_BFS]: New function.
16323 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16324
f8d82408
VS
163252011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16326
16327 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
16328 (zfs_unmount): Fix memory leak.
16329
5773fb64
VS
163302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 Support NTFS reparse points.
16333
16334 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
16335 (symlink_descriptor): New struct.
16336 (grub_ntfs_read_symlink): New function.
16337 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16338 (grub_ntfs_open): Likewise.
16339
91c3fdde
VS
163402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16343
3be82e10
VS
163442011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 fstest xnu_uuid subcommand.
16347
16348 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16349 grub-core/commands/xnu_uuid.c.
16350 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16351 (fstest): Handle xnu_uuid.
16352 (options): Document xnu_uuid.
16353 (argp_parser): Parse xnu_uuid.
16354
8e32442e
VS
163552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16358 -l argument. Add newline at the end if printing.
16359 (GRUB_MOD_INIT): Document -l.
16360
52a05075
VS
163612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
16364
1869edb5
VS
163652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 ZFS multi-device and version 33 support.
16368
16369 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
16370 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
16371 (grub_zfs_data): Add multidev-ice-related fields.
16372 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
16373 (dva_get_offset): Make dva const.
16374 (zfs_fetch_nvlist): New function.
16375 (fill_vdev_info_real): Likewise.
16376 (fill_vdev_info): Likewise.
16377 (check_pool_label): Likewise.
16378 (scan_disk): Likewise.
16379 (scan_devices): Likewise.
16380 (read_device): Likewise.
16381 (read_dva): Likewise.
16382 (zio_read_gang): Use read_dva.
16383 (zio_read_data): Likewise.
16384 (zap_leaf_lookup): Add missing endian conversion.
16385 (zap_verify): Add missing endian conversion. All users updated.
16386 (fzap_lookup): Likewise.
16387 (fzap_iterate): Likewise.
16388 (dnode_get_path): Handle SA bonus.
16389 (nvlist_find_value): Make input const. All users updated.
16390 (unmount_device): New function.
16391 (zfs_unmount): Use unmount_device.
16392 (zfs_mount): Use scan_disk.
16393 (zfs_mtime): New function.
16394 (grub_zfs_open): Handle system attributes.
16395 (fill_fs_info): Likewise.
16396 (grub_zfs_dir): Likewise.
16397 (grub_zfs_fs): Add mtime.
16398 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
16399 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
16400 (SA_MTIME_OFFSET): Likewise.
16401 (SA_SYMLINK_OFFSET): Likewise.
16402 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
16403 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
16404 (fstest): Support zfsinfo.
16405 (argp_parser): Likewise.
16406
186b4028
VS
164072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
16410 error.
16411
164122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
16413
16414 ZFS fixes.
16415
16416 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
16417 sharing the same block. Iterate over correct number of indices.
16418 (dnode_get_path): Handle symlinks correctly.
16419
c0584900
VS
164202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16421
16422 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
16423
67e2bd71
VS
164242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16425
16426 Read label on HFS+.
16427
16428 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
16429 (grub_hfsplus_btree_search): Fix types.
16430 (grub_hfsplus_label): Implement.
16431
e9cc6b7b
VS
164322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
16435
19832ddb
VS
164362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
16439
66b40850
VS
164402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 Fix symlink handling on iso9660.
16443
16444 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
16445 All users updated.
16446 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16447 (grub_iso9660_read_symlink): Moved most of code ...
16448 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16449
db821363
VS
164502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16451
16452 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16453 Use union to avoid breaking strict-aliasing rules.
16454
e1211949
VS
164552011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16456
16457 Support multi-extent iso files.
16458
16459 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16460 Add node.
16461 (grub_fshelp_node): Revamp. All users updated.
16462 (FLAG_*): New enum.
16463 (read_node): New function.
16464 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16465 All users updated.
16466 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16467 (get_node_size): New function.
16468 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16469 entries.
16470 Fix memory leak on . and ..
16471 (grub_iso9660_read): Use read_node.
16472 (grub_iso9660_close): Free node.
16473
d4888031
VS
164742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 Fix tar 4G limit and handle paths containing dot.
16477
16478 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16479 (canonicalize): New function.
16480 (grub_cpio_find_file): Use canonicalize. Store offs in
16481 grub_disk_addr_t.
16482 (grub_cpio_dir): Use grub_disk_addr_t.
16483 (grub_cpio_open): Likewise.
16484
9f12e664
VS
164852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16488
16489 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16490 unused flags.
16491 (grub_squash_inode): Add long_file and block_size.
16492 (grub_squash_cache_inode): New struct.
16493 (grub_squash_dirent): Make types into enum.
16494 (SQUASH_TYPE_LONG_REGULAR): New type.
16495 (grub_squash_frag_desc): Add field size.
16496 (SQUASH_BLOCK_FLAGS): New enum.
16497 (grub_squash_data): Use grub_squash_cache_inode.
16498 (grub_fshelp_node): Make ino_chunk 64-bit.
16499 (read_chunk): Minor argument change. All users updated.
16500 (squash_mount): Use correct le_to_cpu.
16501 (grub_squash_open): Handle LONG_REGULAR.
16502 (direct_read): New function.
16503 (grub_squash_read_data): Handle blocks correctly.
16504
9f326fba
VS
165052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16506
16507 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16508
f4d9b64b
VS
165092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16512
5bbd28b8
VS
165132011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 Fix 2G limit on ZFS.
16516
16517 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16518 types.
16519 (uberblock_verify): Likewise.
16520 (dmu_read): Likewise.
16521 (grub_zfs_read): Likewise. Remove invalid cast.
16522
68c72069
VS
165232011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16526 (grub_jfs_blkno): Fix incorrect shift.
16527 (grub_jfs_read_file): Use more appropriate types.
16528
6e536dc8
VS
165292011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 Support triple indirect on minix2 and minix3.
16532
16533 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16534 Declare triple_indir_zone.
16535 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16536 indirect.
16537
e0864e7a
VS
165382011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16539
16540 Minix FS fixes.
16541
16542 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16543 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16544 Rename ctime to mtime. All users updated.
16545 (grub_minix_get_file_block): Fix types and double indirect computations.
16546
89481cab
VS
165472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16548
16549 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16550 if no label is found.
16551 (grub_fat_iterate_dir): Fix file size type.
16552 (grub_fat_iterate_dir): Likewise.
16553
f646e143
VS
165542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16555
16556 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16557 save some space.
16558 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16559 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16560
534d769e
VS
165612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16564
e084ba18
VS
165652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16566
16567 * util/import_gcry.py: Accept space between # and include.
16568
3471ecdf
VS
165692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16572
124df5f6
VS
165732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16576
16577 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16578 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16579 yylex_strncpy.
16580 * grub-core/script/yylex.l: Add fine-grained #pragma.
16581
4defb8d5
VS
165822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16585 New inline function.
16586 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16587 Likewise.
16588 (memset) [GRUB_UTIL]: Likewise.
16589 (memcmp) [GRUB_UTIL]: Likewise.
16590
4e94ae65
VS
165912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16594 inline function rather than a define.
16595
18c575e5
VS
165962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * util/grub-setup.c: Add missing include.
16599
f8bc22a8
VS
166002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * util/ieee1275/grub-ofpathname.c: Add missing include.
16603
3ce69fc9
VS
166042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16607 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16608 Likewise.
16609
d1e293bb
VS
166102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16613 grub_memcmp usage.
16614
7a5c54a4
VS
166152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * util/grub-install.in: Add datarootdir as per automake manual
16618 suggestion.
16619 * util/grub-mknetdir.in: Likewise.
16620
166212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16622
16623 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16624 suggestion.
16625 * util/grub.d/10_kfreebsd.in: Likewise.
16626 * util/grub.d/10_linux.in: Likewise.
16627 * util/grub.d/10_netbsd.in: Likewise.
16628 * util/grub.d/10_windows.in: Likewise.
16629 * util/grub.d/20_linux_xen.in: Likewise.
16630
766f7d08
VS
166312011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 Remove redundant grub_kernel_image_size.
16634
16635 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16636 _edata and _start.
16637 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16638 the small code. It moves it only by few bytes but simplifies the code.
16639 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16640 _start.
16641 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16642 (grub_kernel_image_size): Removed.
16643 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16644 (grub_kernel_image_size): Removed.
16645 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16646 compiled with Apple toolchain.
16647 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16648 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16649 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16650 (grub_total_module_size): Likewise.
16651 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16652 Removed.
16653 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16654 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16655 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16656 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16657 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16658 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16659 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16660 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16661 Removed.
16662 (grub_total_module_size): Removed.
16663 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16664 (image_targets): Likewise.
16665 Set .compressed_size to no field on sparc.
16666 (generate_image): Remove kernel_image_size handling.
16667
fcf1d672
SJ
166682011-10-19 Szymon Janc <szymon@janc.net.pl>
16669
16670 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16671 NULL pointer dereference.
16672
de9c615e
VS
166732011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16676 done with a dedicated section.
16677
16678 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16679 Ensure the correct position of boot_path.
16680 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16681 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16682 other fields.
16683 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16684 * include/grub/boot.h: Removed. All references removed.
16685 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16686 Removed.
16687 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16688
e55599dc
VS
166892011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16692 name.
16693
36dd20ad
VS
166942011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16697
f8f72eb8
VS
166982011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16701 Don't add the bogus brackets.
16702
a374751b
VS
167032011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 ExFAT support.
16706
16707 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16708 * grub-core/Makefile.core.def (exfat): New module.
16709 * grub-core/fs/exfat.c: New file.
16710 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16711 (GRUB_FAT_ATTR_*): Make into an enum.
16712 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16713 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16714 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16715 (GRUB_FAT_MAXFILE): Removed.
16716 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16717 (grub_current_fat_bpb_t): New type.
16718 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16719 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16720 (grub_fat_dir_node_t): New type.
16721 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16722 (fat_log2) [MODE_EXFAT]: Removed.
16723 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16724 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16725 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16726 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16727 (grub_fat_label) [MODE_EXFAT]: New function.
16728 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16729 reserved_first_sector to 0.
16730
544c2487
VS
167312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 Move grub_reboot out of the kernel.
16734
16735 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16736 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16737 * grub-core/lib/efi/reboot.c: ... here.
16738 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16739 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16740 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16741 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16742 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16743 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16744 * grub-core/lib/ieee1275/reboot.c: ... here.
16745 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16746 * grub-core/lib/mips/arc/reboot.c: ... here.
16747 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16748 * grub-core/lib/mips/loongson/reboot.c: ...here.
16749 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16750 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16751 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16752 * include/grub/i386/reboot.h: New file.
16753 * include/grub/mips/loongson/ec.h: Fix includes.
16754 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16755 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16756 * grub-core/lib/i386/reboot.c: New file.
16757
a97501d2
VS
167582011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 Make grub_prefix into module to fix the arbitrary limit and save
16761 some space.
16762
16763 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16764 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16765 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16766 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16767 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16768 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16769 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16770 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16771 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16772 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16773 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16774 * include/grub/ia64/efi/kernel.h: Removed.
16775 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16776 (grub_prefix): Removed.
16777 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16778 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16779 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16780 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16781 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16782 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16783 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16784 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16785 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16786 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16787 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16788 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16789 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16790 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16791 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16792 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16793 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16794 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16795 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16796 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16797 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16798 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16799 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16800 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16801 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16802 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16803 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16804 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16805 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16806 from module.
16807 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16808 prefix_end.
16809 (image_targets): Likewise.
16810 (generate_image): Put prefix as a module.
16811
39705fad
VS
168122011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 Replace grub_module_iterate with FOR_MODULES.
16815
16816 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16817 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16818 (grub_efi_modules_addr): ...this.
16819 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16820 (grub_efi_init): Set grub_modbase.
16821 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16822 (grub_modbase): New variable.
16823 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16824 (grub_modbase): New variable.
16825 (grub_machine_init): Set grub_modbase.
16826 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16827 (grub_modbase): New variable.
16828 (grub_machine_init): Set grub_modbase.
16829 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16830 (grub_modbase): New variable.
16831 (grub_machine_init): Set grub_modbase.
16832 * grub-core/kern/main.c (grub_module_iterate): Remove.
16833 (grub_modules_get_end): Use grub_modbase.
16834 (grub_load_modules): Use FOR_MODULES.
16835 (grub_load_config): Likewise.
16836 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16837 (grub_modbase): New variable.
16838 (grub_machine_init): Set grub_modbase.
16839 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16840 (grub_modbase): New variable.
16841 (grub_machine_init): Set grub_modbase.
16842 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16843 Removed.
16844 (grub_modbase): New variable.
16845 (grub_machine_init): Set grub_modbase.
16846 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16847 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16848 (grub_module_iterate): Likewise.
16849 (grub_modbase): New variable declaration.
16850 (FOR_MODULES): New macro.
16851
2afb7f6c
VS
168522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16855 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16856
366e34fa
VS
168572011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 Fix few obvious type discrepancies.
16860
16861 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16862 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16863 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16864 variable.
16865 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16866 and connected types.
16867 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16868 offset.
16869 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16870 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16871 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16872 and connected types.
16873
177b960e
VS
168742011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 Fix python 3.x incompatibilities.
16877
16878 * gentpl.py: Put brackets around print strings.
16879 * util/import_gcry.py: Open explicitly as utf-8.
16880 Use in instead of has_key.
16881
3b619ae1
VS
168822011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16885 (GRUB_XFS_INO_AGBITS): Make into inline function.
16886 (GRUB_XFS_INO_INOINAG): Likewise.
16887 (GRUB_XFS_INO_AG): Likewise.
16888 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16889 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16890 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16891 (GRUB_XFS_EXTENT_SIZE): Likewise.
16892 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16893 (GRUB_XFS_NEXT_DIRENT): Likewise.
16894 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16895 (grub_xfs_read_file): Fix offset type.
16896
8bcebcb8
RM
168972011-10-15 Robert Millan <rmh@gnu.org>
16898
16899 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16900
0017e5ef
RM
169012011-10-15 Robert Millan <rmh@gnu.org>
16902
16903 Fix build problem on FreeBSD and GNU/kFreeBSD.
16904
16905 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16906
d8919552
VS
169072011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16908
16909 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16910
16911 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16912 types.
16913 (grub_hfsplus_btree_recoffset): Likewise.
16914 (grub_hfsplus_btree_recptr): Likewise.
16915 (grub_hfsplus_find_block): Likewise.
16916 (grub_hfsplus_btree_search): Likewise.
16917 (grub_hfsplus_read_block): Likewise.
16918 (grub_hfsplus_read_file): Likewise.
16919 (grub_hfsplus_mount): Likewise.
16920 (grub_hfsplus_btree_iterate_node): Likewise.
16921 (grub_hfsplus_btree_search): Likewise.
16922 (grub_hfsplus_iterate_dir): Likewise.
16923 (grub_hfsplus_read): A small code simplification.
16924
c81296b6
VS
169252011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * grub-core/kern/emu/hostdisk.c
16928 (convert_system_partition_to_system_disk): Don't assume that children
16929 of mapper nodes are mapper nodes.
16930
0eb8ffb1
VS
169312011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16932
16933 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16934 * include/grub/misc.h (grub_isxdigit): New function.
16935 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16936 switched to grub_isxdigit.
16937 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16938 number starting with a letter.
16939
a98f4a08
RM
169402011-10-09 Robert Millan <rmh@gnu.org>
16941
16942 LVM support for FreeBSD and GNU/kFreeBSD.
16943
16944 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16945 GNU/kFreeBSD.
16946 (LVM_DEV_MAPPER_STRING): Move from here ...
16947 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16948 * util/getroot.c: Include `<grub/util/lvm.h>'.
16949 (grub_util_get_dev_abstraction): Enable
16950 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16951 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16952 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16953 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16954 support it.
16955 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16956 GNU/kFreeBSD.
16957 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16958 when LVM abstraction is required for ${GRUB_DEVICE}.
16959
050e8e90
SJ
169602011-10-06 Szymon Janc <szymon@janc.net.pl>
16961
16962 Add support for LZO compression in GRUB:
16963 - import of minilzo library,
16964 - LZO decompression for btrfs,
16965 - lzop files decompression.
16966
16967 * grub-core/io/lzopio.c: New file.
16968 * grub-core/lib/adler32.c: Likewise.
16969 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16970 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16971 * grub-core/lib/minilzo/minilzo.c: Likewise.
16972 * grub-core/lib/minilzo/minilzo.h: Likewise.
16973 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16974 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16975 grub-core/lib/minilzo/minilzo.c to common.
16976 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16977 cflags in cppflags.
16978 * grub-core/Makefile.core.def (btrfs): Likewise.
16979 * grub-core/Makefile.core.def (lzopio): New module.
16980 (adler32): Likewise.
16981 * grub-core/fs/btrfs.c: Include minilzo.h.
16982 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16983 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16984 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16985 (grub_btrfs_lzo_decompress): New function.
16986 (grub_btrfs_extent_read): Add support for LZO compression type.
16987 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16988 (GRUB_USHRT_MAX): Likewise.
16989 (GRUB_UINT_MAX): Likewise.
16990 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16991 (UINT_MAX): Likewise.
16992 (CHAR_BIT): Likewise.
16993 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16994 grub-core/lib/posix_wrap/limits.h
16995 (UCHAR_MAX): Likewise.
16996 * include/grub/file.h (grub_file_filter_id): New compression filter
16997 GRUB_FILE_FILTER_LZOPIO.
16998 * include/grub/file.h (grub_file_filter_id): Set
16999 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17000 * include/grub/types.h (grub_get_unaligned16): New function.
17001 (grub_get_unaligned32): Likewise.
17002 (grub_get_unaligned64): Likewise.
17003 * util/import_gcry.py (cryptolist): Add adler32.
17004
0eb8ffb1
VS
170052011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17008 in perspective decreases the complexity of build system and fixes
17009 compilation right now.
17010
ce79cc99 170112011-10-01 Ales Nesrsta <starous@volny.cz>
17012
17013 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17014 (fixed problem related to using UHCI with coreboot).
17015
8667a314
BC
170162011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17017
17018 * gentpl.py: Use Autogen macros so that the output template file
17019 (Makefile.tpl) size is reduced.
17020
fc5efcc0
MK
170212011-09-29 Mads Kiilerich <mads@kiilerich.com>
17022
17023 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17024 extra_dist.
17025
d1ab689d
ML
170262011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17027
17028 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17029 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17030
c05de032
ML
170312011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17032
17033 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17034 _fullpath.
17035
cca7ccd8
ML
170362011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17037
17038 Remove extra declaration of sleep for mingw32.
17039
17040 * util/misc.c (sleep) [__MINGW32__]: Removed.
17041 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17042
e0b0dc83
GS
170432011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17044
17045 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17046 type and packname.
17047 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17048 Resurrected.
17049 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17050 (grub_netbsd_btinfo_bootwedge): New struct.
17051 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17052 New function.
17053 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17054
91a1a164
TH
170552011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17056
17057 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17058 loader.
17059
2ded951e
AB
170602011-09-28 Andreas Born <futur.andy@googlemail.com>
17061
17062 Fix incorrect identifiers in bash-completion.
17063
17064 * util/bash-completion.d/grub-completion.bash.in
17065 (_grub_mkpasswd-pbkdf2): Rename to ...
17066 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17067 (_grub_script-check): Rename to ...
17068 (_grub_script_check): ... this. All users updated.
17069
69915030
VS
170702011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17073 Return 0 if disk isn't biosdisk.
17074
20fd15f9
GS
170752011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17076
17077 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17078 on NetBSD.
17079 * Makefile.util.def (grub-fstest): Likewise.
17080
1a7d7db9
GS
170812011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17082
17083 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17084 Get sector size from disk label.
17085
2221ab6c
CW
170862011-09-05 Colin Watson <cjwatson@ubuntu.com>
17087
17088 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17089 */README* as well as README*.
17090 Reported by: Axel Beckert.
17091
ca51c4a0
VS
170922011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17095 case of less than 256 MiB of RAM.
17096
ab80f326
VS
170972011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17098
17099 * grub-core/commands/wildcard.c (make_regex): Handle @.
17100
4155e697
VS
171012011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17104
ab178c08
SJ
171052011-08-21 Szymon Janc <szymon@janc.net.pl>
17106
17107 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17108 AC_LANG_CONFTEST macros.
17109
7dc3c686
SJ
171102011-08-20 Szymon Janc <szymon@janc.net.pl>
17111
17112 Add grub-fstest option to uncompress data for commands.
17113
17114 * util/grub-fstest.c (uncompress): New var.
17115 (options): New option -u.
17116
fe8d4a7b
SJ
171172011-08-20 Szymon Janc <szymon@janc.net.pl>
17118
17119 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17120 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17121
a5219af1
SJ
171222011-08-20 Szymon Janc <szymon@janc.net.pl>
17123
17124 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17125 file type was not recognized correctly (not gzip or corrupted).
17126
f87abff5
VS
171272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17130 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17131
d94497ea
VS
171322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17135 loongson.
17136 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17137 video_radeon_fuloong2e.
17138 * grub-core/video/radeon_fuloong2e.c: New file.
17139 * include/grub/video.h (grub_video_id_t): Add new ID
17140 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17141
0d1fd011
VS
171422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17145 define.
17146 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17147 that PRID matches the detected subplatform and reset the subplatform
17148 if it doesn't.
17149
84beb0ee
VS
171502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17153
1227c133
VS
171542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 Fix PCI iterating on functions >= 4.
17157
17158 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17159 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17160 Removed.
17161 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17162 (grub_pci_read): Fix bitmask.
17163 (grub_pci_read_word): Likewise.
17164 (grub_pci_read_byte): Likewise.
17165 (grub_pci_write): Likewise.
17166 (grub_pci_write_word): Likewise.
17167 (grub_pci_write_byte): Likewise.
17168
9594c689
VS
171692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17172 can still be specified in TARGET_CFLAGS)
17173
14a2562c
VS
171742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17177
17178 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17179 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17180 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17181 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17182 (FULOONG): Rename to ...
17183 (FULOONG2F): ... this. All users updated.
17184 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17185 (machtype_fuloong2f_str): ... this.
17186 (machtype_fuloong2e_str): New string.
17187 Check for machtype_fuloong2e_str.
17188 * grub-core/loader/mips/linux.c (loongson_machtypes)
17189 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17190 * grub-core/term/serial.c (loongson_defserial)
17191 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17192 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17193 loongson_defserial.
17194 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17195 Rename to ...
17196 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17197 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17198 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17199 to IMAGE_FULOONG2F_FLASH. All users updated.
17200 (image_targets): Rename images.
17201 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17202
b526cbb6
SJ
172032011-08-19 Szymon Janc <szymon@janc.net.pl>
17204
17205 Make enable of disk cache statistics code configurable.
17206
17207 * configure.ac: --enable-cache-stats added.
17208 * config.h.in (DISK_CACHE_STATS): New define.
17209 * grub-core/Makefile.core.def (cacheinfo): New command.
17210 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17211 * grub-core/commands/cacheinfo.c: New file.
17212 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17213 moved to cacheinfo.c.
17214 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17215 debug code.
17216 * include/grub/disk.h: Likewise.
17217
fb739ccd
SJ
172182011-08-19 Szymon Janc <szymon@janc.net.pl>
17219
17220 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17221 * grub-core/Makefile.am: Likewise.
17222
2bba8cfd
VS
172232011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17226 non-zero pull.
17227
43526629
VS
172282011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17231 All users updated.
17232 (grub_jfs_lookup_symlink): Use correct starting inode.
17233
5c144cc8
VS
172342011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * util/grub-setup.c (main): Add missing gcry initialisation.
17237
b1257f65
VS
172382011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 Don't accept text modes on EFI when booting Linux.
17241
17242 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17243 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17244
828bc390
ML
172452011-08-15 Mario Limonciello <mario_limonciello@dell.com>
172462011-08-15 Colin Watson <cjwatson@ubuntu.com>
17247
17248 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17249 use of "/path/.." as in grub-install for EFI as well as handling
17250 symlinks correctly.
17251 Fixes Debian bug #637768.
17252
5f60ccac
CW
172532011-08-15 Colin Watson <cjwatson@ubuntu.com>
17254
17255 * util/grub-probe.c: Remove duplicate #include.
17256
6dc212f9
RM
172572011-08-10 Robert Millan <rmh@gnu.org>
17258
17259 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17260
17261 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17262 function.
17263 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17264 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17265
66816d85
RM
172662011-08-03 Robert Millan <rmh@gnu.org>
17267
17268 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17269 la_array as packed.
17270 Reported by: Zachary Bedell
17271
20168fca
CW
172722011-07-26 Colin Watson <cjwatson@ubuntu.com>
17273
17274 * configure.ac: The Loongson port requires grub-mkfont due to its
17275 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17276 be built.
17277
303b6246
CW
172782011-07-26 Colin Watson <cjwatson@ubuntu.com>
17279
17280 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17281 processing arguments (otherwise help2man fails when GRUB has not yet
17282 been installed).
17283
6795300e
VS
172842011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17285
41aa28ea
VS
17286 New script grub-mkstandalone.
17287
17288 * Makefile.util.def (grub-mkstandalone): New script.
17289 * docs/man/grub-mkstandalone.h2m: New file.
17290 * util/grub-mkstandalone.in: Likewise.
17291
172922011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 Support ATA disks with 4K sectors.
6795300e
VS
17295
17296 * include/grub/ata.h (grub_ata): New member log_sector_size.
17297 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17298 (grub_ata_identify): Read sector size.
17299 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17300
92227597
VS
173012011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17302
17303 * util/grub-install.in: Don't use uhci outside of x86.
17304
c77069f5
VS
173052011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * util/grub-mkrescue.in: Add missing quotes.
17308
173092011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
17310
17311 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17312 dereference.
17313
583168a2
VS
173142011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17317
6be1c01f
VS
173182011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17319
17320 * include/grub/video.h: add missing EXPORT_FUND on
17321 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17322
a1167439
VS
173232011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17324
17325 * include/grub/mips/kernel.h: Fix define conflict.
17326
bf66054f
VS
173272011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
17330 all four ways.
17331
8fc4fa45
CW
173322011-07-21 Colin Watson <cjwatson@ubuntu.com>
17333
17334 Preferred resolution detection for VBE.
17335
17336 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17337 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17338 the Flat Panel extension, in line with the X.org VESA driver.
17339 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17340 New function.
17341 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17342 (grub_vbe_bios_read_edid): Likewise.
17343 (grub_vbe_get_preferred_mode): Likewise.
17344 (grub_video_vbe_setup): When the mode is "auto", try to get the
17345 preferred mode from VBE, and use the largest mode that is no larger
17346 than the preferred mode (some BIOSes expose a preferred mode that is
17347 not in their mode list!). If this fails, fall back to 640x480 as a
17348 safe conservative choice.
17349 (grub_video_vbe_get_edid): New function.
17350 (grub_video_vbe_adapter): Add get_edid.
17351 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17352 (struct grub_video_adapter): Add get_edid.
17353 (grub_video_edid_checksum): Add prototype.
17354 (grub_video_edid_preferred_mode): Likewise.
17355 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17356 structure.
17357
17358 * grub-core/commands/videoinfo.c (print_edid): New function.
17359 (grub_cmd_videoinfo): Print EDID if available.
17360
17361 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
17362 is more appropriate on a wider range of platforms than 640x480.
17363 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
17364 documentation.
17365
ca5572a9
VS
173662011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
17369
e4bcf625
VS
173702011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17371
17372 * po/POTFILES.in: Regenerate.
17373
c4edd548
VS
173742011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
17377 incorrect memory usage.
17378
16a2bab0
VS
173792011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * util/grub-install.in: Source grub-mkconfig_lib.
17382
2e418de6
VS
173832011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 Remove getroot.c from core on emu platform.
17386
17387 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
17388 kern/emu/raid.c.
17389 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
17390 useless.
17391 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
17392 * util/getroot.c (get_win32_path): ... here.
17393 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
17394 * util/getroot.c (fini_libzfs): ... here.
17395 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
17396 * util/getroot.c (grub_get_libzfs_handle): ... here.
17397 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
17398 Moved from here...
17399 * util/getroot.c (grub_find_zpool_from_dir): ... here.
17400 * grub-core/kern/emu/misc.c
17401 (grub_make_system_path_relative_to_its_root): Moved from here...
17402 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
17403 * grub-core/kern/emu/getroot.c: Moved from here ...
17404 * util/getroot.c: ... here. All users updated.
17405 * grub-core/kern/emu/raid.c: Moved from here ...
17406 * util/raid.c: ... here. All users updated.
17407
def9832a
VS
174082011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17409
17410 * po/POTFILES.in: Regenerate.
17411
cd8fe79a
VS
174122011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 Fix compilation on GNU/Linux.
17415
17416 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
17417 Disable geli.
17418 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
17419 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
17420 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
17421
a251b719
VS
174222011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
174232011-07-07 Michael Gorven <michael@gorven.za.net>
174242011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
17425
17426 LUKS and GELI support.
17427
17428 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
17429 grub-core/disk/luks.c, grub-core/disk/geli.c,
17430 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
17431 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
17432 grub-core/lib/arg.c.
17433 (libgrubmods.a): Remove gcrypts cflags and cppflags.
17434 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
17435 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
17436 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
17437 (grub-bin2h): Add libgcry.a.
17438 (grub-mkimage): Likewise.
17439 (grub-mkrelpath): Likewise.
17440 (grub-script-check): Likewise.
17441 (grub-editenv): Likewise.
17442 (grub-mkpasswd-pbkdf2): Likewise.
17443 (grub-pe2elf): Likewise.
17444 (grub-fstest): Likewise.
17445 (grub-mkfont): Likewise.
17446 (grub-mkdevicemap): Likewise.
17447 (grub-probe): Likewise.
17448 (grub-ofpath): Likewise.
17449 (grub-mklayout): Likewise.
17450 (example_unit_test): Likewise.
17451 (grub-menulst2cfg): Likewise.
17452 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17453 * grub-core/Makefile.core.def (cryptodisk): New module.
17454 (luks): Likewise.
17455 (geli): Likewise.
17456 * grub-core/disk/AFSplitter.c: New file.
17457 * grub-core/disk/cryptodisk.c: Likewise.
17458 * grub-core/disk/geli.c: Likewise.
17459 * grub-core/disk/luks.c: Likewise.
17460 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17461 grub_util_is_lvm.
17462 (grub_util_get_dm_abstraction): New function.
17463 (grub_util_follow_gpart_up): Likewise.
17464 (grub_util_get_geom_abstraction): Likewise.
17465 (grub_util_get_dev_abstraction): Use new functions.
17466 (grub_util_pull_device): Pull GELI and LUKS.
17467 (grub_util_get_grub_dev): Handle LUKS and GELI.
17468 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17469 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17470 (follow_geom_up): Removed.
17471 (grub_util_fd_seek): New function.
17472 (open_device): Use grub_util_fd_seek.
17473 (nread): Rename to ..
17474 (grub_util_fd_read): ... this. All users updated.
17475 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17476 (grub_crypto_cbc_decrypt): Likewise.
17477 (grub_crypto_hmac_write): Likewise.
17478 (grub_crypto_hmac_buffer): Likewise.
17479 (grub_password_get): Extend to util.
17480 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17481 New member modname.
17482 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17483 * include/grub/cryptodisk.h: New file.
17484 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17485 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17486 LUKS and GELI.
17487 (grub_util_follow_gpart_up): New proto.
17488 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17489 (grub_util_fd_read): Likewise.
17490 (grub_cryptodisk_cheat_mount): Likewise.
17491 (grub_util_cryptodisk_print_uuid): Likewise.
17492 (grub_util_get_fd_sectors): Likewise.
17493 * util/grub-fstest.c (mount_crypt): New var.
17494 (fstest): Mount crypto if requested.
17495 (options): New option -C.
17496 (argp_parser): Parse -C.
17497 (main): Init and fini gcry.
17498 * util/grub-install.in: Support cryptodisk install.
17499 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17500 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17501 cryptodisk.
17502 (prepare_grub_to_access_device): Likewise.
17503 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17504 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17505 (probe_cryptodisk_uuid): New function.
17506 (probe_abstraction): Likewise.
17507 (probe): Use new functions.
17508 * util/import_gcry.py: Create Makefile.utilgcry.def.
17509 Add modname member.
17510
9bfdcbbc
VS
175112011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 Lazy device scanning.
17514
17515 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17516 (grub-setup): Remove util/raid.c.
17517 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17518 * grub-core/disk/lvm.c (scan_depth): New variable.
17519 (grub_lvm_iterate): Rescan if necessary.
17520 (find_lv): New function based on grub_lvm_open.
17521 (grub_lvm_open): Use find_lv. Rescan on error.
17522 (is_node_readable): New function.
17523 (is_lv_readable): Likewise.
17524 (grub_lvm_scan_device): Skip already found disks.
17525 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17526 Stop if searched device is found and readable.
17527 * grub-core/disk/raid.c (inscnt): New variable.
17528 (scan_depth): Likewise.
17529 (scan_devices): New function based on grub_raid_register. Abort if
17530 looked for device is found.
17531 (grub_raid_iterate): Rescan if needed.
17532 (find_array): NEw function based on -grub_raid_open.
17533 (grub_raid_open): Use find_array and rescan.
17534 (insert_array): Set became_readable_at.
17535 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17536 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17537 New function.
17538 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17539 (grub_util_pull_device): New function.
17540 (grub_util_get_grub_dev): Call grub_util_pull_device.
17541 * util/raid.c: Moved to ..
17542 * grub-core/kern/emu/raid.c: ... here.
17543 (grub_util_raid_getmembers): New parameter "bootable".
17544 All users updated. Support 1.x.
17545 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17546 All users updated.
17547 * include/grub/disk.h (grub_disk_pull_t): New enum.
17548 (grub_disk_dev): Change iterate prototype.
17549 All users updated.
17550 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17551 New proto.
17552 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17553 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17554 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17555 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17556 All users updated.
17557 * include/grub/util/raid.h: Removed.
17558
1c358e59
VS
175592011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17560
17561 * po/POTFILES.in: Regenerate.
17562
abee94ed
VS
175632011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 Unify sparc init with other ieee1275.
17566
17567 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17568 instead of kern/sparc64/ieee1275/init.c.
17569 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17570 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17571 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17572 grub/machine/kernel.h.
17573 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17574 (grub_claim_heap) [__sparc__]: Use sparc version.
17575 (grub_machine_init): Moved args parsing to
17576 (grub_parse_cmdline): ...this.
17577 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17578 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17579 New definition.
17580 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17581
17582 Move BOOTP to separate file.
17583
17584 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17585 * grub-core/net/net.c: Move all BOOTP functions to
17586 * grub-core/net/bootp.c: ... here.
17587
17588 Use frame interface on PXE.
17589
17590 * grub-core/Makefile.core.def (pxecmd): Removed.
17591 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17592 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17593 * grub-core/i386/pc/pxe.c: Moved from here ...
17594 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17595 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17596 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17597
17598 EFI network support.
17599
17600 * grub-core/Makefile.core.def (efinet): New module.
17601 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17602 here...
17603 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17604 All users updated.
17605 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17606 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17607 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17608 * grub-core/net/drivers/efi/efinet.c: New file.
17609 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17610 (grub_efi_net_config): New extern var.
17611
17612 Various cleanups and bugfixes.
17613
17614 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17615 error.
17616 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17617 disk declared as partition.
17618 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17619 leak on failure.
17620 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17621 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17622 (grub_debug_zalloc): Likewise.
17623 (grub_debug_realloc): Likewise.
17624 (grub_debug_memalign): Likewise.
17625 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17626 Check that target is IPv4.
17627 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17628 local-mac-address as fallback.
17629 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17630 memory leak.
17631 * grub-core/net/ip.c (ipchksum): Rename to ...
17632 (grub_net_ip_chksum): ... this. All users updated.
17633 (grub_net_recv_ip_packets): Special handling for DHCP.
17634 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17635
17636 Unify prefix handling
17637
17638 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17639 (grub_machine_get_bootlocation): ... this.
17640 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17641 (grub_machine_get_bootlocation): ... this.
17642 (grub_prefix): New variable.
17643 (prefix): Removed.
17644 (root_dev): New variable.
17645 (dir): Likewise.
17646 (main): Use new variables.
17647 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17648 Revamped into ...
17649 (grub_machine_get_bootlocation): ... this.
17650 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17651 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17652 (grub_machine_get_bootlocation): ... this.
17653 (grub_machine_set_prefix): Removed.
17654 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17655 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17656 Revamped into ...
17657 (grub_machine_get_bootlocation): ... this.
17658 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17659 (grub_set_prefix_and_root): ... this. All users updated.
17660 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17661 Revamped into ...
17662 (grub_machine_get_bootlocation): ... this.
17663 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17664 (grub_machine_get_bootlocation): New proto.
17665 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17666
17667 Less intrusive and more reliable seek on network implementation.
17668
17669 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17670 (grub_file_seek): Don't call grub_file_net_seek.
17671 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17672 (grub_net_fs_read_real): .. this.
17673 (grub_net_seek_real): Use net->offset.
17674 (grub_net_fs_read): Seek if necessary.
17675
17676 Unify IEEE1275 netwotk config with the other platforms.
17677
17678 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17679 New variable.
17680 (grub_machine_get_bootlocation): Support network.
17681 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17682 Support type and device parsing.
17683 (grub_ieee1275_get_device_type): New function.
17684 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17685 into ...
17686 (grub_ieee1275_net_config_real): ... this.
17687 (grub_ofnet_probecards): Removed.
17688 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17689 * include/grub/ieee1275/ofnet.h: Removed.
17690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17691 extern var.
17692 (grub_ieee1275_get_device_type): New function.
17693
17694 Unify network device closing across platforms and make more robust.
17695
17696 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17697 grub_grubnet_fini.
17698 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17699 already.
17700 * grub-core/net/net.c (grub_net_network_level_interface_register):
17701 Update num_ifaces.
17702 (grub_net_card_unregister): Close all interfaces.
17703 (receive_packets): Don't poll if no iterfaces are registered.
17704 Open if necessary.
17705 (grub_net_fini_hw): New function.
17706 (grub_net_restore_hw): Likewise.
17707 (fini_hnd): New variable.
17708 (GRUB_MOD_INIT): Register preboot hook.
17709 (GRUB_MOD_FINI): Run and unregister preboot hook.
17710
17711 Poll network cards when idle.
17712
17713 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17714 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17715 * grub-core/net/net.c (receive_packets): Save last poll time.
17716 (grub_net_poll_cards_idle_real): New function.
17717 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17718 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17719 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17720
17721 Rename ofnet interfaces.
17722
17723 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17724 (grub_ofnet_findcards): Use ofnet_%s names.
17725
17726 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17727
17728 Cleanup socket opening.
17729
17730 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17731 (grub_net_fs_close): Likewise.
17732 (grub_net_fs_read_real): Use eof member.
17733 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17734 (+grub_net_udp_close): New inline function.
17735
17736 * include/grub/net/tftp.h: Moved to the top of ...
17737 * grub-core/net/tftp.c: ... here.
17738 * include/grub/net/ip.h: Moved mostly to the top of ...
17739 * grub-core/net/ip.c: ... here.
17740 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17741 * grub-core/net/ethernet.c: ... here.
17742
17743 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17744
17745 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17746 FS name.
17747
17748 * include/grub/net/ip.h (ipv4_ini): Removed.
17749 (ipv4_fini): Likewise.
17750
17751 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17752 (grub_net_send_ip_packets): Likewise.
17753
cf1337aa
VS
177542011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17757 grub_read_cmos prototype.
17758
93c06ff9
VS
177592011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 VGA text support in qemu-mips
17762
17763 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17764 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17765 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17766 text.
17767 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17768 * grub-core/kern/vga_init.c: ... this.
17769 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17770 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17771 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17772 Adjust.
17773 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17774 GRUB_MACHINE_PCI_IO_BASE.
17775
748ccabe
VS
177762011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17777
17778 MIPS qemu flash support.
17779
17780 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17781 magic.
17782 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17783 (grub_machine_init): Probe memory if its size isn't known.
17784 * util/grub-mkimage.c (image_targets): Add flash targets.
17785 (generate_image): Handle flash targets.
17786
d7345994
VS
177872011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 MIPS qemu at_keyboard support.
17790
17791 * gentpl.py (videoinkernel): Add qemu-mips.
17792 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17793 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17794 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17795 modules.
17796 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17797 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17798 * grub-core/term/serial.c (grub_serial_register)
17799 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17800
a07a81b3
VS
178012011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17802
17803 CMOS support on sparc.
17804
17805 * gentpl.py (cmos): Add powerpc and sparc.
17806 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17807 powerpc and sparc.
17808 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17809 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17810 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17811 grub_set_datetime_cmos.
17812 * grub-core/lib/ieee1275/cmos.c: New file.
17813 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17814 (find_rtc): Set no_ieee1275_rtc on error.
17815 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17816 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17817 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17818 fail. Move value to argument. All users updated
17819 (grub_cmos_write): Likewise.
17820 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17821 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17822 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17823 grub_get_datetime_cmos and grub_set_datetime_cmos.
17824
77546584
GS
178252011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17826
17827 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17828 sourcing grub-mkconfig_lib.
17829 * util/update-grub_lib.in: Likewise.
17830 * util/grub.d/00_header.in: Likewise.
17831 * util/grub.d/10_hurd.in: Likewise.
17832 * util/grub.d/10_kfreebsd.in: Likewise.
17833 * util/grub.d/10_linux.in: Likewise.
17834 * util/grub.d/10_netbsd.in: Likewise.
17835 * util/grub.d/10_windows.in: Likewise.
17836 * util/grub.d/20_linux_xen.in: Likewise.
17837 * util/grub.d/30_os-prober.in: Likewise.
17838
54894791
CW
178392011-06-28 Colin Watson <cjwatson@ubuntu.com>
17840
17841 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17842 default_bg_color rather than black.
17843 (grub_gfxterm_fullscreen): Likewise.
17844 (grub_gfxterm_background_color_cmd): Save new background color in
17845 default_bg_color.
17846
8d5d8444
VS
178472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17848
17849 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17850
5afeb5bd
VS
178512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17854 mismerge.
17855
ba7df45e
VS
178562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 Chainloading on coreboot support.
17859
17860 * grub-core/Makefile.core.def (chain): Add coreboot.
17861 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17862
d0b526b2
VS
178632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17866 if it happens.
17867
5ff1d945
VS
178682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 Implement time command.
17871
17872 * grub-core/Makefile.core.def (time): New module.
17873 * grub-core/commands/time.c: New file.
17874 * grub-core/script/parser.y: Remove "time" keyword.
17875 * grub-core/script/yylex.l: Likewise.
17876
5ebaad7e
VS
178772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17880
bdea3798
VS
178812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17884 when handling leftovers.
17885
b28c5655
VS
178862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17889 so that help2man doesn't fail.
17890
b6f945dc
VS
178912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17894 type in pointers on sparc64.
17895 (get_card_packet): Likewise.
17896
f9b75e8a
CW
178972011-06-27 Colin Watson <cjwatson@ubuntu.com>
17898
17899 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17900 with `*'.
17901 (grub_cmd_videoinfo): Fetch current video mode.
17902
1e3d9b86
VS
179032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17906 because of underlying system restrictions.
17907
efff4b1c
VS
179082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17911 necessary.
17912
9fc9ce37
VS
179132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 Coreboot video support.
17916
17917 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17918 (vbe): Likewise.
17919 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17920 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17921 here ...
17922 * grub-core/kern/i386/int.S: ... here.
17923 * grub-core/video/i386/pc/vbe.c: Updated includes.
17924 * grub-core/video/i386/pc/vga.c: Likewise.
17925 * include/grub/i386/coreboot/memory.h
17926 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17927 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17928 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17929 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17930 Disable interrupts.
17931 * include/grub/i386/pc/vga.h: Removed. All users updated.
17932
41bec7fe
VS
179332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17936 definitions for dprintf.
17937 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17938
ca80309d
VS
179392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17940
17941 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17942 prototype.
17943 (get_card_packet): Likewise.
17944
9e322ce8
YB
179452011-06-26 Yves Blusseau <blusseau@zetam.org>
17946
17947 Display the path of the file when file is not found
17948
17949 * grub-core/fs/fat.c: Display the filename when file is not found.
17950 * grub-core/fs/fshelp.c: Likewise.
17951 * grub-core/fs/hfs.c: Likewise.
17952 * grub-core/fs/jfs.c: Likewise.
17953 * grub-core/fs/minix.c: Likewise.
17954 * grub-core/fs/ufs.c: Likewise.
17955 * grub-core/fs/btrfs.c: Likewise.
17956 * grub-core/commands/i386/pc/play.c: Likewise.
17957
cbf597af
SJ
179582011-06-26 Szymon Janc <szymon@janc.net.pl>
17959
17960 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17961 pointer checks before calling grub_free().
17962 * grub-core/commands/wildcard.c (match_devices): Likewise.
17963 * grub-core/commands/wildcard.c (match_files): Likewise.
17964 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17965 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17966 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17967 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17968 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17969 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17970 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17971 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17972 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17973
6295b32f
P
179742011-06-25 Patrick <p55@mailinator.com>
17975
17976 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17977
77c0840b
VS
179782011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17979
17980 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17981 (grub_pxe_send): Likewise.
17982 (GRUB_MOD_INIT): Fix types.
17983
40ea05de
SJ
179842011-06-24 Szymon Janc <szymon@janc.net.pl>
17985
17986 * grub-core/io/xzio.c: Fix code style issues
17987
90162423
MRA
179882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
179892011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17990
17991 Network infrastructure.
17992 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17993
17994 * include/grub/net/arp.h: New file.
90162423
MRA
17995 * include/grub/net/device.h: Likewise.
17996 * include/grub/net/ethernet.h: Likewise.
17997 * include/grub/net/ip.h: Likewise.
17998 * include/grub/net/netbuff.h: Likewise.
17999 * include/grub/net/tftp.h: Likewise.
18000 * include/grub/net/udp.h: Likewise.
18001 * include/grub/ieee1275/ofnet.h: Likewise.
18002 * include/grub/emu/export.h: Likewise.
18003 * include/grub/net.h: Likewise.
18004 * grub-core/net/arp.c: Likewise.
18005 * grub-core/net/ethernet.c: Likewise.
18006 * grub-core/net/ip.c: Likewise.
18007 * grub-core/net/udp.c: Likewise.
18008 * grub-core/net/tftp.c: Likewise.
18009 * grub-core/net/netbuff.c: Likewise.
18010 * grub-core/net/net.c: Likewise.
18011 * grub-core/net/drivers/emu/emunet.c: Likewise.
18012 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18013 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18014 export.h.
18015 * grub-core/Makefile.core.def (net): New module.
18016 (tftp): Likewise.
18017 (ofnet): Likewise.
18018 (emunet): Likewise.
18019 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18020 network protocols.
18021 * grub-core/kern/device.c (grub_net_open) : New variable.
18022 (grub_device_open): Handle network device.
18023 (grub_device_close): Likewise.
18024 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18025 (grub_grubnet_fini): Likewise.
18026 (grub_file_seek): Seek in network device.
18027 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18028 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18029 network root.
18030 (grub_machine_fini): Call grub_grubnet_fini.
18031 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18032 network.
18033 (grub_ieee1275_get_aliasdevname): New function.
18034 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18035 Add unofficial Solaris network info.
18036 (grub_multiboot_make_mbi): Likewise.
18037 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18038 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18039 * include/grub/device.h (grub_fs): Removed.
18040 * include/grub/err.h (grub_err_t): Add network-related values.
18041 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18042 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18043 (grub_ieee1275_get_aliasdevname): New proto.
18044 * include/grub/net.h: Rewritten.
423a1849 18045
031f22a0
VS
180462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18049 names.
18050
4388ca72
VS
180512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18054 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18055 it truncates the output.
18056 Reported by: Ximin Luo.
18057
98e2f506
VS
180582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18059
18060 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18061
2a5e94d8
VS
180622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18065 partmap before abstraction.
18066
535c1910
AK
180672011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18068
18069 * util/grub-mkconfig_lib.in: Add missing quotes.
18070
bc09e1a2
VS
180712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18074 old method if mountinfo would return /dev/root and /dev/root doesn't
18075 exist.
18076
290766fb
VS
180772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 ZFS zlib support
18080
18081 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18082 (decomp_table): Add zlib entries.
18083 (zio_read): USe 8 bits for compression function rather than 3.
18084 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18085
180862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18087
18088 * grub-core/disk/ahci.c: Add missing license statements.
18089 * grub-core/fs/romfs.c: Likewise.
18090 * grub-core/lib/ia64/setjmp.S: Likewise.
18091 * grub-core/loader/i386/pc/freedos.c: Likewise.
18092 * grub-core/loader/ia64/efi/linux.c: Likewise.
18093 * grub-core/video/colors.c: Likewise.
18094 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18095
5ab3f48a
VS
180962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 AHCI support.
18099
18100 * grub-core/Makefile.core.def (ata_pthru): Removed.
18101 (ahci): New module.
18102 (pata): Likewise.
18103 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18104 on unload.
18105 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18106 readwrite.
18107 (grub_hdparm_do_check_powermode_cmd): Likewise.
18108 (grub_hdparm_do_smart_cmd): Likewise.
18109 (grub_hdparm_set_val_cmd): Likewise.
18110 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18111 * grub-core/disk/ahci.c: New file.
18112 * grub-core/disk/ata.c: Factor out the low-level part into ...
18113 * grub-core/disk/pata.c: ... here.
18114 * grub-core/disk/ata_pthru.c: Contents moved to ...
18115 * grub-core/disk/pata.c: ... here.
18116 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18117 (grub_scsi_iterate): Use grub_scsi_names.
18118 (grub_scsi_open): Likewise.
18119 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18120 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18121 (grub_ata_regs_t): New struct.
18122 (grub_disk_ata_pass_through_parms): Likewise.
18123 (grub_ata_device): Renamed to ...
18124 (grub_ata): ... this.
18125 (grub_ata_dev): New struct.
18126 Removed all low-level inline functions.
18127 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18128 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18129 iterate hooks and open. All users updated.
18130 * util/grub-install.in: Handle AHCI disk module.
18131
c31dc5f5
SJ
181322011-06-23 Szymon Janc <szymon@janc.net.pl>
18133
18134 Add support for DRI and RSTn markers in JPEG files.
18135
18136 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18137 (JPEG_MARKER_RST0): Likewise.
18138 (JPEG_MARKER_RST1): Likewise.
18139 (JPEG_MARKER_RST2): Likewise.
18140 (JPEG_MARKER_RST3): Likewise.
18141 (JPEG_MARKER_RST4): Likewise.
18142 (JPEG_MARKER_RST5): Likewise.
18143 (JPEG_MARKER_RST6): Likewise.
18144 (JPEG_MARKER_RST7): Likewise.
18145 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18146 (grub_jpeg_decode_dri): New function.
18147 (grub_jpeg_decode_sos): Move image data related part into
18148 grub_jpeg_decode_data function.
18149 (grub_jpeg_decode_data): New function.
18150 (grub_jpeg_reset): New function.
18151 (grub_jpeg_decode_jpeg): Handle new markers.
18152
fe12fd5b
VS
181532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * util/ieee1275/ofpath.c (check_sas): Close fd.
18156 (main): Free of_path.
18157 Reported by: David Volgyes <dvolgyes>.
18158
03147f46
VS
181592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18162 Reported by: David Volgyes <dvolgyes>.
18163
cad3237f
VS
181642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18167 file after stat.
18168 Reported by: David Volgyes <dvolgyes>.
18169
13548d26
VS
181702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18173
18174 Reported by: David Volgyes <dvolgyes>.
18175
e061a1b5
VS
181762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18177
18178 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18179 Prevent memory leak.
18180
1abe47dc
VS
181812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18184 (main): Close file.
e061a1b5 18185 Reported by: David Volgyes <dvolgyes>.
1abe47dc 18186
fbc62666
VS
181872011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18190 to continue if allocation is failed.
18191
18192 Reported by: David Volgyes <dvolgyes>.
18193
e98c83e9
DV
181942011-06-23 David Volgyes <dvolgyes>
18195
18196 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18197 dereference.
18198
a199a8cd
VS
181992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 Fix spurious warning.
18202
18203 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18204 (acorn_partition_map_find): Use .bin member.
18205
e2d1dba0
VS
182062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18209 /dev/root as a valid device.
18210
8a5d6919
JM
182112011-06-23 Jim Meyering <meyering@redhat.com>
18212
e2d1dba0
VS
18213 Avoid NULL deref in grub_device_open.
18214
8a5d6919
JM
18215 * grub-core/kern/device.c (grub_device_open): Don't dereference
18216 a NULL pointer upon failed grub_env_get.
18217
f7db6f4a
VS
182182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18219
18220 Support non-512B sectors and agglomerate reads.
18221
18222 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18223 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18224 (disk_io_guid): Removed.
18225 (make_devices): Locate solely by BlockIO.
18226 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18227 (grub_efidisk_read): Use read_blocks.
18228 (grub_efidisk_write): Use write_blocks.
18229 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18230 log_sector_size.
18231 (get_safe_sectors): Handle non-512B sectors.
18232 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18233 sectors.
18234 (grub_biosdisk_write): Handle non-512B sectors.
18235 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18236 (grub_scsi_read): Remove special non-512B block handling (now handled
18237 one level up).
18238 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18239 and do sanity checks.
18240 (grub_disk_adjust_range): Handle non-512B sectors.
18241 (transform_sector): New function.
18242 (grub_disk_read_small): Likewise.
18243 (grub_disk_read): Rewritten.
18244 (grub_disk_write): Handle non-512B sectors.
18245 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18246 log_sector_size.
18247 (open_device): Use log_sector_size.
18248 (grub_util_biosdisk_read): Likewise.
18249 (grub_util_biosdisk_write): Likewise.
18250 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18251 non-512B sectors.
18252 (pc_partition_map_embed): Likewise.
18253 * include/grub/disk.h (grub_disk): New field log_sector_size.
18254 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18255 (GRUB_DISK_CACHE_BITS): Increased to 6.
18256 * util/grub-fstest.c (fstest): New command testload.
18257 (argp_parser): Likewise.
18258
881ac815
RM
182592011-06-16 Robert Millan <rmh@gnu.org>
18260
18261 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18262 `ata' driver on kernel of FreeBSD 9.
18263
18264 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18265 (get_ataraid_disk_name): New functions.
18266 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18267 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18268 get_ataraid_disk_name() and get_ada_disk_name().
18269
1e9aef7d
CW
182702011-06-13 Colin Watson <cjwatson@ubuntu.com>
18271
18272 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18273 input format.
18274
351c7c8a
CW
182752011-05-29 Colin Watson <cjwatson@ubuntu.com>
18276
18277 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18278 `ftp.gnu.org' for `alpha.gnu.org'.
18279
6b4e6430
CW
182802011-05-27 Colin Watson <cjwatson@ubuntu.com>
18281
18282 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18283 partitions under /dev/disk/by-id/.
18284
c64db050
CW
182852011-05-27 Colin Watson <cjwatson@ubuntu.com>
18286
18287 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18288 after ten consecutive open failures. Scanning all the way up to
18289 10000 is excessive and can cause serious performance problems in
18290 some configurations.
18291 Fixes Ubuntu bug #787461.
18292
245f4aba
VS
182932011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18296 opening new one.
18297
f767c929
VS
182982011-05-21 Colin Watson <cjwatson@ubuntu.com>
182992011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 Don't stat devices unless we have to.
18302
18303 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18304 dir == /dev/mapper.
18305 (grub_guess_root_device): Use already known os_dev if possible.
18306 * grub-core/kern/emu/hostdisk.c
18307 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18308 if device is known to be a dm one.
18309
f35fa3a6
CW
183102011-05-20 Colin Watson <cjwatson@ubuntu.com>
18311
18312 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18313 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18314 Reported by: Pawel Tecza.
18315
9a79fcf2
VS
183162011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18319 (lsefisystab): Likewise.
18320 (lssal): Likewise.
18321 (lsefimmap): Likewise.
18322 (hdparm): Enable on qemu-mips.
18323 (setjmp): Add ia64 nodist.
18324 (serial): Simplify tags.
18325
63e3eea9
CW
183262011-05-18 Colin Watson <cjwatson@ubuntu.com>
18327
18328 * Makefile.util.def (grub-ofpathname): Install manual page.
18329
09728256
CW
183302011-05-18 Colin Watson <cjwatson@ubuntu.com>
18331
18332 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
18333
8b63a142
CW
183342011-05-18 Colin Watson <cjwatson@ubuntu.com>
18335
18336 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18337
e775d8ed
VS
183382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18341 into dprintf.
18342
bf947d36
VS
183432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18344
18345 Use full 64-bit division.
18346
18347 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18348 (grub_divmod64): ... this.
18349 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18350 version.
18351
b84f26c5
CW
183522011-05-18 Colin Watson <cjwatson@ubuntu.com>
18353
18354 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18355 `source'.
18356
5626056f
CW
183572011-05-18 Colin Watson <cjwatson@ubuntu.com>
18358
18359 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
18360 to avoid accidents when debugging with 'sh -x'.
18361 * grub-core/gensyminfo.sh.in: Likewise.
18362 * tests/example_scripted_test.in: Likewise.
18363 * tests/grub_cmd_regexp.in: Likewise.
18364 * tests/grub_script_blanklines.in: Likewise.
18365 * tests/grub_script_dollar.in: Likewise.
18366 * tests/grub_script_expansion.in: Likewise.
18367 * tests/grub_script_final_semicolon.in: Likewise.
18368 * tests/partmap_test.in: Likewise.
18369 * tests/util/grub-shell-tester.in: Likewise.
18370 * tests/util/grub-shell.in: Likewise.
18371
e2965f4a
CW
183722011-05-18 Colin Watson <cjwatson@ubuntu.com>
18373
18374 Move gfxmenu color handling to video, so that gfxterm can use it
18375 too.
18376
18377 * grub-core/gfxmenu/named_colors.c: Move to ...
18378 * grub-core/video/colors.c: ... here. Rename
18379 grub_gui_get_named_color to grub_video_get_named_color.
18380 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
18381 * grub-core/video/colors.c (my_isxdigit): ... here.
18382 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
18383 Move to ...
18384 * grub-core/video/colors.c (parse_hex_color_component): ... here.
18385 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
18386 to ...
18387 * grub-core/video/colors.c (grub_video_parse_color): ... here.
18388
18389 * include/grub/gui.h (grub_gui_color_t): Move to ...
18390 * include/grub/video.h (grub_video_rgba_color_t): ... here.
18391 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
18392 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
18393 * include/grub/gui.h (grub_gui_map_color): Move to ...
18394 * include/grub/video.h (grub_video_map_rgba_color): ... here.
18395 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
18396 to ...
18397 * include/grub/video.h (grub_video_get_named_color): ... here.
18398 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
18399 * include/grub/video.h (grub_video_parse_color): ... here.
18400
18401 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
18402 video/colors.c.
18403 (gfxmenu): Remove gfxmenu/named_colors.c.
18404 (video) [videomodules]: Add video/colors.c.
18405
18406 Add a background_color command.
18407
18408 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
18409 function.
18410 (GRUB_MOD_INIT): Register background_color command.
18411 (GRUB_MOD_FINI): Unregister background_color command.
18412 (redraw_screen_rect): Allow blend/replace of text layer to be
18413 controlled independently from whether there is a background bitmap.
18414 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
18415 changing bitmap.
18416
1e4b4390
VS
184172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18418
26618ff0
VS
18419 Patch BPB in ntldr and chainloader --bpb.
18420
1e4b4390
VS
18421 * grub-core/fs/fat.c: Include grub/fat.h.
18422 (grub_fat_bpb): Moved to ...
18423 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
18424 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
18425 grub/ntfs.h.
18426 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
18427 Moved from here...
18428 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
18429 here.
18430 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
18431 New function.
18432 (grub_chainloader_cmd): Patch BPB if --bpb is given.
18433 (GRUB_MOD_INIT): Show --bpb.
18434 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
18435 * grub-core/normal/main.c (features): New variable.
18436 (GRUB_MOD_INIT): Set feature_* variables.
18437 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
18438 proto.
18439 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
18440
cf02731e
VS
184412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
18444 for cleanness.
18445
e3a1073f
VS
184462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18447
18448 FreeDOS direct loading support.
18449
18450 * docs/grub.texi (Supported OS): Add FreeDOS.
18451 * grub-core/Makefile.core.def (freedos): New module.
18452 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18453 variable.
18454 (grub_relocator16_boot): Handle %ebx.
18455 * grub-core/lib/i386/relocator16.S: Likewise.
18456 * grub-core/loader/i386/pc/freedos.c: New file.
18457
05caa461
VS
184582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 Long Linux command line support.
18461
18462 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18463 (maximal_cmdline_size): New variable.
18464 (allocate_pages): Use maximal_cmdline_size.
18465 (grub_cmd_linux): Set and use maximal_cmdline_size.
18466 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18467 (allocate_pages): Use maximal_cmdline_size.
18468 (grub_cmd_linux): Set and use maximal_cmdline_size.
18469 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18470 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18471 and cmdline_size.
18472
a2491e23
VS
184732011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
184742011-05-18 Colin Watson <cjwatson@ubuntu.com>
18475
18476 Improve devmapper support
18477
18478 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18479 (grub_util_is_lvm): New function.
18480 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18481 than lvm if not dmraid.
18482 Handle mapped md nodes.
18483 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18484 (grub_util_device_is_mapped): ... this. Make always available. All users
18485 updated.
18486 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18487 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18488 dmraid nodes.
18489 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18490
6ad6223e
VS
184912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18492
18493 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18494
18495 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18496 * grub-core/modinfo.sh.in: New file.
18497 * grub-core/Makefile.core.def (modinfo.sh): New script.
18498 * util/grub-mknetdir.in: Use modinfo.sh.
18499 * util/grub-mkrescue.in: Likewise.
18500
543a8f6e
VS
185012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18504 Fix potential usage of Elf32 instead of Elf64 when compiling on
18505 32-bit architecture. Add endianness macros while on it.
18506
4959e111
VS
185072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18508
18509 Use mipsel- rather than mips- in directories involving mipsel ports to
18510 allow both endiannesses coexist.
18511
18512 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18513 mips. All conditions adjusted.
18514 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18515 variable.
18516 * util/grub-install.in: Adjust conditions to take renaming into account.
18517 * util/grub-mkimage.c (image_targets): Likewise. New target
18518 mips-qemu_mips-elf for bigendian mips.
18519
35341bbc
VS
185202011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18521
18522 Avoid unnecessary copying on MIPS.
18523
18524 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18525 early if src == dest.
18526 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18527 compression is none.
18528
b772baed
VS
185292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 Reduce memory footprint on SGI by putting modules before the kernel
18532 as opposed to after.
18533
18534 * grub-core/Makefile.core.def (kernel): Increase linking address.
18535 (none_decompress): Likewise.
18536 (xz_decompress): Likewise.
18537 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18538 address.
18539 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18540 layout change.
18541 (grub_arch_modules_addr): New function.
18542 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18543 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18544 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18545 here.
18546 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18547 (grub_total_modules_size): ... this. Make global.
18548 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18549 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18550 New definition.
18551 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18552 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18553 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18554 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18555 * util/grub-mkimage.c (image_target_desc): New flag
18556 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18557 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18558 (generate_image): Handle images with modules before kernel.
18559
566a1917
VS
185602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 Prevent potential loss of memory map by overwrite on qemu-mips.
18563
18564 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18565 Save ram size in $s4.
18566 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18567 All users changed to grub_arch_memsize.
18568 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18569 Loongson.
18570 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18571 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18572 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18573 external variable.
18574
5d420cd9
CW
185752011-05-17 Colin Watson <cjwatson@ubuntu.com>
18576
18577 * .bzrignore: Remove grub-dumpbios.
18578
d064b830
CW
185792011-05-17 Colin Watson <cjwatson@ubuntu.com>
18580
18581 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18582 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18583 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18584 existing options which append).
18585 * docs/grub.texi (Simple configuration): Document new options.
18586 Reported by: Ian Jackson. Fixes Debian bug #617538.
18587
3ca2b466
CW
185882011-05-17 Colin Watson <cjwatson@ubuntu.com>
18589
18590 * util/grub-fstest.c (cmd_cat): New function.
18591 (fstest): Handle CMD_CAT.
18592 (options): Add cat.
18593 (argp_parser): Handle cat.
18594
24c9143a
CW
185952011-05-17 Colin Watson <cjwatson@ubuntu.com>
18596
18597 * Makefile.util.def (grub-bin2h): Don't install.
18598 * docs/man/grub-bin2h.h2m: Remove.
18599
90f7ac19
VS
186002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18603 place.
18604
8d4a5178
VS
186052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 Reenable qemu-mips port.
18608
18609 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18610 Fix small arc bug while on it.
18611 * gentpl.py: Handle qemu_mips.
18612 * grub-core/Makefile.am: Likewise.
18613 * grub-core/Makefile.core.def: Likewise.
18614 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18615 inappropriate includes.
18616 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18617 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18618 * grub-core/kern/main.c (grub_modules_get_end)
18619 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18620 * grub-core/kern/mips/qemu-mips: Moved to ..
18621 * grub-core/kern/mips/qemu_mips: ... this.
18622 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18623 (grub_machine_init): Call terminfo_init and serial_init.
18624 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18625 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18626 New variable.
18627 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18628 parameter passing.
18629 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18630 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18631 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18632 * include/grub/mips/qemu_mips/cmos.h: New file.
18633 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18634 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18635 Removed.
18636 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18637 Use correct mips-style address.
18638 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18639 (GRUB_TICKS_PER_SECOND): Removed.
18640 (grub_get_rtc): Likewise.
18641 (grub_cpu_idle): Likewise.
18642 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18643 New definition.
18644 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18645 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18646 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18647 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18648 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18649 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18650 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18651 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18652
400b9371
VS
186532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 SGI ARCS port.
18656
18657 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18658 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18659 platforms.
18660 * configure.ac: New target mips-arc.
18661 * gentpl.py: Likewise.
18662 * grub-core/Makefile.am: Likewise.
18663 * grub-core/Makefile.core.def: Likewise.
18664 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18665 (none_decompress): Likewise.
18666 (lsdev): New module.
18667 (datetime): Use lib/arc/datetime.c on ARC.
18668 (part_dvh): New module.
18669 * grub-core/commands/arc/lsdev.c: New file.
18670 * grub-core/disk/arc/arcdisk.c: Likewise.
18671 * grub-core/kern/mips/arc/init.c: Likewise.
18672 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18673 aligned addresses.
18674 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18675 support.
18676 (grub_arch_dl_relocate_symbols): Likewise.
18677 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18678 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18679 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18680 platforms.
18681 * grub-core/lib/arc/datetime.c: New file.
18682 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18683 pci.h on non-loongson.
18684 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18685 (grub_linux_boot): Set unused registers to 0.
18686 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18687 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18688 * grub-core/mmap/mips/uppermem.c: ...here.
18689 * grub-core/partmap/dvh.c: New file.
18690 * grub-core/term/arc/console.c: Likewise.
18691 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18692 (grub_terminfo_set_current): Add terminal "arc".
18693 (grub_terminfo_readkey): Support ARC sequences.
18694 * include/grub/arc/arc.h: New file.
18695 * include/grub/arc/console.h: Likewise.
18696 * include/grub/disk.h (grub_disk_dev_id): Add
18697 GRUB_DISK_DEVICE_ARCDISK_ID.
18698 * include/grub/mips/arc/kernel.h: New file.
18699 * include/grub/mips/arc/memory.h: Likewise.
18700 * include/grub/mips/arc/time.h: Likewise.
18701 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18702 * include/grub/mips/kernel.h (grub_halt): ... here.
18703 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18704 here...
18705 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18706 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18707 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18708 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18709 proto.
18710 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18711 from here ...
18712 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18713 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18714 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18715 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18716 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18717 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18718 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18719 (grub_phys_addr_t): Moved from here ...
18720 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18721 (grub_vtop): Moved from here ...
18722 * include/grub/mips/memory.h (grub_vtop): ... here.
18723 (grub_map_memory): Moved from here ...
18724 * include/grub/mips/memory.h (grub_map_memory): ... here.
18725 (grub_unmap_memory): Moved from here ...
18726 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18727 (grub_machine_mmap_iterate): Moved from here ...
18728 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18729 (grub_mmap_get_lower): Moved from here ...
18730 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18731 (grub_mmap_get_upper): Moved from here ...
18732 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18733 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18734 here ...
18735 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18736 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18737 here ...
18738 * include/grub/mips/time.h (grub_get_rtc): ... here.
18739 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18740 here ...
18741 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18742 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18743 here ...
18744 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18745 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18746 definition.
18747 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18748 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18749 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18750 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18751 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18752 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18753 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18754 (GRUB_MACHINE_LINK_ADDR): Likewise.
18755 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18756 to 6.
18757 * util/grub-install.in: Run dvhtool on ARC.
18758 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18759 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18760
c8ecc840
VS
187612011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18762
18763 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18764 blocks.
18765
153a4b55
VS
187662011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18769 after enabling port.
18770
ff44d107
VS
187712011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 Skip incorrect USB devices.
18774
18775 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18776 configcnt == 0.
18777 * include/grub/usb.h (grub_usb_err_t): New enum value
18778 GRUB_USB_ERR_BADDEVICE.
18779
638dbe4f
VS
187802011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 Fuloong video init support.
18783
18784 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18785 well.
18786 (grub_vga_read_arx): New function.
18787 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18788 definition.
18789 (framebuffer): New members io, mmioptr and mmiobase.
18790 (read_sis_cmd): New function.
18791 (write_sis_cmd): Likewise.
18792 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18793 rather than 640x400.
18794 * grub-core/video/sis315_init.c: New file.
18795
c3fc520c
VS
187962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18799 non-loongson.
18800 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18801 to grub_dl_register_symbol.
18802
67b1e5c9
VS
188032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18804
18805 Fix compilation errors.
18806
18807 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18808 potentially unused.
18809 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18810 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18811 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18812 to loongson machines.
18813
b756f75f
VS
188142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 Several FS mtime support.
18817
18818 * grub-core/fs/affs.c (grub_affs_time): New struct.
18819 (grub_affs_file): New field mtime.
18820 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18821 type. Removed 'size'. New field 'di'. All users updated.
18822 (grub_affs_mount): Simplify checsum checking.
18823 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18824 (grub_affs_dir): Handle mtime.
18825 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18826 (grub_cpio_dir): Likewise.
18827 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18828 (grub_hfs_filerec): New field mtime.
18829 (grub_hfs_dir): Handle mtime.
18830 (grub_hfs_mtime): New function.
18831 (grub_hfs_fs): Register grub_hfs_mtime.
18832 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18833 (grub_iso9660_dir): New field mtime.
18834 (grub_fshelp_node): New field dirent.
18835 (iso9660_to_unixtime): New function.
18836 (iso9660_to_unixtime2): Likewise.
18837 (grub_iso9660_read_symlink): Use node->dirent.
18838 (grub_iso9660_iterate_dir): Likewise.
18839 (grub_iso9660_dir): Set mtime.
18840 (grub_iso9660_mtime): New function.
18841 (grub_iso9660_fs): Register grub_iso9660_mtime.
18842 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18843 (grub_jfs_inode): New fields atime, ctime and mtime.
18844 (grub_jfs_dir): Set mtime.
18845 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18846 * grub-core/fs/ntfs.c (list_file): Set mtime.
18847 (grub_ntfs_dir): Likewise.
18848 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18849 (grub_reiserfs_iterate_dir): Set mtime.
18850 (grub_reiserfs_dir): Likewise.
18851 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18852 (grub_fshelp_node): Likewise.
18853 (grub_sfs_iterate_dir): Set mtime.
18854 (grub_sfs_dir): Likewise.
18855 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18856 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18857 (grub_xfs_inode): New fields atime, mtime, ctime.
18858 (grub_xfs_dir): Set mtime.
18859 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18860 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18861 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18862
18863 Support UDF symlinks.
18864
18865 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18866 (grub_ufs_read_symlink): New function. All users updated.
18867
18868 Check amiga partmap checksum.
18869
18870 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18871 (grub_amiga_partition): Likewise.
18872 (amiga_partition_map_checksum): New function.
18873 (amiga_partition_map_iterate): Check checksum.
18874
5470225d
VS
188752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 ROMFS support.
18878
18879 * Makefile.util.def (libgrubmods.a): Add romfs.
18880 * grub-core/Makefile.core.def (romfs): New module.
18881 * grub-core/fs/romfs.c: New file.
18882
d4680a35
VS
188832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 Squashfs v4 support.
18886
18887 * Makefile.util.def (libgrubmods.a): Add squash4.
18888 * grub-core/Makefile.core.def (squash4): New module.
18889 * grub-core/fs/squash4.c: New file.
18890 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18891 disk_input_start, disk_input.
18892 (get_byte): Handle disk_input.
18893 (grub_zlib_disk_read): New function.
18894 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18895
bcb18e74
FZ
188962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
188972011-05-15 Feiran Zheng <famcool@gmail.com>
18898
18899 * Makefile.util.def (libgrubmods.a): Add minix3.
18900 * grub-core/Makefile.core.def (minix3): New module.
18901 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18902 (GRUB_MINIX_BSIZE): Removed.
18903 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18904 (grub_minix_ino_t): New type.
18905 (grub_minix_le_to_cpu_ino): New macro.
18906 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18907 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18908 (grub_minix_data): New field block_size.
18909 (grub_minix_read_file): Handle 64-bit correctly.
18910 * grub-core/fs/minix3.c: New file.
18911
32297d5f
TG
189122011-05-15 Tristan Gingold <gingold@free.fr>
189132011-05-15 Robert Millan <rmh.grub@aybabtu.com>
189142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18915
18916 IA64 support.
18917
18918 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18919 * configure.ac: Add ia64-efi target.
18920 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18921 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18922 * gentpl.py: Add ia64_efi platform.
18923 Rename x86_efi to efi and Add ia64-efi. All users updated.
18924 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18925 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18926 Remove kern/generic/rtc_get_time_ms.c on EFI.
18927 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18928 kern/ia64/dl_helper.c on ia64-efi.
18929 Add kern/emu/cache.c on emu.
18930 (linux): Use on loader/ia64/efi/linux.c on ia64.
18931 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18932 whether symbol is a function.
18933 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18934 (grub_symbol): New field 'isfunc'.
18935 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18936 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18937 (grub_dl_load_segments): Place all sections into the same region.
18938 [__ia64__]: Create trampolines and got.
18939 [GRUB_MACHINE_EMU]: Call mprotect.
18940 (grub_dl_resolve_symbols): Resolve symbol type as well.
18941 [__ia64__]: Create function descriptors.
18942 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18943 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18944 (grub_get_rtc): New function.
18945 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18946 * grub-core/kern/emu/cache.S: Renamed to ...
18947 * grub-core/kern/emu/cache_s.S: ... this.
18948 [__ia64__]: Add a nop.
18949 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18950 [__ia64__]: New function.
18951 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18952 * grub-core/kern/ia64/dl.c: New file.
18953 * grub-core/kern/ia64/dl_helper.c: Likewise.
18954 * grub-core/kern/ia64/efi/init.c: New file.
18955 * grub-core/kern/ia64/efi/startup.S: Likewise.
18956 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18957 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18958 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18959 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18960 * grub-core/loader/ia64/efi/linux.c: New file.
18961 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18962 (GRUB_MOD_DEP): Likewise.
18963 (grub_dl) [__ia64__]: New fields got and tramp.
18964 (grub_dl): New field 'base'.
18965 (grub_dl_register_symbol): New argument isfunc. All users updated.
18966 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18967 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18968 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18969 (grub_ia64_dl_get_tramp_got_size): New proto.
18970 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18971 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18972 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18973 * include/grub/efi/api.h: Skip call wrappers on ia64.
18974 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18975 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18976 * include/grub/elf.h (ELF_ST_INFO): New definition.
18977 * include/grub/ia64/efi/kernel.h: New file.
18978 * include/grub/ia64/efi/memory.h: Likewise.
18979 * include/grub/ia64/efi/time.h: Likewise.
18980 * include/grub/ia64/kernel.h: Likewise.
18981 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18982 * include/grub/ia64/time.h: New file.
18983 * include/grub/ia64/types.h: Likewise.
18984 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18985 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18986 New protos.
18987 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18988 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18989 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18990 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18991 All users updated.
18992 (EFI64_HEADER_SIZE): New definition. All users updated.
18993 (image_targets): Add ia64-efi.
18994 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18995 jumpers_addr. All users updated.
18996 Create function descriptors.
18997 (count_funcs): New function.
18998 (unaligned_uint32): New struct.
18999 (MASK20): New definition.
19000 (MASK19): Likewise.
19001 (MASKF21): Likewise.
19002 (add_value_to_slot_20b): New function.
19003 (add_value_to_slot_21_real): Likewise.
19004 (add_value_to_slot_21): Likewise.
19005 (ia64_kernel_trampoline): New struct.
19006 (nopm): New variable.
19007 (jump): Likewise.
19008 (make_trampoline): New function.
19009 (relocate_addresses): Handle ia64.
19010 (make_reloc_section): Likewise.
19011 (load_image): Likewise.
19012
983b414d
VS
190132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19016 warning. Move variables before code while on it.
19017
5d063cdc
VS
190182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 Fuloong support.
19021
19022 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19023 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19024 * grub-core/boot/mips/loongson/fuloong.S: New file.
19025 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19026 Explicitly init CS5536.
19027 [FULOONG]: Don't use serial until CS5536 is available.
19028 Set GPIO based on dumps.
19029 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19030 [FULOONG]: Handle GPIO and memory controller differences.
19031 Parse machine type in $a2.
19032 * grub-core/boot/mips/startup_raw.S: Determine and save the
19033 architecture.
19034 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19035 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19036 init on architecture type.
19037 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19038 SIS315E. Don't init at_keyboard on fuloong.
19039 (grub_halt): Support Fuloong.
19040 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19041 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19042 (loongson_machtypes): New array.
19043 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19044 type.
19045 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19046 config. All users updated. Handle CS5536 serial.
19047 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19048 default port on machine type. Register serial as inactive.
19049 * grub-core/video/sis315pro.c: New file.
19050 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19051 definition.
19052 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19053 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19054 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19055 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19056 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19057 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19058 to ...
19059 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19060 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19061 definition.
19062 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19063 (grub_arch_machine): New extern var.
19064 * include/grub/mips/loongson/serial.h
19065 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19066 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19067 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19068 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19069 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19070 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19071 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19072 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19073 * include/grub/term.h (grub_term_register_input_inactive): New inline
19074 function.
19075 (grub_term_register_output_inactive): Likewise.
19076 * include/grub/video.h (grub_video_driver_id): New value
19077 GRUB_VIDEO_DRIVER_SIS315PRO.
19078 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19079 New field "names". All users updated.
19080 New field value IMAGE_FULOONG_FLASH.
19081 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19082
6ada82d1
JU
190832011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19084
19085 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19086 and add some clarification.
19087
90c571a4
VS
190882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19091 platforms if kernel is compressed.
19092
de04eecf
VS
190932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19096 unused modules since currently referrence counter isn't reliable and
19097 there isn't much memory to recover there anyway.
19098
57688121
VS
190992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19100
19101 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19102 rather than resetting it to allow modules to reference themselves
19103 in init.
19104
3d2c7e35
VS
191052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19108 counter on dependencies since grub_dl_unref already handles this.
19109
b25db218
VS
191102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19113 on error if not already done.
19114
25a45338
VS
191152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19116
19117 Fix few potential memory misusage.
19118
19119 * grub-core/font/font.c (load_font_index): Don't free char_index to
19120 avoid double free.
b25db218
VS
19121 (grub_font_load): Zero-fill font at alloc for safety.
19122 Close file on error.
19123 (free_font): Free bmp_idx.
25a45338 19124
0cac83df
VS
191252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 * docs/grub.texi (Installation): Fix several outdated claims.
19128
2217a143
VS
191292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 Handle module_license on windows.
19132
19133 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19134 sections shifted.
19135 (insert_string): Make argument const char * instead of char *.
19136 (write_section_data): Handle long section names.
19137 Handle module_license.
19138
d4de6b01
VS
191392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19140
19141 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19142 handle class-free menuentries.
19143 (grub_normal_add_menu_entry): Add a check to be sure.
19144
4c2a3b43
VS
191452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19146
19147 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19148 PgUp and PgDown.
19149
85c6210f
VS
191502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * configure.ac: Bump version to 1.99.
19153
36084912
VS
191542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 Give ATA device a bit more time on first try in order to allow disks
19157 to spin up.
19158
19159 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19160 if dev->present is 1. Reset dev->present on failure.
19161 (grub_ata_device_initialize): Set dev->present to 1.
19162 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19163 (grub_ata_device): New member 'present'.
19164
bda0e219
VS
191652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 * util/grub-mkimage.c (generate_image): Update hash.
19168
19e1c41b
VS
191692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 Flush caches on DMA memory.
19172
19173 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19174 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19175 (grub_dma_free): Likewise.
19176 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19177
91bbcc0c
VS
191782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19181 to avoid asm treating ld and sd as macros.
19182
60ddfad3
VS
191832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19186 decompressor.
19187
a298aa04
VS
191882011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19189
19190 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19191 grub_decompress_core since later would fail if grub_decompress_core
19192 is too far.
19193
9b44feca
VS
191942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19197 R_MIPS_JALR since it's used by newer compiler.
19198
56dbe7b4
VS
191992011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19202
52856af2
VS
192032011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19206 file_path to 0 for surety.
19207 (grub_chainloader_boot): Set exit_data to NULL.
19208 Unset the loader once done.
19209 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19210
9c9bfc6d
VS
192112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19212
19213 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19214 unknown key into a dprintf.
19215
dd94a3df
VS
192162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19217
19218 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19219 on first non-existant partition.
19220
fa68d99c
VS
192212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19224 openning fails.
19225 Reported by: Mark Korenberg.
19226
157effb7
VS
192272011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19230 overflow.
19231
ea75312f
VS
192322011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19235 before closing to ensure that it will be readable by grub-setup.
19236
072b5d31
VS
192372011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19240 (devpath_1): Use MAKE_PIWG_PATH.
19241 (devpath_2): Likewise.
19242 (devpath_3): Likewise.
19243 (devpath_4): Likewise.
19244 (devpath_5): Likewise.
19245 (devpath_6): Likewise.
19246
19247 The appleldr.mod was checked that to be binary identical to previous
19248 version.
19249
7fae0051
Z
192502011-05-05 Zach <mikezackles>
19251
19252 Support 2010 Macbooks.
19253
19254 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19255 (devs): Add devpath_6.
19256
7c515bee
VS
192572011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19260 /dev/random. /dev/urandom is good enough for our purposes (salting).
19261
ed660bd8
VS
192622011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19265
ee5614b7
VS
192662011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19269 hexadecimal.
19270
664889a6
VS
192712011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19274 and not 0 on failure.
19275
bd405bbc
CW
192762011-05-03 Colin Watson <cjwatson@ubuntu.com>
19277
19278 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19279 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19280 disk; otherwise grub_fs_probe will not fall back to the next
19281 filesystem.
19282 (grub_pxefs_open): Likewise, for consistency.
19283 Reported and tested by: Ezekiel Grave.
19284
4ebff753
CW
192852011-05-03 Colin Watson <cjwatson@ubuntu.com>
19286
19287 * tests/partmap_test.in: Don't hardcode path to parted.
19288 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19289
8f942553
CW
192902011-05-01 Colin Watson <cjwatson@ubuntu.com>
19291
19292 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19293 of `ls' to find out which devices are available.
19294
3c62402d
VS
192952011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19298 than source address for efi mmap buffer.
19299
723f63f2
VS
193002011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19301
19302 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19303 wrong action on non-detecting the magic.
19304
68797f92
VS
193052011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19306
19307 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19308 already supplied by another part of the module (fixes compilation on
19309 FreeBSD).
19310
6be8715d
VS
193112011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19314 match the one used by mdadm.
19315
e91dba5b
CW
193162011-04-21 Colin Watson <cjwatson@ubuntu.com>
19317
19318 * po/README: Add instructions for creating po/LINGUAS.
19319
c85140b3
CW
193202011-04-21 Colin Watson <cjwatson@ubuntu.com>
19321
19322 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19323 #551428.
19324
19325 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
19326 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
19327 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
19328 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
19329 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
19330 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
19331 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
19332 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
19333 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19334 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
19335 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19336 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19337 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19338 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19339 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19340 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19341 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19342 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19343 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19344 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19345 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19346 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19347
92051871
CW
193482011-04-21 Colin Watson <cjwatson@ubuntu.com>
19349
19350 * grub-core/kern/emu/getroot.c
19351 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19352 test that was incorrectly reintroduced in r3214.
19353 Reported by: Ian Dall. Fixes Savannah bug #33133.
19354
b13f79a4
CW
193552011-04-21 Colin Watson <cjwatson@ubuntu.com>
19356
19357 Fix stack pointer handling in 16-bit relocator.
19358
19359 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
19360 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
19361 Fixes Ubuntu bug #683904.
19362
9b710a88
VS
193632011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 * configure.ac: Bump version to 1.99~rc2.
19366
d97e7b59
VS
193672011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19368
19369 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
19370 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
19371 * grub-core/lib/x86_64/setjmp.S: Likewise.
19372 * grub-core/lib/mips/setjmp.S: Likewise.
19373 * grub-core/lib/powerpc/setjmp.S: Likewise.
19374 * grub-core/lib/sparc64/setjmp.S: Likewise.
19375
0624551c
VS
193762011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19377
19378 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
19379 * grub-core/lib/efi/datetime.c: Likewise.
19380
e8f28d4c
VS
193812011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
19384 New function.
19385 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
19386 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
19387 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
19388
bba79a15
VS
193892011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
19392 bitmap.
19393 (grub_gfxterm_term_init): Likewise.
19394
abc474ef
VS
193952011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19396
19397 Take into account the decorations the computing menu entry width.
19398
19399 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
19400 (grub_gfxmenu_create_box): Register get_border_width.
19401 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
19402 if available.
19403 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
19404 get_border_width.
19405
e74b3947
EP
194062011-04-18 Endres Puschner <code@e7p.de>
19407
19408 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
19409 Don't skip first class.
19410
34faa595
VS
194112011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
19414 chunks.
19415 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
19416
93a777e3
VS
194172011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19418
19419 Complete 64-bit division support.
19420
19421 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
19422 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
19423 * include/grub/misc.h (grub_divmod64): Rename to ...
19424 (grub_divmod64_full): ... this.
19425 (grub_divmod64): New inline function.
19426
a5102d94
VS
194272011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * util/grub-mkimage.c (generate_image): Add forgotten comma.
19430
f3fb7b36
VS
194312011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19432
19433 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
19434 performing the necessary test.
19435
9ac718b0
VS
194362011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
19439 (kfreebsd.elf): Likewise.
19440 (pc-chainloader.elf): Likewise.
19441 (ntldr.elf): Likewise.
19442
50d2cc5a
VS
194432011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 Identify RAID by its UUID rather than (guessed) name.
19446
19447 * grub-core/disk/raid.c (ascii2hex): New function.
19448 (grub_raid_open): Accept mduuid/%s specification.
19449 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19450 (get_mdadm_uuid): ... this.
19451 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19452
e03f7bea
VS
194532011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19456 to negative size.
19457
e74c3112
CW
194582011-04-13 Colin Watson <cjwatson@ubuntu.com>
19459
19460 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19461 btrfs subvolume.
19462 * util/grub.d/20_linux_xen.in: Likewise.
19463
78fa584f
CW
194642011-04-13 Colin Watson <cjwatson@ubuntu.com>
19465
19466 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19467 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19468
19469 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19470 Build a list of relevant visible mounts using the mnt_id and
19471 parent_mnt_id fields, and then scan that list at the end.
19472
9d5f8162
CW
194732011-04-12 Colin Watson <cjwatson@ubuntu.com>
19474
19475 * docs/grub.texi (normal): New section.
19476 (normal_exit): New section.
19477 (Embedded configuration): Add reference to normal.
19478 (GRUB only offers a rescue shell): Likewise.
19479 * docs/grub-dev.texi (Error Handling): Fix typo.
19480
09a9d66f
CW
194812011-04-12 Colin Watson <cjwatson@ubuntu.com>
19482
19483 * NEWS: Drop obsolete entry about probe-only btrfs support.
19484
0c676933
CW
194852011-04-12 Colin Watson <cjwatson@ubuntu.com>
19486
19487 * util/import_gcry.py: Fix typo.
19488
ec9f5e0d
VS
194892011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 * NEWS: Add btrfs support.
19492
fe6b2cba
VS
194932011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
194942011-04-11 Colin Watson <cjwatson@ubuntu.com>
19495
19496 BtrFS support. Written by me (Vladimir) with important bugfixes and
19497 even more important testing by Colin.
19498
19499 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19500 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19501 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19502 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19503 mem_input_off and mem_input. All users updated to accept in-RAM input.
19504 (gzio_seek): New function.
19505 (test_zlib_header): Likewise.
19506 (grub_gzio_read): Likewise.
19507 (grub_zlib_decompress): Likewise.
19508 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19509 Accept partial and non-virtual mounts.
19510 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19511 avoid receiving /dev/dm-X as device.
19512 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19513 Handle bind and partial mounts.
19514 * grub-core/lib/crc.c: New file.
19515 * include/grub/deflate.h: Likewise.
19516 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19517 proto.
19518 * include/grub/lib/crc.h: New file.
19519
e745cf0c
VS
195202011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19521
19522 Implement automatic module license checking according to new GNU
19523 guidelines.
19524
19525 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19526 (grub_dl_load_core): Use grub_dl_check_license.
19527 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19528 (GRUB_MOD_LICENSE): Likewise.
19529 (GRUB_MOD_DUAL_LICENSE): Likewise.
19530 All modules updated.
19531
2a9bc016
CW
195322011-04-11 Colin Watson <cjwatson@ubuntu.com>
19533
19534 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19535 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19536 loaders.
19537 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19538
8a3bc88e
VS
195392011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19542
af869a4a
VS
195432011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19546 failed.
19547
9ee8d94f
VS
195482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19551 parenthesis in the middle of the filename.
19552
b01abe3e
VS
195532011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19556 rather than trying to put initrd way too high.
19557 Reported by: Ryan Lortie <desrt@desrt.ca>
19558
335bda1e
VS
195592011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19562 improperly removed string.
19563
5ca1a64d
VS
195642011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19567 is_disk.
19568 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19569 (open_device) Likewise.
19570 (grub_util_biosdisk_close): Likewise.
d8ce9995 19571 Reported by: Mark Korenberg.
5ca1a64d 19572
cbac5b1e
AK
195732011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19574
19575 * util/grub-mkconfig_lib.in: Add missing quotes.
19576
088cdb65
CW
195772011-04-10 Colin Watson <cjwatson@ubuntu.com>
19578
19579 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19580 is NULL.
19581
8b8a81fa
VS
195822011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 Dynamically count the number of lines for the lower banner.
19585
19586 * grub-core/normal/menu_entry.c (per_term_screen): New member
19587 num_entries.
19588 (print_down): Use num_entries.
19589 (update_screen): Likewise.
19590 (grub_menu_entry_run): Set num_entries.
19591 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19592 num_entries.
19593 (grub_print_message_indented): Move real part to ...
19594 (grub_print_message_indented_real): ... here. Additional argument
19595 dry_run.
19596 (draw_border): Additional argument num_entries.
19597 (print_message): Additional argument dry_run.
19598 (print_entries): Receive menu viewer data.
19599 (grub_menu_init_page): New argment num_entries.
19600 (menu_text_set_chosen_entry): Use num_entries.
19601 (grub_menu_try_text): Likewise.
19602 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19603 All users updated.
19604 (grub_ucs4_count_lines): New function.
19605 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19606 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19607 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19608 (grub_term_border_height): Likewise.
19609 (grub_term_num_entries): Likewise.
19610
277f955b
VS
196112011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19612
19613 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19614 Remove now unused string.
19615
536ce85a
CW
196162011-04-09 Colin Watson <cjwatson@ubuntu.com>
19617
19618 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19619 build system.
19620 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19621
19622 (Comment): Fix typo.
19623 (Getting started): General copy-editing.
19624 (Typical Development Experience): Likewise.
19625 (Error Handling): Likewise.
19626 (Video API): Likewise.
19627
2cf09e32
CW
196282011-04-09 Colin Watson <cjwatson@ubuntu.com>
19629
19630 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19631 throughout.
19632
1ec652f4
VS
196332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19636 directory.
19637
2c583728
CW
196382011-04-08 Colin Watson <cjwatson@ubuntu.com>
19639
19640 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19641 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19642 "development".
19643
d7a565e9
VS
196442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19645
19646 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19647 grub_strcpy since the lines aren't necessarily 0-terminated.
19648
7c2e4909
VS
196492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19650
19651 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19652 root on legacy.
19653
34c09785
VS
196542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19655
19656 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19657 (GRUB_MOD_INIT): DEVICE isn't optional.
19658
6a6f8058
VS
196592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19662 word on new line if it's too long anyway. Fixes a hang.
19663
2e335e90
VS
196642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19667 const.
19668 * util/grub-setup.c (main): Reuse md device name if available.
19669 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19670 not GRUB name as argument.
19671 Based on patch by: Florian Wagner <fwagner>.
19672
10a7a867
VS
196732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19674
19675 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19676 Place mbi on low memory for better compatibility.
19677
7a3d6cd9
VS
196782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19679
19680 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19681
18dd6b47
VS
196822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
196832011-04-08 Colin Watson <cjwatson@ubuntu.com>
19684
19685 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19686 * conf/Makefile.common: Likewise.
18dd6b47 19687
3c0e3f14
VS
196882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19689
f7148863
VS
19690 * grub-core/normal/menu.c: Add missing include.
19691
196922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19693
19694 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19695
6d1fa41f
MZ
196962011-04-08 Martin Zuther <mzuther@mzuther.de>
19697
19698 * util/grub-mkconfig.in: Ignore emacsen backup.
19699
478182a8
VS
197002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19703 on open.
19704 (grub_util_biosdisk_close): Likewise.
19705
72a89a54
VS
197062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19707
19708 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19709 const attribute and use grub_isdigit.
19710
b5ebecfa
A
197112011-04-06 Andrey <dev_null@ukr.net>
19712
19713 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19714 gcc warning.
19715
7755f66e
VS
197162011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19719 useful grub_dprintf's.
19720
461121ff
VS
197212011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19724
2a961775
VS
197252011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19728
adf594cc
VS
197292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19730
19731 Output errors if theme loading failed.
19732
19733 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19734 grub_gfxterm_fullscreen on error paths to ...
19735 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19736 theme loading error.
19737
665900a3
VS
197382011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19739
19740 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19741 space for older compilers.
19742 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19743
a562b479
VS
197442011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19747 and report them as not RAID members since they are useless for GRUB.
19748 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19749
850e9373
VS
197502011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19751
19752 Increase LVM implementation robustness in order not to crash on
19753 configurations like pvmove. Previously code assumed that in some places
19754 only lvs or only pvs are used whereas it seems that they are used
19755 interchangeably.
19756
19757 * grub-core/disk/lvm.c (read_node): New function.
19758 (read_lv): Use read_node.
19759 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19760 Match volumes only at the end when all lvs are found. Take both
19761 pvs (first) and lvs (second) into account.
19762 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19763 mirror_* into node_*. All users updated.
19764 (grub_lvm_stripe): Merge this ...
19765 (grub_lvm_mirror): ... and this ...
19766 (grub_lvm_node): ... into this. All users updated.
19767
6f332153
VS
197682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19769
19770 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19771 of function to allow further scanning for LVMs.
19772
829ea451
VS
197732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19774
19775 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19776 on failed seek as it breaks open fd reusage.
19777
09ceb9a5
VS
197782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19779
19780 * util/grub-install.in: Add a recommendation to use --recheck before
19781 reporting bugs.
19782
67e11623
VS
197832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19786 are obtained.
19787
caee5efd
VS
197882011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 GRUB developper manual based on existing Internals section and
19791 contributions by the various authors with active copyright assignment.
19792
19793 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19794 * docs/font_char_metrics.png: New file.
19795 * docs/font_char_metrics.txt: Likewise.
19796 * docs/grub-dev.texi: Likewise.
19797 * docs/grub.texi (Internals): Move from here ...
19798 * docs/grub-dev.texi: ... here.
19799
2cccc747
CW
198002011-04-01 Colin Watson <cjwatson@ubuntu.com>
19801
19802 Store the loopback device as data on loopback grub_disk structures,
19803 rather than the file it points to. This fixes use of freed memory
19804 if an existing loopback device is replaced.
19805
19806 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19807 disk->data, not dev->file.
19808 (grub_loopback_read): Adjust file assignment to match.
19809 Fixes Ubuntu bug #742967.
19810
186ae367
CW
198112011-04-01 Colin Watson <cjwatson@ubuntu.com>
19812
19813 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19814 when replacing an existing device.
19815
cfed2ad0
VS
198162011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19819 memory corruptions.
19820
19821 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19822 unsigned.
19823 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19824 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19825 (grub_jfs_read_inode): Likewise.
19826 (grub_jfs_opendir): Likewise. Remove now useless casts.
19827 (grub_jfs_getent): Likewise.
19828 Make ino a grub_uint32_t rather than int.
19829 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19830 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19831 division and module with bit operations.
19832 (grub_jfs_find_file): Make ino a grub_uint32_t.
19833 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19834
05d2ed32
CW
198352011-04-01 Colin Watson <cjwatson@ubuntu.com>
19836
19837 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19838 warning. (This was in fact always initialised before use, but GCC
19839 wasn't smart enough to prove that.)
19840 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19841
91dc6073
VS
198422011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19843
19844 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19845 stack alignment.
19846 (efi_wrap_1): Likewise.
19847 (efi_wrap_2): Likewise.
19848 (efi_wrap_3): Likewise.
19849 (efi_wrap_4): Likewise.
19850 (efi_wrap_5): Likewise.
19851 (efi_wrap_6): Likewise.
19852 (efi_wrap_10): Likewise.
19853 Based on information by: Red Hat/Peter Jones.
19854
a8afc1d1
CW
198552011-03-31 Colin Watson <cjwatson@ubuntu.com>
19856
19857 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19858 set-but-not-used variable.
19859
a826cc7d
CW
198602011-03-31 Colin Watson <cjwatson@ubuntu.com>
19861
19862 * docs/grub.texi (Simple configuration): Be more explicit about
19863 GRUB_DEFAULT, and add an example.
19864 Reported by: Leslie Rhorer.
19865
875b67ba
CW
198662011-03-30 Colin Watson <cjwatson@ubuntu.com>
19867
19868 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19869 shell".
19870
fd7cd914
AS
198712011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19872
19873 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19874 * util/grub.d/20_linux_xen.in: Likewise.
19875
090b1b6a
VS
198762011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 * util/grub.d/10_linux.in: Try alternative config filenames where
19879 we parse config file.
19880 * util/grub.d/20_linux_xen.in: Likewise.
19881
baad885c
AS
198822011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19883
19884 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19885 * util/grub.d/20_linux_xen.in: Likewise.
19886
241e41f5
VS
198872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 * grub-core/disk/raid.c (insert_array): Add few potentially
19890 useful grub_util_info.
19891 (grub_raid_register): Likewise.
19892
56445fb2
VS
198932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19896 Preserve partition number in mdadm code path.
19897
c871b1c6
VS
198982011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19901 few potentially useful grub_util_info.
19902
5e631b4f
CW
199032011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19906
2d5d0333
CW
199072011-03-30 Colin Watson <cjwatson@ubuntu.com>
19908
19909 * docs/grub.texi (default): Use @example rather than nested
19910 itemized lists to avoid breaking gendocs.
19911
3d7ed04e
CW
199122011-03-30 Colin Watson <cjwatson@ubuntu.com>
19913
19914 * docs/grub.texi (Future): Update.
19915
abf04200 199162011-03-30 Colin Watson <cjwatson@ubuntu.com>
19917
19918 * docs/grub.texi (Environment): New chapter.
19919 (Changes from GRUB Legacy): Link to "Environment block" section for
19920 details of limitations.
19921 (Simple configuration): Likewise. Link to documentation of gfxmode
19922 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19923 respectively.
19924 (Shell-like scripting): Note that normal variables are stored in the
19925 environment.
19926 (gettext): Link to documentation of lang and locale_dir.
19927 (list_env): New section.
19928 (load_env): New section.
19929 (save_env): New section.
19930
19931 (Reporting bugs): Fix typo.
19932
e1ad0edd
VS
199332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19936 the example.
19937
5d803174
VS
199382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 * grub-core/term/at_keyboard.c (set_scancodes)
19941 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19942
2a2da1d0
CW
199432011-03-30 Colin Watson <cjwatson@ubuntu.com>
19944
19945 * docs/grub.texi (Menu-specific commands): Remove some semantics
19946 that were true in GRUB Legacy but not in GRUB 2.
19947 (submenu): New section.
19948 (false): New section.
19949 (read): New section.
19950 (true): New section.
19951
a7527639
CW
199522011-03-30 Colin Watson <cjwatson@ubuntu.com>
19953
19954 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19955
199562011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19957
19958 * docs/grub.texi (Simple configuration): Explain some of the
19959 current limitations of grub-mkconfig.
8a748df2 19960 Reported by: Leslie Rhorer.
e30af029 19961
fc858482
VS
199622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 Old macs search for boot.efi rather than for bootia32.efi.
19965
19966 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19967 * util/grub-mkrescue.in: Likewise.
19968 Suggested by: Peter Jones.
19969
e1eb511d
VS
199702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19973
70e75364
VS
199742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19975
19976 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19977 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19978 (grub_lvm_mirror): New struct.
19979 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19980 (grub_lvm_iterate): Iterate only visible volumes.
19981 (grub_lvm_read): Factor out to ..
19982 (read_lv): ... this. Support mirrors.
19983 (grub_lvm_read): New wrapper function.
19984 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19985 stripped or mirrored.
19986
fc18f6a3
VS
199872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19990
5c650f4c
CW
199912011-03-29 Colin Watson <cjwatson@ubuntu.com>
19992
19993 * docs/grub.texi (loopback): New section.
19994
61d7156b
CW
199952011-03-29 Colin Watson <cjwatson@ubuntu.com>
19996
19997 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19998 removed -p option.
19999
994b8264
CW
200002011-03-29 Colin Watson <cjwatson@ubuntu.com>
20001
20002 * docs/grub.texi (BIOS installation): New section, partly based on
20003 previous text in other sections.
20004 (Installing GRUB using grub-install): Replace BIOS discussion with a
20005 cross-reference.
20006 (Images): Likewise.
20007
9e4d19e0
VS
200082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20011 [HAVE_DIOCGDINFO]: Add safety checks.
20012
a307c0b2
VS
200132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20016 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20017
b4db4f39
CW
200182011-03-29 Colin Watson <cjwatson@ubuntu.com>
20019
20020 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20021 real_sb->size is zero (e.g. RAID-0), get the disk size from
20022 real_sb->data_size instead.
20023 Fixes Ubuntu bug #743136.
20024
35e5f84c
VS
200252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20028 printf clauses for printing size and start.
20029
d2e29d81
VS
200302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20033 Reported and tested by: Timothy Nikkel.
20034
ed5587af
VS
200352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20038 (dirty_region_add_real): ... this.
20039 (dirty_region_add): Don't discard margin refresh when performing
20040 scheduled repaint.
20041
a1dc717c
VS
200422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 * grub-core/lib/relocator.c (allocate_regstart)
20045 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20046 terminals are capabple of malloc-free operation.
20047 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20048 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20049
9f3677d3
VS
200502011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20051
20052 * util/grub-setup.c: Copy the partition table zone if floppy support
20053 is disabled, even if no partition table is found.
20054
20055 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20056 during POST if an invalid partition table is contained in the PBR
20057 of the active partition when GRUB is installed to a partition.
20058
24148725
CW
200592011-03-28 Colin Watson <cjwatson@debian.org>
20060
20061 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20062 comment.
20063
f329eda7
CW
200642011-03-28 Colin Watson <cjwatson@debian.org>
20065
20066 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20067 to be specific about what kind of RAID device we're scanning for.
20068
c482ad98
SG
200692011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20070
20071 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20072 return freed string.
20073
5ee04984
VS
200742011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20075
20076 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20077
f4727da9
VS
200782011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20079
20080 Use libgeom on FreeBSD to detect partitions.
20081
20082 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20083 (grub-mkrelpath): Likewise.
20084 (grub-script-check): Likewise.
20085 (grub-editenv): Likewise.
20086 (grub-mkpasswd-pbkdf2): Likewise.
20087 (grub-fstest): Likewise.
20088 (grub-mkfont): Likewise.
20089 (grub-mkdevicemap): Likewise.
20090 (grub-probe): Likewise.
20091 (grub-setup): Likewise.
20092 (grub-ofpathname): Likewise.
20093 (grub-mklayout): Likewise.
20094 (example_unit_test): Likewise.
20095 (grub-menulst2cfg): Likewise.
20096 * grub-core/Makefile.core.def (grub-emu): Likewise.
20097 (grub-emu-lite): Likewise.
20098 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20099 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20100 define HAVE_DIOCGDINFO.
20101 (follow_geom_up) [FreeBSD]: New function.
20102 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20103 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20104 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20105 unconditionally of HAVE_DIOCGDINFO.
20106
82fe6c75
VS
201072011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 Fix FreeBSD compilation problem.
20110
20111 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20112 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20113
4c6c9431
CW
201142011-03-24 Colin Watson <cjwatson@ubuntu.com>
20115
20116 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20117 Switch back to page zero before loading a kernel, since some kernel
20118 drivers expect that.
20119 Thanks to: Felix Kuehling.
20120
c7064d94
VS
201212011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20124 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20125 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20126
3f71cded
VS
201272011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20130 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20131
ef6de21a
VS
201322011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20135 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20136 malloc is disabled.
20137
8bc66a2c
VS
201382011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20139
20140 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20141 for modules headers when counting the needed allocation size.
20142
5657722c
VS
201432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20146 if no ASCII character is found to prevent crash.
20147
41a85f55
AK
201482011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20149
20150 * grub-core/video/bitmap.c (match_extension): Ignore case.
20151
59e1e5f1
VS
201522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20155
bd4d051a
VS
201562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * grub-core/script/parser.y: Declare "time" as valid argument.
20159
bae7fcc1
PJ
201602011-03-23 Peter Jones <pjones@redhat.com>
20161
20162 Fix incorrect assert failure reporting.
20163
20164 * grub-core/tests/example_functional_test.c (example_test): Add
20165 a failure comment.
20166 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20167 (failure_start): ...this. Check that malloc succeeded.
20168 Don't call xvasprintf. Return failure struct.
20169 (failure_append_vtext): New function.
20170 (failure_append_text): Likewise.
20171 (add_failure): Likewise.
20172 (grub_test_assert_helper): Likewise.
20173 * include/grub/test.h (grub_test_assert_helper): New declaration.
20174 (grub_test_assert): Macro rewritten.
20175
537dc9be
VS
201762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20179
fa3e01bf
VS
201802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20181
20182 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20183
b1d28404
VS
201842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20187 into GRUB-style one.
20188
2e3e2e09
VS
201892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20192 error and not grub_errno.
20193 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20194
ed57e557
VS
201952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20196
20197 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20198 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20199
d1611f01
VS
202002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * grub-core/efiemu/i386/pc/cfgtables.c
20203 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20204 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20205 (grub_xnu_unlock): Likewise.
20206 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20207
7d4e39d6
VS
202082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20211 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20212 * grub-core/commands/hashsum.c (aliases): Likewise.
20213 * grub-core/commands/setpci.c (pci_registers): Likewise.
20214 * grub-core/disk/usbms.c (attach_hook): Likewise.
20215 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20216 (zio_checksum_table): Likewise.
20217 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20218 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20219 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20220 * grub-core/lib/relocator.c (leftovers): Likewise.
20221 (extra_blocks): Likewise.
20222 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20223 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20224 (modules_last): Likewise.
20225 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20226 (devices): Likewise.
20227 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20228 (modules_last): Likewise.
20229 * grub-core/normal/auth.c (users): Likewise.
20230 * grub-core/normal/context.c (initial_menu): Likewise.
20231 (current_menu): Likewise.
20232 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20233 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20234 (grub_serial_terminfo_input_template): Likewise.
20235 (grub_serial_terminfo_output_template): Likewise.
20236 (grub_serial_terminfo_input): Likewise.
20237 (grub_serial_terminfo_output): Likewise.
20238 (registered): Likewise.
20239 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20240
40fc4659
VS
202412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20244 grub_video_mode_type_t.
20245 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20246 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20247 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20248
2da48d28
VS
202492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * util/grub-install.in: Correct the x86-64 name as x86_64.
20252
9b43bf39
CW
202532011-03-11 Colin Watson <cjwatson@ubuntu.com>
20254
20255 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20256 initial chunk read from the kernel always includes GRUB's multiboot
20257 header, which is now outside the first sector.
20258
be1a7ce0
CW
202592011-03-09 Colin Watson <cjwatson@ubuntu.com>
20260
20261 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20262 cached mmap_size, so that this works correctly when called multiple
20263 times.
20264 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20265
83a3c48d
CW
202662011-03-09 Colin Watson <cjwatson@ubuntu.com>
20267
20268 * docs/grub.texi (Simple configuration): Tidy up formatting.
20269
57d75699
SJ
202702011-03-07 Szymon Janc <szymon@janc.net.pl>
20271
20272 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20273 Set-but-not-used variable removed.
20274
028501a0
VS
202752011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20276
20277 Workaround yet another IEEE1275 bug.
20278
20279 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20280 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20281 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20282 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20283 is set.
20284 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20285 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20286
d998657d
VS
202872011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20288
20289 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20290 error.
20291
fee7cdd4
CW
202922011-02-11 Colin Watson <cjwatson@ubuntu.com>
20293
20294 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20295 empty, since in that case we can only generate either nothing or a
20296 syntactically invalid configuration file.
20297 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20298
97286eb5
CW
202992011-02-09 Colin Watson <cjwatson@ubuntu.com>
20300
20301 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20302 (Making a GRUB bootable CD-ROM): Likewise.
20303 (Invoking grub-mkrescue): New section.
20304 Reported by: Yann Dirson. Fixes Debian bug #612585.
20305
22b28eb3
CW
203062011-02-09 Colin Watson <cjwatson@ubuntu.com>
20307
20308 * util/grub-install.in: Remove unnecessary brackets from tr
20309 arguments.
20310 * util/grub.d/10_hurd.in: Likewise.
20311 * util/grub.d/10_kfreebsd.in: Likewise.
20312 * util/grub.d/10_linux.in: Likewise.
20313 * util/grub.d/20_linux_xen.in: Likewise.
20314 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20315
7e735e43
CW
203162011-02-08 Colin Watson <cjwatson@ubuntu.com>
20317
20318 * include/grub/file.h (not_easly_seekable): Rename to ...
20319 (not_easily_seekable): ... this. Update all users.
20320
800f1881
CW
203212011-01-28 Colin Watson <cjwatson@ubuntu.com>
20322
20323 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20324 grub-mkrescue.
20325
3281d3d6
VS
203262011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 * util/grub-mkimage.c (generate_image): Refuse to create the images
20329 bigger than the actual flash (512K) in Loongson machines. 512K is also
20330 the biggest chip supported by them.
20331
3533413c
VS
203322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20333
20334 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
20335
73ae4f4f
VS
203362011-01-22 Anthony DeRobertis <anthony@derobert.net>
20337
20338 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20339 super_offset field.
20340
37f4f608
VS
203412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20342
20343 * util/grub-install.in: Ignore install device on platforms
20344 where it doesn't make sense. Always use UUIDs except on pc, efi and
20345 sparc64.
20346 Reported by: Daniel Kahn Gillmor.
20347
03a4ccb5
VS
203482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20351
ffc8f4d8
VS
203522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20355 (iterate_real): Don't rely on partition being non-NULL.
20356
80f23be7
VS
203572011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
20360 supported platforms. Put a compile time assert for this rather than
20361 generate a warning with 32-bit shift.
20362
5d4f4dd5
VS
203632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
20366 logical expression more readable.
20367
e489601a
VS
203682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20369
20370 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
20371 even if some elements have a name.
20372 Reported by: Alexander GQ Gerasiov.
20373
96e0a6ea
CW
203742011-01-22 Colin Watson <cjwatson@ubuntu.com>
20375
20376 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
20377 path unreadable if `grub-probe -t abstraction' fails, for example if
20378 memberlist fails on an LVM volume group.
20379 Reported by: Darius Jahandarie.
20380
81431e2b
CW
203812011-01-22 Colin Watson <cjwatson@ubuntu.com>
20382
20383 * docs/grub.texi (Simple configuration): Document
20384 GRUB_PRELOAD_MODULES.
20385
5e79d66a
CW
203862011-01-17 Colin Watson <cjwatson@ubuntu.com>
20387
20388 * .bzrignore: Remove nonexistent grub-pbkdf2.
20389
646ada34
VS
203902011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
20391
20392 * configure.ac: Bump version to 1.99~rc1.
20393
04360337
VS
203942011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
20397 for safety.
20398
46c9db88
VS
203992011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
20402 module.
20403
204042011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
20405
20406 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
20407
4fbf1852
VS
204082011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
20411 diskdevid.
20412
f1632d4d
VS
204132011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 Fix compilation on cygwin.
20416
20417 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
20418 -R .drectve on cygwin.
20419 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
20420 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
20421 (COND_CYGWIN): New condition.
20422 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
20423 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
20424 not @TARGET_OBJ2ELF@.
20425 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
20426 type to determine whether aux is to be used.
20427
0b5e127b
VS
204282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20429
20430 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
20431 realpath'ed device string.
20432 Handle floppy (somewhat).
20433 Issue error in unknown case rather than garbage.
20434 Reported by: Axel Beckert.
20435
173b71e9
VS
204362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 * util/grub.d/00_header.in (load_video): Handle the case when no video
20439 drivers available.
20440 Thanks to: Axel Beckert.
20441
f8f479db
VS
204422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20443
20444 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
20445 variable. Fixes problem on big endian platforms.
20446
8fc0a245
VS
204472011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20450 It doesn't work well there.
20451
b8494fbe
VS
204522011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20455 warning.
20456 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20457 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20458 counter.
20459
b44a558c
VS
204602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20461
20462 Use alias->path rather than buggy "canon".
20463
20464 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20465 (ofdisk_hash_add): New argument curcan. All users updated.
20466
51fa856c
CW
204672011-01-11 Colin Watson <cjwatson@ubuntu.com>
20468
20469 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20470
9da068a5
VS
204712011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20472
20473 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20474 loadmask before doing any calculations. Use correct type for offset.
20475 (grub_linux_load64): Likewise.
20476
86205c94
CW
204772011-01-11 Colin Watson <cjwatson@ubuntu.com>
20478
20479 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20480 with NULL.
20481 (console_grub_equivalences_unshift): Likewise.
20482 Reported by: Daniel Dehennin.
20483
4531a206
VS
204842011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20485
20486 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20487 (set_env_limn_ro): Likewise.
20488 (GRUB_MOD_INIT): Likewise.
20489 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20490 ARRAY_SIZE while on it.
20491 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20492 * grub-core/normal/context.c (grub_env_export): Move from here ...
20493 * grub-core/kern/env.c (grub_env_export): ... here.
20494 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20495 prefix.
20496 * grub-core/kern/main.c (grub_main): Export root and prefix.
20497 * include/grub/env.h (grub_env_export): Export.
20498 Reported by: Seth Goldberg.
20499
45146057
VS
205002011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20501
20502 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20503 Take into account space used by ELF sections and multiboot palette.
20504 Reported by: Grégoire Sutre.
20505
f093110b
VS
205062011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20507
20508 * BUGS: New file.
20509
3395fe52
VS
205102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20511
20512 Pass more appropriate video id to Linux.
20513
20514 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20515 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20516 fill have_vga.
20517 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20518 shift params->lfb_size.
20519 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20520
c2fa6cbb
VS
205212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20522
20523 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20524
b3ff6ff0
VS
205252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20526
20527 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20528 separator and pass bootpath/devid even if only one of them is available.
20529 Reported by: Seth Goldberg.
20530
ae67942e
VS
205312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20532
20533 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20534 implementations bug on them.
20535
20536 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20537 memory.
20538 (filter_memory_map): Likewise.
20539
d570097a
VS
205402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20543 Reported by: nebuchadnezzar.
20544
a508e776
VS
205452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20548 Reported by: nebuchadnezzar.
20549
dcb883b1
VS
205502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20551
20552 Submenu default support.
20553
20554 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20555 auto_boot. All users updated.
20556 Declared static.
20557 Handle chosen and default with submenus.
20558 (grub_menu_execute_with_fallback): Declared static.
20559 Don't notify failure if autobooted. Upper level does it.
20560 (menuentry_eq): New function.
20561 (get_entry_number): Use menuentry_eq.
20562 (show_menu): New parameter "autobooted". All users updated.
20563 (grub_show_menu): Likewise.
20564 * include/grub/normal.h (grub_show_menu): Likewise.
20565 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20566 (grub_menu_execute_with_fallback): Likewise.
20567
6fef99b4
VS
205682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * util/grub-mklayout.c (usage): Update help text.
20571
47a77af5
VS
205722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20575
ce6bb3ee
VS
205762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * util/grub-menulst2cfg.c (main): Trim the line.
20579
db87be2a
VS
205802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20581
20582 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20583 (grub_machine_init): Don't check amount of low memory as reportedly
20584 INT 12h can be broken and if low memory is too low we wouldn't have
20585 gotten into grub_machine_init anyway.
20586
c49849cc
VS
205872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20588
20589 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20590 (grub_machine_mmap_iterate): Take low memory into account
20591
b1969b30
VS
205922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20595 badfs.
20596 Reported by: TiCPU.
20597
cf0eaf13
VS
205982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20599
20600 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20601 members errors.
20602
1f060f39
GS
206032011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20604
20605 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20606 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20607
a21e5672
GS
206082011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20609
20610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20611 openbsd and netbsd types being in part_bsd module.
20612
c88172fa
VS
206132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20614
20615 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20616 (_FILE_OFFSET_BITS): Likewise.
20617 Reported by: Seth Goldberg.
20618
53798c4b
GS
206192011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20620
20621 * configure.ac: Check for libdevmapper header.
20622
e7121b69
VS
206232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20626 avoid aliasing.
20627 (fzap_lookup): Likewise.
20628 (dnode_get): Likewise.
20629 (make_mdn): Likewise.
20630 (zfs_mount): Likewise.
20631 (fzap_iterate): Use temporary pointer to avoid aliasing.
20632 (grub_zfs_read): Likewise.
20633 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20634 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20635 pointers to avoid aliasing.
20636 (grub_cmd_xnu_kernel64): Likewise.
20637 (grub_xnu_load_driver): Likewise.
20638
fc836af9
VS
206392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20642 aliasing warning.
20643 (grub_cmd_terminal_output): Likewise.
20644 Reported and tested by: Grégoire Sutre.
20645
f9f37648
VS
206462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20647
20648 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20649 warning.
20650 Reported and tested by: Grégoire Sutre.
20651
ec1dfd63
VS
206522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20653
20654 * configure.ac: Do CPU substitution even if it's specified explicitly.
20655 Reported and tested by: Alain Greppin.
20656
9462775a
VS
206572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20658
20659 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20660 Reported and tested by: Alain Greppin.
20661
0fd48e35
VS
206622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 Satisfy some bison versions need for inttypes.h.
20665
20666 * grub-core/lib/posix_wrap/inttypes.h: New file.
20667 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20668 (int16_t): Likewise.
20669 (int32_t): Likewise.
20670 (int64_t): Likewise.
20671 Reported and tested by: Alain Greppin.
20672
43f1bc83
VS
206732011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20674
20675 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20676 Silence spurious warning.
20677 Reported and tested by: Alain Greppin.
20678
64d1f041
SJ
206792011-01-07 Szymon Janc <szymon@janc.net.pl>
20680
20681 * docs/grub.texi (Support automatic decompression): Update with xz
20682 decompression support.
20683
25953e10
SJ
206842011-01-07 Szymon Janc <szymon@janc.net.pl>
20685
20686 Improve loaders' kernel command line handling.
20687
20688 * grub-core/lib/cmdline.c: New file.
20689 * include/grub/lib/cmdline.h: Likewise.
20690 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20691 grub_create_loader_cmdline to create kernel command line.
20692 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20693 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20694 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20695 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20696 (linux): Add lib/cmdline.c on common.
20697
e72d259f
VS
206982011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20699
20700 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20701 inopos might be unaligned.
20702
c0cf26da
VS
207032011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20704
20705 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20706 endian transformations.
20707 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20708 Based on report by: Doug Nazar.
20709
0ca09e6c
DN
207102011-01-07 Doug Nazar <nazard.michi@gmail.com>
20711
20712 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20713 array->members[i].start_sector.
20714 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20715
014b6806
VS
207162011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20719 Reported and tested by: Grégoire Sutre.
20720
415502c2
CW
207212011-01-06 Colin Watson <cjwatson@ubuntu.com>
20722
20723 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20724 avoid causing test failures by clearing the screen.
20725
71b6a2b7
CW
207262011-01-06 Colin Watson <cjwatson@ubuntu.com>
20727
20728 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20729 Fix prefix check to handle the case where dir ends with a slash
20730 (most significantly, "/" itself).
20731 Reported by: Michael Vogt.
20732
b3f8d28a
VS
207332011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 Run terminfo_cls on initing terminfo output to clear the screen and
20736 move the cursor to (0,0).
20737
20738 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20739 Call grub_terminfo_output_init.
20740 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20741 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20742 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20743
4c3e4f37
VS
207442011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20745
20746 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20747 only when needed.
20748
488f71f1
VS
207492011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20752 CTRL.
20753
18a38098
VS
207542011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 The E820 type 5 is BADRAM, not EXEC_CODE.
20757
20758 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20759 (GRUB_E820_BADRAM): New define.
20760 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20761 into reserved. Propagate BADRAM.
20762 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20763 (GRUB_E820_BADRAM): New define.
20764
9eae2084
VS
207652011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20768 Ignore the memory post-4G.
20769 (grub_relocator_firmware_alloc_region): Additional debug statement.
20770
ebc71d28
VS
207712011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20774 names.
20775 Reported by: David Pravec.
20776
446fa400
VS
207772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20778
20779 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20780 BIOSes.
20781
a0159f37
VS
207822011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20783
20784 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20785 Prevent overflow.
20786 (grub_reed_solomon_recover): Likewise.
20787
e5146ca1
VS
207882011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20789
20790 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20791
207922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20793
20794 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20795 variable.
20796
5b1bdf12
CW
207972011-01-04 Colin Watson <cjwatson@ubuntu.com>
20798
20799 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20800 descriptions of extract_legacy_entries_source and
20801 extract_legacy_entries_configfile.
20802 Reported by: Seung Soo, Ha.
20803
99d925aa
CW
208042011-01-03 Colin Watson <cjwatson@ubuntu.com>
20805
20806 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20807 on devices that do not implement function 0.
20808
4af0504b
DV
208092011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20810
20811 * grub-core/fs/hfsplus.c: Make parent unsigned.
20812 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20813 overflows.
20814 (grub_hfsplus_cmp_extkey): Likewise
20815
469ee10a
VS
208162011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 * util/grub-install.in: Correctly use bootloader_id and not
20819 GRUB_DISTRIBUTOR on efibootmgr line.
20820
323a8e9c
VS
208212011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20822
20823 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20824
1b394975
IC
208252010-12-31 Ian Campbell <ijc@hellion.org.uk>
20826
20827 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20828 Xen and reorder menu item wording to make it clearer that this entry
20829 will launch Xen. Print separate messages when loading Xen and
20830 Linux.
20831
275bff5f
VS
208322010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20835 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20836 loop in case of incorrect amiga partmap.
20837
307806cb
VS
208382010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20839
20840 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20841 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20842 Reported by:EHeM.
20843
b12b923e
VS
208442010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20845
20846 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20847 spurious warning.
20848 Reported by: crocket
20849
14b48a19
VS
208502010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20851
20852 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20853 Preload EFIemu.
20854 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20855
693db2df
VS
208562010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20857
20858 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20859 is loaded
20860 (grub_cmd_xnu_kextdir): Likewise.
20861 (grub_cmd_xnu_splash): Likewise.
20862
c7638645
VS
208632010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 Avoid using Reed-Solomon with 0 redundancy.
20866
20867 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20868 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20869 or 0 redundancy.
20870 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20871 (grub_reed_solomon_recover): Likewise.
20872
25dd4780
VS
208732010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20874
20875 Don't use disk subsystem in freebsd_boot.
20876
20877 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20878 (freebsd_biosdev): Likewise.
20879 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20880 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20881
0b2db943
VS
208822010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20883
20884 Handling of files of unknown size is currently limited. They can't be
20885 used e.g. for initrd or modules. Moreover gzip handling of not
20886 easily seekable files is buggy. Disable unknown file size for now. May
20887 be inefficient but works.
20888
20889 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20890 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20891
5c408d0f
MP
208922010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20893
20894 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20895 floppy probe.
20896
190a011a
JD
208972010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20898
20899 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20900
022d01b8
SL
209012010-12-25 Shea Levy <shlevy>
20902
20903 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20904
c4855fdc
VS
209052010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20906
20907 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20908 Windows Server 2008.
20909 Reported by: Devin Giddings.
20910
0354b867
VS
209112010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20914 writing an error message because of async power management.
20915 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20916 (grub_reboot): Likewise.
20917
ab66c69f
JU
209182010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20919
20920 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20921 keep unit tests from failing when they shouldn't.
20922
1426ef35
CW
209232010-12-21 Colin Watson <cjwatson@ubuntu.com>
20924
20925 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20926 previous patch increased the size of the RS code by 20 bytes (at
20927 least with gcc-4.4), so increase this by 20 bytes to match.
20928 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20929
20641b6b
CW
209302010-12-21 Colin Watson <cjwatson@ubuntu.com>
20931
20932 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20933 scratch area. Make sure to initialise chosen in standalone mode as
20934 well as non-standalone.
20935 Reported by: Robert Hooker and Andy Whitcroft.
20936 Tested by: Andy Whitcroft.
20937
d060ad60
CW
209382010-12-21 Colin Watson <cjwatson@ubuntu.com>
20939
20940 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20941 constructing a new unescaped string and passing it to grub_xputs in
20942 one go, rather than passing characters to grub_printf one at a time.
20943
b889cfad
CW
209442010-12-21 Colin Watson <cjwatson@ubuntu.com>
20945
20946 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20947 initialising utf16.
20948
4e01b6c8
CW
209492010-12-21 Colin Watson <cjwatson@ubuntu.com>
20950
20951 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20952 comment. Add an extra layer of quotation, requiring the output of
20953 this function to be used in a printf format string.
20954 (gettext_printf): New function.
20955 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20956 Extract translatable strings from here-documents and use a temporary
20957 variable instead, so that xgettext can find them.
20958 * util/grub.d/10_kfreebsd.in: Likewise.
20959 * util/grub.d/10_linux.in: Likewise.
20960 * util/grub.d/20_linux_xen.in: Likewise.
20961
20962 * po/grub.d.sed: New file.
20963 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20964 arguments. Set c-format flags on all strings extracted from
20965 util/grub.d/ (xgettext refuses to include these itself for strings
20966 it extracted from a shell file, but these really are c-format).
20967
5318fe98
VS
209682010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20969
20970 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20971 Avoid next pointing to nowhere.
20972
6c85b743
VS
209732010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20974
20975 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20976 rather than assuming than rootblock is exactly in the middle.
20977 (grub_affs_label): Likewise.
20978
a2a08a35
VS
209792010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20980
20981 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20982 reserved_first_sector to 0.
20983 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20984 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20985 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20986
7059d1ec
VS
209872010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20988
20989 Fix handling of UTF-16 UDF labels.
20990
20991 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20992 (read_string): .. here.
20993 (grub_udf_label): Use read_string.
20994
30aff4cb
BC
209952010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20996
20997 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20998 editor under argument scope.
20999 Reported by: Jordan Uggla
21000
5cf86f4b
VS
210012010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21004
32570200
CW
210052010-12-18 Colin Watson <cjwatson@ubuntu.com>
21006
21007 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21008 line, and other keys scroll an entire page (previous handling was
21009 for \r and \n to scroll a page and other keys to scroll two lines).
21010
e1dffcf2
VS
210112010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21014 Set ptrdest to correct get_physical_target_address rather than
21015 incorrect get_virtual_current_address.
21016
b04298cf 210172010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21018
21019 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21020 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21021
5367ecd3
CW
210222010-12-10 Colin Watson <cjwatson@ubuntu.com>
21023
21024 * .bzrignore: Ignore grub-core/rs_decoder.S.
21025
1fb430f8
CW
210262010-12-10 Colin Watson <cjwatson@ubuntu.com>
21027
21028 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21029 .mo/.mo.gz opening sequence to ...
21030 (grub_mofile_open_lang): ... here.
21031 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21032 * util/grub.d/00_header.in (grub_lang): Include country part of
21033 locale.
21034 Reported by: Mario Limonciello.
21035
a94a6671
RM
210362010-12-09 Robert Millan <rmh@gnu.org>
21037
21038 * NEWS: Document addition of ZFS support.
21039
24b7938b
CW
210402010-12-04 Colin Watson <cjwatson@ubuntu.com>
21041
21042 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21043 rather than `/ 2', as the latter requires -Wa,--divide which would
21044 require bumping our minimum binutils version.
21045
bddc3ef6
BC
210462010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21047
21048 * util/grub-script-check.c (main): Print script line number on
21049 error.
21050
bf78d5b2
RM
210512010-12-01 Robert Millan <rmh@gnu.org>
21052
21053 * grub-core/fs/zfs/zfs.c: New file.
21054 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21055 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21056 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21057 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21058
21059 * include/grub/zfs/dmu.h: Likewise.
21060 * include/grub/zfs/dmu_objset.h: Likewise.
21061 * include/grub/zfs/dnode.h: Likewise.
21062 * include/grub/zfs/dsl_dataset.h: Likewise.
21063 * include/grub/zfs/dsl_dir.h: Likewise.
21064 * include/grub/zfs/sa_impl.h: Likewise.
21065 * include/grub/zfs/spa.h: Likewise.
21066 * include/grub/zfs/uberblock_impl.h: Likewise.
21067 * include/grub/zfs/vdev_impl.h: Likewise.
21068 * include/grub/zfs/zap_impl.h: Likewise.
21069 * include/grub/zfs/zap_leaf.h: Likewise.
21070 * include/grub/zfs/zfs.h: Likewise.
21071 * include/grub/zfs/zfs_acl.h: Likewise.
21072 * include/grub/zfs/zfs_znode.h: Likewise.
21073 * include/grub/zfs/zil.h: Likewise.
21074 * include/grub/zfs/zio.h: Likewise.
21075 * include/grub/zfs/zio_checksum.h: Likewise.
21076
21077 * Makefile.util.def: Build ZFS into libgrubmods.
21078 * grub-core/Makefile.core.def: Build zfs.mod.
21079
3f0f3831
SJ
210802010-11-30 Szymon Janc <szymon@janc.net.pl>
21081
21082 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21083 variable.
21084 * grub-core/commands/wildcard.c (match_files): Likewise.
21085
3a4253b2
RM
210862010-11-30 Robert Millan <rmh@gnu.org>
21087
21088 * grub-core/loader/i386/bsd.c
21089 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21090 whether kernel is loaded using grub_loader_is_loaded(), rather
21091 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21092 certain error conditions.
21093
8c317b27
RM
210942010-11-30 Robert Millan <rmh@gnu.org>
21095
c5c9cd3e
RM
21096 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21097 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 21098
49d3ab46
VS
210992010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 Avoid using tricks for initialising endian variables.
21102
21103 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21104 Make const.
21105 (GRUB_MOD_INIT): Don't byte-swap.
21106 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21107 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21108 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21109 (grub_swap_bytes32_compile_time): Likewise.
21110 (grub_cpu_to_le32_compile_time): Likewise.
21111 (grub_cpu_to_le16_compile_time): Likewise.
21112
f420a804
VS
211132010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * util/grub-setup.c (setup): Stop recommending --force. People who
21116 understand the dangers of blocklists are able to find this option
21117 anyway and the ones who don't shouldn't use it anyway.
21118
4e7db17b
RM
211192010-11-26 Robert Millan <rmh@gnu.org>
21120
21121 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21122 Update all users.
21123
9be57a0d
CW
211242010-11-26 Colin Watson <cjwatson@ubuntu.com>
21125
21126 Fix LVM-on-RAID probing.
21127
21128 * util/grub-probe.c (probe): Remember which disk was detected as
21129 RAID (perhaps an LVM physical volume). Use that disk's raidname
21130 rather than that of the top-level disk.
21131
2c7859b3 211322010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 21133
d7647bb6
BC
21134 Fix cmdline argument quotes for setparams command of menuentry
21135 definitions.
7e623b0d
BC
21136
21137 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21138 quotes for arguments.
f866fe80 21139 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 21140 grub_strchrsub function instead.
f866fe80 21141
7955bea0 21142 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 21143
74f72a64
CW
211442010-11-24 Colin Watson <cjwatson@ubuntu.com>
21145
21146 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21147 effort by skipping "." and ".." entries up-front.
21148 Suggested by: Michael Lazarev.
21149
5a407278
CW
211502010-11-24 Colin Watson <cjwatson@ubuntu.com>
21151
21152 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21153 ldflags to ldadd, to fix link line ordering.
21154 (none_decompress): Likewise.
21155
3030d8ec
CW
211562010-11-24 Colin Watson <cjwatson@ubuntu.com>
21157
21158 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21159 platforms.
21160 (grub-emu-lite): Remove kern/emu/cache.S.
21161
b7fbac12
CW
211622010-11-23 Colin Watson <cjwatson@ubuntu.com>
21163
21164 * util/deviceiter.c (compare_devices): If the by-id link for a
21165 device couldn't be resolved, fall back to sorting by the by-id link
21166 rather than segfaulting.
21167 Reported and tested by: Daniel Mierswa.
21168
5225f328
CW
211692010-11-23 Colin Watson <cjwatson@ubuntu.com>
21170
21171 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21172 ldflags, to fix link line ordering.
21173
038b3ce8
CW
211742010-11-23 Colin Watson <cjwatson@ubuntu.com>
21175
21176 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21177 linkers are picky about this.
21178
bf16e98e
CW
211792010-11-23 Colin Watson <cjwatson@ubuntu.com>
21180
21181 * grub-core/Makefile.am (command.lst): Adjust sed expression
21182 ordering so that extended and priority commands aren't treated as
21183 ordinary commands.
21184
7242bab6
CW
211852010-11-23 Colin Watson <cjwatson@ubuntu.com>
21186
21187 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21188 Remove byte-swapping function calls, which are not valid in
21189 structure initialisers.
21190 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21191 non-const.
21192 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21193 grub_gpt_partition_type_bios_boot.
21194
14e8b279
CW
211952010-11-22 Colin Watson <cjwatson@ubuntu.com>
21196
21197 Fix test program build on GNU/kFreeBSD.
21198
21199 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21200 $(LIBNVPAIR)' library dependencies.
21201
e6f63338 212022010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
21203
21204 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21205
cf8ffc38
CW
212062010-11-22 Colin Watson <cjwatson@ubuntu.com>
21207
21208 * util/grub-install.in: Remove excessive quoting that broke
21209 installations to RAID devices.
21210
7f8b0fd7
VS
212112010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21214 bootloader version instead of 0.
21215
dfd240b1
VS
212162010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21217
21218 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21219 warning.
21220
7b61e609
VS
212212010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21224 retrieve the metadat sector if size isn't known.
21225 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21226
9dfe92d0
RM
212272010-11-18 Robert Millan <rmh@gnu.org>
21228
21229 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21230 with grub_memcmp().
21231
41cc919e
VS
212322010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21233
21234 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21235 arrow.
21236 Reported by: Jordan Uggla.
21237
1afcc914
VS
212382010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21239
21240 Make better UTF compliant.
21241
21242 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21243 sequences as incorrect.
21244 (grub_is_valid_utf8): Likewise.
21245 (grub_utf8_to_ucs4): Likewise.
21246 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21247 (grub_ucs4_to_utf8_alloc): Likewise.
21248 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21249
f1808884
VS
212502010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 Make legacy_source behave like source.
21253
21254 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21255 grub_show_menu.
21256 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21257
24ec575b
CW
212582010-11-16 Colin Watson <cjwatson@debian.org>
21259
21260 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21261 (-Wunused implies -Wunused-parameter, but not vice versa).
21262
72b7c7aa
CW
212632010-11-16 Colin Watson <cjwatson@ubuntu.com>
21264
21265 * configure.ac: Make error messages less confusing by testing for
21266 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21267 accepted, but produces a diagnostic if something else is wrong).
21268
e98937aa
VS
212692010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21270
21271 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21272 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21273 (now unused).
21274 (grub_keyboard_controller_init)
21275 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21276 read the initial state since controller isn't inited yet.
21277
f6bbabc3
VS
212782010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21281 allocate_regbeg may need to create new chunk header.
21282
22e7dbb2
VS
212832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 Fix quoting in legacy parser.
21286
21287 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21288 single quotes.
21289 (grub_legacy_parse): Likewise.
21290 Reported by: Jordan Uggla.
21291 Tested by: Jordan Uggla.
21292
03f80960
VS
212932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 Don't add -lgcc on i386 and x86_64.
21296
21297 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21298 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21299 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21300
779dc15b
VS
213012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * configure.ac: Add -Wno-trampolines when supported.
21304
d20a3b37
MV
213052010-11-14 Modestas Vainius <modax@debian.org>
21306
21307 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21308 fakeraid.
21309
e5360933
GC
213102010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21311
21312 Add generic logical block size support for UDF.
21313
21314 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21315 (GRUB_UDF_BLKSZ): Removed.
21316 (struct grub_udf_data): New field "lbshift" to hold the logical block
21317 size of the file system in log2 format. All users updated.
21318 (sblocklist): Change type to unsigned.
21319 (grub_udf_mount): Change type of "sblklist" to unsigned.
21320 Move AVDP search before VRS recognition, because the latter requires
21321 knowledge of the logical block size, which is detected during the
21322 former.
21323 Detect and validate logical block size during AVDP search, adding
21324 support for block sizes 512, 1024 and 4096.
21325 Make VRS recognition independent of block size.
21326
cb0229c5
GC
213272010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21328
21329 Properly handle deleted files on UDF.
21330
21331 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
21332 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
21333 set.
21334
406858a8
GC
213352010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21336
21337 Support reading files larger than 2 GiB.
21338
21339 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21340 "offset" to grub_off_t.
21341 (grub_udf_read_file): Likewise for parameter "pos".
21342
130da6a7
VS
213432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21346 unavailable.
21347 (Simple configuration): Refer to Changes from GRUB Legacy about
21348 save_env availability.
21349
65e93f6b
VS
213502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21351
21352 * util/grub-install.in: Ignore empty partition table detection
21353 instead of trying to include part_ module.
21354
1fd08bf1
VS
213552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21358 LVM on RAID support.
21359
de1a024f
VS
213602010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21361
21362 Properly define WORDS_BIGENDIAN in wrapped environments.
21363
21364 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
21365 definition.
21366 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
21367
21368 Reported by: Manoel Rebelo Abranches.
21369 Tested by: Manoel Rebelo Abranches.
21370
bc5dd0b9
VS
213712010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * util/grub-mkconfig.in: Fix quoting.
21374
58c184be
VS
213752010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21376
21377 Support big ext2 files.
21378
21379 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
21380 (grub_ext2_read_block): Support triple indirect blocks.
21381 (grub_ext2_read_file): Use 64-bit types and read size_high.
21382 (grub_ext2_open): Read size_high.
21383 Reported by: Ximin Luo.
21384 Tested by: Manoel Rebelo Abranches.
21385
5f0c02b3
VS
213862010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21387
21388 * util/grub-install.in: Handle filenames containing spaces.
21389 Reported by: Jordan Uggla.
21390 Tested by: Jordan Uggla.
21391
4417aae6
VS
213922010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21393
21394 * util/grub-mkconfig.in (grub_script_check): New variable.
21395 Use grub_script_check instead of grub-script-check.
21396 Reported by: Barry Jackson.
21397
7625a68e
VS
213982010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 * docs/grub.texi (menu): Correct the order.
21401 Reported by: D. Hugh Redelmeier.
21402
10001ac5
VS
214032010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
21406 jump.
21407
9c4cf53b
MRA
214082010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21409
10001ac5
VS
21410 * include/grub/elfload.h (grub_elf32_size): New parameter.
21411 All users updated.
9c4cf53b
MRA
21412 Return maximum segments alignment.
21413 (grub_elf64_size): Likewise.
21414 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
21415 Return maximum segments alignment.
21416 (grub_elf64_size): Likewise.
21417 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
21418 (grub_linux_claimmap_iterate): New function. Uses the
21419 "available" property in the "memory" node for memory allocation
21420 for kernel in the PowerPC loader.
9c4cf53b
MRA
21421 (grub_linux_load32): Correctly find linux entry point offset.
21422 (grub_linux_load64): Likewise.
21423
d2bf06bf
RM
214242010-11-07 Robert Millan <rmh@gnu.org>
21425
21426 On mips-yeeloong, build with -march=loongson2f when this flag is
21427 available (GCC >= 4.4).
21428 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
21429 `-march=mips3'.
21430 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
21431 or otherwise add -march=mips3.
21432
898c99a2
BC
214332010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
21434
87220a68
BC
21435 Suppress shell expansion on echo '*' and echo "*" like cases.
21436 Reported by: Jordan Uggla.
898c99a2
BC
21437
21438 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
21439 string arguments before shell expansion.
21440 * tests/grub_cmd_echo.in: New testcases.
21441
4f9b406a
RM
214422010-11-07 Robert Millan <rmh@gnu.org>
21443
21444 * conf/mips-qemu-mips.rmk: Remove stale file from previous
21445 transition.
21446
80c6d25e
VS
214472010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 * grub-core/kern/emu/hostdisk.c
21450 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21451
4a1a0153
VS
214522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21453
21454 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21455 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21456 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21457
34706ddc
VS
214582010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21461
6972dea9
VS
214622010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21463
21464 * util/grub-install.in: Replace useless recomendation to pass
21465 --modules with a recomendation to report a bug.
21466
9c693bd6
VS
214672010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 Properly register serial terminfo.
21470 Reported by: Jordan Uggla
21471
21472 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21473 const.
21474 (grub_serial_terminfo_output_template): Likewise.
21475 (grub_cmd_serial): Register "serial" with terminfo.
21476 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21477 grub_serial_terminfo_output.
21478
6c9e4c0c
RM
214792010-11-05 Robert Millan <rmh@gnu.org>
21480
21481 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21482 needed).
21483
b9b3839f
RM
214842010-11-05 Robert Millan <rmh@gnu.org>
21485
21486 On Yeeloong, pass machine type information to Linux.
21487
21488 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21489 (LOONGSON_MACHTYPE): New macro, set to
21490 "machtype=lemote-yeeloong-2f-8.9inches".
21491 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21492 additional argument to Linux.
21493
1a3aaff4
RM
214942010-11-04 Robert Millan <rmh@gnu.org>
21495
21496 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21497 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21498 (its SATA disks are detected as slaveless IDE master drives on
21499 kFreeBSD).
21500 Reported by Carsten Aulbert.
21501
a75f4f62
CW
215022010-11-02 Colin Watson <cjwatson@ubuntu.com>
21503
21504 * util/bin2h.c (main): Fix spelling error in generated output.
21505
33b4b0c6
GS
215062010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21507
21508 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21509
2b36fbf4
VS
215102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21513 vga= option is supplied.
21514
74aaf558
VS
215152010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21516
21517 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21518 * util/grub.d/10_kfreebsd.in: Likewise.
21519 * util/grub.d/10_linux.in: Likewise.
21520 * util/grub.d/20_linux_xen.in: Likewise.
21521
6428dec3
VS
215222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21523
21524 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21525 argument as an argument to no-argument option.
21526
f8729d98
VS
215272010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21528
21529 * util/grub.d/10_linux.in: Add missing load_video with explicit
21530 GRUB_GFXPAYLOAD_LINUX.
21531
89d68fa6
VS
215322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21533
21534 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21535
3a1197cd
VS
215362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21537
21538 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21539 elements with invlid index.
21540 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21541 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21542 members.
21543 * include/grub/raid.h (grub_raid_member): New struct.
21544 (grub_raid_array): Transform devices and start_sector into usage of
21545 grub_raid_member. All users updated
21546 (allocated_devs): New member.
21547
71574288
VS
215482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21551 is modified
21552
8d40ec65
BC
215532010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21554
21555 NetBSD build fix for getline function conflict from gnulib.
21556
21557 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21558 components that depend on gnulib headers.
21559 (libgrubmods.a): Renamed from earlier libgrub.a.
21560 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21561
95b9257e
VS
215622010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21563
21564 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21565 install rather than creating a broken install.
21566
26c53dc6
VS
215672010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 * util/grub-setup.c (argp): Remove misleading example of installing to
21570 a partition.
21571
4171b3c5
VS
215722010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 * util/grub-setup.c (setup): Clarify the error message.
21575
18568d18
VS
215762010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21579
4f6a2e21
VS
215802010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21581
21582 * grub-core/kern/emu/misc.c
21583 (grub_make_system_path_relative_to_its_root)
21584 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21585
215862010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21587
21588 * grub-core/kern/emu/misc.c
21589 (grub_make_system_path_relative_to_its_root): Revert r2882.
21590
e138c458
VS
215912010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21594 useless field head. All users updated.
21595 (free_subchunk): Correct handling of IN_REGION subchunk.
21596
0cbcdf0e
CW
215972010-10-22 Colin Watson <cjwatson@ubuntu.com>
21598
21599 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21600 (Supported kernels): Likewise.
21601
b65ea155
GS
216022010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21603
21604 Make mktemp invocations portable.
21605
21606 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21607 exit if mktemp fails.
21608 * tests/grub_script_blockarg.in: Likewise.
21609 * tests/partmap_test.in: Likewise.
21610 * tests/util/grub-shell-tester.in: Likewise.
21611 * tests/util/grub-shell.in: Likewise.
21612 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21613 * Makefile.am: Likewise, and chain shell commands with `&&'
21614 instead of ';'.
21615 * util/grub-mkrescue.in: Use the same explicit template as above, and
21616 exit if mktemp fails.
21617
05f43cdd
BC
216182010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21619
21620 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21621 Linux kernel, reported by Dennis Schridde.
21622
800e6a9b
SJ
216232010-10-17 Szymon Janc <szymon@janc.net.pl>
21624
21625 * grub-core/normal/auth.c (grub_auth_check_authentication):
21626 Set-but-not-used variable removed.
21627
d82df574
VS
216282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21629
21630 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21631 32-bit linux protocol.
21632
7bced458
VS
216332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21634
21635 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21636 cursor shape for sanity.
21637
5b027690
VS
216382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21639
21640 * docs/grub.texi (Installation): Document buggy BIOS install.
21641
ba5f65cf
VS
216422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 * docs/grub.texi (Installation): Indent.
21645
fdf2ec9c
VS
216462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * util/grub-setup.c (setup): New parameter allow_floppy.
21649 (arguments): New member allow_floppy.
21650 (argp_parser): Handle --allow-floppy.
21651 (main): Pass allow_floppy.
21652 * util/grub-install.in: New option --allow-floppy passed though to
21653 grub-setup.
21654
861dfd4c
VS
216552010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 * util/grub-install.in: Handle partitionless disks.
21658
f77a8c24
VS
216592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21660
21661 * util/grub-setup.c (setup): Don't clean blocklists before readability
21662 verfification.
21663
27d9ee32
VS
216642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21665
21666 * docs/grub.texi (Installation): Document embedding zone. Remove
21667 obsolete grub-install example.
21668
6bdda8f8
SJ
216692010-10-16 Szymon Janc <szymon@janc.net.pl>
21670
21671 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21672 Set-but-not-used variable ifdef'ed.
21673 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21674 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21675 variable removed.
21676 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21677 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21678 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21679 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21680 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21681 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21682 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21683 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21684 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21685 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21686 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21687 Likewise.
21688
e19b016b
VS
216892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21690
21691 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21692 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21693 enum value.
21694
6c8d3002
VS
216952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21696
21697 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21698 synonym to _S5_. Needed for some DSDTs.
21699
c32b51c9
VS
217002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 Userspace ACPI parser debugging.
21703
21704 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21705 headers and add relevant defines. Don't include standard headers.
21706 (main) [GRUB_DSDT_TEST]: New function.
21707 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21708 Don't declare functions.
21709
fbfbeb39
VS
217102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21711
21712 Remove dead grub_efi_mm_fini.
21713
21714 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21715 (ALLOCATED_PAGES_SIZE): Likewise.
21716 (MAX_ALLOCATED_PAGES): Likewise.
21717 (allocated_pages): Likewise.
21718 (grub_efi_allocate_pages): Don't record allocated pages.
21719 (grub_efi_free_pages): Likewise.
21720 (grub_efi_mm_init): Likewise.
21721 (grub_efi_mm_fini): Removed.
21722
65f7ed7c
VS
217232010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21724
21725 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21726 (grub_efi_mm_init): Take into account the memory map size increase.
21727
24977b44
VS
217282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21729
21730 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21731 (serial_hw_put): Wait based on real time rather than port reads. Don't
21732 roken ports.
21733 * include/grub/serial.h (grub_serial_port): New field broken.
21734
1eb01cd2
RM
217352010-10-16 Robert Millan <rmh@gnu.org>
21736
21737 * grub-core/kern/emu/misc.c
21738 (grub_make_system_path_relative_to_its_root): Fix premature return
21739 when processing non-root ZFS filesystems.
5f8b440b 21740 Reported by Sergio Talens-Oliag.
1eb01cd2 21741
2d5fed60
RM
217422010-10-15 Robert Millan <rmh@gnu.org>
21743
21744 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21745 guarantee compressed ones are processed first.
21746
d0f4c1ea
VS
217472010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21748
21749 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21750 grub_efiemu_autocore.
21751
d87c681f
VS
217522010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21755 rather than 0x1b.
21756 (grub_console_getkey): Use correct jae opcode rather than ja.
21757
219b3564
RM
217582010-10-12 Robert Millan <rmh@gnu.org>
21759
21760 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21761 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21762 variable. All references updated.
21763
21764 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21765
20c6bb7e
VS
217662010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21767
21768 Correctly distinguish mdraid flavours.
21769
21770 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21771 (insert_array): New argument raid.
21772 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21773 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21774 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21775
74baff84
VS
217762010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21779 handling of special keys.
21780
3ef068df 217812010-10-02 Aleš Nesrsta <starous@volny.cz>
21782
c7980ad9
VS
21783 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21784 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21785
a9455194 217862010-10-02 Aleš Nesrsta <starous@volny.cz>
21787
c7980ad9
VS
21788 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21789 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21790 users updated.
a9455194 21791 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21792 Use right endpoint when querying descriptor.
a9455194 21793
441cfe65
VS
217942010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21795
21796 Clear out 0x80 color bit on EFI.
21797 Tested by: decoder
21798 Reported by: decoder and meta tech.
21799
21800 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21801 (grub_console_setcolorstate): Clear out 0x80 bit.
21802 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21803 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21804 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21805
bf26bcc4
VS
218062010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21809 Set to "auto".
21810
6e3c515d
VS
218112010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21812
21813 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21814 mo_file after freeing.
21815
e6d983ba
VS
218162010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21817
21818 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21819
74ccb5b5
VS
218202010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21823 flags.
21824
17821956
VS
218252010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21828 usage.
21829
ee74fa48
VS
218302010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21831
21832 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21833
21834 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21835 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21836 and terminfo.h when needed.
21837 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21838 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21839 (terminfo): Enable only on terminfokernel.
21840 (extcmd): Likewise.
21841 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21842 * include/grub/lib/arg.h: Likewise.
21843 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21844 incorrect usage of ->.
21845
aa438e68
VS
218462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21849 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21850
57994012
VS
218512010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21852
21853 Fix coreboot compilation.
21854
21855 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21856 Take VBE info into account even if only text is supported.
21857 (fill_vbe_info): Take into account the case when only VGA text
21858 is supported.
21859 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21860 on coreboot, multiboot and qemu.
21861
2a406611
VS
218622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21863
21864 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21865 debug messages.
21866 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21867
d33613fc
VS
218682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21869
21870 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21871 parameters.
21872
44a1b432
VS
218732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21874
21875 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21876 if they were BSD-style.
21877
edde54e6
VS
218782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21879
21880 * grub-core/boot/i386/pc/lnxboot.S: Replace
21881 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21882 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21883
b65830fa
VS
218842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21885
21886 Write embedding zone using Reed-Solomon.
21887
21888 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21889 * grub-core/Makefile.am (rs_decoder.S): New target.
21890 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21891 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21892 (multiboot): Move to RS part.
21893 (post_reed_solomon): New label.
21894 (grub_boot_drive): Move to non-RS part since it's modified in memory
21895 on boot.
21896 Include rs_decoder.S.
21897 * grub-core/lib/reed_solomon.c: New file.
21898 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21899 New definition.
21900 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21901 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21902 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21903 * include/grub/partition.h (grub_partition_map): Change prototype of
21904 embed to allow returning additional sectors.
21905 * include/grub/reed_solomon.h: New file.
21906 * util/grub-setup.c (setup): Handle Reed-Solomon.
21907
0b4b227f
CW
219082010-09-28 Colin Watson <cjwatson@ubuntu.com>
21909
21910 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21911 i386 and x86-64 definedness tests.
21912
f772623b
YB
219132010-09-27 Yves Blusseau <blusseau@zetam.org>
21914
21915 Fix generation of kernel_syms.lst
21916
21917 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21918 ASM_PREFIX
21919
8e57a6ca
RM
219202010-09-26 Robert Millan <rmh@gnu.org>
21921
21922 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21923
21924 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21925 the pool is an array of devices, iterate through it and return the
21926 first device that passes a stat() test (instead of blindly returning
21927 the first one).
21928
f9130836
RM
219292010-09-26 Robert Millan <rmh@gnu.org>
21930
21931 Build fixes for GNU/kFreeBSD.
21932
21933 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21934 to programs that require ZFS conversion.
21935 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21936 kernels that don't have FLOPPY_MAJOR.
21937
96510faf
BC
219382010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21939
21940 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21941
449333eb
BC
219422010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21943
21944 Fix grub-emu build.
21945
21946 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21947 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21948 mdraid09 and mdraid1x.
21949
e1fd1939
CW
219502010-09-24 Colin Watson <cjwatson@ubuntu.com>
21951
21952 Re-enable grub-extras.
21953
21954 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21955 avoid confusing Automake. Run autogen only twice, once for the top
21956 level and once for grub-core. Add Makefile.util.def and
21957 Makefile.core.def from extra modules to the appropriate autogen
21958 invocations. If Makefile.common exists in an extra module, include
21959 it in both Makefile.util.am and grub-core/Makefile.core.am;
21960 similarly, include any Makefile.util.common file in Makefile.util.am
21961 and any Makefile.core.common file in grub-core/Makefile.core.am.
21962 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21963 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21964 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21965 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21966
21967 * gentpl.py (gvar_add): Turn GVARS into a set.
21968 (global_variable_initializers): Sort global variables on output.
21969 (vars_init): New function.
21970 (first_time): Likewise.
21971 (library): Ensure that non-global variable initialisations are
21972 emitted before the first time we emit code for a library block.
21973 Append to variables rather than setting them. Only emit
21974 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21975 each conditional path.
21976 (program): installdir() emits an Autogen macro, so must be passed to
21977 var_add rather than gvar_add.
21978 (data): Likewise.
21979 (script): Likewise.
21980 (rules): New function, centralising handling for different target
21981 types. Set up Guile association lists for first_time and vars_init,
21982 and send most output to a diversion so that variable initialisations
21983 can be emitted first.
21984 (module_rules): Use new rules function.
21985 (kernel_rules): Likewise.
21986 (image_rules): Likewise.
21987 (library_rules): Likewise.
21988 (program_rules): Likewise.
21989 (script_rules): Likewise.
21990 (data_rules): Likewise.
21991
21992 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21993
21994 * .bzrignore: Add contrib and grub-core/contrib. Remove
21995 grub-core/Makefile.gcry.am.
21996
1d12cf29
YB
219972010-09-24 Yves Blusseau <blusseau@zetam.org>
21998
21999 * grub-core/lib/LzFind.c: Add missing include.
22000 * grub-core/lib/LzmaEnc.c: Likewise.
22001 * grub-core/script/lexer.c: Likewise.
22002 * grub-core/script/yylex.l: Likewise.
22003 * util/grub-macho2img.c: Likewise.
22004 * util/grub-menulst2cfg.c: Likewise.
22005 * util/grub-mklayout.c: Likewise.
22006 * util/grub-mkpasswd-pbkdf2.c
22007 * util/grub-mkrelpath.c: Likewise.
22008 * util/resolve.c: Likewise.
22009
dd363028
BC
220102010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22011
22012 * Makefile.util.def (example_unit_test): Add
22013 grub-core/gnulib/libgnu.a.
22014
f5a109e2
GS
220152010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22016
22017 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22018
6d0fa83c
VS
220192010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22020
22021 Support xz compression on yeeloong.
22022
22023 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22024 * configure.ac: Check for LZMA.
22025 * grub-core/Makefile.core.def (xz_decompress): New target.
22026 (none_decompress): Likewise.
22027 * grub-core/boot/decompressor/minilib.c: New file.
22028 * grub-core/boot/decompressor/none.c: Likewise.
22029 * grub-core/boot/decompressor/xz.c: Likewise.
22030 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22031 * grub-core/kern/mips/cache_flush.S: Likewise.
22032 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22033 * grub-core/kern/mips/startup.S: Move first stage to ...
22034 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22035 nomacro.
22036 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22037 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22038 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22039 Allocate statically.
22040 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22041 Allocate statically or use scratch. Don't check CRC32.
22042 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22043 Allocate statically. Don't check CRC32.
22044 * include/grub/decompressor.h: New file.
22045 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22046 Removed.
22047 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22048 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22049 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22050 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22051 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22052 * util/grub-mkimage.c (grub_compression_t): New type.
22053 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22054 (image_target_desc): New field default_compression.
22055 (image_targets): Adjust yeeloong targets.
22056 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22057 (compress_kernel): New parameter comp.
22058 (generate_image): Likewise. Handle new compression case.
22059 (options): New option --compression
22060 (help): Likewise.
22061 (main): Handle new option.
22062
1b655af6
GS
220632010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22064
22065 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22066
8f03f0b5
CW
220672010-09-22 Colin Watson <cjwatson@ubuntu.com>
22068
22069 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22070 typo in __i386__ conditional.
22071
7835dfd3
VS
220722010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22073
22074 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22075 include.
22076
e255597e
VS
220772010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22078
6d0fa83c 22079 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
22080
22081 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22082 new tags as supported.
22083 (acpiv2_size): New function.
22084 (grub_multiboot_get_mbi_size): Take new tags into account.
22085 (grub_multiboot_make_mbi): Add new tags.
22086 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 22087
6cc14051 220882010-09-21 Aleš Nesrsta <starous@volny.cz>
22089
22090 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22091 Added missing configuration of USB device.
22092
df7769d8
CW
220932010-09-21 Colin Watson <cjwatson@ubuntu.com>
22094
22095 * grub-core/normal/menu_entry.c (run): Make sure we always return
22096 a value.
22097
b031012d
CW
220982010-09-21 Colin Watson <cjwatson@ubuntu.com>
22099
22100 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22101 NumberOfPages is UINT64 according to the UEFI specification, not
22102 UINTN. Fix printf format.
22103
174de8f3
CW
221042010-09-21 Colin Watson <cjwatson@ubuntu.com>
22105
22106 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22107 `err' to grub_usb_err_t.
22108 Reported and tested by: KESHAV P.R.
22109
d7dbe923
CW
221102010-09-21 Colin Watson <cjwatson@ubuntu.com>
22111
22112 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22113 tpart non-const, so that we can assign to it. (Since this is a
22114 typedef, the constness refers to the pointer rather than what it
22115 points to.)
22116
8d5e2af3
CW
221172010-09-21 Colin Watson <cjwatson@ubuntu.com>
22118
22119 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22120 $(top_srcdir)/grub-core/gnulib as well as
22121 $(top_builddir)/grub-core/gnulib.
22122 Reported by: KESHAV P.R.
22123
5c527783
CW
221242010-09-21 Colin Watson <cjwatson@ubuntu.com>
22125
22126 * util/grub-install.in: Fix the bootloader ID option to be
22127 consistently --bootloader-id, not --bootloader_id.
22128 Reported by: KESHAV P.R.
22129
d309a16e
CW
221302010-09-21 Colin Watson <cjwatson@ubuntu.com>
22131
22132 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22133 check hash checksum." consistently translatable.
22134
b830cd16
YB
221352010-09-21 Yves Blusseau <blusseau@zetam.org>
22136
22137 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22138 $(top_builddir).
22139
c4fe27a8
CW
221402010-09-21 Colin Watson <cjwatson@ubuntu.com>
22141
22142 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22143 (GRUB_MOD_INIT): Register sha1sum command.
22144 (GRUB_MOD_FINI): Unregister sha1sum command.
22145
a4c1d277
YB
221462010-09-21 Yves Blusseau <blusseau@zetam.org>
22147
22148 Keep boot and grub directory names in sync with utils scripts
22149
22150 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22151 * config.h.in: Add previous macros.
22152 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22153 * util/grub-install.in: Use $bootdir and $grubdir variables.
22154
4eff79d2
CW
221552010-09-21 Colin Watson <cjwatson@ubuntu.com>
22156
22157 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22158 convert partition names to disk names if the new `convert' parameter
22159 is set.
22160 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22161 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22162 disk in its own right. This can happen with Xen disk images.
22163
934d7e44
YB
221642010-09-21 Yves Blusseau <blusseau@zetam.org>
22165
22166 * util/grub-editenv.c: Update strings to avoid warnings when generating
22167 grub.pot file.
22168 * util/grub-setup.c: Likewise.
934d7e44 22169
df3367cc
VS
221702010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22171
22172 * configure.ac: Change version to 1.99~beta0.
22173
77a94e98
VS
221742010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22175
22176 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22177 Add BADRAM.
22178 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22179 Likewise.
22180 * include/multiboot.h: Resynced with specification.
22181 * include/multiboot2.h: Likewise.
22182
269004c1
CW
221832010-09-21 Colin Watson <cjwatson@ubuntu.com>
22184
22185 Fix po directory handling.
22186
22187 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22188 * grub-core/gnulib/Makefile.am: Import gettext module.
22189 * m4/gnulib-cache.m4: Likewise.
22190 * m4/gnulib-comp.m4: Likewise.
22191 * m4/gettext.m4: New file, from gnulib.
22192 * m4/glibc2.m4: Likewise.
22193 * m4/iconv.m4: Likewise.
22194 * m4/intdiv0.m4: Likewise.
22195 * m4/intl.m4: Likewise.
22196 * m4/intldir.m4: Likewise.
22197 * m4/intlmacosx.m4: Likewise.
22198 * m4/intmax.m4: Likewise.
22199 * m4/inttypes-pri.m4: Likewise.
22200 * m4/lcmessage.m4: Likewise.
22201 * m4/lib-ld.m4: Likewise.
22202 * m4/lib-link.m4: Likewise.
22203 * m4/lib-prefix.m4: Likewise.
22204 * m4/lock.m4: Likewise.
22205 * m4/nls.m4: Likewise.
22206 * m4/po.m4: Likewise.
22207 * m4/printf-posix.m4: Likewise.
22208 * m4/progtest.m4: Likewise.
22209 * m4/threadlib.m4: Likewise.
22210 * m4/uintmax_t.m4: Likewise.
22211 * m4/visibility.m4: Likewise.
22212 * po/Makefile.am: Remove.
22213 * po/Makefile.in.in: New file, from gettext.
22214 ($(DOMAIN).pot-update): Support POTFILES-shell.
22215 * po/Makevars: New file.
22216 * po/POTFILES-shell: Rename to ...
22217 * po/POTFILES-shell.in: ... this. Update.
22218 * po/POTFILES: Rename to ...
22219 * po/POTFILES.in: ... this. Update.
22220 * po/Rules-quot: New file, from gettext.
22221 * po/boldquot.sed: Likewise.
22222 * po/en@boldquot.header: Likewise.
22223 * po/en@quot.header: Likewise.
22224 * po/insert-header.sin: Likewise.
22225 * po/quot.sed: Likewise.
22226 * po/remove-potcdate.sin: Likewise.
22227
3e0fa5d0
VS
222282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22229
22230 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22231
ade9bd66
VS
222322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22233
22234 * util/grub.d/20_linux_xen.in: Use submenus.
22235
fc55cc4c
VS
222362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22237
22238 Support submenus.
22239
22240 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22241 parameter submenu. All users updated.
22242 * grub-core/normal/main.c (free_menu): Rename to ...
22243 (grub_normal_free_menu): ... this. Made global.
22244 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22245 if requested.
22246 * grub-core/normal/menu_entry.c (screen): New field submenu.
22247 (make_screen): Set submenu.
22248 (run): Open new context if requested.
22249 * include/grub/menu.h (grub_menu_entry): New field submenu.
22250 * include/grub/normal.h (grub_normal_free_menu): New proto.
22251
600cedf7
VS
222522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22253
22254 Menu entries extractor.
22255
22256 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22257 variants.
22258 (GRUB_MOD_INIT): Register new variants.
22259 (GRUB_MOD_FINI): Unregister new variants.
22260 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22261 into grub_cmd_legacy_source.
22262 (grub_cmd_legacy_source): Implement extractor variants.
22263 (GRUB_MOD_INIT): Register new variants.
22264 (GRUB_MOD_FINI): Unregister new variants.
22265 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22266 as an extractor.
22267 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22268 search as an extractor.
22269 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22270 test as an extractor.
22271 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22272 as an extractor.
22273 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22274 (grub_env_new_context): New function.
22275 (grub_env_context_open): Likewise.
22276 (grub_env_extractor_open): Likewise.
22277 (grub_env_extractor_close): Likewise.
22278 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22279 grub_extractor_level.
22280 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22281 * include/grub/env.h (grub_env_extractor_open): New proto.
22282 (grub_env_extractor_close): Likewise.
22283 * include/grub/normal.h (grub_extractor_level): New external variable.
22284
7bda3a87
VS
222852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 Make cutmem accept a region specification.
22288 Suggested by: Samuel Thibault
22289
22290 * grub-core/mmap/mmap.c (parsemem): New function.
22291 (grub_cmd_cutmem): Handle new arguments.
22292
2ea57f88
VS
222932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 New command cutmem.
22296
22297 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22298 (GRUB_MOD_INIT): Register new command.
22299 (GRUB_MOD_FINI): Unregister new command.
22300
74342e31
VS
223012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22302
22303 Support some annoying BSD and Minix subpartitions.
22304
22305 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22306 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22307 Properly handle concatenation.
22308 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22309 * grub-core/normal/completion.c (iterate_partition): Likewise.
22310 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22311 contain partition. All users updated.
22312 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22313 struct.
22314 (grub_openbsdlabel_partition_map): Likewise.
22315 (bsdlabel_partition_map_iterate): Rename to ..
22316 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22317 (bsdlabel_partition_map_iterate): New function.
22318 (netopenbsdlabel_partition_map_iterate): Likewise.
22319 (netbsdlabel_partition_map_iterate): Likewise.
22320 (openbsdlabel_partition_map_iterate): Likewise.
22321 (GRUB_MOD_INIT): Register new partmaps.
22322 (GRUB_MOD_FINI): Unregister new partmaps.
22323 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22324 (grub_partition_msdos_iterate): ... this. All users updated.
22325 Don't support embedding other than in a minix partition.
22326 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
22327 proto.
22328 * include/grub/partition.h (grub_partition): New field msdostype.
22329 * util/grub-install.in: Handle openbsd and netbsd types being in
22330 part_bsd module.
22331
1e8d555b
VS
223322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22333
22334 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
22335
22336 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22337 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22338 (mdraid09): ... this.
22339 (mdraid1x): New module.
22340 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22341 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22342
899d8af4
VS
223432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22344
22345 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22346 vsprintf.
22347
40901acd
CW
223482010-09-20 Colin Watson <cjwatson@ubuntu.com>
22349
22350 * grub-core/commands/efi/lsefimmap.c: Correct header.
22351 * NEWS: Update.
22352
dfe3b247
CW
223532010-09-20 Colin Watson <cjwatson@ubuntu.com>
22354
22355 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22356 as printf format strings; the translations might contain '%' which
22357 could cause a crash.
22358 (main): Likewise.
22359 * util/grub-fstest.c (argp_parser): Likewise.
22360 * util/grub-setup.c (argp_parser): Likewise.
22361 (main): Likewise.
22362
3286a4b4
VS
223632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 Use argp in grub-fstest.
22366
22367 * util/grub-fstest.c: Don't include getopt.h.
22368 Include argp.h.
22369 (root): New variable.
22370 (args_count): Likewise.
22371 (nparm): Likewise.
22372 (num_disks): Likewise.
22373 (images): Likewise.
22374 (cmd): Likewise.
22375 (debug_str): Likewise.
22376 (args): Likewise.
22377 (options): Transformed to argp.
22378 (usage): Removed.
22379 (main): Split argument parsing into ...
22380 (argp_parser): ... this. Changed to argp format.
22381 (argp): New variable.
22382 (main): Use argp_parse.
22383
3dccbe4b
TG
223842010-09-20 Tristan Gingold <gingold@free.fr>
223852010-09-20 Robert Millan <rmh.grub@aybabtu.com>
223862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22387
22388 * grub-core/commands/efi/lsefimmap.c: New file.
22389 * grub-core/Makefile.core.def (lsefimmap): New module.
22390 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
22391
38c259a7
VS
223922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 Pause the execution (10s max) if any errors are displayed so the user
22395 has a chance to see them.
22396
22397 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
22398 (grub_print_error): Increment grub_err_printed_errors.
22399 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
22400 execution if any errors were displayed.
22401 (show_menu): Remove old code for pause.
22402 * grub-core/normal/menu_entry.c (run): Likewise.
22403 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
22404 users updated.
22405 (grub_normal_get_char_counter): Likewise.
22406 * include/grub/err.h (grub_err_printed_errors): New external variable.
22407 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
22408
f218b09c
VS
224092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22410
22411 Support multiboot VBE info.
22412
22413 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22414 Take VBE info into account.
22415 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
22416 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22417 Call fill_vbe_info when appropriate.
22418 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
22419 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
22420 as supported.
22421 (grub_multiboot_get_mbi_size): Take new tags into account.
22422 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
22423 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22424 Call fill_vbe_tag when appropriate.
22425 (grub_multiboot_make_mbi): Properly align tags.
22426 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
22427 function.
22428 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
22429 proto.
22430 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
22431
a9cc5438
VS
224322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22433
22434 Suport manual terminal geometry specification.
22435
22436 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
22437 Save state in grub_ofconsole_terminfo_output.
22438 (grub_ofconsole_term): Use grub_terminfo_getwh.
22439 (grub_ofconsole_getwh): Removed.
22440 * grub-core/term/serial.c (grub_serial_getwh): Removed.
22441 (grub_serial_term): Use grub_terminfo_getwh.
22442 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
22443 (options): New struct.
22444 (OPTION_*): New enum.
22445 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22446 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22447 width and height.
22448 (grub_terminfo_getwh): New proto.
22449 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22450
1a8fed20
VS
224512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 Handle legacy "terminal" command.
22454
22455 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22456 and FLAG_TERMINAL.
22457 (legacy_commands): Add terminal and title.
22458 (grub_legacy_parse): Handle terminal. Simplify title handling.
22459
41e9c57d
VS
224602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22461
22462 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22463 parameters overflow.
22464
61c874c5
CW
224652010-09-20 Colin Watson <cjwatson@ubuntu.com>
22466
22467 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22468 widthspec.h.
22469
22470 * docs/grub.texi (Shell-like scripting): Document `!'.
22471 (Network): Simplify using new i386-pc-pxe format. Mention
22472 grub-mknetdir.
22473
22474 * NEWS: Update.
22475
943682b4
CW
224762010-09-20 Colin Watson <cjwatson@ubuntu.com>
22477
22478 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22479 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22480 when needed.
22481
6d3d698d
CW
224822010-09-20 Colin Watson <cjwatson@ubuntu.com>
22483
22484 * grub-core/commands/efi/lsefisystab.c: Correct header.
22485 * grub-core/commands/efi/lssal.c: Likewise.
22486 * grub-core/commands/testload.c: Likewise.
22487
c982589f
CW
224882010-09-20 Colin Watson <cjwatson@ubuntu.com>
22489
22490 * util/grub-mkrescue.in: Add explicit root argument to --set to
22491 prevent the UUID being interpreted as an argument to --set (matches
22492 previous change to prepare_grub_to_access_device).
22493
a63c31b6
CW
224942010-09-20 Colin Watson <cjwatson@ubuntu.com>
22495
22496 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22497 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22498 the verbosity of later #ifs.
22499 (find_partition_start): Define this function on FreeBSD too.
22500 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22501 function.
22502 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22503 on FreeBSD.
22504
6439b8ee
YB
225052010-09-20 Yves Blusseau <blusseau@zetam.org>
22506
22507 * util/grub-editenv.c: Use argp instead of getopt.
22508
c5930ec8
YB
225092010-09-20 Yves Blusseau <blusseau@zetam.org>
22510
22511 * util/grub-setup.c: Use argp instead of getopt.
22512
15c69261
YB
225132010-09-20 Yves Blusseau <blusseau@zetam.org>
22514
22515 Use gnulib-tool to create gnulib source files.
22516
22517 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22518 grub-core/gnulib directories
22519 * .bzignore: Add **/.deps and autogenerated gnulib files
22520 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22521 of gnulib macros, add grub-core/gnulib/Makefile
22522 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22523 include m4 directory to aclocal.
22524 * Makefile.util.def: Remove direct compilation of gnulib source files
22525 and use the new grub-core/gnulib/libgnu.a.
22526 * build-aux/config.rpath: move config.rpath from top directory to
22527 build-aux
22528 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22529 in gnulib headers
22530 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22531 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22532 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22533 header.
22534 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22535 string.
22536
e511c9f5
YB
225372010-09-20 Yves Blusseau <blusseau@zetam.org>
22538
22539 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22540 grub-core/genmod.sh and grub-core/gensyminfo.sh
22541
c2dede05
BC
225422010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22543
22544 Add a test for echo command options.
22545
22546 * tests/grub_cmd_echo.in: New test.
22547 * Makefile.util.def: Rules for new test.
22548
c55f5018
SJ
225492010-09-20 Szymon Janc <szymon@janc.net.pl>
22550
22551 Remove crc.mod and move crc command to hashsum.mod.
22552 Remove lib/crc.c - users updated to use gcrypt implementation.
22553
22554 * grub-core/commands/crc.c: Removed.
22555 * grub-core/Makefile.core.def (crc): Module removed.
22556 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22557 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22558 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22559 * grub-core/lib/crc.c: Removed.
22560 * include/grub/lib/crc.h: Removed.
22561 * Makefile.util.def (crc): Remove lib/crc.c
22562 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22563 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22564 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22565 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22566 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22567 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22568
e0337366
VS
225692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22572
742f9232
VS
225732010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22574
22575 Split config.h for util and core.
22576
22577 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22578 (ADDR32): Likewise.
22579 (DATA32): Likewise.
22580 (BSS_START_SYMBOL): Likewise.
22581 (END_SYMBOL): Likewise.
22582 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22583 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22584 * config.h.in: New file.
22585 * configure.ac: Use config-util.h as config define file.
22586 Rename MACHINE into GRUB_MACHINE. All users updated.
22587 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22588 updated.
22589 (NESTED_FUNC_ATTR): Likewise.
22590 Substitue new variables.
22591 (COND_HAVE_ASM_USCORE): New conditional.
22592 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22593 (kernel_syms.lst): Use ASM_PREFIX.
22594 * grub-core/kern/emu/console.c: Include config-util.h.
22595 * grub-core/kern/emu/misc.c: Likewise.
22596 * grub-core/kern/emu/mm.c: Likewise.
22597 * include/grub/emu/misc.h: Likewise.
22598 * include/grub/libgcc.h: Likewise.
22599
39feb0e8
VS
226002010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22601
22602 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22603 constants usage.
22604 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22605 Fix GRUB_TERM_KEY_* constants usage.
22606 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22607
9af6dac3
VS
226082010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22609
22610 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22611 print pointer.
22612 * grub-core/bus/usb/uhci.c: Remove empty define.
22613 (grub_uhci_check_transfer): Add missing cast.
22614 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22615 print pointer.
22616 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22617 PRIuGRUB_SIZE.
22618 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22619
d6d94820
VS
226202010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22621
22622 * grub-core/Makefile.core.def (legacycfg): Add
22623 lib/i386/pc/vesa_modes_table.c on emu.
22624
3572f2b6
BC
226252010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22626
22627 Reduce number of temporary files generated by build system.
22628
22629 * grub-core/gencmdlist.sh: Removed.
22630 * grub-core/genfslist.sh: Removed.
22631 * grub-core/genhandlerlist.sh: Removed.
22632 * grub-core/genmodsrc.sh: Removed.
22633 * grub-core/genpartmaplist.sh: Removed.
22634 * grub-core/genparttoollist.sh: Removed.
22635 * grub-core/gentermiinallist.sh: Removed.
22636 * grub-core/genvideolist.sh: Removed.
22637
22638 * grub-core/genmod.sh.in: New file.
22639 * grub-core/gensyminfo.sh.in: New file.
22640
22641 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22642 * conf/Makefile.extra-dist: Update with new files.
22643 * gentpl.py: Remove rules related to unnecessary temporary files.
22644 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22645 and und-* files.
22646 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22647 genmod.sh scripts.
22648 * grub-core/bus/usb/uhci.c: Remove empty #define.
22649 * grub-core/genmoddep.awk: Updated with new syminfo format.
22650 * util/bash-completion.d/Makefile.am: Add config.log to
22651 CLEANFILES.
22652
c836b030
YB
226532010-09-19 Yves Blusseau <blusseau@zetam.org>
22654
22655 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22656
2f4e8053
BC
226572010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22658
22659 * util/grub-mkconfig.in: Check the config script for syntax errors
22660 before saving.
22661
75831c34
CW
226622010-09-19 Colin Watson <cjwatson@ubuntu.com>
226632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22664
22665 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22666 platforms.
22667 * util/grub-install.in: Add EFI and IEEE1275 support.
22668 * util/i386/efi/grub-install.in: Removed.
22669 * util/ieee1275/grub-install.in: Likewise.
22670
eaf41b25
VS
226712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22672
22673 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22674 (grub_cmd_cmosclean): Likewise.
22675 (GRUB_MOD_INIT): Register command cmosclean.
22676 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22677 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22678
1a9130dd
CPE
226792010-09-18 Carles Pina i Estany <carles@pina.cat>
226802010-09-18 Aleš Nesrsta <starous@volny.cz>
226812010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22682
22683 Add keyboard layouts support.
22684
22685 * Makefile.util.def (grub-mklayout): New file.
22686 (grub-kbdcomp): New script.
22687 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22688 Add keyboard_layouts.h.
22689 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22690 commands/boot.c on yeeloong.
22691 (keylayouts): New module.
22692 * grub-core/bus/usb/ohci.c
22693 * grub-core/bus/usb/uhci.c
22694 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22695 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22696 (attach_root_port): Likewise.
22697 (poll_nonroot_hub): Likewise.
22698 (grub_usb_poll_devices): Likewise.
22699 (detach_device): Close transfer.
22700 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22701 function.
22702 (grub_usb_bulk_setup_readwrite): Likewise.
22703 (grub_usb_bulk_finish_readwrite): Likewise.
22704 * grub-core/commands/keylayouts.c: New file.
22705 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22706 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22707 aliases.
22708 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22709 support scancode 2.
22710 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22711 * include/grub/keyboard_layouts.h: New file.
22712 * util/grub-mklayout.c: New file.
22713 * util/grub-kbdcomp.in: Likewise.
22714
a1d84a5e
VS
227152010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22716
22717 Unify memory types.
22718
22719 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22720 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22721 types.
22722 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22723 (grub_upper_mem): Likewise.
22724 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22725 * include/grub/memory.h (grub_memory_type_t): New enum.
22726 All users updated.
22727
9696382e
VS
227282010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 * grub-core/Makefile.core.def (lsapm): New module.
22731 * grub-core/commands/i386/pc/lsapm.c: New file.
22732 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22733 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22734 Likewise.
22735 * include/grub/i386/pc/apm.h: New file.
22736 * include/multiboot.h (multiboot_apm_info): New struct.
22737
227382010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 GRUB-legacy configuration file support.
22741
22742 * Makefile.util.def (grub-menulst2cfg): New util.
22743 * docs/man/grub-menulst2cfg.h2m: New file.
22744 * grub-core/Makefile.core.def (legacycfg): New module.
22745 * grub-core/commands/legacycfg.c: New file.
22746 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22747 (grub_normal_add_menu_entry): ... this.
22748 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22749 (grub_normal_set_password): ...this.
22750 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22751 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22752 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22753 * grub-core/lib/legacy_parse.c: New file.
22754 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22755 * include/grub/i386/pc/vesa_modes_table.h: New file.
22756 * include/grub/legacy_parse.h: Likewise.
22757 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22758 * util/grub-menulst2cfg.c: New file.
22759
bf8d1338
CW
227602010-09-17 Colin Watson <cjwatson@ubuntu.com>
22761
22762 * grub-core/kern/emu/hostdisk.c
22763 (convert_system_partition_to_system_disk): Initialise node.
22764
9c0bad2e
CW
227652010-09-17 Colin Watson <cjwatson@ubuntu.com>
22766
22767 * grub-core/kern/emu/hostdisk.c
22768 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22769 leak.
22770 Reported and based on patch by: Modestas Vainius.
22771
a939d135
CW
227722010-09-17 Colin Watson <cjwatson@ubuntu.com>
22773
22774 Fix DM-RAID probing with recent versions of device-mapper udev
22775 rules.
22776
22777 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22778 canonicalise device paths under /dev/mapper/.
22779 (convert_system_partition_to_system_disk): Compare the
22780 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22781 path, since device nodes under /dev/mapper/ are often symlinks.
22782
0f7ee3c9
YB
227832010-09-17 Yves Blusseau <blusseau@zetam.org>
22784
22785 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22786
10854d0d
YB
227872010-09-16 Yves Blusseau <blusseau@zetam.org>
22788
22789 * configure.ac: Avoid some annoying error messages if freetype-config
22790 program is not found.
22791
108538d8
CW
227922010-09-16 Colin Watson <cjwatson@ubuntu.com>
22793
22794 Support RAID on virtio devices, and others.
22795
22796 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22797 Rename to ...
22798 [__MINGW32__] (grub_find_device): ... this.
22799 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22800 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22801 reasonable default if dir is NULL.
22802 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22803 ...
22804 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22805 (grub_guess_root_device): Update callers.
22806 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22807
22808 * util/raid.c (grub_util_getdiskname): Remove.
22809 (grub_util_raid_getmembers): Use grub_find_device rather than
22810 grub_util_getdiskname.
22811
e5bfc130
CW
228122010-09-16 Colin Watson <cjwatson@ubuntu.com>
22813
22814 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22815 needing to be compiled with serial support.
22816 (ls): Indicate that multiple files are accepted.
22817 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22818 indicate that multiple files are accepted.
22819
be458ae2
CW
228202010-09-16 Colin Watson <cjwatson@ubuntu.com>
22821
22822 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22823 libgrub_a_init.c, and util/bash-completion.d/grub.
22824
cb731b5e
VS
228252010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22826
22827 * util/grub-setup.c (setup): Fix incorrect container semantics.
22828
35139e8a
VS
228292010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22830
22831 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22832 misusage.
22833 Reported by: J. Nick Terry
22834
e50fca4a
VS
228352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 Move embedding routines to partmap sources files.
22838
22839 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22840 [GRUB_UTIL]: New variable.
22841 (gpt_partition_map_iterate): Set part.parent.
22842 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22843 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22844 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22845 New function.
22846 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22847 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22848 (grub_partition_map) [GRUB_UTIL]: New field embed.
22849 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22850 (setup): Use ->embed.
22851
f00478b7
VS
228522010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22855 function.
22856 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22857 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22858
2b94e3ff
YB
228592010-09-15 Yves Blusseau <blusseau@zetam.org>
22860
22861 Add function to get completions from usage.
22862
22863 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22864 completions from usage. Use LC_ALL=C to get options properly.
22865
2e04a006
VS
228662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22867
22868 * grub-core/gnulib/basename-lgpl.c: Imported.
22869 * grub-core/gnulib/basename.c: Likewise.
22870 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22871 * grub-core/gnulib/dirname.c: Likewise.
22872 * grub-core/gnulib/dirname.h: Likewise.
22873 * grub-core/gnulib/stripslash.c: Likewise.
22874
5dcdf93a
VS
228752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22876
22877 * grub-core/gnulib/error.c: Resynced.
22878 * grub-core/gnulib/getopt.c: Likewise.
22879 * grub-core/gnulib/getopt_int.h: Likewise.
22880 * grub-core/gnulib/regex.h: Likewise.
22881 * grub-core/gnulib/regex_internal.c: Likewise.
22882 * grub-core/gnulib/regex_internal.h: Likewise.
22883
014f47b7
SJ
228842010-09-15 Szymon Janc <szymon@janc.net.pl>
22885
22886 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22887 CRC calculations and validity checks.
22888 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22889 calculations.
22890
dd521a4a
SJ
228912010-09-15 Szymon Janc <szymon@janc.net.pl>
22892
22893 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22894
79c4eeb9
VS
228952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22896
22897 Fix incorrect echo options handling.
22898 Reported by: Yves Blusseau.
22899
22900 * include/grub/command.h (grub_command_flags_t): New flags
22901 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22902 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22903 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22904
ed80f7d5
VS
229052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22906
22907 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22908 users updated.
22909 (GRUB_COMMAND_FLAG_MENU): Likewise.
22910 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22911 (GRUB_COMMAND_FLAG_TITLE): Removed.
22912 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22913 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22914 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22915 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22916 (grub_command_flags_t): New enum. All users updated.
22917
5fe7620a
SG
229182010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22919
22920 Fix solaris compilation.
22921
22922 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22923 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22924 (grub-emu-list): Likewise.
22925
545b752f
VS
229262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22927
22928 Remove deprecated root command.
22929
22930 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22931 updated.
22932
6c1a338c
VS
229332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22934
22935 * util/i386/pc/grub-setup.c: Merge this ...
22936 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22937 * util/grub-setup.c: ... into this.
22938 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22939 New struct.
22940
229412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22942
22943 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22944 possible.
22945
d2ea4551
VS
229462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22947
22948 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22949 allocate p.
22950
3c3b5040
VS
229512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22952
22953 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22954 explicit root argument to set to prevent UUID to be interpreted as
22955 argument to set.
22956
b71c3fae
VS
229572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22958
22959 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22960
275433e6
VS
229612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22962
22963 Don't export grub_gate_a20.
22964
22965 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22966 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22967 to ...
22968 (grub_gate_a20): ... this. All users updated.
22969 * include/grub/i386/pc/init.h: Removed. All users updated.
22970
a5dbb1f1
VS
229712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22972
22973 Create euro.pf2 which supports most European languages.
22974
22975 * Makefile.am (grubdata_DATA): Add euro.pf2.
22976 (euro.pf2): New target.
22977 (CLEANFILES): Add euro.pf2.
22978
62a747cb
VS
229792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22980
22981 * configure.ac: Disable emu-usb by default to prevent inadvertent
22982 device takeover.
22983
608e43b1
VS
229842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 Disable usbserial on grub-emu since our libusb code isn't good enough
22987 yet.
22988
22989 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22990 (usbserial_pl2303): Likewise.
22991 (usbserial_ftdi): Likewise.
22992
94564f81
VS
229932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22994
22995 * include/grub/disk.h (grub_disk): Remove has_partitions.
22996 All users updated.
22997 * disk/loopback.c (grub_loopback): Remove has_partitions.
22998 All users updated.
22999 (options): Remove partitions. All users updated.
23000 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23001 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23002 actual partition table is found.
23003
3352800b
VS
230042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 Remove readability checks (too many false negatives).
23007
23008 * util/grub-install.in: Remove readability checks.
23009 * util/grub-mkconfig.in: Likewise.
23010 * util/grub.d/10_hurd.in: Likewise.
23011 * util/grub.d/10_kfreebsd.in: Likewise.
23012 * util/grub.d/10_linux.in: Likewise.
23013 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23014 way.
23015
2419f17a
VS
230162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23017
23018 Enable acpi shutdown on all ACPI platforms.
23019
23020 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23021 on coreboo, multiboot and EFI.
23022 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23023 (grub_acpi_halt): Likewise.
23024 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23025 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23026 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23027 * grub-core/lib/i386/halt.c (grub_halt)
23028 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23029
0575c7c3
VS
230302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23033 context.
23034
54ac3cd1
VS
230352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23036
23037 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23038 * grub-core/video/efi_uga.c: Likewise.
23039
b2a30ac5
VS
230402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23041
23042 Filter devaliases and never open same device twice.
23043
23044 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23045 (last_ihandle): Likewise.
23046 (ofdisk_hash_ent): New member shortest.
23047 (ofdisk_hash_add): Add canonical path too.
23048 (scan): New function.
23049 (grub_ofdisk_iterate): Iterate over hashed entries.
23050 (compute_dev_path): Don't add :0.
23051 (grub_ofdisk_open): Don't really open the disk.
23052 (grub_ofdisk_close): Avoid closing unrelated disk.
23053 (grub_ofdisk_read): Implement reopen logic.
23054 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23055 New function.
23056 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23057 New proto.
23058
fb53b340
VS
230592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23060
23061 Fix sparc64.
23062
23063 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23064 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23065 right address. Add sparc64_ieee1275_ldflags.
23066 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23067 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23068 to grub_host_to_target_addr
23069 (load_image): Likewise.
23070
f452b040
VS
230712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23072
23073 * grub-core/normal/completion.c (complete_file): Handle device
23074 containing slash.
23075 Fix based on patch by Doug Nazar.
23076
9b5b2541
VS
230772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 grub-mknetdir script.
23080
23081 * Makefile.util.def (grub-mknetdir): New module.
23082 * tests/util/grub-shell.in: Support boot=net
23083 * util/grub-mknetdir.in: New file.
23084
9d2be652
VS
230852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23086
23087 videoinfo on non-vbe.
23088
23089 * grub-core/Makefile.core.def (vbeinfo): Removed.
23090 (vbetest): Removed.
23091 (videoinfo): New module.
23092 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23093 * grub-core/commands/i386/pc/vbetest.c: Removed.
23094 * grub-core/commands/videoinfo.c: New file.
23095 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23096 specification.
23097 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23098 as vbetest.
23099 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23100 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23101 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23102 mode_number. New parameter mode. All users updated.
23103 (grub_video_gop_iterate): New function.
23104 (grub_video_efi_gop): New member iterate.
23105 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23106 (grub_vbe_set_video_mode): Remove setting useless fields.
23107 (vbe2videoinfo): New function.
23108 (grub_video_vbe_iterate): Likewise.
23109 (grub_video_vbe_setup): Use vbe2videoinfo.
23110 (grub_video_vbe_print_adapter_specific_info): New function.
23111 (grub_video_vbe_adapter): New fields iterate and
23112 print_adapter_specific_info.
23113 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23114 All users updated.
23115 (grub_video_mode_info): New field mode_number.
23116 (grub_video_adapter): New fields iterate and
23117 print_adapter_specific_info.
23118
179503f5
TG
231192010-09-13 Tristan Gingold <gingold@free.fr>
231202010-09-13 Robert Millan <rmh.grub@aybabtu.com>
231212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23122
23123 * grub-core/commands/efi/lsefisystab.c: New file.
23124 * grub-core/commands/efi/lssal.c: Likewise.
23125 * grub-core/Makefile.core.def (lsacpi): New module.
23126 (lsefisystab): Likewise.
23127 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23128 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23129 (grub_efi_sal_system_table): New struct.
23130 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23131 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23132 (grub_efi_sal_system_table_platform_features): Likewise.
23133 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23134 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23135 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23136 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23137
cf9827de
VS
231382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23139
23140 Support explicit user claim that a device is BIOS-visible.
23141
23142 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23143 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23144 * grub-core/kern/emu/hostdisk.c
23145 (convert_system_partition_to_system_disk): Support mdX.
23146 (find_system_device): New parameter add. All users updated.
23147 (grub_util_biosdisk_is_present): New function.
23148 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23149 proto.
23150
53f0eb1f
VS
231512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 Search hints support.
23154
23155 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23156 All users updated.
23157
b23ffd70
YB
231582010-09-13 Yves Blusseau <blusseau@zetam.org>
23159
23160 Bash completion script for util commands
23161
23162 * Makefile.am: Add util/bash-completion.d directory
23163 * configure.ac: Likewise.
23164 * util/bash-completion.d/Makefile.am: New file.
23165 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23166
d547dc28
VS
231672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23168
23169 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23170 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23171 Reported by: Yves Blusseau.
23172
2fc8ccb9
VS
231732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23174
23175 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23176 partition size and offset.
23177
d8a84076
VS
231782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23179
23180 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23181
84fb3b3d
VS
231822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23183
23184 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23185
768ec2e2
VS
231862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23187
23188 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23189 (grub_xvasprintf): Likewise.
23190
4870900f
VS
231912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23192
23193 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23194
faca6bec
VS
231952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23196
23197 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23198 args ending with NULL.
23199
232002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
23201
23202 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23203 pointer.
23204
3c70f225
SJ
232052010-09-11 Szymon Janc <szymon@janc.net.pl>
23206
23207 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23208
4df7996d
VS
232092010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23210
23211 Shutdown using ACPI.
23212
23213 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23214 * grub-core/commands/acpihalt.c: New file.
23215 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23216 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23217 (grub_acpi_halt): New proto.
23218 (GRUB_ACPI_SLP_EN): New const.
23219 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23220 (GRUB_ACPI_OPCODE_*): New enum.
23221 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23222
126b4c32
TG
232232010-09-11 Tristan Gingold <gingold@free.fr>
232242010-09-11 Robert Millan <rmh.grub@aybabtu.com>
232252010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23226
23227 * commands/lsacpi.c: New file.
23228 * grub-core/Makefile.core.def (lsacpi): New module.
23229 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23230 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23231 (grub_acpi_madt_entry_header): New struct.
23232 (grub_acpi_madt): Likewise.
23233 (grub_acpi_madt_entry_interrupt_override): Likewise.
23234 (grub_acpi_madt_entry_sapic): Likewise.
23235 (grub_acpi_madt_entry_lsapic): Likewise.
23236 (grub_acpi_madt_entry_platform_int_source): Likewise.
23237 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23238 (PRIuGRUB_UINT32_T): Likewise.
23239 (PRIxGRUB_UINT64_T): Likewise.
23240
1aa4fe88
VS
232412010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 Implement loading palette on ieee1275_fb.
23244
23245 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23246 (have_setcolors): Likewise.
23247 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23248 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23249 (grub_video_ieee1275_set_palette): Implement.
23250
25761e13
VS
232512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
232522010-09-11 Colin Watson <cjwatson@ubuntu.com>
23253
23254 * util/grub-install.in (grub_partition): New variable.
23255 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23256 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23257 Fixes a bug reported by Yves Blusseau.
23258
050abaea
VS
232592010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23260
23261 Fix emu on mipsel.
23262
23263 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23264 =grub_cpu_flush_cache on all mips and not only yeeloong.
23265 * configure.ac (COND_mips): New conditional.
23266 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23267 platforms.
23268 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23269 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23270 [GRUB_LINKER_HAVE_INIT]: New function.
23271 (grub_emu_post_init): Likewise.
23272 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23273 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23274 * include/grub/cache.h (_mips): Include mips/cache.h.
23275 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23276 LVM and RAID prototypes.
23277 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23278 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23279 function.
23280
5ed7d816
CW
232812010-09-10 Colin Watson <cjwatson@ubuntu.com>
23282
23283 * util/grub-install.in: Don't try to verify core.img until after
23284 running grub-mkimage to create it.
23285
90367e04
RM
232862010-09-10 Robert Millan <rmh@gnu.org>
23287
23288 * util/grub.d/10_hurd.in: Add misc readability checks.
23289 * util/grub.d/10_kfreebsd.in: Likewise.
23290 * util/grub.d/10_linux.in: Likewise.
23291
c452fa66
CW
232922010-09-10 Colin Watson <cjwatson@ubuntu.com>
23293
23294 * util/grub-install.in: ${imgext} won't be defined here until the
23295 install branch is merged. For the meantime, only verify core.img on
23296 i386-pc and sparc64-ieee1275 platforms.
23297
c38fe9f4
RM
232982010-09-10 Robert Millan <rmh@gnu.org>
23299
23300 Solaris support in grub_find_zpool_from_dir(). Thanks
23301 Seth Goldberg for referring to getextmntent() facility.
23302
23303 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23304 `sys/mkdev.h'.
23305 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23306 `<sys/mnttab.h>'.
23307 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23308 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23309 method for finding zpool name.
23310
905f7773
CW
233112010-09-10 Colin Watson <cjwatson@ubuntu.com>
23312
23313 grub-fstest needs the host and hostfs modules while other utilities
23314 actively require those modules to be absent, so grub-fstest needs
23315 its own initialisation and finalisation code.
23316
23317 * Makefile.am (grub_fstest.pp): New target.
23318 (grub_fstest_init.lst): Likewise.
23319 (grub_fstest_init.c): Likewise.
23320 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23321
fb90b546
RM
233222010-09-10 Robert Millan <rmh@gnu.org>
23323
23324 * configure.ac: Check for `struct statfs.f_fstypename' and
23325 `struct statfs.f_mntfromname'.
23326
23327 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
23328 kFreeBSD-specific code.
23329
66d4bea5
RM
233302010-09-10 Robert Millan <rmh@gnu.org>
23331
23332 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
23333 on ZFS. Now non-main filesystems are supported as / too.
23334
b6a690ee
CW
233352010-09-09 Colin Watson <cjwatson@ubuntu.com>
23336
23337 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23338 and grub-core/disk/host.c to ...
23339 (grub-fstest): ... here. Having the host disk implementation
23340 present confuses grub-probe and other utility programs.
23341
23342 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23343 when writing to a file, not when writing to stdout.
23344
8901b00c 233452010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23346
23347 * tests/partmap_test.in: New test for partitions.
23348 * Makefile.util.def: Rules for new test.
23349
7bf45fdd
RM
233502010-09-09 Robert Millan <rmh@gnu.org>
23351
23352 * util/grub-probe.c (probe): Fix a pair of unhandled error
23353 conditions.
23354
4dfbc574
RM
233552010-09-09 Robert Millan <rmh@gnu.org>
23356
23357 Basic Btrfs support (detection and UUID).
23358
23359 * grub-core/fs/btrfs.c: New file.
23360 * Makefile.util.def (library): Register btrfs.c.
23361 * grub-core/Makefile.core.def: Likewise.
23362
6b8e78ae
RM
233632010-09-08 Robert Millan <rmh@gnu.org>
23364
23365 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
23366 with (optional) parameters to specify device and relative path.
23367 * util/grub-install.in: Use is_path_readable_by_grub() to
23368 verify readability of a few critical files.
23369 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
23370 verify readability of grub.cfg.new.
23371
27f21a8b
VS
233722010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23373
23374 Split minix.mod into minix.mod and minix2.mod.
23375
23376 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
23377 * grub-core/Makefile.core.def (minix2): New module.
23378 * grub-core/fs/minix.c: Use definitions instead of runtime version
23379 checking.
23380 * grub-core/fs/minix2.c: New file.
23381
c0e53ea5
YB
233822010-09-08 Yves Blusseau <blusseau@zetam.org>
23383
23384 Add new --boot-directory option to replace --root-directory
23385
23386 * util/grub-install.in: Add new --boot-directory option
23387 * util/grub-reboot.in: Likewise.
23388 * util/grub-set-default.in: Likewise.
23389
b9fe6ea2
YB
233902010-09-08 Yves Blusseau <blusseau@zetam.org>
23391
23392 * util/grub-mkconfig.in: Use new variable.
23393
d87aedff
YB
233942010-09-08 Yves Blusseau <blusseau@zetam.org>
23395
23396 * configure.ac: Define some useful variables.
23397
e55e8495
VS
233982010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23399
23400 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23401 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
23402 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
23403 Use terminfo and don't use cursor-on/cursor-off unless it's known
23404 to work.
23405 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
23406 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
23407
6fa6d675
CW
234082010-09-08 Colin Watson <cjwatson@ubuntu.com>
23409
23410 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
23411 starts with "(,", fill the drive containing the loaded image in
23412 between those two characters, but expect that a full partition
23413 specification including partition map names will follow.
23414
92f2aef0
RM
234152010-09-08 Robert Millan <rmh@gnu.org>
23416
23417 * configure.ac: Remove `--enable-grub-fstest' option.
23418 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
23419
23420 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
23421 `grub-fstest' instead of `grub-probe' for readability verification.
23422 * util/grub-probe.c (probe): Remove readability verification kludge.
23423
99fd620d
RM
234242010-09-08 Robert Millan <rmh@gnu.org>
23425
23426 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
23427 initializing `GRUB_FS'.
23428
058e30ac 234292010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
23430
23431 Not command (!) support to GRUB script.
23432
23433 * tests/grub_script_not.in: New test.
23434 * Makefile.util.def: Rules for new test.
23435
23436 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23437 ! command as a special case.
23438 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
23439
b61d05ed 234402010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23441
058e30ac 23442 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
23443 grub_free.
b61d05ed 23444
4d69c786 234452010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23446
23447 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23448
aa3119c4 234492010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23450
23451 * docs/grub.texi (Shell-like scripting): Documentation for break,
23452 continue, shift and return commands.
23453
db0f7e3d
VS
234542010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23455
23456 Rename CD-ROM to cd on BIOS.
23457
23458 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23459 "cd".
23460 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23461
88b87c93
VS
234622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23463
23464 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23465 * util/grub-probe.c (main): Likewise.
23466 * util/i386/pc/grub-setup.c (main): Likewise.
23467 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23468 Reported and debugged by: alexxy
23469
294f324d
VS
234702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23471
23472 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23473 diagnostic info.
23474
d7ee3441
JS
234752010-09-05 Jo Shields <directhex@apebox.org>
23476
23477 * util/grub.d/30_os-prober.in: Add missing classes.
23478
d7e06c1f
VS
234792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23480
23481 * docs/grub.texi (Theme file format): Document new position format.
23482
fc157e53
VS
234832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23486 a table. Use @code instead of @verbatim.
23487
506e9a1c
CB
234882010-09-05 Colin D Bennett <colin@gibibit.com>
23489
23490 Gfxmenu documentation.
23491
23492 * docs/grub.texi (Theme file format): New chapter.
23493
f0aff67c
SJ
234942010-09-05 Szymon Janc <szymon@janc.net.pl>
23495
23496 * grub-core/Makefile.core.def (xzio): New module.
23497 * grub-core/io/xzio.c: New file.
23498 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23499 * grub-core/lib/xzembed/xz_config.h: Likewise.
23500 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23501 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23502 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23503 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23504 * grub-core/lib/xzembed/xz_private.h: Likewise.
23505 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23506 * include/grub/file.h (grub_file_filter_id): New compression filter
23507 GRUB_FILE_FILTER_XZIO.
23508
82a85062
VS
235092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23510
23511 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23512 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23513 size.
23514
3579415d
VS
235152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23518 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23519
5124ae6d
VS
235202010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23521
23522 Uncompressed checksum support.
23523
23524 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23525 (check_list): New parameter uncompress.
23526 (grub_cmd_hashsum): Handle --uncompress.
23527
9aadb3d1
VS
235282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23529
23530 Reintroduce testload.
23531
23532 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23533 from here ...
23534 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23535 (GRUB_MOD_INIT): New function.
23536 (GRUB_MOD_FINI): Likewise.
23537 * grub-core/Makefile.core.def (testload): New module.
23538
a17792c3
SJ
235392010-09-05 Szymon Janc <szymon@janc.net.pl>
23540
23541 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23542 (uint8_t): New type.
23543 (uint16_t): Likewise.
23544 (uint32_t): Likewise.
23545 (uint64_t): Likewise.
23546
b81e40a3
SJ
235472010-09-05 Szymon Janc <szymon@janc.net.pl>
23548
23549 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23550
fc2ef117
VS
235512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23554 Made static.
23555 (grub_gzfile_open): Removed. All users updated.
23556 (GRUB_MOD_INIT): New function.
23557 (GRUB_MOD_FINI): Likewise.
23558 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23559 (grub_file_filters_enabled): Likewise.
23560 (grub_file_open): Handle filters.
23561 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23562 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23563 * include/grub/file.h (grub_file_filter_id_t): New type.
23564 (grub_file_filter_t): Likewise.
23565 (grub_file_filters_all): New extern variable.
23566 (grub_file_filters_enabled): Likewise.
23567 (grub_file_filter_register): New inline function.
23568 (grub_file_filter_unregister): Likewise.
23569 (grub_file_filter_disable): Likewise.
23570 (grub_file_filter_disable_compression): Likewise.
23571 * include/grub/gzio.h: Removed.
23572
35ee15e0
BC
235732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23574
23575 Filename expansion support for wildcards in GRUB script.
23576
23577 * tests/grub_script_expansion.in: New test.
23578 * Makefile.util.def: Rule for new test.
23579
23580 * grub-core/commands/wildcard.c: New file, implements filename
23581 expansion support for GRUB script.
23582 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23583 * grub-core/script/argv.c: Cosmetic changes.
23584 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23585 Refactored to perform wildcard expansion on arguments.
23586 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23587 struct.
23588
23589 * tests/util/grub-shell.in: Fix quoting for read input.
23590
5f0c4aca
BC
235912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23592
23593 Support for updating environment variables with matched substrings
23594 of regexp.
23595
23596 * tests/grub_cmd_regexp.in: New test.
23597 * Makefile.util.def: Rule for new test.
23598
23599 * grub-core/commands/regexp.c: New option -s to update environment
23600 variables with regexp matches.
23601
3759a35f
SJ
236022010-09-04 Szymon Janc <szymon@janc.net.pl>
23603
23604 * include/grub/file.h (grub_file): New member not_easly_seekable.
23605 (grub_file_seekable): New inline function.
23606 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23607 easily seekable.
23608 (grub_gzio_open): Set not_easly_seekable.
23609 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23610 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23611
ed8c6dec
BC
236122010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23613
23614 Support for options to appear multiple times on cmdline.
23615
23616 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23617 * grub-core/commands/extcmd.c: Support for repeatable option.
23618 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23619 repeatable option support.
23620
23621 Refactor menuentry into a regular command.
23622
23623 * grub-core/commands/menuentry.c: New file, menuentry command
23624 implementation.
23625 * grub-core/Makefile.core.def: Rule update for normal.mod.
23626 * grub-core/normal/main.c: Moved menuentry creation to
23627 grub-core/commands/menuentry.c.
23628 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23629 (grub_menu_execute_entry_real): Removed.
23630 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23631 function.
23632 (grub_script_execute_menuentry): Removed.
23633 * grub-core/script/parser.y (menuentry): Removed.
23634 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23635 * grub-core/script/yylex.l (menuentry): Removed.
23636 * include/grub/menu.h (grub_menu_init): New prototype.
23637 (grub_menu_fini): New prototype.
23638 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23639 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23640 (grub_script_execute_sourcecode): New prototype.
23641
dacd0cf0
BC
236422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23643
23644 "return" command for GRUB script functions.
23645
23646 * tests/grub_script_return.in: New test.
23647 * Makefile.util.def: Rules for new test.
23648
23649 * grub-core/script/execute.c (grub_script_return): New function.
23650 * grub-core/script/main.c: Register/unregister return commaond.
23651 * include/grub/script_sh.h (grub_script_return): New prototype.
23652
52e72f9d
BC
236532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23654
23655 "setparams" command to update positional parameters.
23656
23657 * tests/grub_script_setparams.in: New test.
23658 * Makefile.util.def: Rules for new test.
23659
23660 * grub-core/script/argv.c (grub_script_argv_make): New function.
23661 * grub-core/script/execute.c (replace_scope): New function.
23662 (grub_script_setparams): New function.
23663 * grub-core/script/lexer.c: Remove unused variables.
23664 * grub-core/script/main.c: Register/unregister setparams command.
23665 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23666 (grub_script_setparams): New prototype.
23667
25b60c91
BC
236682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23669
23670 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23671 grub_free order.
23672
37e7bf68
BC
236732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23674
23675 Support for passing block of commands as an argument to extcmds.
23676
23677 * Makefile.util.def: Rules for new test.
23678 * tests/grub_script_blockarg.in: New test.
23679 * grub-core/tests/test_blockarg.c: New file, block argument
23680 command used in the test.
23681
23682 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23683 (grub_register_extcmd_prio): New function prototype.
23684 (grub_extcmd_dispatcher): New function prototype.
23685 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23686 type.
23687 * include/grub/script_sh.h (struct grub_script): New members
23688 `children', `next_siblings' and `refcnt' for block arguments and
23689 reference counting.
23690 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23691 (grub_script_arg): New member `script' for block argument.
23692 (grub_script_argv): New member `script' for block argument.
23693 (grub_parser_param): New member `scripts' for block argument.
23694 (grub_script_mem_free): New extern function prototype.
23695 (grub_script_ref): New function prototype.
23696 (grub_script_unref): New function prototype.
23697
23698 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23699 extcmd form to support block arguments.
23700 * grub-core/script/argv.c: Block arguments support.
23701 * grub-core/script/execute.c: Likewise.
23702 * grub-core/script/lexer.c: Likewise.
23703 * grub-core/script/main.c: Likewise.
23704 * grub-core/script/script.c: Likewise.
23705 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23706 non-terminals.
23707
23708 * grub-core/commands/acpi.c: Update extcmd implementations with
23709 grub_extcmd_context_t.
23710 * grub-core/commands/cat.c: Likewise.
23711 * grub-core/commands/echo.c: Likewise.
23712 * grub-core/commands/extcmd.c: Likewise.
23713 * grub-core/commands/hashsum.c: Likewise.
23714 * grub-core/commands/hdparm.c: Likewise.
23715 * grub-core/commands/help.c: Likewise.
23716 * grub-core/commands/hexdump.c: Likewise.
23717 * grub-core/commands/i386/cpuid.c: Likewise.
23718 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23719 * grub-core/commands/i386/pc/halt.c: Likewise.
23720 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23721 * grub-core/commands/iorw.c: Likewise.
23722 * grub-core/commands/keystatus.c: Likewise.
23723 * grub-core/commands/loadenv.c: Likewise.
23724 * grub-core/commands/ls.c: Likewise.
23725 * grub-core/commands/lspci.c: Likewise.
23726 * grub-core/commands/memrw.c: Likewise.
23727 * grub-core/commands/probe.c: Likewise.
23728 * grub-core/commands/search_wrap.c: Likewise.
23729 * grub-core/commands/setpci.c: Likewise.
23730 * grub-core/commands/sleep.c: Likewise.
23731 * grub-core/disk/loopback.c: Likewise.
23732 * grub-core/hello/hello.c: Likewise.
23733 * grub-core/loader/i386/bsd.c: Likewise.
23734 * grub-core/loader/xnu.c: Likewise.
23735 * grub-core/term/gfxterm.c: Likewise.
23736 * grub-core/term/serial.c: Likewise.
23737 * grub-core/tests/lib/functional_test.c: Likewise.
23738
888d1500
BC
237392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23740
23741 Multi-line quoted strings support.
23742
23743 * grub-core/script/lexer.c (append_newline): Removed.
23744 (grub_script_lexer_yywrap): Refactored.
23745 (grub_script_lexer_init): Refactored.
23746 * grub-core/script/yylex.l (yywrap): New function.
23747 (grub_lexer_resplit): New function.
23748 (grub_lexer_unput): New function.
23749 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23750 and resplit.
23751 * tests/grub_script_echo1.in: Added few more testcases.
23752
dda060dd
VS
237532010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23754
23755 * grub-core/kern/misc.c: Don't add abort alias in utils.
23756 Reported by: echoline.
23757
6556eba9
BC
237582010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23759
23760 Add missing files into "make dist" tarball for other platforms.
23761
23762 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23763 * conf/Makefile.common (dist_noinst_DATA): New variable.
23764 * conf/Makefile.extra-dist: Added missing make dist files.
23765 * grub-core/Makefile.core.def: Likewise.
23766
c8e7bf5f
VS
237672010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 Compress grub_prefix.
23770
23771 * grub-core/boot/i386/pc/lnxboot.S: Use
23772 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23773 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23774 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23775 GRUB_MACHINE_PREFIX_END. All users updated.
23776 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23777 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23778 + 0x40.
23779 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23780 * util/grub-mkimage.c (image_target_desc): Change data_end to
23781 prefix_end. All users updated.
23782
a7c00cdb
VS
237832010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23784
23785 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23786 value.
23787 (grub_openbsd_boot): Likewise.
23788 (grub_netbsd_boot): Likewise.
23789 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23790 (grub_xnu_boot): Likewise.
23791
9f915872
VS
237922010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23793
23794 * configure.ac: Clean LIBS variable after tests.
23795
efa1bee7
CW
237962010-09-02 Colin Watson <cjwatson@ubuntu.com>
23797
23798 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23799
61d720e5
VS
238002010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23801
23802 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23803 echo if libdevmapper will be used.
23804
ef8e0ec8
IT
238052010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23806
23807 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23808 constant for the same file.
23809
03e261d8
VS
238102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23811
23812 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23813
c2a4eba6
CW
238142010-09-02 Colin Watson <cjwatson@ubuntu.com>
23815
23816 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23817 grub-core/*.pp.
23818
9056cbf3
CW
238192010-09-02 Colin Watson <cjwatson@ubuntu.com>
23820
23821 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23822 required by the boot protocol.
23823
23824 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23825 ebp and edi members.
23826 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23827 state.ebp and state.edi.
23828 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23829 %ebp and %edi according to grub_relocator32_ebp and
23830 grub_relocator32_edi respectively.
23831 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23832 and state.edi.
23833
529cc99a
VS
238342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23835
23836 Add i386-pc-pxe image target.
23837
23838 * util/grub-mkimage.c (image_target_desc): New enum value
23839 IMAGE_I386_PC_PXE.
23840 (image_targets): New target i386-pc-pxe.
23841 (generate_image): Handle i386-pc-pxe image.
23842
9a093920
VS
238432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23844
23845 Fix grub_pxe_scan.
23846
23847 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23848 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23849 All users updated.
23850 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23851 (grub_pxe_pxenv): Correct type.
23852
f9cefc4e
CW
238532010-09-01 Colin Watson <cjwatson@ubuntu.com>
23854
23855 * NEWS: Document most of the important changes since 1.98.
23856
4066f57f
CW
238572010-09-01 Colin Watson <cjwatson@ubuntu.com>
23858
23859 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23860 generated manual page) a little.
23861
da2891f9
CW
238622010-09-01 Colin Watson <cjwatson@ubuntu.com>
23863
23864 * docs/grub.texi: Add myself as an author.
23865
ad717fae
VS
238662010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23867
23868 * Makefile.util.def (libgrub.a): Add missing sunpc.
23869 Reported by: Seth Goldberg.
23870
eefe8abd
VS
238712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23872
23873 Interrupt wrapping and code simplifications.
23874
9494ef9a
VS
23875 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23876 x86_noieee1275 which are functionaly equivalent in this case.
23877 (grub-install): Make source on each platform explicit. Enable on
23878 all noemu.
23879 * gentpl.py (x86_efi_pc): Removed group.
23880 (x86_noefi): Likewise.
23881 (i386_noefi): Likewise.
23882 (x86_noieee1275): Likewise.
23883 (i386_noieee1275): Likewise.
23884 (i386_noefi_noieee1275): Likewise.
23885 (i386_pc_qemu_coreboot): Likewise.
23886 (i386_coreboot_multiboot): Likewise.
23887 (i386_pc_coreboot_multiboot_qemu): Likewise.
23888 (x86_noefi_mips): Likewise.
23889 (noieee1275): Likewise.
23890 (ieee1275_mips): Likewise.
23891 (noemu_noieee1275): Likewise.
23892 (cmos): New group.
23893 (usb): Likewise.
23894 (videoinkernel): Likewise.
23895 (videomodules): Likewise.
eefe8abd 23896 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23897 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23898 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23899 include/grub/loader.h, include/grub/msdos_partition.h,
23900 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23901 include/grub/machine/console.h, include/grub/machine/vga.h,
23902 include/grub/machine/vbe.h, include/grub/machine/init.h,
23903 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23904 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23905 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23906 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23907 * grub-core/Makefile.core.def (kernel): Explicit the source for
23908 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23909 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23910 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23911 Use videoinkernel tag.
23912 (usb): Enable on all usb.
23913 (usbserial_common): Likewise.
23914 (usbserial_pl2303): Likewise.
23915 (usbserial_ftdi): Likewise.
23916 (uhci): Enable on all x86.
23917 (ohci): Enable on all pci.
23918 (cmostest): Enable on all CMOS.
23919 (acpi): Include commands/acpi.c on all platforms.
23920 (halt): Add relevant lib/*/halt.c.
23921 (hdparm): Enable on all pci.
23922 (lspci): Likewise.
23923 (usbtest): Enable on all usb.
23924 (ata): Enable on all pci.
23925 (ata_pthru): Likewise.
23926 (usbms): Enable on all usb.
23927 (usb_keyboard): Likewise.
23928 (font): Use tag videomodules.
23929 (bufio): Likewise.
23930 (datetime): Use tag cmos. Enable on all noemu.
23931 (mmap): Use tags common and x86.
23932 (gfxterm): Use tag videomodules.
23933 (bitmap): Likewise.
23934 (bitmap_scale): Likewise.
23935 (video_fb): Likewise.
23936 (video): Likewise.
23937 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23938 adjust padding accordingly. All users updated.
23939 (grub_ohci_transaction): Fix bad format specification.
23940 (GRUB_MOD_INIT): Add asserts for struct size.
23941 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23942 (grub_alloc_td): Likewise.
23943 (grub_free_queue): Likewise.
23944 (grub_uhci_transfer): Likewise.
23945 (grub_uhci_transaction): Fix bad format specification.
23946 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23947 (grub_usb_bulk_readwrite): Likewise.
23948 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23949 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23950 Made static.
23951 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23952 Made static.
23953 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23954 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23955 Transformed into C.
23956 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23957 Moved from here ...
23958 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23959 ... here. Transformed into C. Made static.
23960 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23961 Moved from here ...
23962 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23963 ... here. Transformed into C. Made static.
23964 * grub-core/kern/i386/pc/startup.S
23965 (grub_biosdisk_check_int13_extensions): Moved from here ...
23966 * grub-core/disk/i386/pc/biosdisk.c
23967 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23968 Made static.
23969 * grub-core/kern/i386/pc/startup.S
23970 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23971 * grub-core/disk/i386/pc/biosdisk.c
23972 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23973 Transformed into C. Made static.
23974 * grub-core/kern/i386/pc/startup.S
23975 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23976 * grub-core/disk/i386/pc/biosdisk.c
23977 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23978 Transformed into C. Made static.
23979 * grub-core/kern/i386/pc/startup.S
23980 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23981 * grub-core/disk/i386/pc/biosdisk.c
23982 (grub_biosdisk_get_diskinfo_standard): ... here.
23983 Transformed into C. Made static.
23984 * grub-core/kern/i386/pc/startup.S
23985 (grub_biosdisk_get_num_floppies): Moved from here ...
23986 * grub-core/disk/i386/pc/biosdisk.c
23987 (grub_biosdisk_get_num_floppies): ... here.
23988 Transformed into C. Made static.
23989 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23990 New function.
23991 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23992 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23993 Transformed into C. Made static.
23994 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23995 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23996 Transformed into C. Made static.
23997 * grub-core/kern/i386/ieee1275/init.c: Removed.
23998 * grub-core/kern/i386/misc.S: Likewise.
23999 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24000 Splitted from here ...
24001 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24002 Transformed into C. Made static. All users updated.
24003 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24004 Transformed into C. Made static. All users updated.
24005 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24006 Moved from here...
24007 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24008 Transformed into C. Made static. All users updated.
24009 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24010 Moved from here...
24011 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24012 Transformed into C. Made static. All users updated.
24013 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24014 Removed (replaced by C version).
24015 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24016 Moved from here...
24017 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24018 Transformed into C. Made static.
24019 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24020 Moved from here...
24021 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24022 ... here. Transformed into C.
24023 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24024 Moved from here...
24025 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24026 ... here. Transformed into C.
24027 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24028 Moved from here...
24029 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24030 ... here. Transformed into C. Made static.
24031 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24032 Moved from here...
24033 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24034 ... here. Transformed into C.
21ed554b
VS
24035 * grub-core/kern/i386/pc/startup.S
24036 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24037 * grub-core/video/i386/pc/vbe.c
24038 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
24039 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24040 Moved from here...
24041 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24042 ... here. Transformed into C.
24043 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24044 Moved from here...
24045 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24046 ... here. Transformed into C.
24047 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24048 Moved from here...
24049 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24050 ... here. Transformed into C.
24051 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24052 Moved from here...
24053 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24054 ... here. Transformed into C.
24055 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24056 Moved from here...
24057 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24058 ... here. Transformed into C. Made static.
24059 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24060 Moved from here...
24061 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24062 ... here. Transformed into C. Made static.
24063 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24064 Moved from here...
24065 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24066 ... here. Transformed into C. Made static.
24067 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24068 pxe_rm_entry as third argument.
24069 (grub_bios_interrupt): New function.
24070 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24071 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24072 of calling grub_stop.
24073 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24074 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24075 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24076 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24077 * grub-core/lib/i386/halt.c: Moved from here ...
24078 * grub-core/lib/i386/halt.c: ... here.
24079 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24080 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24081 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24082 grub_stop_floppy.
24083 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24084 * include/grub/i386/coreboot/init.h: Removed.
24085 * include/grub/i386/multiboot/init.h: Likewise.
24086 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24087 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24088 * include/grub/i386/pc/int.h: New file.
24089 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24090 (grub_pxe_scan): Removed.
24091 (grub_pxe_call): Update prototype.
24092 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24093 prototypes.
24094 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24095 * include/grub/i386/qemu/init.h: Removed.
24096 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24097 noreturn.
24098 (grub_halt): Likewise.
24099 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24100 (grub_reboot): Likewise.
24101 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24102 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
24103 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24104
215dd471
RM
241052010-08-30 Robert Millan <rmh@gnu.org>
24106
24107 * NEWS: Document addition of ZFS support in `grub-install' and
24108 `grub-mkconfig'.
24109
ebd65b82
BC
241102010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24111
24112 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24113 dprintf output.
24114
11721d19
VS
241152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24116
24117 Remove leftover embedding of font objects.
24118
24119 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24120 * util/grub-install.in (font): Removed.
24121 * util/grub-mkimage.c (generate_image): Remove font support. All users
24122 updated.
24123
37837d4e
VS
241242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24125
24126 Remove leftover embedding of font objects.
24127
24128 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24129 * util/grub-install.in (font): Removed.
24130 * util/grub-mkimage.c (generate_image): Remove font support. All users
24131 updated.
24132
b4c1aae0
VS
241332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24134
24135 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 24136 Reported by: Ian Turner
b4c1aae0 24137
8920a08d
VS
241382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24139
24140 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24141 timeout to avoid indefinite boot stalling.
24142
f21db033
VS
241432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24144
24145 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24146 (grub_env_write_color_highlight): Likewise.
24147
9a9de209
VS
241482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24149
24150 * grub-core/normal/term.c (print_more): Return to normal and not
24151 to standard state after printing "---MORE---".
24152
3dca01d7
VS
241532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24154
24155 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24156 Mask out the bit 0x80 since it has other meaning that specifiing color.
24157
0b986c40
VS
241582010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24159
24160 New relocator. Allows for more kernel support and more straightforward
24161 loader writing.
24162
24163 * Makefile.am (BOOTTARGET): New variable.
24164 (QEMU32): Likewise.
24165 (linux.init.x86_64): New target.
24166 (linux.init.i386): Likewise.
24167 (multiboot.elf): Likewise.
24168 (kfreebsd.elf): Likewise.
24169 (kfreebsd.aout): Likewise.
24170 (pc-chainloader.elf): Likewise.
24171 (pc-chainloader.bin): Likewise.
24172 (ntldr.elf): Likewise.
24173 (ntldr.bin): Likewise.
24174 (multiboot2.elf): Likewise.
24175 (kfreebsd.init.x86_64): Likewise.
24176 (kfreebsd.init.i386): Likewise.
24177 (knetbsd.init.i386): Likewise.
24178 (kopenbsd.init.i386): Likewise.
24179 (knetbsd.init.x86_64): Likewise.
24180 (kopenbsd.init.x86_64): Likewise.
24181 (linux-initramfs.i386): Likewise.
24182 (linux-initramfs.x86_64): Likewise.
24183 (kfreebsd-mfsroot.i386.img): Likewise.
24184 (knetbsd.image.i386): Likewise.
24185 (kopenbsd.image.i386): Likewise.
24186 (kopenbsd.image.x86_64): Likewise.
24187 (knetbsd.miniroot-image.i386.img): Likewise.
24188 (kfreebsd-mfsroot.x86_64.img): Likewise.
24189 (knetbsd.image.x86_64): Likewise.
24190 (knetbsd.miniroot-image.x86_64.img): Likewise.
24191 (kfreebsd-mfsroot.i386.gz): Likewise.
24192 (bootcheck-kfreebsd-i386): Likewise.
24193 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24194 (bootcheck-kfreebsd-x86_64): Likewise.
24195 (knetbsd.miniroot-image.i386.gz): Likewise.
24196 (bootcheck-knetbsd-i386): Likewise.
24197 (bootcheck-kopenbsd-i386): Likewise.
24198 (bootcheck-kopenbsd-x86_64): Likewise.
24199 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24200 (bootcheck-knetbsd-x86_64): Likewise.
24201 (bootcheck-linux-i386): Likewise.
24202 (bootcheck-linux-x86_64): Likewise.
24203 (bootcheck-linux16-i386): Likewise.
24204 (bootcheck-linux16-x86_64): Likewise.
24205 (bootcheck-multiboot): Likewise.
24206 (bootcheck-multiboot2): Likewise.
24207 (bootcheck-kfreebsd-aout): Likewise.
24208 (bootcheck-pc-chainloader): Likewise.
24209 (bootcheck-ntldr): Likewise.
24210 (CLEANFILES): Add new targets.
24211 (BOOTCHECKS): New variable.
24212 (.PHONY): Add bootchecks.
24213 (SUCCESSFUL_BOOT_STRING): New variable.
24214 (BOOTCHECK_TIMEOUT): Likewise.
24215 (bootcheck): New target
24216 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24217 * configure.ac: Correct efiemu excuse.
24218 * docs/grub.texi (Supported kernels): New chapter.
24219 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24220 include/grub/mm_private.h. Simplify inclusion of
24221 include/grub/boot.h, include/grub/loader.h
24222 and include/grub/msdos_partition.h
24223 (KERNEL_HEADER_FILES) [i386_coreboot]:
24224 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24225 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24226 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24227 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24228 include/grub/machine/loader.h.
24229 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24230 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24231 extra_dist.
24232 (pci.mod): Enable on i386-multiboot.
24233 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24234 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24235 i386-qemu.
24236 (relocator.mod): Rewritten.
24237 (aout.mod): Enable on all x86.
24238 (bsd.mod): Likewise.
24239 (ntldr.mod): New module.
24240 (linux.mod): Use loader/i386/linux.c on all x86.
24241 (xnu.mod): Enable on all x86.
24242 (vga_text.mod): disable on EFI and QEMU.
24243 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24244 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24245 * grub-core/efiemu/loadcore.c: Likewise.
24246 * grub-core/efiemu/main.c: Likewise.
24247 (grub_efiemu_exit_boot_services): Removed.
24248 (grub_efiemu_finish_boot_services): Likewise.
24249 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24250 function.
24251 * grub-core/efiemu/i386/nocfgtables.c: New file.
24252 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24253 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24254 (grub_efi_finish_boot_services): Moved from here ...
24255 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24256 Fille finish memory map and related data.
24257 (finish_mmap_buf): New variable.
24258 (grub_efi_uintn_t finish_mmap_size): Likewise.
24259 (grub_efi_uintn_t finish_key): Likewise.
24260 (grub_efi_uintn_t finish_desc_size): Likewise.
24261 (grub_efi_uint32_t finish_desc_version): Likewise.
24262 (grub_efi_is_finished): Likewise.
24263 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24264 finished.
24265 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24266 (grub_elf64_phdr_iterate): Likewise.
24267 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24268 (grub_os_area_size): Likewise.
24269 (grub_machine_init): Don't reserve os area.
24270 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24271 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24272 * grub-core/kern/i386/loader.S: Removed.
24273 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24274 (grub_os_area_size): Likewise.
24275 (grub_machine_init): Don't reserve os area.
24276 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24277 Don't call grub_dl_unload_all.
24278 Don't include loader.S.
24279 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24280 Declare the memory after _end as available.
24281 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 24282 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 24283 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
24284 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24285 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24286 * include/grub/mm_private.h (grub_mm_header): ... here.
24287 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24288 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
24289 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24290 (grub_mm_region): ..here. Removed addr. Added pre_size.
24291 All users updated.
24292 * grub-core/kern/mm.c (base): Renamed to ...
24293 (grub_mm_base): ... this. Made global.
24294 (grub_real_malloc): Alloc from end of region.
24295 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24296 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24297 * grub-core/kern/powerpc/cache_flush.S: ... here.
24298 * grub-core/lib/efi/relocator.c: New file.
24299 * grub-core/lib/i386/relocator.c: Rewritten.
24300 * grub-core/lib/i386/relocator16.S: New file.
24301 * grub-core/lib/i386/relocator32.S: Likewise.
24302 * grub-core/lib/i386/relocator64.S: Likewise.
24303 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24304 * grub-core/lib/i386/relocator_common.S: New file.
24305 * grub-core/lib/ieee1275/relocator.c: Likewise.
24306 * grub-core/lib/mips/relocator.c: Rewritten.
24307 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24308 stylistic adjustments.
24309 * grub-core/lib/powerpc/relocator.c: New file.
24310 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24311 * grub-core/lib/relocator.c: Rewritten.
24312 * grub-core/lib/x86_64/relocator_asm.S: New file.
24313 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24314 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24315 (bsd_tag): New struct.
24316 (tags): New variable.
24317 (tags_last): Likewise.
24318 (netbsd_module): New struct.
24319 (netbsd_mods): New variable.
24320 (netbsd_mods_last): Likewise.
24321 (openbsd_opts): New parameter "serial".
24322 (OPENBSD_SERIAL_ARG): New definition.
24323 (netbsd_opts): New parameter "serial".
24324 (NETBSD_SERIAL_ARG): New definition.
24325 (grub_freebsd_add_meta): Reorganised into ...
24326 (grub_bsd_add_meta): ...this. All users updated.
24327 (grub_freebsd_add_mmap): Reorganised into ...
24328 (generate_e820_mmap): ...this...
24329 (grub_bsd_add_mmap): ...and this. All users updated.
24330 (grub_freebsd_list_modules): Use tags.
24331 (grub_netbsd_add_meta_module): New function.
24332 (grub_netbsd_list_modules): Likewise.
24333 (grub_freebsd_boot): Use relocator and finish EFI.
24334 (grub_openbsd_boot): Likewise.
24335 (grub_netbsd_setup_video): New function.
24336 (grub_netbsd_add_modules): Likewise.
24337 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24338 and finish EFI.
24339 (grub_bsd_unload): Unload tags.
24340 (grub_bsd_load_aout): Use relocator.
24341 (grub_bsd_elf32_size_hook): New function.
24342 (grub_bsd_elf32_hook): Use relocator.
24343 (grub_bsd_elf64_size_hook): New function.
24344 (grub_bsd_elf64_hook): Use relocator.
24345 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24346 (grub_bsd_load): Zero-out openbsd_ramdisk.
24347 (grub_bsd_load): Use relocator.
24348 (grub_cmd_openbsd): Support serial.
24349 (grub_cmd_netbsd): Support modules.
24350 (grub_cmd_freebsd_module): Use relocator.
24351 (grub_netbsd_module_load): New function.
24352 (grub_cmd_netbsd_module): Likewise.
24353 (grub_cmd_openbsd_ramdisk): Likewise.
24354 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24355 kopenbsd_ramdisk.
24356 (GRUB_MOD_FINI): Unregister new commands.
24357 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24358 (grub_freebsd_load_elfmodule_obj): Use relocator.
24359 (grub_freebsd_load_elfmodule): Likewise.
24360 (grub_freebsd_load_elf_meta): Likewise.
24361 (grub_netbsd_load_elf_meta): New function.
24362 (grub_openbsd_find_ramdisk): Likewise.
24363 * grub-core/loader/i386/bsd_helper.S: Removed.
24364 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
24365 * grub-core/loader/i386/bsd_trampoline.S: Removed.
24366 * grub-core/loader/i386/efi/linux.c: Likewise.
24367 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
24368 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
24369 (DEFAULT_VIDEO_MODE): Likewise.
24370 (real_mode_target): New variable.
24371 (prot_mode_target): Likewise.
24372 (initrd_mem_target): Likewise.
24373 (relocator): Likewise.
24374 (efi_mmap_buf): Likewise.
24375 (efi_mmap_size): Likewise.
24376 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
24377 (free_pages): Use relocator.
24378 (allocate_pages): Account for efi_mmap and use relocator. Return error.
24379 (grub_linux_setup_video): Return error.
24380 (grub_linux_trampoline_start): Removed.
24381 (grub_linux_trampoline_end): Likewise.
24382 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
24383 andd video parameters depending on firmware.
24384 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
24385 [GRUB_MACHINE_EFI]: Pass EFI parameters.
24386 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
24387 (grub_cmd_initrd): Use relocator.
24388 * grub-core/loader/i386/linux_trampoline.S: Removed.
24389 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
24390 (elf_sec_entsize): Likewise.
24391 (elf_sec_shstrndx): Likewise.
24392 (elf_sections): Likewise.
24393 (grub_multiboot_load): Use relocator.
24394 (grub_multiboot_get_mbi_size): Account for sections.
24395 (grub_multiboot_make_mbi): Use relocator and support sections.
24396 (grub_multiboot_add_elfsyms): New function.
24397 (grub_multiboot_free_mbi): Free sections.
24398 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
24399 (grub_linux_real_target): Likewise.
24400 (grub_linux_real_chunk): Likewise.
24401 (grub_linux16_prot_size): Likewise.
24402 (grub_linux16_boot): Use relocator.
24403 (grub_linux_unload): Unload relocator.
24404 (grub_cmd_linux): Use relocator.
24405 (grub_cmd_initrd): Likewise.
24406 * grub-core/loader/i386/pc/ntldr.c: New file.
24407 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
24408 Don't try to guess CPU frequency.
24409 (grub_xnu_set_video): Stretch bitmap.
24410 (grub_xnu_boot): Use relocator.
24411 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
24412 (grub_linux_unload): Free relocator.
24413 (grub_linux_load32): Use relocator.
24414 (grub_linux_load64): Likewise.
24415 (grub_cmd_initrd): Likewise.
24416 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
24417 (grub_multiboot_unload): Unload relocator.
24418 (grub_cmd_multiboot): Use relocator.
24419 (grub_cmd_module): Likewise.
24420 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
24421 Use relocator and support sections.
24422 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
24423 (elf_sec_entsize): Likewise.
24424 (elf_sec_shstrndx): Likewise.
24425 (elf_sections): Likewise.
24426 (grub_multiboot_load): Use relocator.
24427 (grub_multiboot_get_mbi_size): Account for sections.
24428 (grub_multiboot_make_mbi): Use relocator and support sections.
24429 (grub_multiboot_add_elfsyms): New function.
24430 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
24431 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
24432 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
24433 Prototype changed. All users updated.
24434 (grub_xnu_align_heap): Simplified.
24435 (grub_xnu_writetree_toheap): Likewise.
24436 (grub_xnu_unload): Unload relocator.
24437 (grub_cmd_xnu_kernel): Use relocator.
24438 (grub_cmd_xnu_kernel64): Likewise.
24439 (grub_xnu_register_memory): Simplified.
24440 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
24441 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
24442 EFI is finished.
24443 (grub_console_checkkey): Likewise.
24444 (grub_console_getkey): Likewise.
24445 (grub_console_getwh): Likewise.
24446 (grub_console_getxy): Likewise.
24447 (grub_console_gotoxy): Likewise.
24448 (grub_console_cls): Likewise.
24449 (grub_console_setcolorstate): Likewise.
24450 (grub_console_setcursor): Likewise.
24451 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24452 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24453 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24454 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24455 * grub-core/tests/boot/kernel-8086.S: Likewise.
24456 * grub-core/tests/boot/kernel-i386.S: Likewise.
24457 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24458 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24459 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24460 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24461 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24462 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24463 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24464 * grub-core/tests/boot/linux.cfg: Likewise.
24465 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24466 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24467 * grub-core/tests/boot/linux16.cfg: Likewise.
24468 * grub-core/tests/boot/multiboot.cfg: Likewise.
24469 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24470 * grub-core/tests/boot/ntldr.cfg: Likewise.
24471 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24472 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24473 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24474 New definition.
24475 * include/grub/dl.h (grub_dl_unload_all): Removed.
24476 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24477 (grub_efi_finish_boot_services): Change prototype.
24478 (grub_efi_is_finished): New variable.
24479 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24480 Changed prototype.
24481 (grub_efiemu_finish_boot_services): Removed.
24482 (grub_machine_efiemu_init_tables): New prototype.
24483 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24484 (grub_elf64_phdr_iterate): Likewise.
24485 * include/grub/i386/bsd.h: Include relocator.h.
24486 (freebsd_tag_header): New struct.
24487 (grub_openbsd_bios_mmap): Removed.
24488 (grub_unix_real_boot): Removed.
24489 (grub_freebsd_load_elfmodule32): Changed prototype.
24490 (grub_freebsd_load_elfmodule_obj64): Likewise.
24491 (grub_freebsd_load_elf_meta32): Likewise.
24492 (grub_freebsd_load_elf_meta64): Likewise.
24493 (grub_freebsd_add_meta): Removed.
24494 (grub_netbsd_load_elf_meta32): New prototype.
24495 (grub_netbsd_load_elf_meta64): Likewise.
24496 (grub_bsd_add_meta): Likewise.
24497 (grub_openbsd_ramdisk_descriptor): New struct.
24498 (grub_openbsd_find_ramdisk32): New prototype.
24499 (grub_openbsd_find_ramdisk64): Likewise.
24500 * include/grub/i386/coreboot/loader.h: Removed.
24501 * include/grub/i386/efi/loader.h: Likewise.
24502 * include/grub/i386/ieee1275/loader.h: Likewise.
24503 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24504 to grub_uint32_t.
24505 * include/grub/i386/loader.h: Removed.
24506 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24507 value.
24508 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24509 (grub_phys_addr_t): New type.
24510 (grub_vtop): New inline function.
24511 (grub_map_memory): Likewise.
24512 (grub_unmap_memory): Likewise.
24513 * include/grub/i386/multiboot/loader.h: Removed.
24514 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24515 (NETBSD_BTINFO_CONSOLE): New definition.
24516 (NETBSD_BTINFO_SYMTAB): Likewise.
24517 (NETBSD_BTINFO_MODULES): Likewise.
24518 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24519 (grub_netbsd_bootinfo): New struct.
24520 (grub_netbsd_btinfo_common): Use explicit bitsize.
24521 (grub_netbsd_btinfo_mmap_entry): Removed.
24522 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24523 (grub_netbsd_btinfo_bootdisk): New struct.
24524 (grub_netbsd_btinfo_symtab): Likewise.
24525 (grub_netbsd_btinfo_serial): Likewise.
24526 (grub_netbsd_btinfo_modules): Likewise.
24527 (grub_netbsd_btinfo_framebuf): Likewise.
24528 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24529 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24530 Likewise.
24531 (grub_openbsd_bootargs): Use explicit bitsize.
24532 (grub_openbsd_bootarg_console): New struct.
24533 (GRUB_OPENBSD_COM_MAJOR): New definition.
24534 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24535 * include/grub/i386/pc/efiemu.h: Removed.
24536 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24537 * include/grub/i386/qemu/loader.h: Removed.
24538 * include/grub/i386/relocator.h: Rewritten.
24539 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24540 * include/grub/mips/memory.h: New file.
24541 * include/grub/mips/multiboot.h: Rewritten.
24542 * include/grub/mips/relocator.h: Rewritten.
24543 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24544 (grub_vtop): New function.
24545 (grub_map_memory): Likewise.
24546 (grub_unmap_memory): Likewise.
24547 * include/grub/misc.h (ALIGN_DOWN): New definition.
24548 * include/grub/mm.h (grub_mm_check_real): New proto.
24549 (GRUB_MM_CHECK): New definition.
24550 * include/grub/mm_private.h: New file.
24551 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24552 (grub_multiboot_get_mbi_size): Removed.
24553 (grub_multiboot_make_mbi): Change prottype.
24554 (grub_multiboot_set_accepts_video): New proto.
24555 (grub_multiboot_add_elfsyms): Likewise.
24556 (grub_multiboot_payload_eip): New variable.
24557 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24558 New prototype.
24559 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24560 New definition.
24561 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24562 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24563 * include/grub/powerpc/ieee1275/loader.h: Removed.
24564 * include/grub/powerpc/memory.h: New file.
24565 * include/grub/powerpc/relocator.h: Likewise.
24566 * include/grub/relocator.h: Likewise.
24567 * include/grub/relocator_private.h: Likewise.
24568 * include/grub/sparc64/ieee1275/loader.h: Removed.
24569 * include/grub/x86_64/memory.h: New file.
24570 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24571 (grub_xnu_heap_malloc): Likewise.
24572 (grub_xnu_heap_real_start): Removed.
24573 (grub_xnu_heap_start): Likewise.
24574 (grub_xnu_relocator): New variable.
24575 (grub_xnu_heap_target_start): Likewise.
24576 * tests/util/grub-shell.in: Support non-pc.
24577 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24578
5303b85d
VS
245792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24580
24581 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24582 on malloc error.
24583 (grub_bidi_logical_to_visual): Check that malloc succeded.
24584 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24585 puts.
24586 (grub_xputs_normal): Likewise.
24587
d768d159
VS
245882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24589
24590 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24591 extra_dist.
24592
245932010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24594
24595 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24596
5bf84df4
VS
245972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24598
24599 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24600
3626810e
VS
246012010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24602
24603 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24604 dprintf.
24605
a7363f53
BC
246062010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24607
24608 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24609
902f75f6
VS
246102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24611
24612 * grub-core/normal/term.c (print_more): Fix a memory leak.
24613 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24614 (grub_xputs_normal): Likewise.
24615
3c707967
VS
246162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24617
24618 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24619 the begining of the string
24620
2053cc07
VS
246212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24622
24623 * grub-core/script/script.c (grub_script_parse): Free parsed on
24624 failure.
24625
46422ebf
VS
246262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24627
24628 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24629 on failure.
24630
9e0fa3f6
VS
246312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24632
24633 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24634 return.
24635
3393cf16
VS
246362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24637
24638 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24639 (scroll_up): Fix a memory leak.
24640
b17540cb
VS
246412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24642
24643 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24644 errors.
24645
67140446
VS
246462010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24647
24648 Handle USB pendrives exposed as floppies.
24649
24650 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24651 floppy.
24652 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24653 Check for partitions on all devices.
24654
e35e46fc
VS
246552010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24656
24657 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24658 (readkey): Likewise.
24659
d24c6190
BC
246602010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24661
24662 Multiple variable names support to "export" command.
24663
24664 * normal/context.c (grub_cmd_export): "export" command supports
24665 multiple variable names.
24666
04ddcc6a
ST
246672010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24668
24669 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24670 --target=drive output to Mach device name.
24671
0c8b61d8
BC
246722010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24673
24674 New Automake based build system for GRUB.
24675
24676 * ABOUT-NLS: New file.
24677 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24678 in Makefile.util.def file.
24679 * Makefile.util.def: New file. Autogen build definitions file for
24680 GRUB host utils.
24681 * conf/Makefile.common: New file. Common variables for GRUB host
24682 utils and target modules.
24683 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24684 * docs/Makefile.am: New file. Automake file for docs.
24685 * gentpl.py: New file. Python script to generate Autogen
24686 template.
24687 * grub-core/Makefile.am: New file. GRUB target modules' rules
24688 that doesn't fit in Makefile.core.def file.
24689 * grub-core/Makefile.core.def: New file. Autogen build
24690 definitions file for GRUB target modules.
24691 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24692 specific setjmp.S file.
24693 * po/Makefile.am: New file.
24694
24695 * .bzrignore: New ignores.
24696 * INSTALL: New requirements, without Ruby.
24697 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24698 * autogen.sh: Updated to invoke autogen as necessary.
24699 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24700 and defines for Automake conditionals.
24701 * geninit.sh: Refactoring.
24702
24703 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24704 necessary.
24705 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24706 New prototype.
24707
24708 * include/grub/test.h: Fix functional test modules' naming.
24709 * grub-core/tests/example_functional_test.c: Fix test module name.
24710
24711 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24712 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24713 * util/grub-editenv.c: Likewise.
24714 * util/grub-fstest.c: Likewise.
24715 * util/grub-mkdevicemap.c: Likewise.
24716 * util/grub-mkfont.c: Likewise.
24717 * util/grub-mkimage.c: Likewise.
24718 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24719 * util/grub-probe.c: Likewise.
24720 * util/grub-script-check.c: Likewise.
24721 * util/i386/pc/grub-setup.c: Likewise.
24722 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24723
24724 * tests/util/grub-shell.in: Fix override directory path.
24725 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24726 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24727
24728 * util/lvm.c: Update #includes.
24729 * util/raid.c: Likewise.
24730 * util/resolve.c: Likewise.
24731 * grub-core/bus/emu/pci.c: Likewise.
24732 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24733 * grub-core/lib/posix_wrap/string.h: Likewise.
24734 * grub-core/kern/emu/main.c: Likewise.
24735
24736 * grub-core/gensymlist.sh: New file. Script for generating kernel
24737 symbols file.
24738 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24739
24740 * grub-core/gentrigtables.c: Fix unused variable warnings.
24741
24742 * Makefile.in: Removed.
24743 * conf/any-emu.rmk: Removed.
24744 * conf/common.rmk: Removed.
24745 * conf/i386-coreboot.rmk: Removed.
24746 * conf/i386-efi.rmk: Removed.
24747 * conf/i386-ieee1275.rmk: Removed.
24748 * conf/i386-multiboot.rmk: Removed.
24749 * conf/i386-pc.rmk: Removed.
24750 * conf/i386-qemu.rmk: Removed.
24751 * conf/i386.rmk: Removed.
24752 * conf/mips-yeeloong.rmk: Removed.
24753 * conf/mips.rmk: Removed.
24754 * conf/powerpc-ieee1275.rmk: Removed.
24755 * conf/sparc64-ieee1275.rmk: Removed.
24756 * conf/tests.rmk: Removed.
24757 * conf/x86-efi.rmk: Removed.
24758 * conf/x86_64-efi.rmk: Removed.
24759 * gendistlist.sh: Removed.
24760 * geninitheader.sh: Removed.
24761 * genkernsyms.sh.in: Removed.
24762 * genmk.rb: Removed.
24763 * gensymlist.sh.in: Removed.
24764 * mkinstalldirs: Removed.
24765 * boot: Moved ...
24766 * grub-core/boot: ... to here.
24767 * bus: Moved ...
24768 * grub-core/bus: ... to here.
24769 * commands: Moved ...
24770 * grub-core/commands: ... to here.
24771 * disk: Moved ...
24772 * grub-core/disk: ... to here.
24773 * efiemu: Moved ...
24774 * grub-core/efiemu: ... to here.
24775 * font: Moved ...
24776 * grub-core/font: ... to here.
24777 * fs: Moved ...
24778 * grub-core/fs: ... to here.
24779 * gencmdlist.sh: Moved ...
24780 * grub-core/gencmdlist.sh: ... to here.
24781 * genemuinit.sh: Moved ...
24782 * grub-core/genemuinit.sh: ... to here.
24783 * genemuinitheader.sh: Moved ...
24784 * grub-core/genemuinitheader.sh: ... to here.
24785 * genfslist.sh: Moved ...
24786 * grub-core/genfslist.sh: ... to here.
24787 * genhandlerlist.sh: Moved ...
24788 * grub-core/genhandlerlist.sh: ... to here.
24789 * genmoddep.awk: Moved ...
24790 * grub-core/genmoddep.awk: ... to here.
24791 * genmodsrc.sh: Moved ...
24792 * grub-core/genmodsrc.sh: ... to here.
24793 * genpartmaplist.sh: Moved ...
24794 * grub-core/genpartmaplist.sh: ... to here.
24795 * genparttoollist.sh: Moved ...
24796 * grub-core/genparttoollist.sh: ... to here.
24797 * genterminallist.sh: Moved ...
24798 * grub-core/genterminallist.sh: ... to here.
24799 * gentrigtables.c: Moved ...
24800 * grub-core/gentrigtables.c: ... to here.
24801 * genvideolist.sh: Moved ...
24802 * grub-core/genvideolist.sh: ... to here.
24803 * gettext: Moved ...
24804 * grub-core/gettext: ... to here.
24805 * gfxmenu: Moved ...
24806 * grub-core/gfxmenu: ... to here.
24807 * gnulib: Moved ...
24808 * grub-core/gnulib: ... to here.
24809 * hello: Moved ...
24810 * grub-core/hello: ... to here.
24811 * hook: Moved ...
24812 * grub-core/hook: ... to here.
24813 * io: Moved ...
24814 * grub-core/io: ... to here.
24815 * kern: Moved ...
24816 * grub-core/kern: ... to here.
24817 * lib: Moved ...
24818 * grub-core/lib: ... to here.
24819 * loader: Moved ...
24820 * grub-core/loader: ... to here.
24821 * mmap: Moved ...
24822 * grub-core/mmap: ... to here.
24823 * normal: Moved ...
24824 * grub-core/normal: ... to here.
24825 * partmap: Moved ...
24826 * grub-core/partmap: ... to here.
24827 * parttool: Moved ...
24828 * grub-core/parttool: ... to here.
24829 * script: Moved ...
24830 * grub-core/script: ... to here.
24831 * term: Moved ...
24832 * grub-core/term: ... to here
24833 * tests/example_functional_test.c: Moved ...
24834 * grub-core/tests/example_functional_test.c: ... to here.
24835 * tests/lib/functional_test.c: Moved ...
24836 * grub-core/tests/lib/functional_test.c: ... to here.
24837 * tests/lib/test.c: Moved ...
24838 * grub-core/tests/lib/test.c: ... to here.
24839 * video: Moved ...
24840 * grub-core/video: ... to here.
24841
645586e6
BC
248422010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24843
24844 Replace --enable-grub-emu-modules with grub-emu-lite.
24845
24846 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24847 cache.S.
24848
24849 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24850 * kern/emu/full.c: New file. For grub-emu specific initialization.
24851 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24852 * kern/emu/main.c: Call initialization function grub_emu_init.
24853
24854 * Makefile.in: Include grub-emu-lite in install.
24855 * commands/parttool.c: Use grub_no_autoload to differentiate
24856 between grub-emu and grub-emu-lite.
24857 * include/grub/misc.h: New variable grub_no_autoload.
24858
24859 * conf/any-emu.rmk: New rules for grub-emu-lite.
24860 * configure.ac: Remove --enable-grub-emu-modules.
24861 * genmk.rb: Cleanup unnecessary rules.
24862 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24863
24864 * normal/main.c: Don't load list files on grub-emu-lite.
24865 * util/misc.c (grub_arch_sync_caches): Removed.
24866
f86a4030
CW
248672010-08-23 Colin Watson <cjwatson@ubuntu.com>
24868
24869 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24870 grub-mkimage rather than grub-mkelfimage.
24871 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24872
06776944
VS
248732010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24874
24875 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24876 a key after CapsLock or NumLock. It's just a qemu bug.
24877
df262419
VS
248782010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24879
24880 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24881 needed by libusb wrapper.
24882
b40ea81b
ST
248832010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24884
24885 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24886
dee50575
VS
248872010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24888
24889 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24890 --nounzip is passed.
24891
fb1d7b79
VS
248922010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 USB hotunplugging and USB serial support.
24895
24896 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24897 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24898 (grub_uhci_transfer): Respect timeout and set *actual.
24899 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24900 non-standard length.
24901 (grub_usb_device_attach): Autoload modules.
24902 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24903 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24904 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24905 users updated.
24906 (grub_usb_add_hub): Fill nports and children.
24907 (attach_root_port): Receive hub instead of controller.
24908 All users updated. Fill hub->devices.
24909 (grub_usb_root_hub): Allocate hub->devices.
24910 (detach_device): New function.
24911 (poll_nonroot_hub): Fill children and detach devices.
24912 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24913 actual arguments. All users updated.
24914 (grub_usb_bulk_read_extended): New function.
24915 * bus/usb/serial/common.c: New file.
24916 * bus/usb/serial/ftdi.c: Likewise.
24917 * bus/usb/serial/pl2303.c: Likewise.
24918 * commands/terminal.c (handle_command): Support wildcard.
24919 * commands/usbtest.c: Output "Unknown" instead of empty string.
24920 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24921 (usbserial_common_mod_SOURCES): New variable.
24922 (usbserial_common_mod_CFLAGS): Likewise.
24923 (usbserial_common_mod_LDFLAGS): Likewise.
24924 (pkglib_MODULES): Add usbserial_pl2303.mod.
24925 (usbserial_pl2303_mod_SOURCES): New variable.
24926 (usbserial_pl2303_mod_CFLAGS): Likewise.
24927 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24928 (pkglib_MODULES): Add usbserial_ftdi.mod.
24929 (usbserial_ftdi_mod_SOURCES): New variable.
24930 (usbserial_ftdi_mod_CFLAGS): Likewise.
24931 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24932 (pkglib_MODULES): Add serial.mod.
24933 (serial_mod_SOURCES): New variable.
24934 (serial_mod_CFLAGS): Likewise.
24935 (serial_mod_LDFLAGS): Likewise.
24936 * conf/i386-pc.rmk: Likewise.
24937 * conf/mips-yeeloong.rmk: Likewise.
24938 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24939 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24940 * disk/usbms.c (first_available_slot): New variable.
24941 (grub_usbms_attach): Don't reuse free slots due to potential cache
24942 problems.
24943 * include/grub/serial.h: Moved to ..
24944 * include/grub/ns8250.h: ...this.
24945 * include/grub/serial.h: New file.
24946 * include/grub/term.h (grub_term_poll_usb): New variable.
24947 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24948 readkey. All users updated.
24949 (grub_terminfo_output_state): Pass term to put.
24950 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24951 (grub_usb_controller_dev): Add timeout and actual arguments to
24952 transfer. All users updated.
24953 (grub_usb_interface): New field detach_data.
24954 (grub_usb_device): New fields children and nports.
24955 (grub_usb_ep_type_t): New type.
24956 (grub_usb_get_ep_type): New function.
24957 (grub_usb_bulk_read_extended): Likewise.
24958 * include/grub/usbdesc.h (grub_usb_desc): New type.
24959 * include/grub/usbserial.h: New file.
24960 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24961 * kern/term.c (grub_term_poll_usb): New variable.
24962 (grub_getkey): Call grub_term_poll_usb if set.
24963 (grub_checkkey): Likewise.
24964 (grub_getkeystatus): Likewise.
24965 * term/serial.c: Moved controller-specific parts to ...
24966 * term/ns8250.c: ... here.
24967 * term/serial.c: Mostly rewritten.
24968 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24969 according to spec.
24970
21a313de
RM
249712010-08-20 Robert Millan <rmh@gnu.org>
24972
24973 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24974 a separate module and maybe other interesting combinations.
24975
24976 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24977 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24978 (kfreebsd_entry): Add generic filesystem module load routine.
24979 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24980
63c734a6
CW
249812010-08-20 Colin Watson <cjwatson@ubuntu.com>
24982
24983 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24984 "numcenter" (I misunderstood the purpose of this entry).
24985 * docs/grub.texi (sendkey): Likewise.
24986
c4d16542
CW
249872010-08-20 Colin Watson <cjwatson@ubuntu.com>
24988
24989 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24990 status flag options; simply omitting the option is equivalent and
24991 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24992 (keysym_table): Rename "num5numlock" to "numlock".
24993 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24994 can uniformly say that only the last of multiple `sendkey'
24995 invocations has any effect.
24996 * docs/grub.texi (sendkey): New section.
24997
93541d66
CW
249982010-08-19 Colin Watson <cjwatson@ubuntu.com>
24999
25000 * commands/i386/pc/sendkey.c (options): Fix three typos.
25001
b4ece5e1
VS
250022010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25003
25004 Implement sendkey support.
25005
25006 * commands/i386/pc/sendkey.c: New file.
25007 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25008 (sendkey_mod_SOURCES): New variable.
25009 (sendkey_mod_CFLAGS): Likewise.
25010 (sendkey_mod_LDFLAGS): Likewise.
25011
51f1f5af
CW
250122010-08-18 Colin Watson <cjwatson@ubuntu.com>
25013
25014 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25015 fix warnings from Autoconf.
25016
9da94e05
CW
250172010-08-18 Colin Watson <cjwatson@ubuntu.com>
25018
25019 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25020 to avoid false positives with some assemblers that output things
25021 like "someprefix_func" as part of their output.
25022
729a0f2e
RM
250232010-08-15 Robert Millan <rmh@gnu.org>
25024
25025 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25026 errors.
25027 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25028 grub_get_libzfs_handle() errors.
25029
f3710e08
RM
250302010-08-14 Robert Millan <rmh@gnu.org>
25031
25032 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25033 filesystem is not ZFS.
25034
7a3c13de
BC
250352010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25036
25037 Fix for misspelled color names defaulting to black/black (bug
25038 reported by Doug Nazar)
25039
25040 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25041 status to prototype.
25042 * normal/color.c (grub_parse_color_name_pair): Return failure
25043 status.
25044 (grub_env_write_color_normal): Ignore bad color names.
25045 (grub_env_write_color_highlight): Likewise.
25046 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25047
ab8ba50d
BC
250482010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25049
25050 "shift" command support to GRUB script.
25051
25052 * include/grub/script_sh.h (grub_script_shift): New prototype.
25053 * script/execute.c (grub_script_shift): New function.
25054 * script/main.c (grub_script_init): Register shift command.
25055 (grub_script_fini): Unregister shift command.
25056 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25057
25058 * tests/grub_script_shift.in: New testcase.
25059 * conf/tests.rmk: Rules for new testcase.
25060
4d61999e
BC
250612010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25062
25063 "continue" command support to GRUB script.
25064
25065 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25066 (grub_script_break): Continue support.
25067 * script/main.c (grub_script_init): Register continue command.
25068 (grub_script_fini): Unregister continue command.
25069
25070 * tests/grub_script_continue.in: New testcase.
25071 * conf/tests.rmk: Rules for new testcase.
25072
4df51e00
BC
250732010-08-12 BVK Chaitanya <bvk@dbook>
25074
25075 "break" command support to GRUB script.
25076
25077 * conf/common.rmk: Rule updates to grub-script-check.
25078 * include/grub/misc.h (grub_min): New function.
25079 * include/grub/script_sh.h (grub_script_init): New prototype.
25080 (grub_script_fini): New prototype.
25081 (grub_script_break): New prototype.
25082 * script/main.c (grub_script_init): New function.
25083 (grub_script_fini): New function.
25084 * script/execute.c (grub_script_break): New function.
25085 * normal/main.c: Calls to grub_script_{init,fini}.
25086 * util/grub-script-check.c (grub_script_break): New function.
25087
25088 * tests/grub_script_break.in: New testcase.
25089 * conf/tests.rmk: Rules for new test case.
25090
f12c8420
BC
250912010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25092
25093 Function parameters support to GRUB script.
25094
25095 * script/yylex.l (VARIABLE): Regular expression update.
25096 * script/function.c (grub_script_function_call): Moved ...
25097 * script/execute.c (grub_script_function_call): ... to here.
25098 (grub_script_execute_arglist_to_argv): Removed.
25099 (grub_script_arglist_to_argv): New function.
25100 * script/argv.c: New file.
25101 (grub_script_argv_free): New function.
25102 (grub_script_argv_next): Likewise.
25103 (grub_script_argv_append): Likewise.
25104 (grub_script_argv_split_append): Likewise.
25105 * include/grub/script_sh.h (grub_script_argv): New struct.
25106 (grub_script_argv_free): New function.
25107 (grub_script_argv_next): Likewise.
25108 (grub_script_argv_append): Likewise.
25109 (grub_script_argv_split_append): Likewise.
25110
25111 * conf/common.rmk (normal.mod): New source script/argv.c.
25112
25113 * tests/grub_script_echo1.in: More tests.
25114 * tests/grub_script_vars1.in: Likewise.
25115 * tests/grub_script_functions.in: New test case.
25116 * conf/tests.rmk: Rules for new testcase.
25117
8022b748
BC
251182010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25119
25120 Remove grub_script_cmdblock struct.
25121
25122 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25123 * script/parser.y: Likewise.
25124 * script/execute.c: Rename cmdblock suffix to cmdlist.
25125 * script/script.c: Likewise.
25126 * util/grub-script-check.c: Likewise.
25127
79a6ba61
YB
251282010-08-11 Yves Blusseau <blusseau@zetam.org>
25129
25130 * .bzrignore: add grub-macho2img
25131
d04b9414
VS
251322010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25133
25134 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25135
f947ab49
VS
251362010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25137
25138 Remove the dump of sm712 initialisation sequence.
25139
25140 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25141 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25142 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25143 (GRUB_VGA_CR_*): Added many registers.
25144 (GRUB_VGA_SR_*): Likewise.
25145 (GRUB_VGA_GR_*): Likewise.
25146 (grub_vga_write_arx): New function.
25147 (grub_video_hw_config): New struct.
25148 (grub_vga_set_geometry): New function.
25149 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25150 GRUB_PCI_CLASS_SUBCLASS_VGA.
25151 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25152 * video/sm712.c (grub_sm712_write_reg): New function
25153 (grub_sm712_read_reg): Likewise.
25154 (grub_sm712_sr_write): Likewise.
25155 (grub_sm712_gr_write): Likewise.
25156 (grub_sm712_cr_write): Likewise.
25157 (grub_sm712_write_arx): Likewise.
25158 (grub_sm712_cr_shadow_write): Likewise.
25159 (grub_sm712_write_dda_lookup): Likewise.
25160 (grub_video_sm712_setup): Initialise the video rather then
25161 blindly replay the dump.
25162 (main) [TEST]: Add a routine to be able to compile as standalone for
25163 tests.
25164 * video/sm712_init.c (sm712_init): Removed.
25165 (sm712_sr_seq1): New array.
25166 (sm712_sr_seq2): Likewise.
25167
f0206638
VS
251682010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25169
25170 * include/grub/vga.h: Add missing grub/pci.h include.
25171
2764da3b
YB
251722010-08-10 Yves Blusseau <blusseau@zetam.org>
25173
25174 * util/grub-macho2img.c (main): fix typo
25175
cf0c775e
VS
251762010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25177
25178 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25179 (grub_vga_gr_read): Likewise.
25180 (grub_vga_cr_write): Likewise.
25181 (grub_vga_cr_read): Likewise.
25182 (grub_vga_sr_write): Likewise.
25183 (grub_vga_sr_read): Likewise.
25184 (grub_vga_palette_read): Likewise.
25185 (grub_vga_palette_write): Likewise.
25186 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25187 (grub_sm712_sr_read): New function.
25188 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25189 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25190
07f360e9
RM
251912010-08-09 Robert Millan <rmh@gnu.org>
25192
25193 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25194 out unused variables on non-ZFS build.
25195
346c2072
RM
251962010-08-08 Robert Millan <rmh@gnu.org>
25197
25198 Fix path generation for sub-filesystems in ZFS.
25199
25200 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25201 missing slash.
25202
71175420
RM
252032010-08-08 Robert Millan <rmh@gnu.org>
25204
25205 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25206
0d8286f3
RM
252072010-08-08 Robert Millan <rmh@gnu.org>
25208
25209 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25210 exist, issue a proper error message (rely on `ls' for translated
25211 strings).
25212
55dd2924
RM
252132010-08-08 Robert Millan <rmh@gnu.org>
25214
25215 Fix grub-probe invocation.
25216
25217 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25218
d3dd9e80
RM
252192010-08-04 Robert Millan <rmh@gnu.org>
25220
25221 * configure.ac: Remove checks for getfsstat() and getmntany().
25222 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25223 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25224 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25225 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25226 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25227 function.
25228 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25229 via find_mount_point_from_dir() and getfsstat() / getmntany().
25230
0de22aa9
RM
252312010-08-04 Robert Millan <rmh@gnu.org>
25232
25233 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25234 (grub_find_zpool_from_mount_point): Merge into ...
25235 (grub_find_zpool_from_dir): ... this.
25236 * kern/emu/misc.c: Likewise.
25237
25238 * kern/emu/misc.c
25239 (grub_make_system_path_relative_to_its_root): Replace
25240 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25241 with grub_find_zpool_from_dir().
25242 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25243
62858144
RM
252442010-08-04 Robert Millan <rmh@gnu.org>
25245
25246 Support OpenSolaris in ZFS device resolution.
25247
25248 * configure.ac: Check for getmntany().
25249 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25250 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25251 support.
25252
9dd6fd50
RM
252532010-08-03 Robert Millan <rmh@gnu.org>
25254
25255 Fix grub-emu build.
25256
25257 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25258 * include/grub/emu/misc.h: ... here.
25259
25260 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25261 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25262
25263 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25264 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25265 (grub_get_libzfs_handle): Move to ...
25266 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25267 (grub_get_libzfs_handle): ... here.
25268
c9f7ff97
BC
252692010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25270
25271 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25272 as command name case.
25273
a870a783
CW
252742010-08-02 Colin Watson <cjwatson@ubuntu.com>
25275
25276 * disk/raid.c (insert_array): Select unique numbers for named arrays
25277 as well, for use as keys in the disk cache.
25278
c7db243b
RM
252792010-08-01 Robert Millan <rmh@gnu.org>
25280
25281 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25282 kFreeBSD device name, except on ZFS where the filesystem label is
25283 used.
25284 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25285 `/boot/zfs/zpool.cache'.
25286 Set mountfrom kernel variable using ${kfreebsd_device}.
25287
f7abdefb
RM
252882010-08-01 Robert Millan <rmh@gnu.org>
25289
25290 Make it even harder to use uninitialized `libzfs_handle' (and
25291 make the interface a bit simpler).
25292
25293 * include/grub/util/misc.h (grub_util_init_libzfs)
25294 (libzfs_handle): Remove.
25295 (grub_get_libzfs_handle): New prototype.
25296
25297 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25298 attribute.
25299 (grub_util_init_libzfs): Remove.
25300 (grub_get_libzfs_handle): New function.
25301
25302 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25303 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25304 accessing `libzfs_handle' directly.
25305
c882acc0
RM
253062010-08-01 Robert Millan <rmh@gnu.org>
25307
25308 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25309 (grub_find_zpool_from_mount_point): New function prototypes.
25310
25311 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25312 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25313
25314 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25315 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25316 `static' attribute.
25317
25318 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25319 finding zpool from mount point into ...
25320 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25321
25322 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25323 requested path is part of a ZFS pool, use
25324 grub_find_zpool_from_mount_point() to detect its filesystem name,
25325 and generate a path with `/fsname@path' syntax.
25326
8bfe31d8
CW
253272010-08-01 Colin Watson <cjwatson@ubuntu.com>
25328
25329 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
25330 (void) rather than () so that this is a proper prototype.
25331
553df63d
VS
253322010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
25335
8687cf07
VS
253362010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25339 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25340
ea9be8ea
CW
253412010-08-01 Colin Watson <cjwatson@ubuntu.com>
25342
25343 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25344
6eea041a
CW
253452010-08-01 Colin Watson <cjwatson@ubuntu.com>
25346
25347 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25348
2cfb45df
CW
253492010-08-01 Colin Watson <cjwatson@ubuntu.com>
25350
25351 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25352 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25353 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25354 disable gfxpayload.
25355 (Shell-like scripting): Add real content.
25356 (Serial terminal): Suggest `terminal_input serial; terminal_output
25357 serial' rather than putting the two commands on separate lines,
25358 since console input will be inoperative after the first command.
25359 (menuentry): Document --class, --users, and --hotkey options.
25360 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
25361 Vladimir Serbinenko).
25362
7decd202
VS
253632010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
253642010-08-01 Colin Watson <cjwatson@ubuntu.com>
25365
25366 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
25367
c882acc0
RM
253682010-08-01 Robert Millan <rmh@gnu.org>
25369
25370 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25371 (grub_find_zpool_from_mount_point): New function prototypes.
25372
25373 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25374 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25375
25376 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25377 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25378 `static' attribute.
25379
25380 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25381 finding zpool from mount point into ...
25382 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25383
25384 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25385 requested path is part of a ZFS pool, use
25386 grub_find_zpool_from_mount_point() to detect its filesystem name,
25387 and generate a path with `/fsname@path' syntax.
25388
deb0caa3
RM
253892010-08-01 Robert Millan <rmh@gnu.org>
25390
25391 Prevent accidental use of uninitialized libzfs_handle.
25392
25393 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
25394 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
25395 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
25396
ce04ef47
CW
253972010-08-01 Colin Watson <cjwatson@ubuntu.com>
25398
25399 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
25400 util/grub.d/10_linux.in). Fixes Debian bug #591093.
25401
ebf53056
RM
254022010-08-01 Robert Millan <rmh@gnu.org>
25403
25404 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 25405
3710bb6b
RM
254062010-07-31 Robert Millan <rmh@gnu.org>
25407
25408 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
25409
8072efeb
RM
254102010-07-31 Robert Millan <rmh@gnu.org>
25411
25412 * kern/emu/misc.c: Add missing license header.
25413
3169f4c7
RM
254142010-07-31 Robert Millan <rmh@gnu.org>
25415
25416 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
25417
25418 * include/grub/util/libnvpair.h: Include `<config.h>'.
25419 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
25420 declaring libnvpair prototypes ourselves.
25421 * include/grub/util/libzfs.h: Include `<config.h>'.
25422 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
25423 declaring libzfs prototypes ourselves.
25424
25425 (libzfs_handle): Moved to ...
25426 * include/grub/util/misc.h (libzfs_handle): ... here.
25427 Include `<grub/util/libzfs.h>'.
25428
c9a00aee
RM
254292010-07-30 Robert Millan <rmh@gnu.org>
25430
25431 * include/grub/emu/misc.h: Add missing license header.
25432
a184f9c8
RM
254332010-07-30 Robert Millan <rmh@gnu.org>
25434
25435 Enable `grub-probe -t device' resolution on ZFS.
25436
25437 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25438 * include/grub/util/libnvpair.h: New file.
25439 * include/grub/util/libzfs.h: New file.
25440
25441 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
25442 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
25443 `<grub/util/libnvpair.h>'.
25444 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
25445
25446 (find_mount_point_from_dir): New static function.
25447 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25448 function.
25449 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25450 find_root_device_from_libzfs() before ressorting to find_root_device().
25451
25452 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25453 prototype.
25454 * util/misc.c: Include `<grub/util/libzfs.h>'.
25455 (grub_util_init_libzfs): New function.
25456 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25457 [HAVE_LIBZFS] (fini_libzfs): New static function.
25458 (grub_util_init_libzfs): New function.
25459 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25460
f7790cdd
RM
254612010-07-30 Robert Millan <rmh@gnu.org>
25462
25463 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25464 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25465 `warn_unused_result' attribute.
25466 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25467 (grub_xasprintf, grub_xvasprintf): Likewise.
25468 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25469
0806b63c
RM
254702010-07-29 Robert Millan <rmh@gnu.org>
25471
25472 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25473 (probe): Handle `PRINT_FS_LABEL'.
25474 (main): Handle `-t fs_label'.
25475
9f841f5c
RM
254762010-07-29 Robert Millan <rmh@gnu.org>
25477
25478 * configure.ac: Remove grub-mkisofs checks.
25479
46371121
VS
254802010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25481
25482 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25483 Reported by: Lennart Sorensen.
25484
254852010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25486
25487 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25488 prior to terminal_input/terminal_output separation. It's been over 1.5
25489 years and those versions weren't widely deployed.
25490
a9600892
CW
254912010-07-22 Colin Watson <cjwatson@ubuntu.com>
25492
25493 * disk/raid.c (insert_array): Don't count named arrays when looking
25494 for unused array numbers.
697e053c 25495 Reported and tested by: Michael Guntsche.
a9600892 25496
c03507df
CW
254972010-07-20 Colin Watson <cjwatson@ubuntu.com>
25498
25499 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25500 implementation of this so that grub-emu links again, with a note
25501 that this should support hotplugging in the future.
25502
b26f1c11
CW
255032010-07-20 Colin Watson <cjwatson@ubuntu.com>
25504
25505 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25506
efc9d7f1
CW
255072010-07-20 Colin Watson <cjwatson@ubuntu.com>
25508
25509 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25510 handle on failure.
25511 (grub_loopback_close): Remove empty function.
25512 (grub_loopback_dev): Remove close method.
25513
dd8ff5c9
CW
255142010-07-20 Colin Watson <cjwatson@ubuntu.com>
25515
25516 Disable EFI cursor when the EFI console becomes inactive.
25517
25518 * term/efi/console.c (grub_efi_console_init): New function.
25519 (grub_efi_console_fini): New function.
25520 (grub_console_term_output): Register init and fini methods.
25521
5e3bec67
VS
255222010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25523
25524 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25525 sh script.
25526
afaec079
VS
255272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25528
25529 * disk/loopback.c (grub_loopback): Replace filename with file.
25530 (delete_loopback): Handle new semantics.
25531 (grub_cmd_loopback): Likewise.
25532 (grub_loopback_iterate): Likewise.
25533 (grub_loopback_close): Likewise.
25534
a6a11f3c
VS
255352010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25536
25537 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25538 with -p "".
25539 Reported by: Tito Keitel.
25540
64a638b0
VS
255412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25542
25543 * docs/grub.texi (Naming convention): Document new naming convention.
25544
ab8ba957
VS
255452010-07-20 Vadim Solomin <vadic052@gmail.com>
255462010-07-20 Colin Watson <cjwatson@ubuntu.com>
25547
25548 Generate device.map in something closer to the old ordering.
25549
25550 * util/deviceiter.c (struct device): New declaration.
25551 (compare_file_names): Rename to ...
25552 (compare_devices): ... this. Sort by kernel name in preference to
25553 the stable by-id name, but keep the latter as a fallback comparison.
25554 Update header comment.
25555 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25556 of `struct device' rather than of plain file names.
25557
a29d6a4b
TF
255582010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25559
25560 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25561 on i386.
25562
39d824e8
VS
255632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25564
25565 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25566 hardcoding size.
25567 (setv1table): Likewise.
25568
f058276b
FZ
255692010-07-20 Colin Watson <cjwatson@ubuntu.com>
25570
25571 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25572 removing the homehost if present.
25573 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25574 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25575 removing the homehost if present.
25576 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25577 if possible.
25578 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25579
25580 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25581 parameter. Set its pointer target to 0.
25582 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25583 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25584 `data_offset' value from the superblock for 1.x metadata.
25585 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25586 data on the device.
25587 (insert_array): Record the start sector of data on the device.
25588 (grub_raid_register): Pass start_sector parameters to
25589 grub_raid_list->detect and insert_array.
25590 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25591 member.
25592 (struct grub_raid): Add start_sector parameter to `detect'.
25593
25594 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25595 __attribute__ ((packed)), leaving a comment.
25596 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25597 (grub_mdraid_detect_09): ... here and ...
25598 (grub_mdraid_detect_1x): ... here.
25599
256002010-07-20 Peter Henn <peter.henn@web.de>
25601
25602 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25603 chunk size and disk size, which are already given as sector counts
25604 as distinct from the 0.90 units. Fetch the correct device number
25605 from the role table instead of using the table index.
25606
256072010-07-20 Felix Zielcke <fzielcke@z-51.de>
25608
25609 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25610 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25611 (WriteMostly1): New macro.
25612 Set array->name to NULL for metadata format 0.90. Add support for
25613 metadata 1.x. Fix some comments.
25614 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25615 few comments.
25616 * util/getroot.c (grub_util_get_grub_dev): Add support for
25617 /dev/md/name style devices.
25618
4b761da9
CW
256192010-07-20 Colin Watson <cjwatson@ubuntu.com>
25620
25621 * .bzrignore: Ignore 20_linux_xen.
25622
5771289a
CW
256232010-07-17 Colin Watson <cjwatson@ubuntu.com>
25624
25625 * util/import_unicode.py: Remove unnecessary imports.
25626
5dab68df
AN
256272010-07-17 Aleš Nesrsta <starous@volny.cz>
25628
25629 Hotplugging and USB hub support.
25630
25631 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25632 (grub_ohci): Likewise.
25633 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25634 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25635 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25636 (GRUB_OHCI_CTRL_EDS): Likewise.
25637 (GRUB_OHCI_BULK_EDS): Likewise.
25638 (GRUB_OHCI_TDS): Likewise.
25639 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25640 (grub_ohci_ed_phys2virt): New function.
25641 (grub_ohci_virt_to_phys): Likewise.
25642 (grub_ohci_td_phys2virt): Likewise.
25643 (grub_ohci_td_virt2phys): Likewise.
25644 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25645 attachment.
25646 (grub_ohci_find_ed): New function.
25647 (grub_ohci_alloc_td): Likewise.
25648 (grub_ohci_free_td): Likewise.
25649 (grub_ohci_free_tds): Likewise.
25650 (grub_ohci_transfer): Use previously allocated memory.
25651 (grub_ohci_portstatus): Reset status changed bit.
25652 (grub_ohci_detect_dev): Supply status changed.
25653 (grub_ohci_fini_hw): Free memory.
25654 (grub_ohci_restore_hw): Reallocate memory.
25655 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25656 Reset status change.
25657 (grub_uhci_detect_dev): Supply status_change.
25658 * bus/usb/usb.c (attach_hooks): New var.
25659 (grub_usb_device_attach): New function.
25660 (grub_usb_register_attach_hook_class): Likewise.
25661 (grub_usb_unregister_attach_hook_class): Likewise.
25662 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25663 (grub_usb_add_hub): Reset connection changed bit.
25664 (attach_root_port): New function.
25665 (grub_usb_root_hub): Likewise.
25666 (poll_nonroot_hub): Likewise.
25667 (grub_usb_poll_devices): Likewise.
25668 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25669 * disk/usbms.c (grub_usbms_open): Use device hooks.
25670 (grub_usbms_iterate) :Poll devices.
25671 (grub_usbms_finddevs): Split into ...
25672 (grub_usbms_attach): ... this ...
25673 (grub_usbms_attach): ... and this.
25674 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25675 in detect_dev.
25676 (grub_usb_interface): New fields attached and detach_hook.
25677 (grub_usb_attach_hook_class): New type.
25678 (grub_usb_attach_desc): New struct.
25679 (grub_usb_register_attach_hook_class): New function.
25680 (grub_usb_unregister_attach_hook_class): Likewise.
25681 (grub_usb_poll_devices): Likewise.
25682 (grub_usb_device_attach): Likewise.
25683 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25684 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25685
3222efaf
VS
256862010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25687
25688 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25689 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25690 delta determination style. Works with most NetBSD partitions too.
25691
139b714a
VS
256922010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25693
25694 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25695 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25696
986aad56
VS
256972010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25698
25699 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25700
99be513c
AB
257012010-07-14 Anton Blanchard <anton@samba.org>
25702
25703 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25704 ET_DYN files.
25705
18075f62
GS
257062010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25707
25708 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25709
8d9a5b15
GS
257102010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25711
25712 * kern/partition.c (grub_partition_check_containment): New function to
25713 check that a partition is physically contained in a parent. Since
25714 offsets are relative (and non-negative), this reduces to checking that
25715 the partition ends before its parent.
25716 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25717 (grub_partition_iterate): Likewise.
25718 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25719 comments.
25720 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25721 partitions that start before their parent, and add debug printfs.
25722
19563c25
CW
257232010-07-13 Colin Watson <cjwatson@ubuntu.com>
25724
25725 * Makefile.in (.SUFFIX): Spell correctly, as ...
25726 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25727 bare module name without `.mod', e.g. `test') tried to invoke a
25728 Modula-2 compiler.
25729
1a1f1e67
CW
257302010-07-13 Colin Watson <cjwatson@ubuntu.com>
25731
25732 * README: Point to the Info manual.
25733
811b0dca
JS
257342010-07-13 Jiro SEKIBA <jir@unicus.jp>
25735
25736 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25737 2nd superblock position from partition size.
25738
e4f4eafc
CW
257392010-07-10 Colin Watson <cjwatson@ubuntu.com>
25740
25741 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25742 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25743 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25744 outputs.
25745
4274c30f
VS
257462010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25747
25748 Restructure SCSI .id handling.
25749 Reported and tested by: Aleš Nesrsta.
25750
25751 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25752 (grub_atapi_dev): Changed .name to "ata". New field .id.
25753 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25754 (grub_usbms_dev): New field .id.
25755 * disk/scsi.c (grub_scsi_iterate): Generate name.
25756 (grub_scsi_open): Parse name.
25757 * include/grub/scsi.h (grub_make_scsi_id): New function.
25758 (grub_scsi_dev): Change iterate and open to number instead of naming
25759 busses. All users updated.
25760 (grub_scsi): Remove name. Add .bus.
25761
5bc24388
VS
257622010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25763
25764 * commands/help.c (grub_cmd_help): Fix a typo.
25765
249975ba
VS
257662010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25767
25768 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25769 Reported and tested by: Colin Watson.
25770
3eaac1a1
VS
257712010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25772
25773 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25774 in this context.
25775
becce1b1
VS
257762010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25777
25778 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25779
f7bf0918
CW
257802010-07-07 Colin Watson <cjwatson@ubuntu.com>
25781
25782 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25783 indentation.
25784
0b0f9620
CW
257852010-07-06 Colin Watson <cjwatson@ubuntu.com>
25786
25787 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25788 and disk/raid6_recover.c.
25789 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25790 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25791
1e545469
CW
257922010-07-06 Colin Watson <cjwatson@ubuntu.com>
25793
25794 * term/gfxterm.c (repaint_schedulded): Rename to ...
25795 (repaint_scheduled): ... this. Update all callers.
25796 (repaint_was_schedulded): Rename to ...
25797 (repaint_was_scheduled): ... this. Update all callers.
25798
5357687a
CW
257992010-07-06 Colin Watson <cjwatson@ubuntu.com>
25800
25801 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25802 which we expect to be handled by upper layers.
25803
29d7e783
BC
258042010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25805
25806 * bus/usb/usbhub.c: #include time.h header.
25807
37582066
CW
258082010-07-06 Colin Watson <cjwatson@ubuntu.com>
25809
25810 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25811 entry_name also for entries without stat blocks (e.g. ".."); fixes
25812 corruption of the first entry in a directory.
25813
c8c06953
CW
258142010-07-06 Colin Watson <cjwatson@ubuntu.com>
25815
25816 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25817 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25818 doesn't work otherwise.
25819
e75056f1
CW
258202010-07-05 Colin Watson <cjwatson@ubuntu.com>
25821
25822 * docs/grub.texi (Features): Update list of supported file systems.
25823 (GNU/Linux): Update for GRUB 2.
25824 (Serial terminal): Remove mention of --disable-serial, which was a
25825 GRUB Legacy configure option. Update instructions to use
25826 `terminal_input' and `terminal_output' rather than `terminal'.
25827 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25828 configuration' and `Installing GRUB using grub-install'.
25829 (Menu entry editor): Update for GRUB 2.
25830 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25831 Document new -a, -u, and -v options.
25832 (initrd): New section.
25833 (initrd16): New section.
25834 (linux): New section.
25835 (linux16): New section.
25836 (search): The `var' argument to `--set' is optional.
25837 (GRUB only offers a rescue shell): Go into a little more detail on
25838 drive ordering.
25839
5cf69151
CW
258402010-07-05 Colin Watson <cjwatson@ubuntu.com>
25841
25842 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25843
e3f90044
CW
258442010-07-05 Colin Watson <cjwatson@ubuntu.com>
25845
25846 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25847 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25848
38d8f4f3
CW
258492010-07-05 Colin Watson <cjwatson@ubuntu.com>
25850
25851 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25852 install_prefix, in line with install_dos_part and install_bsd_part.
25853 Add new prefix variable, which is copied to install_prefix after
25854 comparing core.img in memory with the one read from disk in the
25855 no-embedding case, and use that rather than overwriting
25856 install_prefix immediately when installing to a partition.
25857 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25858 Bicakci.
25859
57ebd41e
GS
258602010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25861
25862 * configure.ac: Avoid == in test command, it's not portable.
25863 * util/grub.d/30_os-prober.in: Likewise.
25864
cb7f64b2
CW
258652010-07-04 Colin Watson <cjwatson@ubuntu.com>
25866
25867 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25868
6b654bb0
GS
258692010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25870
25871 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25872 multiple (top-level) partmaps.
25873
72a2026d
VS
258742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25875
25876 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25877 Reported by: Tino Keitel.
72a2026d 25878
df3eb88f
VS
258792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25880
25881 Bidi and diacritics support.
25882
25883 * Makefile.in (widthspec.bin): New target.
25884 (widthspec.h): Likewise.
25885 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25886 * autogen.sh: Generate unidata.c.
25887 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25888 * commands/ls.c (grub_ls_list_devices): Likewise.
25889 (grub_ls_list_files): Likewise.
25890 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25891 (grub_mini_cmd_lsmod): Likewise.
25892 * commands/read.c: Likewise.
25893 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25894 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25895 * lib/arg.c (grub_arg_show_help): Likewise.
25896 * lib/crypto.c (grub_password_get): Likewise.
25897 * normal/auth.c (grub_username_get): Likewise.
25898 * normal/misc.c (grub_normal_print_device_info): Likewise.
25899 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25900 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25901 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25902 (normal/charset.c_DEPENDENCIES): New variable.
25903 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25904 (pkglib_MODULES): Remove charset.mod.
25905 (charset_mod_SOURCES): Removed.
25906 (charset_mod_CFLAGS): Likewise.
25907 (charset_mod_LDFLAGS): Likewise.
25908 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25909 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25910 and term/tparm.c.
25911 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25912 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25913 (kernel_img_HEADERS): Add terminfo.h.
25914 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25915 Fill ->font. Reverse ascii bitmaps.
25916 (grub_font_get_xheight): New function.
25917 * font/font.c (grub_font_get_string_width): Moved from here ...
25918 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25919 * font/font.c (grub_font_draw_string): Moved from here ...
25920 * gfxmenu/font.c (grub_font_draw_string): ... here.
25921 * font/font.c (grub_font_dup_glyph): New function.
25922 (grub_font_blit_glyph): Likewise.
25923 (grub_font_blit_glyph_mirror): Likewise.
25924 (blit_comb): Likewise.
25925 (grub_font_construct_dry_run): Likewise.
25926 (grub_font_get_constructed_device_width): Likewise.
25927 (grub_font_construct_glyph): Likewise.
25928 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25929 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25930 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25931 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25932 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25933 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25934 (grub_font_get_xheight): New proto.
25935 (grub_font_get_constructed_device_width): Likewise.
25936 (grub_font_construct_glyph): Likewise.
25937 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25938 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25939 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25940 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25941 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25942 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25943 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25944 (grub_console_getcharwidth): Likewise.
25945 * include/grub/misc.h (grub_xputs): New proto.
25946 (grub_puts): Inlined.
25947 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25948 (grub_normal_get_line_counter): Removed.
25949 (grub_install_newline_hook): Likewise.
25950 (grub_normal_get_char_counter): New proto.
25951 (grub_normal_reset_more): Likewise.
25952 (grub_xputs_normal): Likewise.
25953 * include/grub/powerpc/ieee1275/console.h: Removed.
25954 * include/grub/sparc64/ieee1275/console.h: Likewise.
25955 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25956 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25957 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25958 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25959 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25960 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25961 (grub_term_input): Pass reference to self. All users updated.
25962 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25963 Pass reference to self. New fields normal_color, highlight_color and
25964 data. All users updated.
25965 (grub_putchar): Removed.
25966 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25967 (grub_unicode_estimate_width): New function.
25968 (grub_term_getcharwidth): Add defaults.
25969 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25970 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25971 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25972 (grub_cls): Remove EXPORT_FUNC.
25973 (grub_setcolorstate): Inline.
25974 (grub_newline_hook): Removed.
25975 * include/grub/terminfo.h: Rewritten. All users updated.
25976 * include/grub/unicode.h: New file.
25977 * include/grub/video.h (grub_video_signed_rect): New type.
25978 * kern/emu/console.c (grub_console_highlight_color): Removed.
25979 (grub_console_normal_color): Likewise.
25980 (grub_console_standard_color): Made static.
25981 (grub_ncurses_putchar): Remove mapping.
25982 (grub_ncurses_getcharwidth): Removed.
25983 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25984 (grub_ncurses_setcolor): Removed.
25985 (grub_ncurses_getcolor): Likewise.
25986 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25987 (grub_console_putchar): ... this.
25988 (grub_console_putchar): Handle argument difference.
25989 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25990 console_init_early and console_init_lately.
25991 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25992 * kern/misc.c (grub_puts): Removed.
25993 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25994 (grub_vsnprintf_real): Remove str = NULL support.
25995 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25996 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25997 * kern/term.c (grub_putcode): Renamed to ...
25998 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25999 (grub_putchar): Removed.
26000 (grub_xputs_dumb): New function.
26001 (grub_xputs): New variable.
26002 * lib/charset.c: Move from here ...
26003 * normal/charset.c: ... to here.
26004 (grub_ucs4_to_utf8): New function.
26005 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26006 (join_types): New variable.
26007 (unpack_join): New function.
26008 (bidi_types): New variable.
26009 (unpack_bidi): New function.
26010 (get_bidi_type): Likewise.
26011 (get_join_type): Likewise.
26012 (is_mirrored): Likewise.
26013 (grub_unicode_get_comb_type): Likewise.
26014 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26015 (is_type_after): Likewise.
26016 (grub_unicode_aglomerate_comb): Likewise.
26017 (bidi_line_wrap): Likewise.
26018 (grub_bidi_line_logical_to_visual): Likewise.
26019 (grub_bidi_logical_to_visual): Likewise.
26020 (grub_unicode_mirror_code): Likewise.
26021 (grub_unicode_shape_code): Likewise.
26022 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26023 Don't use grub_putchar.
26024 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26025 (grub_normal_reader_init): Likewise.
26026 (grub_xputs_saved): New variable.
26027 (GRUB_MOD_INIT): Set grub_xputs.
26028 (GRUB_MOD_FINI): Restore grub_xputs.
26029 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26030 (menu_init): Avoid printing gfxmenu error.
26031 (show_menu): Use grub_normal_get_char_counter.
26032 * normal/menu_entry.c (update_screen): Fix out-of-array.
26033 (complete): Avoid NULL dereferencing.
26034 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26035 * normal/menu_text.c (print_spaces): Removed.
26036 (grub_print_ucs4): Likewise.
26037 (grub_print_message_indented): Use grub_print_ucs4.
26038 (print_message): Use grub_putcode.
26039 (print_entry): Hanlde diacritics.
26040 * normal/term.c (term_state): New type.
26041 (grub_more_lines): Removed.
26042 (term_states): New variable.
26043 (grub_normal_line_counter): Renamed to ..
26044 (grub_normal_char_counter): ...this. All users updated.
26045 (grub_normal_get_line_counter): Renamed to ...
26046 (grub_normal_get_char_counter): ... this.
26047 (grub_normal_reset_more): New function.
26048 (process_newline): Removed.
26049 (print_more): New function.
26050 (grub_install_newline_hook): Removed.
26051 (map_code): New function.
26052 (grub_puts_terminal): Use grub_print_ucs4.
26053 (putglyph): New function.
26054 (putcode_real): Likewise.
26055 (grub_putcode): Use putcode_real.
26056 (get_maxwidth): New function.
26057 (get_startwidth): Likewise.
26058 (print_ucs4_terminal): Likewise.
26059 (find_term_state): Likewise.
26060 (put_glyphs_terminal): Likewise.
26061 (print_backlog): Likewise.
26062 (print_ucs4_real): Likewise.
26063 (grub_print_ucs4): Likewise.
26064 (grub_xputs_normal): Likewise.
26065 * term/efi/console.c (grub_console_putchar): Output diacritics.
26066 (grub_console_getcharwidth): Removed.
26067 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26068 * term/gfxterm.c (clear_char): Free chars.
26069 (scroll_up): Avoid leaking memory.
26070 (grub_gfxterm_putchar): Support diacritics.
26071 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26072 * term/i386/pc/console.c (grub_console_term_output): Declare as
26073 GRUB_TERM_CODE_TYPE_VGA.
26074 * term/i386/pc/vga.c (grub_vga_term): Declare as
26075 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26076 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26077 GRUB_TERM_CODE_TYPE_VGA.
26078 * term/i386/vga_common.c (map_char): Removed.
26079 (grub_console_putchar): Likewise.
26080 (grub_console_getcharwidth): Likewise.
26081 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26082 (colors): Reordered to match terminfo.
26083 (grub_ofconsole_normal_color): Removed.
26084 (grub_ofconsole_writeesc): Likewise.
26085 (grub_ofconsole_highlight_color): Likewise.
26086 (grub_ofconsole_getcharwidth): Likewise.
26087 (grub_ofconsole_setcolorstate): Likewise.
26088 (grub_ofconsole_setcolor): Likewise.
26089 (grub_ofconsole_getcolor): Likewise.
26090 (grub_ofconsole_readkey): Renamed to ...
26091 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26092 key.
26093 (grub_ofconsole_checkkey): Removed.
26094 (grub_ofconsole_getkey): Likewise.
26095 (grub_ofconsole_getxy): Likewise.
26096 (grub_ofconsole_gotoxy): Likewise.
26097 (grub_ofconsole_cls): Likewise.
26098 (grub_ofconsole_refresh): Likewise.
26099 (grub_ofconsole_terminfo_input): New struct.
26100 (grub_ofconsole_terminfo_output): Likewise.
26101 (grub_ofconsole_term_input): Use terminfo.
26102 (grub_ofconsole_term_output): Likewise.
26103 (grub_console_init): Split into ...
26104 (grub_console_init_early): ...this and ...
26105 (grub_console_init_lately): ...this. Use terminfo.
26106 (grub_ofconsole_putchar): Renamed to ...
26107 (put): ... this. Remove mapping.
26108 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26109 * term/serial.c: Simplify using terminfo.
26110 (xpos): Removed.
26111 (ypos): Likewise.
26112 (keep_track): Likewise.
26113 (registered): Likewise.
26114 (input_buf): Likewise.
26115 (npending): Likewise.
26116 (serial_translate_key_sequence): Likewise.
26117 (fill_input_buf): Likewise.
26118 (grub_serial_checkkey): Likewise.
26119 (grub_serial_getkey): Likewise.
26120 (grub_serial_getxy): Likewise.
26121 (grub_serial_gotoxy): Likewise.
26122 (grub_serial_putchar): Likewise.
26123 (grub_serial_cls): Likewise.
26124 (grub_serial_setcolorstate): Likewise.
26125 (grub_serial_setcursor): Likewise.
26126 (serial_hw_init): Use serial_hw_fetch.
26127 (grub_serial_terminfo_input): New variable.
26128 (grub_serial_terminfo_output): Likewise.
26129 (grub_serial_term_input): Use terminfo.
26130 (grub_serial_term_output): Likewise.
26131 * term/terminfo.c (putstr): Use put.
26132 (grub_terminfo_all_free): New function
26133 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26134 (grub_terminfo_output_register): New function.
26135 (grub_terminfo_output_unregister): Likewise.
26136 (grub_terminfo_getxy): Likewise.
26137 (grub_terminfo_readkey): Likewise.
26138 (grub_terminfo_checkkey): Likewise.
26139 (grub_terminfo_getkey): Likewise.
26140 (grub_terminfo_input_init): Likewise.
26141 (print_terminfo): Likewise.
26142 (grub_cmd_terminfo): Handle encoding.
26143 (grub_terminfo_gotoxy): Track position.
26144 (grub_terminfo_cls): Likewise.
26145 (grub_terminfo_putchar): Likewise.
26146 (grub_terminfo_setcolorstate): Handle colors
26147 (grub_terminfo_cursor_on): This ...
26148 (grub_terminfo_cursor_off): ... and this merged into ...
26149 (grub_terminfo_setcursor): ... this.
26150 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26151 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26152 * unicode/BidiMirroring.txt: Likewise.
26153 * unicode/UnicodeData.txt: Likewise.
26154 * unicode/COPYING: Likewise.
26155 * util/grub-editenv.c (grub_putchar): Removed.
26156 (grub_xputs_real): New function.
26157 (grub_xputs): New variable.
26158 * util/grub-fstest.c (grub_putchar): Removed.
26159 (grub_xputs_real): New function.
26160 (grub_xputs): New variable.
26161 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26162 (grub_xputs_real): New function.
26163 (grub_xputs): New variable.
26164 * util/grub-probe.c (grub_putchar): Removed.
26165 (grub_xputs_real): New function.
26166 (grub_xputs): New variable.
26167 * util/grub-script-check.c (grub_putchar): Removed.
26168 (grub_xputs_real): New function.
26169 (grub_xputs): New variable.
26170 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26171 (grub_xputs_real): New function.
26172 (grub_xputs): New variable.
26173 * util/import_unicode.py: New file.
26174 * util/grub-mkfont.c (ft_errmsgs): New array.
26175 (grub_glyph_info): Make bitmap a pointer.
26176 (file_formats): New type WIDTH_SPEC.
26177 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26178 (options): Add width-spec.
26179 (help): Likewise.
26180 (add_char): Renamed to ...
26181 (add_glyph): ... this.
26182 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26183 (glyph_replace): New type.
26184 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26185 (add_char): New function.
26186 (add_subst): Likewise.
26187 (process_cursive): Likewise.
26188 (add_font): Handle GSUB.
26189 (write_font_width_spec): New function.
26190 (main): Sort glyphs.
26191 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26192 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26193 * kern/term.c (grub_cls): Moved from here...
26194 * normal/term.c (grub_cls): ... here.
26195
50f0bcda
CW
261962010-07-02 Colin Watson <cjwatson@ubuntu.com>
26197
26198 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26199 suitable for using within the format argument of printf when
26200 converting grub_size_t.
26201 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26202 "x" to convert grub_size_t arguments.
26203
40372103
VS
262042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26205
26206 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26207 too long captions.
26208 (list_get_minimal_size): Take selection box into account.
26209
942a10c7
VS
262102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26211
26212 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26213 NULL font.
26214
2bdb2892
CW
262152010-07-02 Colin Watson <cjwatson@ubuntu.com>
26216
26217 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26218 devices when iterating over /dev/disk/by-id; they will be handled
26219 later if appropriate, which they aren't always (e.g. LVM).
26220
e03ed6c1
CW
262212010-07-02 Colin Watson <cjwatson@ubuntu.com>
26222
26223 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26224 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26225 fails.
26226 (grub_halt): Likewise.
26227 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26228 reset-all fails.
26229 (grub_halt): Don't return, even if all of shut-down, power-off, and
26230 poweroff fail.
26231
47695765
CW
262322010-07-02 Colin Watson <cjwatson@ubuntu.com>
26233
26234 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26235 arguments, not three.
26236
507736c8
CW
262372010-07-02 Colin Watson <cjwatson@ubuntu.com>
26238
26239 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26240 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26241 LVM-on-RAID is handled correctly.
26242
e3c8cd37
CW
262432010-07-02 Colin Watson <cjwatson@ubuntu.com>
26244
26245 * docs/grub.texi (Changes from GRUB Legacy): New section.
26246 (Future): Fix typo.
26247
8d4a2fec
CW
262482010-07-02 Colin Watson <cjwatson@ubuntu.com>
26249
26250 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26251 grub.d/README accidentally ends up executable for one reason or
26252 another. Ignore it.
26253
1c4827be
VS
262542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26255
26256 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26257 (gpt_partition_map_iterate): Support non-512B sectors.
26258
d9a0c941
VS
262592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26260
26261 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26262 Tested by: Seth Goldberg.
26263
48f27e87
VS
262642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26265
26266 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26267 Properly align mbi.
26268 Reported by: Seth Goldberg.
26269
b0c4f956
VS
262702010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26271
26272 * util/grub-mkrescue.in: Avoid module duplication.
26273
105a2e8c
SF
262742010-07-01 Sean Finney <seanius@seanius.net>
26275
26276 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26277
5944958c
SF
262782010-07-01 Sean Finney <seanius@seanius.net>
26279
26280 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26281
262822010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26283
26284 * disk/lvm.c (grub_lvm_checkvalue): New function.
26285 (grub_lvm_check_flag): Likewise.
26286
b79889ba
RM
262872010-07-01 Robert Millan <rmh@gnu.org>
26288
26289 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26290 Support 'p' as partition separator on kernel of FreeBSD (used
26291 with GPT labels).
26292 (grub_util_biosdisk_get_grub_dev): Likewise.
26293
ec1d04f1
VS
262942010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26295
26296 Yeeloong firmware port.
26297
26298 * boot/mips/yeeloong/fwstart.S: New file.
26299 * bus/cs5536.c (gpiodump): New const.
26300 (set_io_space): New function.
26301 (set_iod): Likewise.
26302 (set_p2d): Likewise.
26303 (grub_cs5536_init_geode): Likewise.
26304 * commands/mips/yeeloong/lsspd.c: New file.
26305 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26306 (serial_mod_SOURCES): New variable.
26307 (serial_mod_CFLAGS): Likewise.
26308 (serial_mod_LDFLAGS): Likewise.
26309 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26310 term/terminfo.c and term/tparm.c.
26311 (pkglib_IMAGES): Add fwstart.img.
26312 (fwstart_img_SOURCES): New variable.
26313 (fwstart_img_CFLAGS): Likewise.
26314 (fwstart_img_ASFLAGS): Likewise.
26315 (fwstart_img_LDFLAGS): Likewise.
26316 (fwstart_img_FORMAT): Likewise.
26317 (pkglib_MODULES): Add lsspd.mod.
26318 (lsspd_mod_SOURCES): New variable.
26319 (lsspd_mod_CFLAGS): Likewise.
26320 (lsspd_mod_LDFLAGS): Likewise.
26321 (pkglib_MODULES): Add halt.mod.
26322 (halt_mod_SOURCES): New variable.
26323 (halt_mod_CFLAGS): Likewise.
26324 (halt_mod_LDFLAGS): Likewise.
26325 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
26326 (serial_mod_SOURCES): Removed.
26327 (serial_mod_CFLAGS): Likewise.
26328 (serial_mod_LDFLAGS): Likewise.
26329 * disk/ata.c (check_device): New function.
26330 (grub_ata_device_initialize): Use check_device.
26331 (grub_ata_iterate): Recheck devices.
26332 (grub_ata_open): Likewise.
26333 (grub_atapi_iterate): Likewise.
26334 (grub_atapi_open): Likewise.
26335 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26336 (GRUB_ATA_CH1_PORT1): Likewise.
26337 (GRUB_ATA_CH0_PORT2): Likewise.
26338 (GRUB_ATA_CH1_PORT2): Likewise.
26339 * include/grub/mips/loongson.h: New file.
26340 * include/grub/mips/yeeloong/ec.h: Likewise.
26341 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26342 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26343 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26344 * include/grub/misc.h (grub_halt): Declare as noreturn.
26345 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26346 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26347 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26348 (UART_ENABLE_DTRRTS): Likewise.
26349 (UART_ENABLE_MODEM): Removed.
26350 (UART_ENABLE_OUT2): New const.
26351 * include/grub/term.h (grub_term_register_input_active): New function.
26352 (grub_term_register_output_active): Likewise.
26353 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26354 argument.
26355 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26356 (init_pci): New function.
26357 (grub_machine_init): Execute platform init when firmware. Init serial.
26358 (grub_halt): Implement.
26359 (grub_exit): Likewise.
26360 (grub_reboot): Likewise.
26361 * term/serial.c (serial_hw_init): Update macros.
26362 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
26363 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
26364 (image_targets): New target mipsel-yeeloong-flash.
26365 (generate_image): Support IMAGE_YEELOONG_FLASH.
26366 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
26367 (grub_video_sm712_setup): Init card.
26368 (grub_video_sm712_set_palette): Removed.
26369 * video/sm712_init.c: New file.
26370
ff4a70d2
CW
263712010-06-30 Colin Watson <cjwatson@ubuntu.com>
26372
26373 * Makefile.in (install-local): Temporarily prepend $(builddir) to
26374 PATH when running help2man and then run it on the unadorned
26375 executable names, rather than passing $(builddir)/* paths to
26376 help2man. This avoids the build directory ending up in generated
26377 manual pages.
26378
1246efeb
CW
263792010-06-29 Colin Watson <cjwatson@ubuntu.com>
26380
26381 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
26382 to avoid accidents when debugging with 'sh -x'.
26383 * util/grub-mkrescue.in: Likewise.
26384 * util/grub.d/00_header.in: Likewise.
26385 * util/grub.d/10_hurd.in: Likewise.
26386 * util/grub.d/10_kfreebsd.in: Likewise.
26387 * util/grub.d/10_linux.in: Likewise.
26388 * util/grub.d/10_netbsd.in: Likewise.
26389 * util/grub.d/10_windows.in: Likewise.
26390 * util/grub.d/20_linux_xen.in: Likewise.
26391 * util/grub.d/30_os-prober.in: Likewise.
26392 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26393
1ba9b889
CW
263942010-06-29 Colin Watson <cjwatson@ubuntu.com>
26395
26396 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
26397 last character in the buffer.
26398 Reported by: Vladimir Serbinenko.
26399
dccaf99d
RM
264002010-06-29 Robert Millan <rmh@gnu.org>
26401
26402 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
26403 (Command-line and menu entry commands): Document `badram' command.
26404
d500ed12
RM
264052010-06-28 Robert Millan <rmh@gnu.org>
26406
26407 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
26408 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
26409 command using ${GRUB_BADRAM} as parameter.
26410
20bc84a6
CW
264112010-06-28 Colin Watson <cjwatson@ubuntu.com>
26412
26413 * docs/grub.texi (Device map): New section.
26414 (Themes): New section (stub).
26415 * Makefile.in (docs/grub.info): The info documentation now builds
26416 without errors. Make sure it stays that way.
26417
4045dee1
VS
264182010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26419
26420 Use normal parser for menu entries.
26421 Reported by: Thomas Frauendorfer
26422
26423 * include/grub/parser.h (grub_parser_execute): Don't export.
26424 * normal/menu.c (grub_menu_execute_entry_real): New function.
26425 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
26426
bca58c7b
CW
264272010-06-28 Colin Watson <cjwatson@ubuntu.com>
26428
26429 * docs/grub.texi (Embedded configuration): New section (replacing
26430 old "Preset Menu" stub).
26431 (Images): New section.
26432 (configfile): Note that any menu entries defined in `file' are shown
26433 immediately.
26434
dec53e63
JT
264352010-06-28 Josh Triplett <josh@joshtriplett.org>
26436
26437 * mmap/i386/pc/mmap_helper.S: Set CF on return.
26438
c06e40f7
CW
264392010-06-28 Colin Watson <cjwatson@ubuntu.com>
26440
26441 * util/grub-install.in: Add --debug-image= option.
26442
cb88052b
CW
264432010-06-28 Colin Watson <cjwatson@ubuntu.com>
26444
26445 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26446 possible on Linux.
26447
26448 * util/deviceiter.c (check_device): Rename to ...
26449 (check_device_readable_unique): ... this. Update all callers.
26450 Maintain and check a list of which devices (by canonicalized name)
26451 have already been seen.
26452 (clear_seen_devices): New function.
26453 (compare_file_names) [__linux__]: New function.
26454 (grub_util_iterate_devices): Clear the list of seen devices on exit
26455 and (just in case) on entry.
26456 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26457 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26458 seen-devices list, superseded by general code in check_device.
26459
bbe34652
CW
264602010-06-28 Colin Watson <cjwatson@ubuntu.com>
26461
26462 * commands/cat.c (options): New variable.
26463 (grub_cmd_cat): Parse options. If the --dos option is given, print
26464 DOS-style "\r\n" line endings as simple newlines (Debian bug
26465 #586358).
26466 (GRUB_MOD_INIT): Use extcmd.
26467 (GRUB_MOD_FINI): Likewise.
26468 * docs/grub.texi (cat): Document --dos.
26469
412e09f3
VS
264702010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26471
26472 XEN with Linux grub-mkconfig support.
26473
26474 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26475 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26476 GRUB_CMDLINE_XEN_DEFAULT.
26477 * util/grub.d/20_linux_xen.in: New file.
26478
53f3ef38 264792010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
26480
26481 Initialise VGA video on qemu ourselves.
26482
26483 * boot/i386/qemu/boot.S: Don't call 0xc000.
26484 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26485 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26486 (kernel_img_HEADERS): Add pci.h.
26487 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26488 * configure.ac: Force unifont on qemu and yeeloong.
26489 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26490 (grub_vga_palette_write): Use correct register.
26491 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26492 Call grub_qemu_init_cirrus.
26493 * kern/i386/qemu/init.c: New file.
26494 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26495
26496 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26497
c75be4fb
PR
264982010-06-26 Pavel Roskin <proski@gnu.org>
26499
26500 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26501 13.
26502
d8034603
CW
265032010-06-26 Colin Watson <cjwatson@ubuntu.com>
26504
26505 * docs/grub.texi (Simple configuration): Explain that
26506 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26507 set to `true' to disable their respective recovery entries, not
26508 merely set.
26509
3fa06487
CW
265102010-06-26 Colin Watson <cjwatson@ubuntu.com>
26511
26512 Make the `source' command slightly faster.
26513
26514 * normal/main.c (grub_normal_execute): Don't re-read list files when
26515 nested.
26516
e9b29642
CW
265172010-06-23 Colin Watson <cjwatson@ubuntu.com>
26518
26519 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26520 field position and mask size to red fields from mode_info, not
26521 green.
26522 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26523 Remove redundant tag->common.framebuffer_type assignment.
26524 Reported by: Seth Goldberg.
26525
e726542f
CW
265262010-06-23 Colin Watson <cjwatson@ubuntu.com>
26527
26528 Sync up other versions of the Linux loader with Robert Millan's
26529 change of 2010-01-09, "Make loader output a bit more user-friendly".
26530
26531 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26532 grub_dprintf().
26533 (grub_cmd_linux): Likewise.
26534 (grub_cmd_initrd): Likewise.
26535 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26536 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26537
d6e98a17
CW
265382010-06-21 Colin Watson <cjwatson@ubuntu.com>
26539
26540 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26541 larger than MEMORY_MAP_SIZE.
26542
14d3f08e
BC
265432010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26544
26545 Fix parallel build.
26546
26547 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26548 dependency.
26549 * script/parser.y: #include grub_script.tab.h header.
26550
4f9613a3
VS
265512010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26552
26553 Support >3GiB and <16MiB RAM in i386-qemu.
26554
26555 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26556 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26557 (grub_lower_mem): Removed.
26558 (grub_upper_mem): Likewise.
26559 (mem_size): Made static.
26560 (above_4g): New variable.
26561 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26562 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26563 support.
26564
05e51879
VS
265652010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26566
26567 Cirrus 5446 and Bochs video cards support.
26568
26569 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26570 video_bochs.mod
26571 (video_cirrus_mod_SOURCES): New variable.
26572 (video_cirrus_mod_CFLAGS): Likewise.
26573 (video_cirrus_mod_LDFLAGS): Likewise.
26574 (video_bochs_mod_SOURCES): Likewise.
26575 (video_bochs_mod_CFLAGS): Likewise.
26576 (video_bochs_mod_LDFLAGS): Likewise.
26577 * include/grub/vga.h: New file.
26578 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26579 (grub_video_fb_set_page_t): New type.
26580 (grub_video_fb_setup): New prototype.
26581 (grub_video_fb_swap_buffers): Likewise.
26582 (grub_video_fb_get_info_and_fini): Likewise.
26583 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26584 (CRTC_DATA_PORT): Likewise.
26585 (CRTC_CURSOR): Likewise.
26586 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26587 (CRTC_CURSOR_ADDR_LOW): Likewise.
26588 (CRTC_CURSOR_DISABLE): Likewise.
26589 (update_cursor): Use grub_vga_cr_write.
26590 (grub_vga_text_setcursor): Likewise.
26591 * video/bochs.c: New file.
26592 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26593 (palette): Likewise.
26594 (palette_size): Likewise.
26595 (framebuffer): New variable.
26596 (grub_video_fb_init): Use 'framebuffer'.
26597 (grub_video_fb_fini): Likewise.
26598 (grub_video_fb_get_info): Likewise.
26599 (grub_video_fb_get_palette): Likewise.
26600 (grub_video_fb_set_palette): Likewise.
26601 (grub_video_fb_set_viewport): Likewise.
26602 (grub_video_fb_get_viewport): Likewise.
26603 (grub_video_fb_map_color): Likewise.
26604 (grub_video_fb_map_rgb): Likewise.
26605 (grub_video_fb_map_rgba): Likewise.
26606 (grub_video_fb_unmap_color): Likewise.
26607 (grub_video_fb_unmap_color_int): Likewise.
26608 (grub_video_fb_fill_rect): Likewise.
26609 (grub_video_fb_blit_bitmap): Likewise.
26610 (grub_video_fb_blit_render_target): Likewise.
26611 (grub_video_fb_scroll): Likewise.
26612 (grub_video_fb_create_render_target): Likewise.
26613 (grub_video_fb_doublebuf_blit_init): Likewise.
26614 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26615 (doublebuf_pageflipping_update_screen): New function.
26616 (doublebuf_pageflipping_init): Likewise.
26617 (grub_video_fb_setup): Likewise.
26618 (grub_video_fb_swap_buffers): Likewise.
26619 (grub_video_fb_get_info_and_fini): Likewise.
26620 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26621 All users updated.
26622 (doublebuf_pageflipping_commit): Restructured into ...
26623 (doublebuf_pageflipping_set_page): ... this.
26624 (doublebuf_pageflipping_update_screen): Removed.
26625 (doublebuf_pageflipping_init): Likewise.
26626 (double_buffering_init): Likewise.
26627 (grub_video_vbe_setup): Use grub_video_fb_setup.
26628 (grub_video_vbe_swap_buffers): Removed.
26629 (grub_video_vbe_set_active_render_target): Likewise.
26630 (grub_video_vbe_get_active_render_target): Likewise.
26631 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26632 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26633 grub_video_fb_set_active_render_target and
26634 grub_video_fb_get_active_render_target.
26635 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26636 (SEQUENCER_DATA_PORT): Likewise.
26637 (MAP_MASK_REGISTER): Likewise.
26638 (CRTC_ADDR_PORT): Likewise.
26639 (CRTC_DATA_PORT): Likewise.
26640 (START_ADDR_HIGH_REGISTER): Likewise.
26641 (START_ADDR_LOW_REGISTER): Likewise.
26642 (GRAPHICS_ADDR_PORT): Likewise.
26643 (GRAPHICS_DATA_PORT): Likewise.
26644 (READ_MAP_REGISTER): Likewise.
26645 (INPUT_STATUS1_REGISTER): Likewise.
26646 (INPUT_STATUS1_VERTR_BIT): Likewise.
26647 (get_map_mask): Use grub_vga_sr_read.
26648 (set_map_mask): Use grub_vga_sr_write.
26649 (set_read_map): Use grub_vga_gr_write.
26650 (set_start_address): Use grub_vga_cr_write.
26651 * video/sm712.c (framebuffer): Remove leftover fields.
26652
4321c64a
CW
266532010-06-20 Colin Watson <cjwatson@ubuntu.com>
26654
26655 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26656 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26657 instead. Replace the gfxterm backend check with a check that
26658 ${GRUB_PREFIX}/video.lst is non-empty.
26659 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26660 again.
26661 (load_video): New generated function. Call it before loading
26662 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26663 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26664 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26665 * docs/grub.texi (Simple configuration): Document
26666 GRUB_VIDEO_BACKEND.
26667
266682010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26669
26670 Use video functions in linux and xnu loaders.
26671
26672 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26673 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26674 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26675 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26676 loader/i386/pc/linux.c.
26677 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26678 (find_line_len): Removed.
26679 (find_framebuf): Likewise.
26680 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26681 * loader/i386/efi/xnu.c: Removed.
26682 * loader/i386/pc/xnu.c: Moved from here...
26683 * loader/i386/xnu.c: ...here.
26684
26685 Enable priorities in video drivers.
26686
26687 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26688 (grub_video_adapter): New field prio.
26689 (grub_video_register): Respect prio when inserting.
26690 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26691 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26692 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26693 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26694 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26695 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26696 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26697
26698 Fix SDL driver ID.
26699
26700 * include/grub/video.h (grub_video_driver_id_t): New value
26701 GRUB_VIDEO_DRIVER_SDL.
26702 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26703
7d24e434
CW
267042010-06-17 Colin Watson <cjwatson@ubuntu.com>
26705
26706 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26707 argument to printf.
26708 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26709
c88a83f6
CW
267102010-06-17 Colin Watson <cjwatson@ubuntu.com>
26711
26712 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26713 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26714
094dfb69
CW
267152010-06-17 Colin Watson <cjwatson@ubuntu.com>
26716
26717 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26718 directly, and recommend grub-install instead.
26719 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26720
2164da6b
CW
267212010-06-17 Colin Watson <cjwatson@ubuntu.com>
26722
26723 Fix i386-pc prefix handling with nested partitions (Debian bug
26724 #585068). Note that the case where the core image is booted using
26725 multiboot and relocated from its original location still requires
26726 more work.
26727
26728 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26729 with "(,", fill the boot drive in between those two characters, but
26730 expect that a full partition specification including partition map
26731 names will follow.
26732 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26733 specified, write a prefix without the drive name but including a
26734 full partition specification.
26735
044e2e60
CW
267362010-06-16 Colin Watson <cjwatson@ubuntu.com>
26737
26738 * util/grub-mkconfig.in: Ignore non-option arguments, for
26739 compatibility with older versions (before 2010-06-12) which did the
26740 same. In particular, this makes it easier to ship an update-grub
26741 wrapper which is compatible with that used with GRUB Legacy (Debian
26742 bug #586056).
26743
5591324f
GS
267442010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26745
26746 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26747 for manual page generation.
26748
662e24d5
GS
267492010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26750
26751 * po/POTFILES: Remove leftover commands/handler.c.
26752
8d70754e
CW
267532010-06-14 Colin Watson <cjwatson@ubuntu.com>
26754
26755 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26756 left this script non-functional.
26757
41160e2e
CW
267582010-06-14 Colin Watson <cjwatson@ubuntu.com>
26759
26760 * docs/man/grub-emu.h2m: New file.
26761
b5309cc1
CW
267622010-06-13 Colin Watson <cjwatson@ubuntu.com>
26763
26764 * docs/grub.texi (Commands): Document reduced command set in rescue
26765 mode.
26766 (cpuid): New section.
26767
fcb2d090
GS
267682010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26769
26770 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26771 new partition naming style.
26772 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26773
96e5c556
BC
267742010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26775
26776 Add "-o grub.iso" like cmdline options support.
26777
26778 * util/grub-install.in: Improve cmdline option parsing.
26779 * util/grub-mkconfig.in: Likewise.
26780 * util/grub-mkrescue.in: Likewise.
26781 * util/grub-reboot.in: Likewise.
26782 * util/grub-set-default.in: Likewise.
26783 * util/i386/efi/grub-install.in: Likewise.
26784 * util/ieee1275/grub-install.in: Likewise.
26785 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26786
c16be99b
CW
267872010-06-12 Colin Watson <cjwatson@ubuntu.com>
26788
26789 * .bzrignore: Ignore 41_custom.
26790
ce08a9fb
TS
267912010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26792
26793 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26794
7beac90c
CW
267952010-06-12 Colin Watson <cjwatson@ubuntu.com>
26796
26797 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26798 prototype declarations.
26799
26800 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26801 generating fs, partmap, and video lists.
26802 * include/grub/fs.h (grub_fs_register): Omit prototype if
26803 GRUB_LST_GENERATOR is defined.
26804 * include/grub/partition.h (grub_partition_map_register): Likewise.
26805 * include/grub/video.h (grub_video_register): Likewise.
26806
1c8f0f8d
JM
268072010-06-12 Javier Martín <lordhabbit@gmail.com>
26808
26809 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26810
a6085973
TS
268112010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26812
26813 * util/grub-mkrescue.in: Support --xorriso argument.
26814
25c56d29
VS
268152010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26816
26817 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26818 Suggested by: Thomas Schmitt.
26819
e03e4b24
VS
268202010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26821
26822 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26823 Suggested by: Thomas Schmitt.
26824
57711df6
VS
268252010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26826
26827 custom.cfg support.
26828
26829 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26830 * util/grub.d/41_custom.in: New file.
26831
ee62c427
CW
268322010-06-12 Colin Watson <cjwatson@ubuntu.com>
26833
26834 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26835 been merged back into normal.
26836
283af07a
CW
268372010-06-11 Colin Watson <cjwatson@ubuntu.com>
26838
26839 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26840 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26841
56a0d956
CW
268422010-06-11 Colin Watson <cjwatson@ubuntu.com>
26843
26844 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26845 when generating manual pages.
26846 * docs/man/grub-bin2h.h2m: New file.
26847 * docs/man/grub-editenv.h2m: New file.
26848 * docs/man/grub-fstest.h2m: New file.
26849 * docs/man/grub-install.h2m: New file.
26850 * docs/man/grub-macho2img.h2m: New file.
26851 * docs/man/grub-mkconfig.h2m: New file.
26852 * docs/man/grub-mkdevicemap.h2m: New file.
26853 * docs/man/grub-mkfont.h2m: New file.
26854 * docs/man/grub-mkimage.h2m: New file.
26855 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26856 * docs/man/grub-mkrelpath.h2m: New file.
26857 * docs/man/grub-mkrescue.h2m: New file.
26858 * docs/man/grub-ofpathname.h2m: New file.
26859 * docs/man/grub-pe2elf.h2m: New file.
26860 * docs/man/grub-probe.h2m: New file.
26861 * docs/man/grub-reboot.h2m: New file.
26862 * docs/man/grub-script-check.h2m: New file.
26863 * docs/man/grub-set-default.h2m: New file.
26864 * docs/man/grub-setup.h2m: New file.
26865
3a37e322
VS
268662010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26867
26868 Use FOR_* macros instead of *_iterate whenever possible.
26869
26870 * commands/handler.c: Removed.
26871 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26872 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26873 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26874 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26875 (grub_probe_SOURCES): Remove kern/parser.c.
26876 (util/grub-script-check.c_DEPENDENCIES): Removed.
26877 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26878 and grub_script_check_init.c.
26879 (grub_script_check_init.lst): Removed.
26880 (grub_script_check_init.h): Likewise.
26881 (grub_script_check_init.c): Likewise.
26882 (pkglib_MODULES): Remove handler.mod and sh.mod.
26883 (handler_mod_SOURCES): Removed.
26884 (handler_mod_CFLAGS): Likewise.
26885 (handler_mod_LDFLAGS): Likewise.
26886 (normal_mod_SOURCES): Remove normal/handler.c.
26887 Add script/main.c, script/script.c, script/execute.c,
26888 script/function.c, script/lexer.c, grub_script.tab.c
26889 and grub_script.yy.c.
26890 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26891 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26892 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26893 (grub_setup_SOURCES): Remove kern/parser.c.
26894 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26895 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26896 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26897 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26898 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26899 (grub_setup_SOURCES): Remove kern/parser.c.
26900 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26901 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26902 * include/grub/command.h (grub_command_iterate): Removed.
26903 (FOR_COMMANDS): New macro.
26904 * include/grub/dl.h (grub_dl): New member next.
26905 (grub_dl_iterate): Removed.
26906 (grub_dl_head): New variable declaration.
26907 (FOR_DL_MODULES): New macro.
26908 * include/grub/fs.h: Include list.h.
26909 (grub_fs): Make next first element.
26910 (grub_fs_list): New variable declaration.
26911 (grub_fs_register): Make inline.
26912 (grub_fs_unregister): Likewise.
26913 (grub_fs_iterate): Removed.
26914 (FOR_FILESYSTEMS): New macro.
26915 * include/grub/handler.h: Removed.
26916 * include/grub/list.h (grub_list_hook_t): Removed.
26917 (grub_list_test_t): Likewise.
26918 (grub_list_pop): Likewise.
26919 (grub_list_iterate): Likewise.
26920 (grub_list_insert): Likewise.
26921 (FOR_LIST_ELEMENTS): New macro.
26922 * include/grub/parser.h (grub_parser_class): Removed.
26923 (grub_parser_register): Likewise.
26924 (grub_parser_unregister): Likewise.
26925 (grub_parser_get_current): Likewise.
26926 (grub_parser_set_current): Likewise.
26927 (grub_register_rescue_parser): Likewise.
26928 (grub_rescue_parse_line): New function.
26929 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26930 * include/grub/script_sh.h (grub_script_function_list): New variable
26931 declaration.
26932 (FOR_SCRIPT_FUNCTIONS): New macro.
26933 (grub_script_function_iterate): Removed.
26934 (grub_normal_parse_line): New prototype.
26935 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26936 (FOR_DISABLED_TERM_INPUTS): Likewise.
26937 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26938 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26939 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26940 element.
26941 (grub_video_register): Inline.
26942 (grub_video_unregister): Likewise.
26943 (grub_video_adapter_list): New variable declaration.
26944 (grub_video_iterate): Removed.
26945 (FOR_VIDEO_ADAPTERS): New macro.
26946 * kern/dl.c (grub_dl_list): Removed. All users updated.
26947 (grub_dl_iterate): Removed.
26948 * kern/fs.c (grub_fs_list): Make global.
26949 (grub_fs_register): Removed.
26950 (grub_fs_unregister): Likewise.
26951 (grub_fs_iterate): Likewise.
26952 * kern/handler.c: Removed.
26953 * kern/list.c (grub_list_pop): Removed.
26954 (grub_list_iterate): Likewise.
26955 (grub_list_insert): Likewise.
26956 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26957 (grub_prio_list_insert): Don't use grub_list_insert.
26958 * kern/main.c (grub_register_rescue_parser): Don't call
26959 grub_register_rescue_parser.
26960 * kern/parser.c (grub_parser_class): Removed.
26961 (grub_parser_execute): Use grub_rescue_parse_line.
26962 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26963 (grub_rescue_parser): Removed.
26964 (grub_register_rescue_parser): Likewise.
26965 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26966 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26967 (grub_auth_check_authentication): Likewise.
26968 * normal/completion.c (iterate_command): Removed.
26969 (grub_normal_do_completion): Use FOR_COMMANDS.
26970 * normal/handler.c: Removed.
26971 * normal/main.c (read_config_file): Remove parser changing.
26972 (grub_normal_execute): Don't call read_handler_list.
26973 (grub_normal_read_line_real): Statically allocate prompt.
26974 (grub_cmdline_run): Use grub_normal_parse_line.
26975 (GRUB_MOD_FINI): Don't call free_handler_list.
26976 * normal/menu_entry.c (run): Likewise.
26977 * script/function.c (grub_script_function_list): Make global.
26978 (grub_script_function_iterate): Removed.
26979 * script/main.c (grub_normal_parse_line): Make global.
26980 (grub_sh_parser): Removed.
26981 (GRUB_MOD_INIT): Likewise.
26982 (GRUB_MOD_FINI): Likewise.
26983 * tests/lib/functional_test.c (grub_functional_test): Use
26984 FOR_LIST_ELEMENTS.
26985 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26986 (grub_test_run): Use FOR_LIST_ELEMENTS.
26987 * tests/lib/unit_test.c (main): Likewise.
26988 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26989 grub_list_pop.
26990 * util/grub-fstest.c (grub_term_input_class): Removed.
26991 (grub_term_output_class): Likewise.
26992 * util/grub-probe.c: Likewise.
26993 * util/i386/pc/grub-setup.c: Likewise.
26994 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26995 * util/grub-script-check.c (main): Don't call grub_init_all and
26996 grub_fini_all.
26997 * video/video.c (grub_video_adapter_list): Make global.
26998 (grub_video_register): Removed.
26999 (grub_video_unregister): Likewise.
27000 (grub_video_iterate): Likewise.
27001
6289c3a7
VS
270022010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27003
27004 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27005 reported by Henrique Ferreiro.
27006
91460247
RM
270072010-06-09 Robert Millan <rmh@gnu.org>
27008
27009 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27010 ones, when both are available.
27011
0ea7c4f9
GS
270122010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27013
27014 Make --version uniform and avoid hard-coded program name.
27015
27016 * util/grub-mkimage.c (main): Use `program_name' instead of
27017 hard-coded string.
27018 * util/i386/pc/grub-setup.c (main): Likewise.
27019 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27020 * util/grub-install.in: Save the basename of $0 in $self, and use the
27021 latter in informational messages. Use the same format for --version
27022 as the binary programs.
27023 * util/grub-mkconfig.in: Likewise.
27024 * util/grub-mkrescue.in: Likewise.
27025 * util/grub-reboot.in: Likewise.
27026 * util/grub-set-default.in: Likewise.
27027 * util/i386/efi/grub-install.in: Likewise.
27028 * util/ieee1275/grub-install.in: Likewise.
27029 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27030
e8a6f3b6
GS
270312010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27032
27033 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27034 embedding area. Use <= instead of == when checking for non-emptiness.
27035
f4d095d7
GS
270362010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27037
27038 * configure.ac: Add `.' to the directories searched for unifont.
27039
50e532ca
CW
270402010-06-08 Colin Watson <cjwatson@ubuntu.com>
27041
27042 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27043 grub_script.yy.h.
27044
d39f3dec
CW
270452010-06-08 Colin Watson <cjwatson@ubuntu.com>
27046
27047 * docs/grub.texi (History): Expand to cover GRUB 2.
27048 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27049 commands, not `terminal'.
27050 (serial): Likewise.
27051 (terminal_input): New section.
27052 (terminal_output): New section.
27053 (uppermem): New section (stub).
27054 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27055
6ef0ddb4
CW
270562010-06-08 Colin Watson <cjwatson@ubuntu.com>
27057
27058 * docs/grub.texi (Security): Menu entries are unrestricted by
27059 default, not restricted to superusers as I had previously thought.
27060 Reword to account for this.
27061
e0f4c438
CW
270622010-06-07 Colin Watson <cjwatson@ubuntu.com>
27063
27064 * kern/emu/misc.c (device_mapper_null_log): New function.
27065 (grub_device_mapper_supported): New function.
27066 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27067 prototype.
27068 * kern/emu/hostdisk.c (find_partition_start): Check whether
27069 device-mapper is supported before trying to use it.
27070 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27071
da908200
CW
270722010-06-07 Colin Watson <cjwatson@ubuntu.com>
27073
27074 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27075 (File name syntax): Likewise.
27076 (help): --all is no longer supported in GRUB 2. Be more precise
27077 about pattern matching.
27078
fb55c3ac
CW
270792010-06-07 Colin Watson <cjwatson@ubuntu.com>
27080
27081 * normal/completion.c (grub_normal_do_completion): When completing
27082 arguments to "set" and the current word contains an equals sign,
27083 skip to after the equals sign before starting completion.
27084
258c2573
CW
270852010-06-07 Colin Watson <cjwatson@ubuntu.com>
27086
27087 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27088
ee75515e
CW
270892010-06-07 Colin Watson <cjwatson@ubuntu.com>
27090
27091 * docs/grub.texi (Network): New section.
27092 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27093 `(nd)' as in GRUB Legacy.
27094 (pxe_unload): New section.
27095
a6a700aa
CW
270962010-06-07 Colin Watson <cjwatson@ubuntu.com>
27097
27098 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27099 in the rescue shell, so recommend using `set' instead. Thanks,
27100 Jordan Uggla.
27101
4003dd38
CW
271022010-06-07 Colin Watson <cjwatson@ubuntu.com>
27103
27104 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27105 (password): New section.
27106 (password_pbkdf2): New section.
27107 (search): New section.
27108 (Security): New section.
27109 (Troubleshooting): New section, currently very incomplete.
27110 (Invoking grub-mkpasswd-pbkdf2): New section.
27111 (Internals): New section, currently very incomplete.
27112
e1cbcc40
CW
271132010-06-07 Colin Watson <cjwatson@ubuntu.com>
27114
27115 * util/grub.d/00_header.in: Add some more quoting (of
27116 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27117 work again.
27118 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27119
db8fa1ad
CW
271202010-06-07 Colin Watson <cjwatson@ubuntu.com>
27121
27122 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27123 to `count', fixing variable shadowing that broke the -c option.
27124
271252010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
27126
27127 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27128 in case they contain spaces.
27129
f28a9212
CW
271302010-06-04 Colin Watson <cjwatson@ubuntu.com>
27131
27132 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27133 "part_" to partmap module names, in line with grub-install.
27134 Reported by: Jindřich Makovička (Debian bug #584426).
27135
9cdfe32f
CW
271362010-06-04 Colin Watson <cjwatson@ubuntu.com>
27137
27138 * util/grub-mkimage.c: Make target-related error messages slightly
27139 more helpful; -O talks about "format". Explicitly point to the use
27140 of -O if no target is specified.
27141 Reported by: Didier Raboud (Debian bug #584415).
27142
795b593a
CW
271432010-06-03 Colin Watson <cjwatson@ubuntu.com>
27144
27145 * INSTALL: Document several build requirements for optional features
27146 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27147
9d9b5833
GS
271482010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27149
27150 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27151 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27152 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27153
0819fec8
CW
271542010-06-02 Colin Watson <cjwatson@ubuntu.com>
27155
27156 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27157 Thanks to Jordan Uggla for spotting this.
27158
49396b4f
VS
271592010-06-02 Aleš Nesrsta <starous@volny.cz>
27160
27161 Finally make USB usable.
27162
27163 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27164 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27165 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27166 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27167 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27168 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27169 (GRUB_OHCI_FSMPS): Likewise.
27170 (GRUB_OHCI_PERIODIC_START): Likewise.
27171 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27172 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27173 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27174 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27175 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27176 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27177 (grub_ohci_transaction): Likewise.
27178 (grub_ohci_transfer): Improve condition detection algorithms.
27179 Handle toggle property. Program the transactions correctly.
27180 Improve error handling. Various important fixups.
27181 (grub_ohci_portstatus): Put register writes in right order.
27182 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27183 (grub_uhci_transfer): Don't show "failed" message on success.
27184 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27185 array.
27186 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27187 determine its size.
27188 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27189 before initialization is completed. Use IN direction for empty
27190 transfers. Use last_trans and compute toggle.
27191 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27192 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27193 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27194 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27195 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27196 (grub_usb_device): Increase toggle to 256.
27197 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27198 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27199 GRUB_USBMS_SUBCLASS_SFF8070.
27200 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27201 (grub_scsi_inquiry): New member page and alloc_length.
27202 (grub_scsi_request_sense): New structure.
27203 (grub_scsi_request_sense_data): Likewise.
27204 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27205 control.
27206 * disk/scsi.c (grub_scsi_request_sense): New function.
27207 (grub_scsi_test_unit_ready): Likewise.
27208 (grub_scsi_inquiry): Fill new fields.
27209 (grub_scsi_read_capacity): Likewise.
27210 (grub_scsi_read10): Add request sense at the end.
27211 (grub_scsi_read12): Likewise.
27212 (grub_scsi_write10): Likewise.
27213 (grub_scsi_write12): Likewise.
27214 (grub_scsi_open): Add Test Unit Ready.
27215 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27216 Support additional subclasses. Con't clear halt yet. Activate the
27217 proper config. Calculate LUNs correctly.
27218 (grub_usbms_transfer): Various important fixups.
27219
272202010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27221
27222 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27223 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27224 (grub_ohci_fini_hw): New function.
27225 (grub_ohci_restore_hw): Likewise.
27226 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27227 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27228 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27229
272302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27231
27232 Dedicated DMA allocations.
27233
27234 * bus/pci.c (grub_memalign_dma32): New function
27235 (grub_dma_free): Likewise.
27236 (grub_dma_get_virt): Likewise.
27237 (grub_dma_get_phys): Likewise.
27238 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27239 (grub_ohci_pci_iter): Use dma32_alloc.
27240 (grub_ohci_transfer): Likewise.
27241 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27242 (grub_usb_bulk_readwrite): Likewise.
27243 * include/grub/pci.h: Add declarations.
27244
272452010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27246
27247 CS5536 support.
27248
27249 * bus/cs5536.c: New file.
27250 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27251 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27252 (cs5536_mod_SOURCES): New variable.
27253 (cs5536_mod_CFLAGS): Likewise.
27254 (cs5536_mod_LDFLAGS): Likewise.
27255 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27256 machine/pci.h.
27257 (kernel_img_SOURCES): Add bus/cs5536.c.
27258 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27259 usb_keyboard.mod.
27260 (usb_mod_SOURCES): New variable.
27261 (usb_mod_CFLAGS): New variable.
27262 (usb_mod_LDFLAGS): New variable.
27263 (usbtest_mod_SOURCES): New variable.
27264 (usbtest_mod_CFLAGS): New variable.
27265 (usbtest_mod_LDFLAGS): New variable.
27266 (ohci_mod_SOURCES): New variable.
27267 (ohci_mod_CFLAGS): New variable.
27268 (ohci_mod_LDFLAGS): New variable.
27269 (usbms_mod_SOURCES): New variable.
27270 (usbms_mod_CFLAGS): New variable.
27271 (usbms_mod_LDFLAGS): New variable.
27272 (usb_keyboard_mod_SOURCES): New variable.
27273 (usb_keyboard_mod_CFLAGS): New variable.
27274 (usb_keyboard_mod_LDFLAGS): New variable.
27275 * include/grub/smbus.h: New file.
27276 * include/grub/cs5536.h: New file.
27277
0b35b2a9
CW
272782010-06-02 Colin Watson <cjwatson@ubuntu.com>
27279
27280 * util/grub.d/00_header.in: Add safety check to make sure that
27281 ${locale_dir} exists before trying to probe it.
27282
ca0afd5b
CW
272832010-06-02 Colin Watson <cjwatson@ubuntu.com>
27284
27285 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27286 per the GNU Coding Standards; this is now too obscure to be worth
27287 documenting.
27288 (QNX): Likewise.
27289 (chainloader): Remove cross-reference to `SCO UnixWare'.
27290
1c41aa78
CW
272912010-06-02 Colin Watson <cjwatson@ubuntu.com>
27292
27293 * docs/grub.texi (Chain-loading): New section.
27294 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27295 adjusted for GRUB 2.
27296 (SCO UnixWare): Likewise.
27297 (QNX): Likewise.
27298 (chainloader): Add reference to `Block list syntax'.
27299 (drivemap): New section.
27300 (parttool): New section.
27301
bb8ea0f5
CW
273022010-06-02 Colin Watson <cjwatson@ubuntu.com>
27303
27304 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27305 the grub shell'.
27306 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27307 (Installing GRUB using grub-install): Remove reference to the grub
27308 shell; mention `grub-mkimage' and `grub-setup' instead.
27309 (Invoking grub-install): Likewise.
27310 (Interface): Add reference to `Menu entry editor'.
27311 (serial): Remove `--device' option.
27312
288dd6ed
CW
273132010-06-02 Colin Watson <cjwatson@ubuntu.com>
27314
27315 * docs/grub.texi (Configuration): New section, documenting
27316 configuration file generation using grub-mkconfig. I've left a slot
27317 for documenting the full shell scripting format but have not yet
27318 started on writing that up.
27319 (Invoking grub-mkconfig): New section.
27320
34c9f0e9
CW
273212010-06-02 Colin Watson <cjwatson@ubuntu.com>
27322
27323 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27324 (GNU GRUB manual): Likewise.
27325 (General commands): Update description of `terminfo' for GRUB 2.
27326
9121567e
CW
273272010-06-02 Colin Watson <cjwatson@ubuntu.com>
27328
27329 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
27330 (GRUB_MOD_INIT): Fix capitalisation.
27331 * docs/grub.texi (Command-line and menu entry commands): Document
27332 gettext and gptsync commands.
27333
ab631611
CW
273342010-06-02 Colin Watson <cjwatson@ubuntu.com>
27335
27336 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27337 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27338
bde4a9ac
CW
273392010-06-01 Colin Watson <cjwatson@ubuntu.com>
27340
27341 Add btrfs probing support, currently only in the single-device case.
27342
27343 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27344 function.
27345 (grub_guess_root_device): Call find_root_device_from_mountinfo
27346 before looking in /dev.
27347
b1d17e10
VS
273482010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27349
27350 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27351 GRUB_DISK_SIZE_UNKNOWN.
27352 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27353
dfbfe004
JS
273542010-05-31 Jiro SEKIBA <jir@unicus.jp>
27355
27356 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27357 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27358 corrupted or not synced properly.
27359
c2ffc8e9
VS
273602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27361
27362 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
27363 Reported by: Seth Goldberg.
27364
56293166
VS
273652010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27366
27367 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
27368 addition of dest.
27369 Reported by: Seth Goldberg.
27370
7620e7de
VS
273712010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27372
27373 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
27374 Reported by: Seth Goldberg.
27375
c837af3f
VS
273762010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27377
27378 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
27379 64-bit address as signed on MIPS.
27380
c7c75cf4
CW
273812010-05-28 Colin Watson <cjwatson@ubuntu.com>
27382
27383 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
27384 to the empty string.
27385
fa4b8490
BC
273862010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
27387
27388 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
27389
27390 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
27391 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
27392 * kern/misc.c (__enable_execute_stack): Disable on
27393 GRUB_MACHINE_EMU.
27394
a33075b9
CW
273952010-05-28 Colin Watson <cjwatson@ubuntu.com>
27396
27397 Make grub-probe work with symbolic links under /dev/mapper as well
27398 as with real block devices. The Linux world seems to be (at best)
27399 in transition here, and GRUB shouldn't get caught in the middle.
27400
27401 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
27402 /dev/mapper.
27403
d8708134
CW
274042010-05-27 Colin Watson <cjwatson@ubuntu.com>
27405
27406 * util/grub-script-check.c (main): Ensure defined behaviour on empty
27407 input files (in which case exit zero).
27408
db2102a0
CW
274092010-05-27 Colin Watson <cjwatson@ubuntu.com>
27410
27411 * kern/emu/misc.c (canonicalize_file_name): realpath can still
27412 return NULL for various reasons even if it has a maximum-length
27413 buffer: for example, there might be a symlink loop, or the path
27414 might exceed PATH_MAX. If this happens, return NULL.
27415
5fdba519
RM
274162010-05-27 Robert Millan <rmh@gnu.org>
27417
27418 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
27419 partmap module to handle cross-partmap setups.
27420 Reported by Orestes Mas. Gràcies!
27421
d1d368e4
CW
274222010-05-27 Colin Watson <cjwatson@ubuntu.com>
27423
27424 * util/grub-mkrescue.in: Initialise override_dir rather than
27425 assuming that it's unset or empty in the environment.
27426
95ac3c73
GS
274272010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
27428
27429 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
27430 variable index into p_index to suppress a warning with -Wshadow.
27431
7d8c0213
BC
274322010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
27433
27434 * INSTALL: Added flex >= 2.5.35 requirement.
27435
db4d5813
VS
274362010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27437
27438 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
27439
f24f4300
VS
274402010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27441
27442 cmostest support.
27443
27444 * commands/i386/cmostest.c: New file.
27445 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27446 (cmostest_mod_SOURCES): New variable.
27447 (cmostest_mod_CFLAGS): Likewise.
27448 (cmostest_mod_LDFLAGS): Likewise.
27449 * conf/i386-pc.rmk: Likewise.
27450 * docs/grub.texi (Vendor power-on keys): New section.
27451 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27452 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27453 and GRUB_BUTTON_CMOS_ADDRESS.
27454 * util/grub.d/00_header.in: Handle powering-on by separate button.
27455
ad603f61
VS
274562010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27457
27458 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27459 Removed drawing_scrollbar argument. All users updated
27460 Fixes #29792.
27461 Reported by Jo Shields
27462
3ecb080a
VS
274632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27464
27465 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27466 buffer since gfxterm handles double repaint.
27467
5f2316c1
VS
274682010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27469
27470 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27471 * term/gfxterm.c (real_scroll): Likewise.
27472
9a25f885
VS
274732010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27474
27475 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27476 before calling BIOS.
27477
39fbb79a
VS
274782010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27479
27480 * include/grub/i18n.h: Always enable grub_gettext.
27481
228cfa97
VS
274822010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27483
27484 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27485 partition naming style.
27486
21717c8f
CW
274872010-05-21 Colin Watson <cjwatson@ubuntu.com>
27488
27489 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27490 not the first option.
27491
c0f48e65
CW
274922010-05-20 Colin Watson <cjwatson@ubuntu.com>
27493
27494 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27495
96779aec
CW
274962010-05-20 Colin Watson <cjwatson@ubuntu.com>
27497
27498 * util/misc.c: Move inclusion of <limits.h> to ...
27499 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27500
fa9d256e
GS
275012010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27502
27503 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27504 Fix merge error in NetBSD code.
27505 (find_partition_start) [__NetBSD__]: Likewise.
27506
123b7a85
BC
275072010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27508
27509 Fix grub-mkrescue usage unit testing.
27510
27511 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27512
74276c0d
CF
275132010-05-18 Christian Franke <franke@computer.org>
27514
27515 * util/grub.d/10_windows.in: Use path names instead of
27516 drive letters to prevent warning from Cygwin 1.7.
27517 Add drivemap command to menuentry if needed.
27518
c4f7b523
ST
275192010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27520
27521 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27522 gnumach and gnumach.gz.
27523
95b97950
VS
275242010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27525
27526 * include/grub/i18n.h (gettext): Inline instead of using #define.
27527 (grub_gettext): Likewise.
27528 (_): Likewise.
27529
01b8d2d7
VS
275302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27531
27532 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27533 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27534 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27535 (main): Add a slash after pkglibdirroot.
27536
654e1d1e
VS
275372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27538
27539 * util/grub-install.in: Add missing "in" keyword.
27540
26966aeb
VS
275412010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27542
27543 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27544 Reported by: Seth Goldberg.
27545
75006747
VS
275462010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27547
27548 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27549
74cbf5bd
CW
275502010-05-18 Colin Watson <cjwatson@ubuntu.com>
27551
27552 * configure.ac: Check for Linux device-mapper support.
27553
27554 * util/hostdisk.c (device_is_mapped): New function.
27555 (find_partition_start): New function, partly broken out from
27556 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27557 device-mapper support added.
27558 (linux_find_partition): Use find_partition_start.
27559 (convert_system_partition_to_system_disk): Add `st' argument.
27560 Support Linux /dev/mapper/* devices if device-mapper support is
27561 available; only DM-RAID devices are understood at present.
27562 (find_system_device): Add `st' argument. Pass it to
27563 convert_system_partition_to_system_disk.
27564 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27565 find_system_device and convert_system_partition_to_system_disk. Use
27566 find_partition_start.
27567
27568 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27569 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27570 * util/deviceiter.c [__linux__]: Define MINOR.
27571 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27572 * util/mkdevicemap.c (grub_putchar): New function.
27573 (grub_getkey): New function.
27574 (grub_refresh): New function.
27575 (main): Set debug=all if -v -v is used.
27576
355b51e9
CW
275772010-05-18 Colin Watson <cjwatson@ubuntu.com>
27578
27579 Fix build with non-GNU libcs.
27580
27581 * util/misc.c (canonicalize_file_name): Move to ...
27582 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27583 grub_make_system_path_relative_to_its_root.
27584
7fb5c25f
CW
275852010-05-18 Colin Watson <cjwatson@ubuntu.com>
27586
27587 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27588 we handle finding grub-mkimage. Default to finding grub-mkimage in
27589 ${bindir} with program_transform_name applied, and provide a
27590 --grub-mkimage option to override this.
27591
1d3293d6
VS
275922010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27593
27594 Remove grub-mkisofs.
27595
27596 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27597 (grub_mkisofs_SOURCES): Removed.
27598 (grub_mkisofs_CFLAGS): Removed.
27599 * util/mkisofs/defaults.h: Removed.
27600 * util/mkisofs/eltorito.c: Likewise.
27601 * util/mkisofs/exclude.h: Likewise.
27602 * util/mkisofs/hash.c: Likewise.
27603 * util/mkisofs/include/: Likewise.
27604 * util/mkisofs/include/fctldefs.h: Likewise.
27605 * util/mkisofs/include/mconfig.h: Likewise.
27606 * util/mkisofs/include/prototyp.h: Likewise.
27607 * util/mkisofs/include/statdefs.h: Likewise.
27608 * util/mkisofs/iso9660.h: Likewise.
27609 * util/mkisofs/joliet.c: Likewise.
27610 * util/mkisofs/match.c: Likewise.
27611 * util/mkisofs/match.h: Likewise.
27612 * util/mkisofs/mkisofs.c: Likewise.
27613 * util/mkisofs/mkisofs.h: Likewise.
27614 * util/mkisofs/msdos_partition.h: Likewise.
27615 * util/mkisofs/multi.c: Likewise.
27616 * util/mkisofs/name.c: Likewise.
27617 * util/mkisofs/rock.c: Likewise.
27618 * util/mkisofs/tree.c: Likewise.
27619 * util/mkisofs/write.c: Likewise.
27620
5dde9afe
VS
276212010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27622
27623 Unify grub-mkimage accross platforms.
27624
27625 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27626 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27627 (grub_mkelfimage_SOURCES): Removed.
27628 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27629 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27630 (bin_UTILITIES): Add grub-mkimage.
27631 (grub_mkimage_SOURCES): New variable.
27632 (kernel_img_HEADERS): Remove machine/kernel.h.
27633 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27634 (pkglib_PROGRAMS): Add kernel.img.
27635 (kernel_img_HEADERS): Add machine/kernel.h.
27636 (kernel_img_FORMAT): Removed.
27637 (bin_UTILITIES): Remove grub-mkimage.
27638 (grub_mkimage_SOURCES): Removed.
27639 (grub_mkimage_CFLAGS): Likewise.
27640 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27641 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27642 (pkglib_PROGRAMS): Add kernel.img.
27643 (bin_UTILITIES): Remove grub-mkimage.
27644 (grub_mkimage_SOURCES): Removed.
27645 (grub_mkimage_CFLAGS): Likewise.
27646 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27647 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27648 (pkglib_PROGRAMS): Add kernel.img.
27649 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27650 (pkglib_PROGRAMS): Add kernel.img.
27651 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27652 (grub_mkimage_SOURCES): Removed.
27653 (grub_mkimage_CFLAGS): Likewise.
27654 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27655 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27656 (pkglib_PROGRAMS): Add kernel.img.
27657 (bin_UTILITIES): Remove grub-mkimage.
27658 (grub_mkimage_SOURCES): Removed.
27659 (grub_mkimage_CFLAGS): Likewise.
27660 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27661 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27662 (grub_mkimage_SOURCES): Removed.
27663 (grub_mkimage_CFLAGS): Likewise.
27664 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27665 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27666 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27667 (grub_pe32_optional_header): ... this.
27668 (grub_pe64_optional_header): ... and this. All users updated.
27669 (GRUB_PE32_PE32_MAGIC): Split into ..
27670 (GRUB_PE32_PE32_MAGIC): .. this.
27671 (GRUB_PE32_PE64_MAGIC): .. and this.
27672 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27673 * include/grub/elf.h (PT_GNU_STACK): New definition.
27674 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27675 * include/grub/i386/efi/kernel.h: Likewise.
27676 * include/grub/i386/kernel.h: Likewise.
27677 * include/grub/i386/pc/kernel.h: Likewise.
27678 * include/grub/i386/qemu/boot.h: Likewise.
27679 * include/grub/mips/kernel.h: Likewise.
27680 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27681 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27682 * include/grub/powerpc/kernel.h: Likewise.
27683 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27684 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27685 * include/grub/sparc64/kernel.h: Likewise.
27686 * include/grub/x86_64/efi/kernel.h: Likewise.
27687 * include/grub/x86_64/kernel.h: Likewise.
27688 * include/grub/offsets.h: New file.
27689 * include/grub/kernel.h (grub_module_info): Split into ...
27690 (grub_module_info32): ... this.
27691 (grub_module_info64): ... and this.
27692 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27693 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27694 (grub_boot_blocklist): Moved from here ...
27695 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27696 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27697 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27698 * include/grub/types.h (grub_target_to_host16): Removed.
27699 (grub_target_to_host32): Likewise.
27700 (grub_target_to_host64): Likewise.
27701 (grub_host_to_target16): Likewise.
27702 (grub_host_to_target32): Likewise.
27703 (grub_host_to_target64): Likewise.
27704 (grub_host_to_target_addr): Likewise.
27705
27706 Support grub-mkrescue for efi, coreboot and qemu.
27707
27708 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27709 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27710 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27711 * util/grub-mkrawimage.c: Moved from here ...
27712 * util/grub-mkimage.c: ... here. All users updated.
27713 (ALIGN_ADDR): Use image_target.
27714 (TARGET_NO_FIELD): New const.
27715 (image_target_desc): New type.
27716 (image_targets): New array.
27717 (grub_target_to_host64): Use image_target.
27718 (grub_target_to_host32): Likewise.
27719 (grub_target_to_host16): Likewise.
27720 (grub_host_to_target64): Likewise.
27721 (grub_host_to_target32): Likewise.
27722 (grub_host_to_target16): Likewise.
27723 (grub_host_to_target_addr): Likewise.
27724 (generate_image): Handle multiimage.
27725 (main): Require -O parameter. All users updated.
27726 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27727 util/efi/grub-mkimage.c
27728 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27729 New option --rom-directory.
27730 Use xorriso.
27731 * util/i386/efi/grub-mkimage.c: Removed.
27732 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27733 (grub_target_to_host32): Likewise.
27734 (grub_target_to_host64): Likewise.
27735 (grub_host_to_target16): Likewise.
27736 (grub_host_to_target32): Likewise.
27737 (grub_host_to_target64): Likewise.
27738 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27739 (grub_target_to_host32): Likewise.
27740 (grub_target_to_host64): Likewise.
27741 (grub_host_to_target16): Likewise.
27742 (grub_host_to_target32): Likewise.
27743 (grub_host_to_target64): Likewise.
27744
f4fc97d0
BC
277452010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27746
27747 Source tree is reorganized for emu build.
27748
27749 * include/grub/util/console.h: Move from here...
27750 * include/grub/emu/console.h: ...to here.
27751 * include/grub/util/getroot.h: Move from here...
27752 * include/grub/emu/getroot.h: ...to here.
27753 * include/grub/util/hostdisk.h: Move from here...
27754 * include/grub/emu/hostdisk.h: ...to here.
27755 * util/console.c: Move from here...
27756 * kern/emu/console.c: ...to here.
27757 * util/getroot.c: Move from here...
27758 * kern/emu/getroot.c: ...to here.
27759 * util/grub-emu.c: Move from here...
27760 * kern/emu/main.c: ...to here.
27761 * util/hostdisk.c: Move from here...
27762 * kern/emu/hostdisk.c: ...to here.
27763 * util/hostfs.c: Move from here...
27764 * kern/emu/hostfs.c: ...to here.
27765 * util/mm.c: Move from here...
27766 * kern/emu/mm.c: ...to here.
27767 * util/pci.c: Move from here...
27768 * bus/emu/pci.c: ...to here.
27769 * util/sdl.c: Move from here...
27770 * video/emu/sdl.c: ...to here.
27771 * util/time.c: Move from here...
27772 * kern/emu/time.c: ...to here.
27773 * util/usb.c: Move from here...
27774 * bus/usb/emu/usb.c: ...to here.
27775
27776 * include/grub/emu/misc.h: New header for grub-emu functions.
27777 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27778
27779 * conf/any-emu.rmk: Rule updates for above renames.
27780 * conf/common.rmk: Likewise.
27781 * conf/i386-pc.rmk: Likewise.
27782 * conf/i386-qemu.rmk: Likewise.
27783 * conf/mips.rmk: Likewise.
27784 * conf/sparc64-ieee1275.rmk: Likewise.
27785 * conf/x86-efi.rmk: Likewise.
27786
27787 * disk/lvm.h: #include updates for above renames.
27788 * util/grub-mkrelpath.c: Likewise.
27789 * util/grub-probe.c: Likewise.
27790 * util/i386/pc/grub-setup.c: Likewise.
27791 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27792 * kern/emu/console.c: Likewise.
27793 * kern/emu/getroot.c: Likewise.
27794 * kern/emu/hostdisk.c: Likewise.
27795 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27796
27797 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27798 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27799 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27800 * util/misc.c: Remove grub-emu functions.
27801
cced9145
VS
278022010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27803
27804 Fix gfxmenu crash.
27805 Reported by: Thorsten Grützmacher.
27806
27807 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27808 timeout hook.
27809 (circprog_set_property): Register and unregister timeout hook.
27810 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27811 (label_destroy): Free template. and unregister hook.
27812 (label_set_state): New function.
27813 (label_set_property): Handle templates and hooks.
27814 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27815 timeout hook.
27816 (progress_bar_set_property): Register and unregister timeout hook.
27817 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27818 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27819 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27820 (update_timeout_visit): Removed.
27821 (update_timeouts): New function.
27822 (redraw_timeouts): Likewise.
27823 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27824 (grub_gfxmenu_clear_timeout): Likewise.
27825 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27826 (grub_gfxmenu_timeout_notify): Likewise.
27827 (grub_gfxmenu_timeout_notifications): New external variable.
27828 (grub_gfxmenu_timeout_register): New function.
27829 (grub_gfxmenu_timeout_unregister): Likewise.
27830
c6e5caab
VS
278312010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27832
27833 Transform (broken) vga terminal into (working) vga video driver.
27834
27835 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27836 video/i386/pc/vga.c.
27837 * include/grub/video.h (grub_video_driver_id):
27838 Add GRUB_VIDEO_DRIVER_VGA.
27839 * term/i386/pc/vga.c: Renamed to ...
27840 * video/i386/pc/vga.c: ...this
27841 (DEBUG_VGA): Removed.
27842 (CHAR_WIDTH): Likewise.
27843 (CHAR_HEIGHT): Likewise.
27844 (TEXT_WIDTH): Likewise.
27845 (TEXT_HEIGHT): Likewise.
27846 (DEFAULT_FG_COLOR): Likewise.
27847 (DEFAULT_BG_COLOR): Likewise.
27848 (colored_char): Likewise.
27849 (xpos): Likewise.
27850 (ypos): Likewise.
27851 (cursor_state): Likewise.
27852 (fg_color): Likewise.
27853 (bg_color): Likewise.
27854 (text_buf): Likewise.
27855 (page): Likewise.
27856 (font): Likewise.
27857 (framebuffer): New variable.
27858 (set_read_map): Disabled.
27859 (setup): New variable.
27860 (is_target): Likewise.
27861 (grub_vga_mod_init): Likewise.
27862 (grub_vga_mod_fini): Likewise.
27863 (check_vga_mem): Likewise.
27864 (write_char): Likewise.
27865 (write_cursor): Likewise.
27866 (scroll_up): Likewise.
27867 (grub_vga_putchar): Likewise.
27868 (grub_vga_getcharwidth): Likewise.
27869 (grub_vga_getwh): Likewise.
27870 (grub_vga_getxy): Likewise.
27871 (grub_vga_gotoxy): Likewise.
27872 (grub_vga_cls): Likewise.
27873 (grub_vga_setcolorstate): Likewise.
27874 (grub_vga_setcursor): Likewise.
27875 (grub_video_vga_init): New function.
27876 (grub_video_vga_setup): Likewise.
27877 (grub_video_vga_fini): Likewise.
27878 (update_target): Likewise.
27879 (grub_video_vga_blit_bitmap): Likewise.
27880 (grub_video_vga_blit_render_target): Likewise.
27881 (grub_video_vga_set_active_render_target): Likewise.
27882 (grub_video_vga_get_active_render_target): Likewise.
27883 (grub_video_vga_swap_buffers): Likewise.
27884 (grub_video_vga_set_palette): Likewise.
27885 (grub_video_vga_get_info_and_fini): Likewise.
27886 (grub_vga_term): Removed.
27887 (grub_video_vga_adapter): New variable.
27888 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27889 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27890
2bf61a98
VS
278912010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27892
27893 * video/readers/jpeg.c: Indented.
27894
09ddcd11
VS
278952010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27896
27897 Various jpeg cleanups.
27898
27899 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27900 (grub_jpeg_decode_quan_table): Use sizeof.
27901 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27902
e5507505
PH
279032010-05-05 Peter Hurley <No e-mail available> (tiny change)
27904
27905 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27906 tables. Ignore non-last ac bit.
27907 (grub_jpeg_decode_quan_table): Likewise.
27908
7e720a9b
VS
279092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27910
27911 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27912 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27913 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27914 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27915 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27916 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27917
a7fc080b
VS
279182010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27919
27920 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27921 error.
27922
2bf6012d
VS
279232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27924
27925 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27926
265d68cd
VS
279272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27928
27929 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27930 condition.
27931
279322010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27933
27934 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27935 part.
27936
265d68cd 279372010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27938
27939 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27940 pointers.
27941
265d68cd 279422010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27943
27944 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27945
d1b61374
CF
279462010-05-01 Christian Franke <franke@computer.org>
27947
27948 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27949 Remove broken Cygwin path conversion.
27950 * util/misc.c: [__CYGWIN__] Add include and define.
27951 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27952 for Cygwin 1.7.
27953 (make_system_path_relative_to_its_root): Simplify loop, replace early
27954 return by break.
27955 [__CYGWIN__] Add conversion to win32 path.
27956 Include "/" case in trailing slash removal.
27957
3558c6e9
VS
279582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27959
27960 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27961 Reported by: Seth Goldberg
27962
f5f3ff93
VS
279632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27964
27965 * commands/help.c (grub_cmd_help): Fix a typo.
27966 Reported by: Seth Goldberg
27967
d8b5cd40
VS
279682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27969
27970 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27971 name and add N_.
27972 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27973 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27974 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27975 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27976 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27977 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27978 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27979 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27980 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27981 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27982 * normal/context.c (GRUB_MOD_INIT): Likewise.
27983 * normal/main.c (GRUB_MOD_INIT): Likewise.
27984 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27985 * term/serial.c (GRUB_MOD_INIT): Likewise.
27986 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27987
88c14915
VS
279882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27989
27990 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27991 extra == 0.
27992
165134bc
VS
279932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27994
27995 * commands/iorw.c: New file.
27996 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27997 (iorw_mod_SOURCES): New variable.
27998 (iorw_mod_CFLAGS): Likewise.
27999 (iorw_mod_LDFLAGS): Likewise.
28000
c5ac9b32
VS
280012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28002
28003 Hotkey support
28004
28005 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28006 * normal/main.c (hotkey_aliases): New variable.
28007 (grub_normal_add_menu_entry): Parse "--hotkey".
28008 * normal/menu_text.c (run_menu): Handle hotkeys.
28009
ce60689c
VS
280102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28011
28012 * kern/i386/coreboot/init.c (grub_machine_init): Call
28013 grub_machine_mmap_init on qemu.
28014
0359d006
VS
280152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28016
28017 * boot/i386/qemu/boot.S: Add a missing .code16.
28018
7819a456
VS
280192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28020
28021 Use LBIO on coreboot.
28022
28023 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28024 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28025 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28026 New declaration.
28027 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28028 grub_machine_mmap_init on coreboot.
28029 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28030 GRUB_LINUXBIOS_MEMBER_LINK.
28031 (grub_machine_mmap_iterate): Fix declaration.
28032 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28033
7210dca9
VS
280342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28035
28036 Split coreboot and multiboot ports.
28037
28038 * conf/i386-multiboot.rmk: New file.
28039 * configure.ac: Add multiboot port.
28040 * include/grub/i386/multiboot/boot.h: New file.
28041 * include/grub/i386/multiboot/console.h: Likewise.
28042 * include/grub/i386/multiboot/init.h: Likewise.
28043 * include/grub/i386/multiboot/kernel.h: Likewise.
28044 * include/grub/i386/multiboot/loader.h: Likewise.
28045 * include/grub/i386/multiboot/memory.h: Likewise.
28046 * include/grub/i386/multiboot/serial.h: Likewise.
28047 * include/grub/i386/multiboot/time.h: Likewise.
28048 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28049 * loader/multiboot.c: Likewise.
28050 * loader/multiboot_mbi2.c: Likewise.
28051 * util/grub-mkrescue.in: Generate multiboot rescue.
28052
6f8aaf68
VS
280532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28054
3080f7a7
VS
28055 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28056
280572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28058
28059 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
28060
28061 * commands/terminal.c (abstract_terminal): New struct.
28062 (handle_command): New function. Based on grub_cmd_terminal_input.
28063 (grub_cmd_terminal_input): Use handle_command.
28064 (grub_cmd_terminal_output): Use handle_command.
28065
a8ebb841
BC
280662010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28067
28068 Fix comment handling.
28069
28070 * tests/grub_script_comments.in: New testcase.
28071 * conf/tests.rmk: Rules for new testcase.
28072 * script/yylex.l: Updated flex rules.
28073
bb06ba08
ST
280742010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28075
28076 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
28077 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28078 if argc is 1.
bb06ba08 28079
cc9d2425
VS
280802010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28081
28082 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28083 autogen issues.
28084
460d8402
CF
280852010-04-26 Christian Franke <franke@computer.org>
28086
28087 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28088 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28089 (grub_get_prefix): Remove function.
28090 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28091 make_system_path_relative_to_its_root ().
28092 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28093
553c01f9
CF
280942010-04-24 Christian Franke <franke@computer.org>
28095
28096 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28097 (kernel_img_LDFLAGS): Remove -static-libgcc.
28098
2aec1692
CF
280992010-04-24 Christian Franke <franke@computer.org>
28100
28101 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28102 and CHECK_END_SYMBOL if grub-emu is built.
28103 Unset TARGET_OBJ2ELF if grub-emu is built
28104 without module support.
28105
f67dc308
JS
281062010-04-24 Jiro SEKIBA <jir@unicus.jp>
28107
28108 Nilfs2 support.
28109
28110 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28111 (grub_fstest_SOURCES): Likewise.
28112 (pkglib_MODULES): Add nilfs2.mod.
28113 (nilfs2_mod_SOURCES): New variable.
28114 (nilfs2_mod_CFLAGS): Likewise.
28115 (nilfs2_mod_LDFLAGS): Likewise.
28116 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28117 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28118 * fs/nilfs2.c: New file.
28119
4ba8d354
VS
281202010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28123 is not supported.
28124
0d2c20c6
GS
281252010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28126
28127 Add grub-mkconfig support for NetBSD.
28128
28129 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28130 * util/grub-mkconfig.in: export new NetBSD specific variables.
28131 * po/POTFILES-shell: added 10_netbsd.in.
28132 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28133
bc4a2d83
BC
281342010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28135
28136 Fix emu build with grub-emu-pci and grub-emu-modules.
28137
28138 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28139 functions.
28140 * include/grub/libpciaccess.h: New file.
28141 * conf/any-emu.rmk: Update kernel headers for emu build.
28142
f48c87aa
VS
281432010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28144
28145 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28146
18959385
VS
281472010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28148
28149 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28150
0037de3f
VS
281512010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28152
28153 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28154 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28155 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28156 util/ieee1275/ofpath.c.
28157 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28158 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28159 * include/grub/sparc64/ieee1275/boot.h
28160 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28161 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28162 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28163 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28164 const char *.
28165 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28166 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28167 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28168 install.
28169
38e55e90
GS
281702010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28171
28172 * util/grub-mkconfig.in: Corrected two == equality tests.
28173 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28174 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28175 expect a number appended to it.
28176 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28177 expects a number appended to it.
28178
a9e6ff28
VS
281792010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28180
28181 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28182
0b830b8f
VS
281832010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28184
28185 * util/hostdisk.c (make_device_name): Change to new partition naming.
28186
0973daeb
VS
281872010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28188
28189 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28190
460d8402 281912010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
28192
28193 * Makefile.in: Add missing localedir setting.
28194
0b456309
CW
281952010-04-14 Colin Watson <cjwatson@ubuntu.com>
28196
28197 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28198 mistake in r2156. Noticed by Anthony Fok.
28199
28200 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28201 @localedir@.
28202 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28203
08f46d62
BC
282042010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28205
28206 Fix a spurious, uninitialized variable warning.
28207
28208 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28209 Initialize variable, shdr.
28210 (grub_freebsd_load_elfmodule): Likewise.
28211 (grub_freebsd_load_elf_meta): Likewise.
28212
8c4a72d4
BC
282132010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28214
28215 Fix for escaped dollar in double quoted strings.
28216
28217 * script/yylex.l: Updated flex rules.
28218 * conf/tests.rmk: Rule for new testcase.
28219 * tests/grub_script_dollar.in: New testcase.
28220
ce44826e
CPE
282212010-04-13 Carles Pina i Estany <carles@pina.cat>
282222010-04-13 Colin Watson <cjwatson@ubuntu.com>
28223
28224 Enclose all translated strings in grub.cfg in single quotes, and
28225 escape them appropriately (Ubuntu bug #552921).
28226
28227 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28228 * util/grub.d/10_hurd.in: Use it.
28229 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28230 * util/grub.d/10_linux.in (linux_entry): Likewise.
28231
4b0cd8f8
VS
282322010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28233
28234 Fix cygwin compilation.
28235
28236 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28237 * include/grub/misc.h (__register_frame_info)
28238 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28239 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28240 * kern/misc.c (__register_frame_info)
28241 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28242 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28243
01fcf061
VS
282442010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28245
28246 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28247
5d04b11e
VS
282482010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28249
28250 Unify libgcc processing.
28251
28252 * Makefile.in (kernel_img_LDFLAGS): New variable.
28253 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28254 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28255 overwriting.
28256 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28257 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28258 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28259 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28260 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28261 overwriting. Remove -lgcc and -static-libgcc
28262 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28263 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28264 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28265 (kernel_img_LDFLAGS): Append instead of overwriting.
28266 Remove -lgcc and -static-libgcc
28267 * conf/sparc64-ieee1275.rmk: Likewise.
28268 * include/grub/powerpc/libgcc.h: Move to ...
28269 * include/grub/libgcc.h: .. this.
28270 * include/grub/libgcc.h: Don't export most of the function on x86.
28271 (__bswapsi2): New export.
28272 (__bswapdi2): Likewise.
28273 * include/grub/mips/libgcc.h: Removed.
28274 * include/grub/sparc64/libgcc.h: Likewise.
28275
b7f3ac29
VS
282762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28277
28278 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28279 disk_info_msg (conflicts with gettexting into languages with cases).
28280
2c7031b1
GS
282812010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28282
28283 Add grub-probe support for NetBSD.
28284
28285 * util/getroot.c (find_root_device): Convert block device to
28286 character device on NetBSD.
28287 * util/probe.c (probe): Require character device on NetBSD.
28288 * util/hostdisk.c: NetBSD specific headers.
28289 (configure_device_driver): new function to tune device driver
28290 parameters (currently only for NetBSD floppy driver).
28291 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28292 via disklabel ioctl).
28293 (open_device): call configure_device_driver on NetBSD.
28294 (convert_system_partition_to_system_disk): NetBSD specific code.
28295 (device_is_wholedisk): Likewise.
28296 (grub_util_biosdisk_get_grub_dev): Likewise.
28297 (make_device_name): Fixed a typo in bsd_part_str.
28298 * configure.ac: check for opendisk() and getrawpartition() on
28299 NetBSD and set LIBUTIL.
28300 * Makefile.in: add LIBUTIL to LIBS.
28301
f516290c
BC
283022010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28303
28304 Documentation fix.
28305
28306 * util/grub-script-check.c: Better help message.
28307
d8dcc0df
BC
283082010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28309
28310 Fix FreeBSD build.
28311
28312 * configure.ac: Flex version check.
28313 * conf/common.rmk: Add -Wno-error to sh.mod.
28314 * script/yylex.l: Remove all #pragma.
28315
6734334a
VS
283162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28317
28318 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28319 prototype.
28320 Reported by: Seth Goldberg.
28321
daea6abd
VS
283222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28323
28324 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
28325 Rename "module" to "module2".
28326 Reported by: Seth Goldberg.
28327
f2fd9d2b
VS
283282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28329
28330 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
28331 EXPORT_FUNC.
28332 Reported by: Seth Goldberg.
28333
be124579
VS
283342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28335
28336 * lib/posix_wrap/locale.h: Add missing file.
28337 Reported by: Seth Goldberg.
28338
ef5da797
VS
283392010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28340
28341 grub-emu module load support.
28342
28343 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28344 NO_DYNAMIC_MODULES switched to this.
28345 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28346 (CFLAGS): Likewise.
28347 * conf/any-emu.rmk: Generate symlist.
28348 (kernel_img_HEADERS): Add util/datetime.h.
28349 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28350 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28351 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28352 kern/$(target_cpu)/cache.S.
28353 * configure.ac (grub-emu-modules): New option.
28354 * genmk.rb: Handle multiple source lists.
28355 * include/grub/sdl.h: New file.
28356 * include/grub/libusb.h: Likewise.
28357 * util/grub-emu.c (main): Hanle (host) root.
28358 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28359 GRUB_ERR_UNKNOWN_DEVICE.
28360 * util/misc.c: Move mm functions to ...
28361 * util/mm.c: ... here. All users updated.
28362
47822096
VS
283632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28364
28365 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
28366 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
28367 missing files.
28368 (maintainer-clean): Remove libgcrypt-grub.
28369
5d7e7445
VS
283702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28371
28372 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
28373
25f4e252
EC
283742010-04-09 EFI Coder <eficoder@hotmail.com>
28375
28376 * normal/menu_text.c (print_message): Clean up the message and show
28377 the Fn information when on EFI
28378 * term/efi/console.c (grub_console_checkkey): Add F4 support.
28379
027de555
VS
283802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28381
28382 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
28383 All users updated.
28384 * normal/crypto.c (read_crypto_list): Likewise.
28385 * normal/dyncmd.c (read_command_list): Likewise.
28386 * normal/term.c (read_terminal_list): Likewise.
28387 * normal/main.c (read_lists): Use explicit prefix.
28388 (read_lists_hook): Use read_lists.
28389 (grub_normal_execute): Likewise.
28390
47779711
VS
283912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28392
28393 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
28394 Reported by: Thomas Schmitt.
28395 Add -no-emul-boot to grub-mkisofs parameters.
28396
1118c32e
VS
283972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28398
28399 * font/font.c: Indented.
28400
7d652447
BC
284012010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28402
28403 Elif support to GRUB script (by Deepak Vankadaru).
28404
28405 * tests/grub_script_if.in: New testcase.
28406 * conf/tests.rmk: Rule for new testcase.
28407 * script/parser.y: Grammar rules for elif.
28408
34bb22df
BC
284092010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28410
28411 While and until loops support to GRUB script.
28412
28413 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
28414 (grub_script_create_cmdwhile): New function prototype.
28415 (grub_script_execute_cmdwhile): New function prototype.
28416 * script/execute.c (grub_script_execute_cmdwhile): New function.
28417 * script/parser.y (command): New commands.
28418 (whilecmd): New grammar rule.
28419 (untilcmd): New grammar rule.
28420 * script/script.c (grub_script_create_cmdwhile): New function.
28421 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
28422 function.
28423
28424 * tests/grub_script_while1.in: New testcase.
28425 * conf/tests.rmk: Rule for new testcase.
28426
e215d8e0
VS
284272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28428
28429 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
28430 as *.jpg.
28431
d7c43ba1
MV
284322010-04-09 Mario Vazquez <mariovazq@gmail.com>
28433
28434 GRUB_BACKGROUND support.
28435
28436 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
28437 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
28438
d64795c0
VS
284392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28440
28441 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 28442 Idea by: Mario Vazquez
d64795c0
VS
28443
28444 * util/grub.d/00_header.in: Load pf2 and image modules.
28445
f267f83a
VS
284462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28447
28448 grub-mkconfig multiple terminal support.
28449
28450 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28451 * util/grub.d/00_header.in: Likewise.
28452
b7841ceb
VS
284532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28454
28455 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28456 we use cd $(srcdir).
28457
df60998c
CW
284582010-04-08 Colin Watson <cjwatson@ubuntu.com>
28459
28460 * util/grub.d/10_linux.in: Only use the first word of
28461 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28462 spaces in GRUB_DISTRIBUTOR.
28463 * util/grub.d/10_kfreebsd.in: Likewise.
28464 * util/grub.d/10_hurd.in: Likewise.
28465
fa09c82e
BC
284662010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28467
14e18ae3 28468 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
28469
28470 * tests/util/grub-shell.in: Remove -serial stdio option.
28471
daf892b3
BC
284722010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28473
28474 POSIX header file wrappers.
28475
28476 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28477 equivalents.
28478 * lib/posix_wrap/ctype.h: Likewise.
28479 * lib/posix_wrap/errno.h: Likewise.
28480 * lib/posix_wrap/langinfo.h: Likewise.
28481 * lib/posix_wrap/limits.h: Likewise.
28482 * lib/posix_wrap/localcharset.h: Likewise.
28483 * lib/posix_wrap/stdint.h: Likewise.
28484 * lib/posix_wrap/stdio.h: Likewise.
28485 * lib/posix_wrap/stdlib.h: Likewise.
28486 * lib/posix_wrap/string.h: Likewise.
28487 * lib/posix_wrap/sys/types.h: Likewise.
28488 * lib/posix_wrap/unistd.h: Likewise.
28489 * lib/posix_wrap/wchar.h: Likewise.
28490 * lib/posix_wrap/wctype.h: Likewise.
28491 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28492 (grub_script.yy.h): Likewise.
28493 * script/yylex.l: Remove POSIX emulation #defines.
28494 * Makefile.in (POSIX_CFLAGS): New variable.
28495 (GNULIB_UTIL_CFLAGS): Likewise.
28496
28497 Regexp support.
28498
28499 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28500 (regexp_mod_SOURCES): New variable.
28501 (regexp_mod_CFLAGS): Likewise.
28502 (regexp_mod_LDFLAGS): Likewise.
28503 * commands/regexp.c: New file.
28504 * gnulib/regcomp.c: New file. Imported from gnulib.
28505 * gnulib/regex.c: Likewise.
28506 * gnulib/regex_internal.c: Likewise.
28507 * gnulib/regex_internal.h: Likewise.
28508 * gnulib/regexec.c: Likewise.
28509 * gnulib/regex.h: Likewise.
28510
974ac4f7
VS
285112010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28512
28513 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28514 unsupported video mode types.
28515
2622c3ff
VS
285162010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28517
28518 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28519
064cb524
VS
285202010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28521
28522 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28523 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28524
a8c3b552
VS
285252010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28526
28527 Remove unused grub_vga_get_font.
28528
28529 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28530 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28531
187bbe3d
GS
285322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28533
28534 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28535 * include/grub/misc.h: Likewise.
28536
b9396631
GS
285372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28538
28539 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28540 for which failure is fatal.
28541
50479feb
GS
285422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28543
28544 * util/grub-install.in: Use mkdir -p to create grub directory.
28545 * util/i386/efi/grub-install.in: Likewise.
28546 * util/ieee1275/grub-install.in: Likewise.
28547
b1654fdf
GS
285482010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28549
28550 * Makefile.in (LEX): new variable.
28551
bd5a6415
GS
285522010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28553
28554 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28555 `=' and added double quotes on operands of this equality test.
28556
3db3a82b
VS
285572010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28558
28559 * Makefile.in (uninstall): Remove a leftover debug echo.
28560 Reported by: Grégoire Sutre
28561
38023412
VS
285622010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28563
28564 MIPS multiboot2 support.
28565
28566 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28567 (multiboot2_mod_SOURCES): New variable.
28568 (multiboot2_mod_CFLAGS): Likewise.
28569 (multiboot2_mod_LDFLAGS): Likewise.
28570 (multiboot2_mod_ASFLAGS): Likewise.
28571 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28572 definition.
28573 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28574 (MULTIBOOT_MBI_REGISTER): Likewise.
28575 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28576 (MULTIBOOT_ELF32_MACHINE): Likewise.
28577 (MULTIBOOT_ELF64_MACHINE): Likewise.
28578 * include/grub/mips/multiboot.h: New file.
28579 * include/grub/video.h (grub_video_driver_id): New type
28580 GRUB_VIDEO_DRIVER_SM712.
28581 (grub_video_get_info_and_fini): Export.
28582 (grub_video_get_palette): Likewise.
28583 (grub_video_get_driver_id): Likewise.
28584 * include/multiboot2.h: Resynced with spec.
28585 * loader/i386/multiboot.c: Moved from here ...
28586 * loader/multiboot.c: ... here. All users updated.
28587 (grub_multiboot_boot): Use platform-specific macros.
28588 * loader/i386/multiboot_elfxx.c: Moved from here ...
28589 * loader/multiboot_elfxx.c: ... here. All users updated.
28590 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28591 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28592 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28593
47674667
VS
285942010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28595
28596 Import gnulib argp module.
28597
28598 * gnulib/argp-ba.c: New file.
28599 * gnulib/argp-eexst.c: Likewise.
28600 * gnulib/argp-fmtstream.c: Likewise.
28601 * gnulib/argp-fmtstream.h: Likewise.
28602 * gnulib/argp-fs-xinl.c: Likewise.
28603 * gnulib/argp-help.c: Likewise.
28604 * gnulib/argp-namefrob.h: Likewise.
28605 * gnulib/argp-parse.c: Likewise.
28606 * gnulib/argp-pin.c: Likewise.
28607 * gnulib/argp-pv.c: Likewise.
28608 * gnulib/argp-pvh.c: Likewise.
28609 * gnulib/argp-version-etc.c: Likewise.
28610 * gnulib/argp-version-etc.h: Likewise.
28611 * gnulib/argp-xinl.c: Likewise.
28612 * gnulib/argp.h: Likewise.
28613
495442ed
VS
286142010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28615
28616 * kern/device.c (grub_device_iterate): Clear errors after failed
28617 opening device.
28618
f9fd65df
VS
286192010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28620
28621 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28622 returned by firmware.
28623
af09641e
VS
286242010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28625
28626 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28627 compilation on coreboot and qemu
28628
016883a5
VS
286292010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28630
28631 * include/multiboot2.h: Resync with spec.
28632
f97e1f7d
VS
286332010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28634
28635 Multiboot2 tag support
28636
28637 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28638 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28639 Remove loader/multiboot_loader.c.
28640 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28641 (grub_multiboot2_real_boot): Likewise.
28642 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28643 (grub_get_multiboot_mmap_count): New proto.
28644 (grub_fill_multiboot_mmap): Likewise.
28645 (grub_multiboot_set_video_mode): Likewise.
28646 (grub_multiboot_set_console): Likewise.
28647 (grub_multiboot_load): Likewise.
28648 (grub_multiboot_load_elf): Likewise.
28649 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28650 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28651 * include/multiboot.h: Resynced with specification.
28652 * include/multiboot2.h: Resynced with specification.
28653 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28654 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28655 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28656 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28657 users updated.
28658 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28659 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28660 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28661 Removed.
28662 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28663 Moved from here...
28664 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28665 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28666 Moved from here...
28667 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28668 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28669 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28670 All users updated.
28671 * loader/i386/multiboot_mbi2.c: New file.
28672
3506b90b
VS
286732010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28674
28675 Resync with gnulib.
28676
28677 * Makefile.in (GNULIB_CFLAGS): New variable.
28678 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28679 (grub_script_check_CFLAGS): New variable.
28680 * gnulib/alloca.h: Resync with gnulib.
28681 * gnulib/error.c: Likewise.
28682 * gnulib/error.h: Likewise.
28683 * gnulib/fnmatch.c: Likewise.
28684 * gnulib/fnmatch_loop.c: Likewise.
28685 * gnulib/getdelim.c: Likewise.
28686 * gnulib/getline.c: Likewise.
28687 * gnulib/getopt.c: Likewise.
28688 * gnulib/getopt1.c: Likewise.
28689 * gnulib/getopt_int.h: Likewise.
28690 * gnulib/gettext.h: Likewise.
28691 * gnulib/progname.c: Likewise.
28692 * gnulib/progname.h: Likewise.
28693
394a3120
GS
286942010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28695
28696 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28697 which is the case with --disabled-nls.
28698
28699 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28700 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28701 * util/misc.c: Likewise.
28702 * util/mkisofs/mkisofs.c: Likewise.
28703 * util/mkisofs/mkisofs.h: Likewise.
28704
969d1c78
VS
287052010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28706
28707 Simplify Apple CC support.
28708
28709 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28710 Add 0 byte at the end not to have a symbol with empty target.
28711 * mmap/i386/pc/mmap_helper.S: Likewise.
28712 * genmk.rb: Ignore errors 2030 and 2050.
28713 * kern/i386/pc/startup.S: Use LOCAL when possible.
28714
8d2977bb
BC
287152010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28716
28717 Testcase and the fix for final semicolon on cmdline.
28718
28719 * tests/grub_script_final_semicolon.in: New testcase.
28720 * conf/tests.rmk: Rules for the new testcase.
28721 * script/parser.y: Grammar fix.
28722
a7bd6915
BC
287232010-03-26 BVK Chaitanya <bvk@localhost>
28724
28725 Blank lines testcase for GRUB script.
28726
28727 * tests/grub_script_blanklines.in: New testcase.
28728 * conf/tests.rmk: Rules for the new testcase.
28729
e4ff6628
VS
287302010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28731
28732 Don't use __FILE__.
28733
28734 * genmk.rb: Add -DGRUB_FILE to all C targets.
28735 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28736 * include/grub/list.h: Likewise.
28737 * include/grub/misc.h: Likewise.
28738 * include/grub/mm.h: Likewise.
28739 * include/grub/test.h: Likewise.
28740 * kern/mm.c: Likewise.
28741 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28742
6a5cf6b6
VS
287432010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28744
28745 Sunpc partitions support.
28746
28747 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28748 (grub_fstest_SOURCES): Likewise.
28749 (pkglib_MODULES): Add part_sunpc.mod.
28750 (part_sunpc_mod_SOURCES): New variable.
28751 (part_sunpc_mod_CFLAGS): Likewise.
28752 (part_sunpc_mod_LDFLAGS): Likewise.
28753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28754 * partmap/sunpc.c: New file.
28755
746d9045
BC
287562010-03-26 BVK Chaitanya <bvk@localhost>
28757
28758 For loop support to GRUB script.
28759
28760 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28761 (grub_script_create_cmdfor): New function prototype.
28762 (grub_script_execute_cmdfor): New function prototype.
28763 * script/execute.c (grub_script_execute_cmdfor): New function.
28764 * script/parser.y (command): New for command.
28765 (forcmd): New grammar rule.
28766 * script/script.c (grub_script_create_cmdfor): New function.
28767 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28768 function.
28769 * tests/grub_script_for1.in: New testcase.
28770 * conf/tests.rmk: Rules for new testcase.
28771
18486b18
VS
287722010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28773
28774 Nested partitions
28775
28776 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28777 'partition' is NULL, grub_partition_get_start already does that.
28778 * commands/loadenv.c (check_blocklists): Likewise.
28779 (write_blocklists): Likewise.
28780 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28781 (grub_fstest_SOURCES): Likewise.
28782 (pkglib_MODULES): Add part_bsd.mod.
28783 (part_bsd_mod_SOURCES): New variable.
28784 (part_bsd_mod_CFLAGS): Likewise.
28785 (part_bsd_mod_LDFLAGS): Likewise.
28786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28787 (grub_emu_SOURCES): Likewise.
28788 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28789 * include/grub/bsdlabel.h: New file.
28790 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28791 'get_name'.
28792 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28793 (grub_partition_map_list): New variable.
28794 (grub_partition_map_register): Inline.
28795 (grub_partition_map_unregister): Likewise.
28796 (FOR_PARTITION_MAPS): New macro.
28797 (grub_partition_map_iterate): Removed.
28798 (grub_partition_get_start): Handle nested partitions.
28799 * include/grub/msdos_partition.h: Remove bsd-related entries.
28800 (grub_pc_partition): Remove.
28801 * kern/disk.c (grub_disk_close): Free partition data.
28802 (grub_disk_adjust_range): Handle nested partitions.
28803 * kern/partition.c (grub_partition_map_probe): New function.
28804 (grub_partition_probe): Parse name to number, handle subpartitions.
28805 (get_partmap): New function.
28806 (grub_partition_iterate): Handle subpartitions.
28807 (grub_partition_get_name): Likewise.
28808 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28809 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28810 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28811 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28812 Set 'number'.
28813 (acorn_partition_map_probe): Remove.
28814 (acorn_partition_map_get_name): Likewise.
28815 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28816 Set 'number'.
28817 Set 'index' to 0 since there can be only one partition entry per sector.
28818 (amiga_partition_map_probe): Remove.
28819 (amiga_partition_map_get_name): Likewise.
28820 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28821 Set 'number'.
28822 Set 'offset' and 'index' to real positions of partitions.
28823 (apple_partition_map_probe): Remove.
28824 (apple_partition_map_get_name): Likewise.
28825 * partmap/bsdlabel.c: New file.
28826 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28827 Set 'number'.
28828 Allocate 'data' so it can be correctly freed.
28829 Set 'index' to offset inside sector.
28830 (gpt_partition_map_probe): Remove.
28831 (gpt_partition_map_get_name): Likewise.
28832 * partmap/msdos.c (grub_partition_parse): Remove.
28833 (pc_partition_map_iterate): Don't force raw access.
28834 Set 'number'.
28835 Make 'ext_offset' a local variable.
28836 (pc_partition_map_probe): Remove.
28837 (pc_partition_map_get_name): Remove.
28838 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28839 Set 'number'.
28840 (sun_partition_map_probe): Remove.
28841 (sun_partition_map_get_name): Likewise.
28842 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28843 (grub_pcpart_type): Likewise.
28844 * util/hostdisk.c (open_device): Handle new numbering scheme.
28845 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28846 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28847 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28848 * util/grub-install.in: Insert all subpartition modules.
28849 * util/ieee1275/grub-install.in: Likewise.
28850
a3940f88
AG
288512010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28852
28853 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28854 grammar.
28855
21b99926 288562010-03-24 Colin Watson <cjwatson@ubuntu.com>
28857
28858 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28859
bed1d352
CW
288602010-03-21 Colin Watson <cjwatson@ubuntu.com>
28861
28862 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28863 match where 'make install' puts them.
28864 * util/i386/efi/grub-install.in: Likewise.
28865
c9f58427
CW
288662010-03-19 Colin Watson <cjwatson@ubuntu.com>
28867
28868 * .bzrignore: Add gentrigtables, grub-script-check,
28869 grub_script_check_init.c, grub_script_check_init.h, and
28870 trigtables.c.
28871
f84afb27
VS
288722010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 * kern/parser.c: Indented.
28875
ed0e3d30
VS
288762010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28877
28878 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28879
0ea81d98
VS
288802010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28881
28882 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28883 alpha_mask_size == 0 case.
28884
0cdc2a09
BC
288852010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28886
28887 GRUB shell lexer and parser improvements.
28888
28889 * conf/any-emu.rmk: Build rule updates.
28890 * conf/common.rmk: Likewise.
28891 * conf/i386-coreboot.rmk: Likewise.
28892 * conf/i386-efi.rmk: Likewise.
28893 * conf/i386-ieee1275.rmk: Likewise.
28894 * conf/i386-pc.rmk: Likewise.
28895 * conf/powerpc-ieee1275.rmk: Likewise.
28896 * conf/x86_64-efi.rmk: Likewise.
28897
28898 * configure.ac: Configure check for flex.
28899
28900 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28901 types.
28902 (grub_lexer_param): Struct member updates.
28903 (grub_parser_param): Likewise.
28904 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28905 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28906 (grub_script_lexer_init): Prototype update.
28907 (grub_script_lexer_record_start): Likewise.
28908 (grub_script_lexer_record_stop): Likewise.
28909 (grub_script_lexer_yywrap): New function prototype.
28910 (grub_script_lexer_fini): Likewise.
28911 (grub_script_execute_argument_to_string): Removed by...
28912 (grub_script_execute_argument_to_argv): ...better version.
28913
28914 * script/execute.c (ROUND_UPTO): New macro.
28915 (grub_script_execute_cmdline): Out of memory fixes.
28916 (grub_script_execute_menuentry): Likewise.
28917 (grub_script_execute_argument_to_string): Removed. Update all
28918 users by...
28919 (grub_script_execute_argument_to_argv): ...better version.
28920 * script/function.c (grub_script_function_create): Use
28921 grub_script_execute_argument_to_argv instead of
28922 grub_script_execute_argument_to_string.
28923
28924 * script/lexer.c (check_varstate): Removed.
28925 (check_textstate): Removed.
28926 (grub_script_lexer_record_start): Likewise.
28927 (grub_script_lexer_record_stop): Likewise.
28928 (recordchar): Replaced with...
28929 (grub_script_lexer_record): ...new function.
28930 (nextchar): Removed.
28931 (grub_script_lexer_init): Rewritten.
28932 (grub_script_yylex): Rewritten.
28933 (append_newline): New function.
28934 (grub_script_lexer_yywrap): New function.
28935 (grub_script_lexer_fini): New function.
28936 (grub_script_yyerror): Sets error flag.
28937
28938 * script/yylex.l: New file.
28939 (grub_lexer_yyfree): Wrapper for flex yyffre.
28940 (grub_lexer_yyalloc): Likewise.
28941 (grub_lexer_yyrealloc): Likewise.
28942 * script/parser.y: Refactored.
28943
28944 * script/script.c (grub_script_arg_add): Out of memory fixes.
28945 (grub_script_add_arglist): Likewise.
28946 (grub_script_create_cmdline): Likewise.
28947 (grub_script_create_cmdmenu): Likewise.
28948 (grub_script_add_cmd): Likewise.
28949 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28950 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28951 unnecessary code.
28952
28953 * tests/grub_script_echo1.in: New testcase.
28954 * tests/grub_script_vars1.in: New testcase.
28955 * tests/grub_script_echo_keywords.in: New testcase.
28956
1d63a066
VS
289572010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28958
28959 Remove some redundancy in build system.
28960
28961 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28962 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28963 (TARGET_LDFLAGS): Add -nostdlib.
28964 (TARGET_IMG_LDFLAGS): Likewise.
28965 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28966 anything since mmap isn't available.
28967 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28968 Add util/time.c.
28969 (pkglib_MODULES): Remove reboot.mod.
28970 (reboot_mod_SOURCES): Removed.
28971 (reboot_mod_CFLAGS): Likewise.
28972 (reboot_mod_LDFLAGS): Likewise.
28973 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28974 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28975 (DEFSYMFILES): Add kernel_syms.lst.
28976 (kernel_img_HEADERS): Add common headers.
28977 (symlist.c): New target.
28978 (kernel_syms.lst): Likewise.
28979 (pkglib_MODULES): Add memdisk.mod.
28980 (memdisk_mod_SOURCES): New variable.
28981 (memdisk_mod_CFLAGS): Likewise.
28982 (memdisk_mod_LDFLAGS): Likewise.
28983 (pkglib_MODULES): Add reboot.mod.
28984 (reboot_mod_SOURCES): New variable.
28985 (reboot_mod_CFLAGS): Likewise.
28986 (reboot_mod_LDFLAGS): Likewise.
28987 (pkglib_MODULES): Add date.mod.
28988 (date_mod_SOURCES): New variable.
28989 (date_mod_CFLAGS): Likewise.
28990 (date_mod_LDFLAGS): Likewise.
28991 (pkglib_MODULES): Add datehook.mod.
28992 (datehook_mod_SOURCES): New variable.
28993 (datehook_mod_CFLAGS): Likewise.
28994 (datehook_mod_LDFLAGS): Likewise.
28995 (pkglib_MODULES): Add lsmmap.mod.
28996 (lsmmap_mod_SOURCES): New variable.
28997 (lsmmap_mod_CFLAGS): Likewise.
28998 (lsmmap_mod_LDFLAGS): Likewise.
28999 (pkglib_MODULES): Add boot.mod.
29000 (boot_mod_SOURCES): New variable.
29001 (boot_mod_CFLAGS): Likewise.
29002 (boot_mod_LDFLAGS): Likewise.
29003 * conf/i386-coreboot.rmk: Removed redundant parts.
29004 * conf/i386-ieee1275.rmk: Likewise.
29005 * conf/i386-pc.rmk: Likewise.
29006 * conf/mips-yeeloong.rmk: Likewise.
29007 * conf/mips.rmk: Likewise.
29008 * conf/powerpc-ieee1275.rmk: Likewise.
29009 * conf/sparc64-ieee1275.rmk: Likewise.
29010 * conf/x86_64-efi.rmk: Likewise.
29011 * conf/i386-coreboot.rmk: Moved qemu parts ..
29012 * conf/i386-qemu.rmk: ... here
29013 * conf/i386-efi.rmk: Moved common parts to...
29014 * conf/x86-efi.rmk: ... here.
29015 * conf/i386.rmk: Added modules common to all x86 variants.
29016 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29017 * disk/memdisk.c: Remove grub/machine/kernel.h.
29018 * gensymlist.sh.in: Include symbol.h.
29019 * hook/datehook.c: Correct module name.
29020 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29021 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29022 * include/grub/i386/efi/serial.h: New file.
29023 * include/grub/x86_64/efi/serial.h: Likewise.
29024 * util/time.c: Likewise.
29025 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29026
463ac55f
CK
290272010-03-14 Colin King <colin.king@ubuntu.com>
290282010-03-14 Colin Watson <cjwatson@ubuntu.com>
29029
29030 Shrink the pre-partition-table part of boot.img by eight bytes.
29031
29032 * boot/i386/pc/boot.S (ERR): New macro.
29033 (chs_mode): Use ERR.
29034 (geometry_error): Likewise.
29035 (hd_probe_error): Remove. This is only used once, so we wrwite
29036 it inline instead.
29037 (read_error): Instead of printing read_error_string, just set up
29038 %si and fall through to ...
29039 (error_message): ... this new function, also used by ERR.
29040
08e46ede
CW
290412010-03-14 Colin Watson <cjwatson@ubuntu.com>
29042
29043 Speed up consecutive hostdisk operations on the same device.
29044
29045 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29046 (grub_util_biosdisk_open): Initialise disk->data.
29047 (struct linux_partition_cache): New structure.
29048 (linux_find_partition): Cache partition start positions; these are
29049 expensive to compute on every read and write.
29050 (open_device): Cache open file descriptor in disk->data, so that we
29051 don't have to reopen it and flush the buffer cache for consecutive
29052 operations on the same device.
29053 (grub_util_biosdisk_close): New function.
29054 (grub_util_biosdisk_dev): Set `close' member.
29055
29056 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29057 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29058 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29059 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29060 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29061
4a6d2d06
VS
290622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29063
29064 Compile parts of grub-emu as modules.
29065
29066 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29067 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29068 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29069 (all-local): Add $(GRUB_EMU).
29070 (install-local): Install $(GRUB_EMU).
29071 (uninstall): Uninstall $(GRUB_EMU).
29072 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29073 * kern/dl.c: Likewise.
29074 * commands/sleep.c: Not include machine/time.h.
29075 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29076 (COMMON_CFLAGS): Likewise.
29077 (sbin_UTILITIES): Remove grub-emu.
29078 (grub_emu_SOURCES): Removed.
29079 (kernel_img_RELOCATABLE): New variable.
29080 (pkglib_PROGRAMS): Add kernel.img.
29081 (kernel_img_SOURCES): New variable
29082 (kernel_img_CFLAGS): Likewise.
29083 (kernel_img_LDFLAGS): Likewise.
29084 (TARGET_NO_STRIP): Likewise.
29085 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29086 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29087 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29088 (grub-emu): New target.
29089 (GRUB_EMU): New variable.
29090 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29091 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29092 * loader/xnu.c: Likewise.
29093 * include/grub/pci.h: Likewise.
29094 * genemuinit.sh: New file.
29095 * genemuinitheader.sh: Likewise.
29096 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29097 Support TARGET_NO_DYNAMIC_MODULES.
29098 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29099 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29100 * disk/loopback.c: Likewise.
29101 * font/font_cmd.c: Likewise.
29102 * partmap/acorn.c: Likewise.
29103 * partmap/amiga.c: Likewise.
29104 * partmap/apple.c: Likewise.
29105 * partmap/gpt.c: Likewise.
29106 * partmap/msdos.c: Likewise.
29107 * partmap/sun.c: Likewise.
29108 * parttool/msdospart.c: Likewise.
29109 * term/gfxterm.c: Likewise.
29110 * video/bitmap.c: Likewise.
29111 * video/readers/jpeg.c: Likewise.
29112 * video/readers/png.c: Likewise.
29113 * video/readers/tga.c: Likewise.
29114 * video/video.c: Likewise.
29115 * util/grub-emu.c (read_command_list): Removed.
29116 (main): Don't call util_init_nls.
29117 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29118 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29119
91fdd2ed
VS
291202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29121
29122 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29123 date.mod, datehook.mod.
29124 (datetime_mod_SOURCES): New variable.
29125 (datetime_mod_CFLAGS): Likewise.
29126 (datetime_mod_LDFLAGS): Likewise.
29127 (date_mod_SOURCES): Likewise.
29128 (date_mod_CFLAGS): Likewise.
29129 (date_mod_LDFLAGS): Likewise.
29130 (datehook_mod_SOURCES): Likewise.
29131 (datehook_mod_CFLAGS): Likewise.
29132 (datehook_mod_LDFLAGS): Likewise.
29133 * conf/sparc64-ieee1275.rmk: Likewise.
29134 * lib/ieee1275/datetime.c: New file.
29135
873ccae6
VS
291362010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29137
29138 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29139 (ieee1275_fb_mod_SOURCES): New variable.
29140 (ieee1275_fb_mod_CFLAGS): Likewise.
29141 (ieee1275_fb_mod_LDFLAGS): Likewise.
29142 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29143 New proto.
29144 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29145 (HEAP_MAX_ADDR): Likewise.
29146 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29147 type.
29148 Correct stop condition.
29149 (grub_ieee1275_devices_iterate): New function.
29150 * video/ieee1275.c: New file.
29151
601c97c0
VS
291522010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29153
29154 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29155
29156 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29157 as scratch.
29158 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29159 SCRATCH_PAD_DISKBOOT as scratch.
29160 (bootit): Pass Openfirmware pointer in %o4.
29161 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29162 of 0x200000.
29163 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29164 with util/grub-mkrawimage.c.
29165 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29166 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29167 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29168 (grub_aout_load) [GRUB_UTIL]: Likewise.
29169 * include/grub/kernel.h (grub_modules_get_end): New proto.
29170 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29171 (SCRATCH_PAD_BOOT): New definition.
29172 (SCRATCH_PAD_DISKBOOT): Likewise.
29173 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29174 * include/grub/sparc64/ieee1275/ieee1275.h
29175 (grub_ieee1275_original_stack): New variable
29176 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29177 New definition
29178 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29179 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29180 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29181 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29182 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29183 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29184 (grub_platform_image_format_t): New type.
29185 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29186 * kern/main.c (grub_modules_get_end)
29187 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29188 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29189 (codestart): Switch stacks.
29190 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29191 variable.
29192 (grub_heap_init): Use grub_modules_get_end.
29193 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29194 stack.
29195 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29196 (main): Likewise.
29197 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29198
d68b491e
TG
291992010-03-14 Thorsten Glaser <tg@mirbsd.org>
29200
29201 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29202
4e02ed50
MK
292032010-03-08 Matt Kraai <kraai@ftbfs.org>
29204
29205 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29206 bug #559005).
29207
1f15fc1e
VS
292082010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29209
29210 * genmoddep.awk: Output all missing symbols and not only first.
29211
fce5d8ff
VS
292122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29213
29214 * NEWS: Put the date of 1.98 release.
29215
d1e8a02f
VS
292162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29217
29218 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29219 ft2build.h.
29220
696fd607
VS
292212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29222
29223 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29224 completition in the middle of string.
29225
33e2e6f3
VS
292262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29227
29228 * util/grub-mkrescue.in: Use mktemp with explicit template.
29229
b1f6d291
VS
292302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29231
29232 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29233
2ac227c7
VS
292342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29235
29236 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29237 right pointer.
29238
8f9a632b
VS
292392010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29240
29241 Fix FreeBSD compilation.
29242
29243 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29244 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29245
60b03859
VS
292462010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29247
29248 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29249
48a5a769
VS
292502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29253
3ab4bd77
VS
292542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29255
29256 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29257
d116e0d8
RM
292582010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29259
29260 Support relative image path in theme file.
29261
29262 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29263 (image_set_property): Handle theme_dir and relative path.
29264
c7ef54aa
VS
292652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29266
29267 * configure.ac: Alias amd64 to x86_64.
29268
fcee14ed
VS
292692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29270
29271 * NEWS: mention multiboot on EFI.
29272
d0780363
VS
292732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29274
29275 * kern/main.c (grub_load_modules): Handle errors from init functions of
29276 embeded modules.
29277
41168ea4
VS
292782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29279
29280 * normal/autofs.c (autoload_fs_module): Handle errors.
29281
b54d93ac
VS
292822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29283
29284 Disable linux.mod on qemu-mips since it's not functional and leads
29285 to compilation failure.
29286
29287 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29288 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29289 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29290 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29291 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29292 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29293 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29294 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29295 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29296 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29297 Reported by: BVK Chaitanya
29298
fc8345da
JU
292992010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29300
29301 * INSTALL: Add gettext as a dependency and add qemu to a new section
29302 "Prerequisites for make-check".
29303
4760f979
CF
293042010-03-04 Christian Franke <franke@computer.org>
29305
29306 * util/grub-pe2elf.c: Add missing include "progname.h".
29307
f209b5b2
VS
293082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29309
29310 * normal/crypto.c (read_crypto_list): Fix a typo.
29311 Reported by: Seth Goldberg.
29312
b4b7be98
VS
293132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29314
29315 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 29316 Reported by: Seth Goldberg.
b4b7be98 29317
c0ee0385
VS
293182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29319
29320 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29321 ascii.bitmaps.
29322
a8efbf64
VS
293232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29324
29325 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 29326 Reported by: Seth Goldberg.
a8efbf64 29327
08dcd913
VS
293282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29329
29330 * util/i386/efi/grub-install.in: Copy gettext files.
29331
c4d0b332
VS
293322010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29333
29334 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
29335
c6f2fe52
VS
293362010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29337
29338 Wait for user entry basing on presence of output rather than on errors.
29339
29340 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29341 (grub_install_newline_hook): Likewise.
29342 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29343 * normal/menu.c (show_menu): Check line_counter to determine presence
29344 of output.
29345 * normal/term.c (grub_normal_line_counter): New variable.
29346 (grub_normal_get_line_counter): New function.
29347 (grub_install_newline_hook): Likewise.
29348
5382b1e4
VS
293492010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29350
29351 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29352
5519963b
VS
293532010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29354
29355 * configure.ac: Update version to 1.98.
29356
72b28631
VS
293572010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29358
29359 * util/grub.d/10_linux.in (linux_entry): Don't default to
29360 gfxpayload=keep if Linux doesn't support video handover.
29361
c140a180
VS
293622010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
29363
29364 Don't compile video modules on yeeloong since video subsystem is part
29365 of kernel.
29366
29367 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
29368 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
29369 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
29370 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
29371 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
29372 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
29373 * include/grub/bitmap_scale.h: Likewise.
29374 * include/grub/bufio.h: Likewise.
29375 * include/grub/font.h: Likewise.
29376 * include/grub/gfxterm.h: Likewise.
29377 * include/grub/video.h: Likewise.
29378 * include/grub/vbe.h: Don't include video_fb.h.
29379 * video/i386/pc/vbe.c: Include video_fb.h.
29380 * commands/i386/pc/vbetest.c: Include video.h.
29381
a0ca21c2
CW
293822010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
29383
29384 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
29385 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
29386 default entry if GRUB_SAVEDEFAULT=true. This allows using
29387 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
29388 saving a new default on every boot.
29389
4a8a763c
VS
293902010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29391
29392 * normal/crypto.c (read_crypto_list): Fix a memory leak.
29393 * normal/term.c (read_terminal_list): Likewise.
29394 * normal/main.c (grub_normal_init_page): Likewise.
29395 (grub_normal_read_line_real): Likewise.
29396
607ffde2
VS
293972010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29398
29399 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
29400 memory leak.
29401 Reported by: Seth Goldberg.
29402
2b8fa975
CW
294032010-02-24 Joey Korkames <joey+lists@kidfixit.com>
29404
29405 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
29406 duplicate declaration of `start'.
29407
618307dd
VS
294082010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29409
29410 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
29411 filename.
29412 Reported by: Georgy Buranov
29413
7dd05b96 294142010-02-20 Carles Pina i Estany <carles@pina.cat>
29415
29416 * util/grub-mkrawimage.c (usage): Change string formatting to
29417 improve gettext.
29418
d1484a42
MRA
294192010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
29420
29421 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
29422 backspace keys.
29423
42b1d186
VS
294242010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29425
29426 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
29427 Reported by: Michael Suchanek.
29428
294292010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
29430
29431 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
29432 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
29433
d9f31a41
VS
294342010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
29435
29436 Remove any reference to non-free fonts.
29437
29438 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
29439 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
29440 uses non-free components.
29441 * font/font.c (grub_font_get_name): Remove example name.
29442 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
29443 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
29444 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
29445 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29446
2793c71e
GB
294472010-02-16 Georgy Buranov <gburanov@gmail.com>
29448
29449 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29450
402e3779
VS
294512010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29452
29453 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29454 Double divisor.
29455 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29456 features.
29457 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29458
0dd1e0dd
VS
294592010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29460
29461 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29462
6fa7cfce
ST
294632010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29464
29465 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29466 * docs/grub.texi (Command-line and menu entry commands): Document play
29467 command.
29468
37c8483b
ST
294692010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29470
29471 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29472 parse arguments as inline tempo and notes. Move code for playing notes
29473 to...
29474 (play): ... new function.
29475
14da0fb7
ST
294762010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29477
29478 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29479 grub_uint16_t instead of short.
29480 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29481 disk from little endian to cpu endianness.
29482
04459e70
ST
294832010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29484
29485 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29486 GRUB_TICKS_PER_SECOND instead of 120.
29487
a0876943
VS
294882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29489
29490 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29491 escape sequence after \e.
29492
e29f95dc
VS
294932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29494
29495 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29496 non-ASCII characters.
29497
d27859b2
VS
294982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29499
29500 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29501 set root in single quotes to prevent \, from being unescaped.
29502
bc028f2f
VS
295032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29504
29505 Prevent unknown commands from stopping menuentry execution.
29506
29507 * script/execute.c (grub_script_execute_cmdline): Print error after
29508 unknown command.
29509
095f5f82
VS
295102010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29511
29512 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29513 Reported by: Pavel Pisa.
29514
8c717950
VS
295152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29516
29517 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29518
904935c3
VS
295192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29520
29521 Merge grub_ieee1275_map_physical into grub_map and rename to
29522 grub_ieee1275_map
29523
29524 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29525 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29526 Remove.
29527 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29528 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29529 necessary.
29530 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29531
5b59a4e3
VS
295322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29533
29534 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29535 opening and not after.
29536
69e137e8
VS
295372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29538
29539 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29540 constants.
29541
2c0fcc36
VS
295422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29543
29544 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29545 (alloc_phys): Use ALIGN_UP instead of align_addr.
29546
8c6052ce
VS
295472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29548
29549 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29550
17cec782
VS
295512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29552
29553 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29554
e0128bbd
VS
295552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29556
29557 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29558 verbose dprintf.
29559
ca62070b
VS
295602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29561
29562 Fix over-4GiB seek on sparc64.
29563
29564 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29565 Replace pos_i and pos_lo with pos. All users updated.
29566 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29567 New constant.
29568 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29569 Likewise.
29570 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29571 and pos_lo.
29572
bdca2607
VS
295732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29574
29575 * util/grub-mkrawimage.c (main): Call set_program_name.
29576
da278c4d
VS
295772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29578
29579 Properly align 64-bit targets.
29580
29581 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29582 (generate_image): Use ALIGN_ADDR.
29583
b274d734
VS
295842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29585
29586 Properly create cross-endian images.
29587
29588 * include/grub/types.h (grub_host_to_target_addr): New macro
29589 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29590
82da2062
VS
295912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29592
29593 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29594
7cae4377
VS
295952010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29596
29597 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29598
29599 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29600 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29601 (grub_linux_boot): Divide by 64K when on VESA.
29602
65a533e7
VS
296032010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29604
29605 Support GRUB_GFXPAYLOAD_LINUX.
29606
29607 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29608 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29609
dd01d397
VS
296102010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29611
29612 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29613 to show messages instead of discarding them.
29614 Process errors after executing command and not before. Keep old method
29615 too as precaution.
29616
660960d6
VS
296172010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29618
29619 * configure.ac: Check for ft2build.h.
29620
62509f04
VS
296212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29622
29623 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29624
473df63d
VS
296252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29626
29627 * genkernsyms.sh.in: Use TARGET_CC.
29628
c98d2a13
CW
296292010-02-07 Colin Watson <cjwatson@ubuntu.com>
29630
29631 * NEWS: Update.
29632
6e14234c
VS
296332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29634
29635 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29636 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29637 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29638
b255e9cf
YB
296392010-02-07 Yves Blusseau <blusseau@zetam.org>
29640
6e14234c 29641 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29642
98e6959d
VS
296432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29644
29645 Fix warnings in grub-emu when compiling with maximum warning options.
29646
29647 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29648 (grub_arch_modules_addr): Return 0 and not NULL.
29649 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29650 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29651 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29652 of disk to dsk to avoid shadowing.
74e4934e
VS
29653 (find_free_slot): Fix prototype.
29654 * util/getroot.c (grub_util_is_dmraid): Make static.
29655 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29656 Add missing prototype.
29657 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29658
74e31b5c
VS
296592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29660
29661 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29662 appropriately.
29663
6b2ad14b
VS
296642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29665
29666 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29667 code out.
29668
8f891adc
VS
296692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29670
29671 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29672 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29673 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29674 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29675 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29676 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29677
74b45184
VS
296782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29679
29680 * include/grub/err.h (grub_err_printf): Don't export.
29681
a4bced77
VS
296822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29683
29684 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29685
007d0695
VS
296862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29687
29688 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29689 * kern/misc.c (grub_gettext_dummy): Make static.
29690
b6c0d9c2
VS
296912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29692
29693 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29694 by non-valid ones.
29695 * kern/term.c (grub_putchar): Likewise.
29696
f51a90d0
VS
296972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29698
29699 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29700 buggy hook call and memory leak.
29701
6846cec5
VS
297022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29703
29704 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29705
468d69fe
VS
297062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29707
29708 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29709
51906b8c
VS
297102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29711
29712 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29713 modevar.
29714 Return grub_errno on allocation error.
29715
09706ce5
VS
297162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29717
29718 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29719
911df80c
YB
297202010-02-06 Yves Blusseau <blusseau@zetam.org>
29721
29722 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29723 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29724
3746a6bc
VS
297252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29726
29727 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29728 non-pxe disk.
29729 (grub_pxefs_open): Likewise.
29730
09706ce5
VS
297312010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29732
29733 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29734 * util/grub.d/10_kfreebsd.in: Likewise.
29735 * util/grub.d/10_linux.in: Likewise.
29736
7cc192d9
VS
297372010-02-06 Colin D Bennett <colin@gibibit.com>
29738
29739 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29740 (gfxmenu_mod_SOURCES): New variable.
29741 (gfxmenu_mod_CFLAGS): Likewise.
29742 (gfxmenu_mod_LDFLAGS): Likewise.
29743 * include/grub/term.h (grub_term_set_current_output): Declare
29744 argument as const.
29745 * docs/gfxmenu-theme-example.txt: New file.
29746 * gfxmenu/gfxmenu.c: Likewise.
29747 * gfxmenu/gui_box.c: Likewise.
29748 * gfxmenu/gui_canvas.c: Likewise.
29749 * gfxmenu/gui_circular_progress.c: Likewise.
29750 * gfxmenu/gui_image.c: Likewise.
29751 * gfxmenu/gui_label.c: Likewise.
29752 * gfxmenu/gui_list.c: Likewise.
29753 * gfxmenu/gui_progress_bar.c: Likewise.
29754 * gfxmenu/gui_string_util.c: Likewise.
29755 * gfxmenu/gui_util.c: Likewise.
29756 * gfxmenu/icon_manager.c: Likewise.
29757 * gfxmenu/model.c: Likewise.
29758 * gfxmenu/named_colors.c: Likewise.
29759 * gfxmenu/theme_loader.c: Likewise.
29760 * gfxmenu/view.c: Likewise.
29761 * gfxmenu/widget-box.c: Likewise.
29762 * include/grub/gfxmenu_model.h: Likewise.
29763 * include/grub/gfxmenu_view.h: Likewise.
29764 * include/grub/gfxwidgets.h: Likewise.
29765 * include/grub/gui.h: Likewise.
29766 * include/grub/gui_string_util.h: Likewise.
29767 * include/grub/icon_manager.h: Likewise.
29768
297692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29770
29771 Agglomerate scrolling in gfxterm.
29772
29773 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29774 (grub_virtual_screen_setup): Initialise 'total_screen'.
29775 (write_char): Split to ...
29776 (paint_char): ... this ...
29777 (write_char): ... and this.
29778 (paint_char): Handle delayed scrolling.
29779 (draw_cursor): Likewise.
29780 (scroll_up): Split to ...
29781 (real_scroll): ... this ...
29782 (scroll_up): ... and this.
29783 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29784 characters.
29785 (grub_gfxterm_refresh): Call real_scroll.
29786
297872010-02-06 Colin D Bennett <colin@gibibit.com>
29788
29789 * include/grub/misc.h (grub_iscntrl): New inline function.
29790 (grub_isalnum): Likewise.
29791 (grub_strtol): Likewise.
29792
297932010-02-06 Colin D Bennett <colin@gibibit.com>
29794
29795 * normal/menu_text.c (get_entry_number): Move from here ...
29796 * normal/menu.c (get_entry_number): ... moved here.
29797 * include/grub/menu.h (grub_menu_get_default_entry_index):
29798 New prototype.
29799 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29800 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29801 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29802 (grub_menu_viewer_should_return): Likewise.
29803 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29804 * normal/menu_text.c (run_menu): Enable menu switching.
29805 * normal/menu_viewer.c (should_return): New variable.
29806 (menu_viewer_changed): Likewise.
29807 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29808 (grub_menu_viewer_should_return): New function.
29809 (menuviewer_write_hook): Likewise.
29810 (grub_menu_viewer_init): Likewise.
29811
298122010-02-06 Colin D Bennet <colin@gibibit.com>
298132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29814
29815 Support for gfxterm in a window.
29816
29817 * include/grub/gfxterm.h: New file.
29818 * include/grub/video.h (struct grub_video_rect): New declaration.
29819 (grub_video_rect_t): Likewise.
29820 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29821 (refcount): New variable.
29822 (render_target): Likewise.
29823 (window): Likewise.
29824 (repaint_callback): Likewise.
29825 (grub_virtual_screen_setup): Use 'render_target'.
29826 (init_window): New function.
29827 (grub_gfxterm_init_window): Likewise.
29828 (grub_gfxterm_init): Check reference counter.
29829 Use init_window.
29830 (destroy_window): New function.
29831 (grub_gfxterm_destroy_window): Likewise.
29832 (grub_gfxterm_fini): Check reference counter.
29833 Use destroy_window.
29834 (redraw_screen_rect): Restore viewport.
29835 Use 'render_target' and 'window'.
29836 Call 'repaint_callback'.
29837 (write_char): Use 'render_target'.
29838 (draw_cursor): Likewise.
29839 (scroll_up): Restore viewport.
29840 Use 'render_target' and 'window'.
29841 Call 'repaint_callback'.
29842 (grub_gfxterm_cls): Likewise.
29843 (grub_gfxterm_refresh): Use 'window'.
29844 (grub_gfxterm_set_repaint_callback): New function.
29845 (grub_gfxterm_background_image_cmd): Use 'window'.
29846 (grub_gfxterm_get_term): New function.
29847 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29848
298492010-02-06 Colin D Bennett <colin@gibibit.com>
29850
29851 Bitmap scaling support.
29852
29853 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29854 (bitmap_scale_mod_SOURCES): New variable.
29855 (bitmap_scale_mod_CFLAGS): Likewise.
29856 (bitmap_scale_mod_LDFLAGS): Likewise.
29857 * include/grub/bitmap_scale.h: New file.
29858 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29859 (background_image_cmd_options): New variable.
29860 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29861 (cmd): Rename and change type to ...
29862 (background_image_cmd_handle): ... this. All users updated.
29863 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29864 * video/bitmap_scale.c: New file.
29865
298662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29867
29868 SDL support.
29869
29870 * Makefile.in (LIBSDL): New variable.
29871 (enable_grub_emu_sdl): Likewise.
29872 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29873 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29874 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29875 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29876 * util/sdl.c: New file.
29877
298782010-02-06 Colin D Bennett <colin@gibibit.com>
298792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29880
29881 Double buffering support.
29882
29883 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29884 * include/grub/video.h: Update comment.
29885 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29886 New type.
29887 (grub_video_fb_doublebuf_blit_init): New prototype.
29888 * term/gfxterm.c (scroll_up): Support double buffering.
29889 (grub_gfxterm_refresh): Likewise.
29890 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29891 (grub_video_fb_doublebuf_blit_init): Likewise.
29892 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29893 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29894 'displayed_page', 'render_page' and 'update_screen'.
29895 (grub_video_vbe_fini): Free offscreen buffer.
29896 (doublebuf_pageflipping_commit): New function.
29897 (doublebuf_pageflipping_update_screen): Likewise.
29898 (doublebuf_pageflipping_init): Likewise.
29899 (double_buffering_init): Likewise.
29900 (grub_video_vbe_setup): Enable doublebuffering.
29901 (grub_video_vbe_swap_buffers): Implement.
29902 (grub_video_vbe_set_active_render_target): Handle double buffering.
29903 (grub_video_vbe_get_active_render_target): Likewise.
29904 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29905 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29906 (grub_video_vbe_enable_double_buffering): Likewise.
29907 (grub_video_vbe_swap_buffers): Use update_screen.
29908 (grub_video_set_mode): Use double buffering.
29909
299102010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29911
29912 * maintainance/gentrigtables.py: Remove.
29913 * lib/trig.c: Likewise.
29914
29915 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29916
29917 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29918 `trigtables.c'.
29919 (trigtables.c): New rule.
29920 (gentrigtables): Likewise.
29921 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29922
299232010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29924
29925 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29926 integer constants.
29927
299282010-02-06 Colin D Bennet <colin@gibibit.com>
29929
29930 Trigonometry support.
29931
29932 * include/grub/trig.h: New file.
29933 * lib/trig.c: Likewise.
29934 * maintainance/gentrigtables.py: Likewise.
29935 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29936 (trig_mod_SOURCES): New variable.
29937 (trig_mod_CFLAGS): Likewise.
29938 (trig_mod_LDFLAGS): Likewise.
29939
5562834e
VS
299402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29941
29942 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29943 disk devices.
29944
4f8528fc
VS
299452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29946
29947 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29948 error.
29949
2b4068e9
VS
299502010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29951
29952 * util/hostdisk.c (open_device): Don't use partition device when reading
29953 before the partition.
29954 (grub_util_biosdisk_read): Don't read from partition and before the
29955 partition in single operation.
29956 (grub_util_biosdisk_write): Don't write to partition and before the
29957 partition in single operation.
29958
399f6e4d
TL
299592010-02-03 Torsten Landschoff <torsten@debian.org>
29960
29961 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29962 last sectors.
29963
996649b0
VS
299642010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29965
29966 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29967 CDROM reads.
29968 (grub_biosdisk_write): Refuse to write to CDROM.
29969
3b205d4d
VS
299702010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29971
29972 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29973
61e89d9d
VS
299742010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29975
29976 * font/font.c (find_glyph): Check that bmp_idx is available before
29977 using it.
29978 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29979 with (font == NULL).
29980
bf7fcba2
CS
299812010-01-28 Christian Schmitt <chris@ilovelinux.de>
29982
29983 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29984
f45d2663
BC
299852010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29986
29987 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29988 * util/grub-script-check.c (getline): Fix empty lines case.
29989
ec1444e6
RM
299902010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29991
29992 * Makefile.in (check): Exit with fail status when one of the tests
29993 fails.
29994 * tests/example_functional_test.c (example_test): Fix reversed assert.
29995 * tests/example_unit_test.c (example_test): Likewise.
29996
2e1cb9bb
CW
299972010-01-28 Colin Watson <cjwatson@ubuntu.com>
29998
29999 * util/grub.d/10_linux.in: This script does not use any of the
30000 contents of gettext.sh, only the external command `gettext', so stop
30001 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30002 the same prefix as GRUB.)
30003 * util/grub.d/10_kfreebsd.in: Likewise.
30004
63533ab0
VS
300052010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30006
30007 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30008 of the line.
30009
989e1f93
VS
300102010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30011
30012 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30013 last sectors.
30014
e709ebe2
VS
300152010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30016
30017 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30018 having a 4KiB and not 32KiB buffer size.
30019
27dea7ed
RM
300202010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30021
30022 * util/hostfs.c: Include `<errno.h>'.
30023 (grub_hostfs_read): Handle errors from fseeko() and fread().
30024
67667b9c
RM
300252010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30026
30027 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30028 loop when using read hooks on files whose size isn't sector-aligned.
30029
c294d9d8
RM
300302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30031
30032 Remove unused parameter.
30033
30034 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30035 (grub_iso9660_open): Remove initialization of `data->length'.
30036
af75a9f1
RM
300372010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30038
30039 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30040 memleak conditions.
30041
254e2ce5 300422010-01-27 Carles Pina i Estany <carles@pina.cat>
30043
30044 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30045 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30046
b510928c 300472010-01-26 Carles Pina i Estany <carles@pina.cat>
30048
30049 * util/bin2h.c (usage): Fix warning (space after backslash).
30050
aa2f9dd2 300512010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 30052
30053 * font/font.c: Include `grub/fontformat.h.
30054 Remove font file format constants.
30055 (grub_font_load): Use the new macros.
30056 * include/grub/fontformat.h: New file.
30057 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30058 (write_font_pf2): Use the new macros.
30059
94e7e712
RM
300602010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30061
30062 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30063 does.
30064
3973a59a
RM
300652010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30066
30067 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30068
30069 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30070 (_start): Macroify `0x7F'.
30071
30072 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30073 (make_install_device): Use "(pxe)" as fallback prefix when booting
30074 via PXE.
30075
42e0cba3
GS
300762010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30077
30078 * configure.ac: Reset LIBS after check for libgcc symbols.
30079
847effd8
CW
300802010-01-25 Colin Watson <cjwatson@ubuntu.com>
30081
30082 * util/hostdisk.c (open_device): Add trailing newline to debug
30083 message.
30084
ea4a7e35
GS
300852010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30086
30087 * configure.ac: Check for `limits.h'.
30088 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30089
67951a53
RM
300902010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30091
30092 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30093 capitalize error strings.
30094
c273d4ce
ST
300952010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30096
30097 * util/grub.d/10_hurd.in: Add a recovery mode.
30098
69be5b74
VS
300992010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30100
30101 * configure.ac: Check for libgcc symbols with -nostdlib.
30102
fc9e5810
BC
301032010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30104
30105 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30106
4b358c0a
VS
301072010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30108
30109 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30110 stack since heap may be unavailable at that point.
30111 (grub_ofconsole_gotoxy): Likewise.
30112
454fcd1c
VS
301132010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30114
30115 * configure.ac: Check for _restgpr_14_x.
30116 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30117 and _savegpr_* prototypes.
30118
566863ca
RM
301192010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30120
30121 Use generic grub_reboot() for i386-efi.
30122
30123 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30124 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30125 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30126
bf86e59a
VS
301272010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30128
30129 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30130 presence of "prefix" variable as it breaks when normal.mod is
30131 embedded.
30132
d645e0f8
VS
301332010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30134
30135 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30136 stack since heap is unavailable at that point.
30137
f9ab2e25
VS
301382010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30139
30140 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30141 (grub_freebsd_bootinfo): Rewritten.
30142 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30143
01fc7054
VS
301442010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30145
30146 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30147
caab4fd6
RM
301482010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30149
30150 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30151 domain now.
30152
67eb1427
FZ
301532010-01-20 Felix Zielcke <fzielcke@z-51.de>
30154
30155 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30156 around for handling "/" to the correct fix. Fix a memory leak. Use
30157 xstrdup instead of strdup.
30158
a9ed4ff3
VS
301592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30160
30161 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30162
301632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
30164
30165 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30166
30167 * font/font.c (struct grub_font): New member 'bmp_idx'.
30168 (font_init): Initialise 'bmp_idx'.
30169 (load_font_index): Fill 'bmp_idx'.
30170 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30171
48209f4f
VS
301722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30173
30174 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30175 unnecessary calls.
30176
9f0a4bb7
VS
301772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30178
30179 Move context handling out of the kernel.
30180
30181 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30182 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30183 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30184 * conf/i386-efi.rmk: Likewise.
30185 * conf/i386-ieee1275.rmk: Likewise.
30186 * conf/i386-pc.rmk: Likewise.
30187 * conf/powerpc-ieee1275.rmk: Likewise.
30188 * conf/sparc64-ieee1275.rmk: Likewise.
30189 * conf/x86_64-efi.rmk: Likewise.
30190 * include/grub/env.h: Include grub/menu.h.
30191 (grub_env_var_type): Removed.
30192 (grub_env_var): Replaced field 'type' with 'global'.
30193 (grub_env_find): New prototype.
30194 (grub_env_context_open): Remove EXPORT_FUNC.
30195 (grub_env_context_close): Likewise.
30196 (grub_env_export): Likewise.
30197 (grub_env_set_data_slot): Removed.
30198 (grub_env_get_data_slot): Likewise.
30199 (grub_env_unset_data_slot): Likewise.
30200 (grub_env_unset_menu): New prototype.
30201 (grub_env_set_menu): Likewise.
30202 (grub_env_get_menu): Likewise.
30203 * include/grub/env_private.h: New file.
30204 * include/grub/normal.h (grub_context_init): New prototype.
30205 (grub_context_fini): Likewise.
30206 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30207 * normal/context.c (grub_cmd_export): ... to here.
30208 * kern/env.c: Include env_private.h.
30209 (HASHSZ): Moved to include/grub/env_private.h.
30210 (grub_env_context): Likewise.
30211 (grub_env_sorted_var): Likewise.
30212 (current_context): Renamed from this ...
30213 (grub_current_context): ...to this. 'static' removed. All users updated.
30214 (grub_env_find): Removed 'static'.
30215 (grub_env_context_open): Moved to normal/context.c.
30216 (grub_env_context_close): Likewise.
30217 (grub_env_export): Likewise.
30218 (mangle_data_slot_name): Removed.
30219 (grub_env_set_data_slot): Likewise.
30220 (grub_env_get_data_slot): Likewise.
30221 (grub_env_unset_data_slot): Likewise.
30222 * kern/main.c (grub_set_root_dev): Don't export root.
30223 It will be done later.
30224 (grub_main): Don't export prefix.
30225 It will be done later.
30226 * normal/context.c: New file.
30227 * normal/main.c (free_menu): Use grub_env_unset_menu.
30228 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30229 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30230 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30231 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30232
8dd35b8c
VS
302332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30234
30235 setpci support.
30236
30237 * commands/setpci.c: New file.
30238 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30239 (setpci_mod_SOURCES): New variable.
30240 (setpci_mod_CFLAGS): Likewise.
30241 (setpci_mod_LDFLAGS): Likewise.
30242
449193d5
VS
302432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30244
30245 Byte-addressable PCI configuration space.
30246
30247 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30248 dword address.
30249 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30250 GRUB_PCI_REG_CACHELINE.
30251 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30252 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30253 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30254 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30255 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30256 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30257 grub_pci_make_address.
30258 (lock_rom_area): Likewise.
30259 * commands/lspci.c (grub_lspci_iter): Use macroses
30260 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30261 of grub_pci_make_address.
30262 * disk/ata.c (grub_ata_pciinit): Likewise.
30263 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30264 (GRUB_PCI_REG_VENDOR): Likewise.
30265 (GRUB_PCI_REG_DEVICE): Likewise.
30266 (GRUB_PCI_REG_COMMAND): Likewise.
30267 (GRUB_PCI_REG_STATUS): Likewise.
30268 (GRUB_PCI_REG_REVISION): Likewise.
30269 (GRUB_PCI_REG_CLASS): Likewise.
30270 (GRUB_PCI_REG_CACHELINE): Likewise.
30271 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30272 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30273 (GRUB_PCI_REG_BIST): Likewise.
30274 (GRUB_PCI_REG_ADDRESSES): Likewise.
30275 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30276 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30277 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30278 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30279 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30280 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30281 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30282 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30283 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30284 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30285 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30286 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30287 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30288 (GRUB_PCI_REG_MIN_GNT): Likewise.
30289 (GRUB_PCI_REG_MAX_LAT): Likewise.
30290 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30291 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30292 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 30293 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
30294 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30295 space.
30296
96d73208
RM
302972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30298
30299 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30300 can be reliably determined to be supported.
30301
d4484482
RM
303022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30303
30304 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30305 that VESA is supported.
30306 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30307 supported.
30308
00308ecf
VS
303092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30310
30311 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30312
f66924a4
RM
303132010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30314
30315 * util/misc.c (make_system_path_relative_to_its_root): Work around
30316 special-casing of "/", as previous incarnation of this routine did.
30317
cbca0ada
VS
303182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 Fix any-emu compilation.
30321
30322 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30323 * grub_bin2h_SOURCES: New variable.
30324
34a66d99
RM
303252010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30326
30327 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
30328
94fabf58
RM
303292010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30330
30331 * util/grub.d/00_header.in: Fix handling of locale_dir.
30332
02cf98ca
VS
303332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30334
30335 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30336 as possible unifont location (Gentoo).
30337 Reported by: Alexander Brüning
30338
327dbcd7
VS
303392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30340
30341 Don't try to generate lists for kernel.img.
30342
30343 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30344 (pkglib_MODULES): Remove kernel.img.
30345 (kernel_img_EXPORTS): Removed.
30346 (kernel_img_RELOCATABLE): New variable.
30347 * conf/x86_64-efi.rmk: Likewise.
30348 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30349
ca467290
VS
303502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30351
30352 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30353 grub_xasprintf or grub_snprintf.
30354 (grub_vsprintf): Likewise.
30355 (grub_snprintf): New proto.
30356 (grub_vsnprintf): Likewise.
30357 (grub_xasprintf): Likewise.
30358 (grub_xvasprintf): Likewise.
30359 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
30360 (grub_sprintf): Removed.
30361 (grub_vsnprintf): New function.
30362 (grub_snprintf): Likewise.
30363 (grub_xvasprintf): Likewise.
30364 (grub_xasprintf): Likewise.
30365 (grub_vsprintf): Renamed to ...
30366 (grub_vsnprintf_real): ...this. New argument max_len.
30367
aca655fd
BC
303682010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
30369
30370 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
30371 fix grub-script-check warning.
30372
7ee92c32
VS
303732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30374
30375 * include/grub/font.h (grub_font_load): Fix prototype.
30376
f80927ca
VS
303772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30378
30379 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
30380
119c50ea
VS
303812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30382
30383 * include/grub/x86_64/at_keyboard.h: New file.
30384
47d5f3c1
VS
303852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30386
30387 * loader/mips/linux.c: Include missing grub/i18n.h.
30388
55ff5266
RM
303892009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30390
30391 * normal/menu.c (notify_execution_failure): Clarify error message.
30392
c893cc87
RM
303932009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30394
30395 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
30396 return value (and revert all return statements). Update users.
30397
917dd370
CW
303982010-01-20 Dan Merillat <debian@dan.merillat.org>
30399
30400 * kern/device.c (grub_device_iterate): Allocate new part_ent
30401 structure based on sizeof (*p) rather than sizeof (p->next), to
30402 account for structure padding.
30403
30404 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
30405 disk is NULL, which might happen for LVM physical volumes with no
30406 LVM signature.
30407
d4a4ee57
RM
304082009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30409
30410 * loader/mips/linux.c (grub_cmd_initrd)
30411 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
30412
304132009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30414
30415 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
30416 (grub_video_video_init, grub_video_bitmap_init)
30417 (grub_font_manager_init, grub_term_gfxterm_init)
30418 (grub_at_keyboard_init): New extern declarations.
30419 (grub_machine_init): Initialize gfxterm and at_keyboard.
30420
30421 * kern/main.c (grub_main): Revert grub_printf delay kludge.
30422
30423 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
30424 `gfxterm.mod' into core image.
30425
30426 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30427 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30428 (kernel_img_FORMAT): Copy to ...
30429
30430 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30431 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30432 (kernel_img_FORMAT): ... here, and ...
30433
30434 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30435 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30436 (kernel_img_FORMAT): ... here.
30437
30438 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
30439 and input (at_keyboard) terminals in kernel.
30440 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
30441
30442 (pkglib_MODULES): Remove `pci.mod'.
30443 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
30444 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
30445 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30446 (at_keyboard_mod_LDFLAGS): Remove variables.
30447
304482010-01-11 Felix Zielcke <fzielcke@z-51.de>
30449
30450 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30451
304522009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30453
30454 * include/grub/mips/libgcc.h: Only export symbols for functions
30455 that libgcc provides.
30456
304572009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30458
30459 MIPS support.
30460
30461 * bus/bonito.c: New file.
30462 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30463 GRUB_PCI_NUM_DEVICES.
30464 * term/i386/pc/serial.c: Move to ...
30465 * term/serial.c: ... here. All users updated.
30466 * util/i386/pc/grub-mkimage.c: Move to ...
30467 * util/grub-mkrawimage.c: ... here. All users updated.
30468 * term/i386/pc/at_keyboard.c: Move to ...
30469 * term/at_keyboard.c: ... here. All users updated.
30470 * conf/mips-qemu-mips.rmk: New file.
30471 * conf/mips-yeeloong.rmk: Likewise.
30472 * conf/mips.rmk: Likewise.
30473 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30474 mipsel-qemu-mips.
30475 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30476 to port addresses.
30477 (grub_ata_pciinit): Support CS5536.
30478 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30479 * font/font_cmd.c (loadfont_command): Open file before passing it to
30480 grub_font_load.
30481 (pseudo_file_read): New function.
30482 (pseudo_file_close): Likewise.
30483 (pseudo_fs): New structure.
30484 (load_font_module): New function.
30485 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30486 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30487 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30488 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30489 * include/grub/i386/at_keyboard.h: Split into ...
30490 * include/grub/at_keyboard.h: ... this ...
30491 * include/grub/i386/at_keyboard.h: ... and this.
30492 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30493 New prototype.
30494 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30495 updated.
30496 (grub_elf64_size): Likewise.
30497 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30498 filename.
30499 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30500 * include/grub/i386/coreboot/serial.h: Rewritten.
30501 * include/grub/i386/ieee1275/serial.h: Include
30502 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30503 * include/grub/i386/pc/serial.h: Moved from here ...
30504 * include/grub/serial.h: ... to here. All users updated.
30505 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30506 (GRUB_PCI_NUM_BUS): Likewise.
30507 (GRUB_PCI_NUM_DEVICES): Likewise.
30508 (grub_pci_device_map_range): Add missing volatile keyword.
30509 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30510 * include/grub/mips/at_keyboard.h: New file.
30511 * include/grub/mips/cache.h: Likewise.
30512 * include/grub/mips/io.h: Likewise.
30513 * include/grub/mips/kernel.h: Likewise.
30514 * include/grub/mips/libgcc.h: Likewise.
30515 * include/grub/mips/pci.h: Likewise.
30516 * include/grub/mips/qemu-mips/boot.h: Likewise.
30517 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30518 * include/grub/mips/qemu-mips/loader.h: Likewise.
30519 * include/grub/mips/qemu-mips/memory.h: Likewise.
30520 * include/grub/mips/qemu-mips/serial.h: Likewise.
30521 * include/grub/mips/qemu-mips/time.h: Likewise.
30522 * include/grub/mips/relocator.h: Likewise.
30523 * include/grub/mips/time.h: Likewise.
30524 * include/grub/mips/types.h: Likewise.
30525 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30526 * include/grub/mips/yeeloong/boot.h: Likewise.
30527 * include/grub/mips/yeeloong/kernel.h: Likewise.
30528 * include/grub/mips/yeeloong/loader.h: Likewise.
30529 * include/grub/mips/yeeloong/memory.h: Likewise.
30530 * include/grub/mips/yeeloong/pci.h: Likewise.
30531 * include/grub/mips/yeeloong/serial.h: Likewise.
30532 * include/grub/mips/yeeloong/time.h: Likewise.
30533 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30534 * kern/elf.c (grub_elf32_size): New parameter. All users
30535 updated.
30536 (grub_elf64_size): Likewise.
30537 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30538 Load modules before saying "Welcome to GRUB!".
30539 Call grub_refresh after saying "Welcome to GRUB!".
30540 * kern/mips/cache.S: New file.
30541 * kern/mips/cache_flush.S: Likewise.
30542 * kern/mips/dl.c: Likewise.
30543 * kern/mips/init.c: Likewise.
30544 * kern/mips/qemu-mips/init.c: Likewise.
30545 * kern/mips/startup.S: Likewise.
30546 * kern/mips/yeeloong/init.c: Likewise.
30547 * kern/term.c (grub_putcode): Handle NULL terminal.
30548 (grub_getcharwidth): Likewise.
30549 (grub_getkey): Likewise.
30550 (grub_checkkey): Likewise.
30551 (grub_getkeystatus): Likewise.
30552 (grub_getxy): Likewise.
30553 (grub_getwh): Likewise.
30554 (grub_gotoxy): Likewise.
30555 (grub_cls): Likewise.
30556 (grub_setcolorstate): Likewise.
30557 (grub_setcolor): Likewise.
30558 (grub_getcolor): Likewise.
30559 (grub_refresh): Likewise.
30560 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30561 (write_jump): Add hatch nop.
30562 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30563 * lib/mips/setjmp.S: New file.
30564 * loader/mips/linux.c: Likewise.
30565 * term/i386/pc/at_keyboard.c: Move from here ...
30566 * term/at_keyboard.c: ... to here.
30567 * term/i386/pc/serial.c: Moved from here ...
30568 * term/serial.c: ... to here. All users updated.
30569 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30570 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30571 (serial_translate_key_sequence): Avoid deadlock.
30572 (grub_serial_getkey): Handle backspace.
30573 (grub_serial_putchar): Fix newline handling.
30574 * util/i386/pc/grub-mkimage.c: Move from here ...
30575 * util/grub-mkrawimage.c: ... to here. All users updated.
30576 (generate_image): New parameters 'font_path' and 'format'.
30577 Support embedding font.
30578 Use grub_host_to_target* instead of grub_cpu_to_le*.
30579 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30580 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30581 (options): New option "--font".
30582 (usage): Likewise.
30583 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30584 (main): Handle "--font".
30585 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30586 (grub_virtual_screen_setup): Set bg_color_display.
30587 (redraw_screen_rect): Use bg_color_display instead of incorrect
30588 bg_color.
30589 (grub_gfxterm_cls): Likewise.
30590 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30591 Support embedding config file.
30592 (add_segments): Likewise.
30593 (options): New option "--config".
30594 (main): Handle "--config".
30595 * video/sm712.c: New file.
30596
25c2b5b3
RM
305972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30598
30599 Fix parallel builds.
30600
30601 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30602 font.c depend on ascii.h).
30603
306042010-01-12 Carles Pina i Estany <carles@pina.cat>
30605
30606 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30607
306082010-01-11 Carles Pina i Estany <carles@pina.cat>
30609
30610 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30611 By default: disabled.
30612 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30613 parameter.
30614
306152010-01-10 Carles Pina i Estany <carles@pina.cat>
30616
30617 * font/font.c: Update copyright years.
30618 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30619
306202010-01-10 Carles Pina i Estany <carles@pina.cat>
30621
30622 * font/font.c: Include `ascii.h'.
30623 (ASCII_BITMAP_SIZE): New macro.
30624 (ascii_font_glyph): Define.
30625 (ascii_glyph_lookup): New function.
30626 (grub_font_get_string_width): Change comment. If glyph not found, use
30627 ascii_glyph_lookup.
30628 (grub_font_get_glyph_with_fallback): If glyph not available returns
30629 ascii_glyph_lookup.
30630 * util/grub-mkfont.c (file_formats): New enum.
30631 (options): Add `ascii-bitmaps' new option.
30632 (usage): Add `asii-bitmaps' new option.
30633 (write_font_ascii_bitmap): New function.
30634 (write_font): Rename to ...
30635 (write_font_p2): ... this. Remove print_glyphs call.
30636 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30637 used. Call print_glyphs.
30638 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30639
306402010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30641
30642 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30643 (grub_bin2h_SOURCES): New variable.
30644 * util/bin2h.c: New file.
30645
915fc1b8
VS
306462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30647
30648 * include/multiboot.h: Resynced with spec.
30649 * include/multiboot2.h: Likewise.
30650 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30651 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30652
9444b678
RM
306532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30654
30655 * include/grub/term.h (grub_term_register_input,
30656 grub_term_register_output): Check return of terminal init()
30657 routines, and abort if errors are raised.
30658
30659 * commands/terminal.c: Update copyright year.
30660
cba98e8d
RM
306612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30662
30663 * commands/terminal.c (grub_cmd_terminal_input)
30664 (grub_cmd_terminal_output): Check return of terminal init()
30665 routines, and abort if errors are raised.
30666
6f7db5d6
VS
306672010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30668
30669 * include/grub/i386/bsd.h: Fix include pathes.
30670
262bff8d
VS
306712010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30672
30673 Add missing *BSD copyright headers.
30674
30675 * include/grub/aout.h: Add BSD licence.
30676 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30677 * include/grub/i386/freebsd_linker.h: ... here,
30678 * include/grub/i386/freebsd_reboot.h: ... here,
30679 * include/grub/i386/netbsd_bootinfo.h: ... here,
30680 * include/grub/i386/netbsd_reboot.h: ... here,
30681 * include/grub/i386/openbsd_bootarg.h: ... here,
30682 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30683 licence to each file.
30684
b2cab848
RM
306852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30686
30687 * acinclude.m4: Remove `nop' assembly instruction; it's not
30688 implemented by all architectures.
30689
2cb6be4b
RM
306902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30691
30692 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30693 ELILO. This is no longer necessary.
30694
a2eaee15
BC
306952010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30696
30697 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30698
30699 * util/grub-script-check.c: grub-script-check tool.
30700 * conf/common.rmk: Make rules for grub-script-check.
30701
88d17012
RM
307022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30703
30704 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30705 spotting it back in 2008. Shame on me for forgetting he did.
30706
30707 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30708
8040619d
RM
307092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30710
30711 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30712 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30713 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30714 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30715 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30716 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30717
a0c2a0f6
RM
307182010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30719
30720 * include/grub/test.h: Add license header.
30721 * tests/example_functional_test.c: Likewise.
30722 * tests/example_unit_test.c: Likewise.
30723 * tests/lib/functional_test.c: Likewise.
30724 * tests/lib/test.c: Likewise.
30725 * tests/lib/unit_test.c: Likewise.
30726
b0b13907
VS
307272010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30728
30729 Use flag-based instead of hook-based video mode selection and "auto"
30730 keyword.
30731
30732 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30733 (grub_video_set_mode): Changed prototype. All users updated.
30734 (grub_video_check_mode_flag): New inline function.
30735 * video/video.c (parse_modespec): New function.
30736 (grub_video_set_mode): Parse flags and keywords.
30737
ea379330 307382010-01-17 Carles Pina i Estany <carles@pina.cat>
30739
30740 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30741 fprintf call.
30742
e15c215e
FZ
307432010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30744
30745 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30746
409ae1c9 307472010-01-16 Carles Pina i Estany <carles@pina.cat>
30748
30749 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30750 string.
30751 * util/grub-emu.c (usage): Likewise.
30752 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30753 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30754 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30755 * util/i386/pc/grub-setup.c (usage): Likewise.
30756
70a14d3d 307572010-01-16 Carles Pina i Estany <carles@pina.cat>
30758
30759 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30760 the message.
30761 (grub_util_info): Likewise.
30762 (grub_util_error): Likewise.
30763 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30764 and/or new lines in `grub_util_warna', `grub_util_info',
30765 `grub_util_error' calls.
30766 * util/getroot.c: Likewise.
30767 * util/grub-editenv.c: Likewise.
30768 * util/grub-emu.c: Likewise.
30769 * util/grub-fstest.c: Likewise.
30770 * util/grub-mkdevicemap.c: Likewise.
30771 * util/grub-mkfont.c: Likewise.
30772 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30773 * util/grub-mkrelpath.c: Likewise.
30774 * util/grub-pe2elf.c: Likewise.
30775 * util/grub-probe.c: Likewise.
30776 * util/hostdisk.c: Likewise.
30777 * util/i386/efi/grub-mkimage.c: Likewise.
30778 * util/i386/pc/grub-mkimage.c: Likewise.
30779 * util/i386/pc/grub-setup.c: Likewise.
30780 * util/ieee1275/ofpath.c: Likewise.
30781 * util/mkisofs/eltorito.c: Likewise.
30782 * util/mkisofs/rock.c: Likewise.
30783 * util/mkisofs/write.c: Likewise.
30784 * util/raid.c: Likewise.
30785 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30786 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30787
a0b766fc
VS
307882010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30789
30790 Enable multiboot on non-pc.
30791
30792 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30793 multiboot.mod and multiboot2.mod to ...
30794 * conf/i386.rmk (pkglib_MODULES): ... here.
30795 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30796 Moved to ...
30797 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30798 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30799 Moved to ...
30800 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30801 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30802 Moved to ...
30803 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30804 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30805 Moved to ...
30806 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30807 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30808 relocator.mod.
30809 (ata_mod_SOURCES): Removed.
30810 (ata_mod_CFLAGS): Likewise.
30811 (ata_mod_LDFLAGS): Likewise.
30812 (relocator_mod_SOURCES): Removed.
30813 (relocator_mod_CFLAGS): Likewise.
30814 (relocator_mod_ASFLAGS): Likewise.
30815 (relocator_mod_LDFLAGS): Likewise.
30816 Include i386.mk.
30817 * include/grub/x86_64/multiboot.h: New file.
30818 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30819 Terminate EFI.
30820
884ade56
VS
308212010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30822
30823 Video multiboot support.
30824
30825 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30826 New prototype.
30827 * include/multiboot.h: Resynced with multiboot specification.
30828 * include/multiboot2.h: Likewise.
30829 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30830 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30831 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30832 (HAS_VGA_TEXT): Likewise.
30833 (accepts_video): New variable.
30834 (grub_multiboot_set_accepts_video): New function.
30835 (grub_multiboot_get_mbi_size): Account for video structures.
30836 (set_video_mode): New function.
30837 (retrieve_video_parameters): Likewise.
30838 (grub_multiboot_make_mbi): Fill video fields.
30839
0d90e8a6
VS
308402010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30841
30842 Video driver ids.
30843
30844 * include/grub/video.h (grub_video_driver_id): New type.
30845 (grub_video_adapter): New member 'id'. All users updated.
30846 (grub_video_get_driver_id): New proto.
30847 * video/video.c (grub_video_get_driver_id): New function.
30848
5c71db1b 308492010-01-14 Carles Pina i Estany <carles@pina.cat>
30850
30851 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30852 `var=val'.
30853
cca15b52 308542010-01-14 Carles Pina i Estany <carles@pina.cat>
30855
30856 * normal/cmdline.c (print_completion): Gettextizze.
30857
c586fbb2 308582001-01-14 Carles Pina i Estany <carles@pina.cat>
30859
30860 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30861
ba2f6848 308622010-01-14 Carles Pina i Estany <carles@pina.cat>
30863
30864 * gettext/gettext.c (grub_gettext_translate): Push and pop
30865 grub_errno.
30866 (grub_gettext_delete_list): Change comment style.
30867 * kern/err.c (grub_error): Gettextizze.
30868 (grub_fatal): Gettextizze.
30869
0a46429a
RM
308702010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30871
30872 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30873 (grub_linux16_real_boot): ... this.
30874 * kern/i386/loader.S: Likewise.
30875 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30876 (grub_linux16_boot): New function. Switches to text mode and calls
30877 grub_linux16_real_boot().
30878
30879 * loader/i386/bsd.c: Include `<grub/video.h>'.
30880 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30881 text mode before calling grub_unix_real_boot().
30882
30883 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30884 (grub_multiboot_boot): Switch to text mode before calling
30885 grub_relocator32_boot().
30886
30887 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30888 (grub_chainloader_boot): Switch to text mode before calling
30889 grub_chainloader_real_boot().
30890
d6f93a66
RM
308912010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
308922010-01-05 Colin Watson <cjwatson@ubuntu.com>
30893
30894 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30895 non-empty value.
30896
308972010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
308982010-01-05 Colin Watson <cjwatson@ubuntu.com>
30899
30900 * util/grub.d/00_header.in: Define a "savedefault" function for use
30901 in menu entries.
30902 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30903
309042010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
309052010-01-05 Colin Watson <cjwatson@ubuntu.com>
30906
30907 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30908 saved_entry if boot_once is unset.
30909 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30910 previous saved entry (i.e. grub-reboot).
30911
309122009-12-08 Colin Watson <cjwatson@ubuntu.com>
30913
30914 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30915
309162009-12-08 Colin Watson <cjwatson@ubuntu.com>
30917
30918 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30919 `var=val'.
30920 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30921
309222009-12-08 Colin Watson <cjwatson@ubuntu.com>
30923
30924 * util/grub-reboot.in: Fix --version output.
30925 * util/grub-set-default.in: Likewise.
30926
309272009-12-08 Colin Watson <cjwatson@ubuntu.com>
30928
30929 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30930 blocks.
30931
309322009-12-08 Colin Watson <cjwatson@ubuntu.com>
30933
30934 * util/grub.d/00_header.in: Quote the value assigned to `default',
30935 in case it contains spaces.
30936
309372009-12-08 Colin Watson <cjwatson@ubuntu.com>
30938
30939 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30940 `save_default_entry' call from the macosx case to the linux case.
30941
309422009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
309432009-10-25 Colin Watson <cjwatson@ubuntu.com>
30944
30945 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30946 in `chosen' environment variable.
30947 * normal/menu_text.c (get_entry_number): Check if the variable
30948 matches the title of a menu entry.
30949 (run_menu): Pass menu to get_entry_number.
30950
30951 * util/grub-reboot.in: New file.
30952 * util/grub-set-default.in: New file.
30953 * conf/common.rmk (grub-reboot): New utility.
30954 (grub-set-default): New utility.
30955
30956 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30957 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30958 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30959 move it to `saved_entry' for the next boot. Load environment on
30960 initialisation.
30961 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30962 * util/grub.d/10_hurd.in: Likewise.
30963 * util/grub.d/10_linux.in (linux_entry): Likewise.
30964 * util/grub.d/10_windows.in: Likewise.
30965 * util/grub.d/30_os-prober.in: Likewise.
30966
30967 * util/grub-install.in: Create environment block.
30968 * util/i386/efi/grub-install.in: Likewise.
30969 * util/ieee1275/grub-install.in: Likewise.
30970 * util/sparc64/ieee1275/grub-install.in: Likewise.
30971
0934d184
BC
309722010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30973
30974 Unit testing framework for GRUB.
30975
30976 * Makefile.in: Test framework build rules for 'make check'.
30977 * conf/tests.rmk: Build rules for individual tests and framework.
30978
30979 * include/grub/test.h: Header file for whitebox tests.
30980 * tests/lib/functional_test.c: Framework support for whitebox
30981 functional tests.
30982 * tests/lib/test.c: Common whitebox testing code for unit and
30983 functional tests.
30984 * tests/lib/unit_test.c: Framework support for whitebox unit
30985 tests.
30986
30987 * tests/util/grub-shell-tester.in: Support utility for grub-script
30988 tests.
30989 * tests/util/grub-shell.in: Utility to execute grub-script
30990 commands in a Qemu instance.
30991
30992 * tests/example_functional_test.c: Example whitebox functional
30993 test.
30994 * tests/example_grub_script_test.in: Example grub-script test.
30995 * tests/example_scripted_test.in: Example scripted test.
30996 * tests/example_unit_test.c: Example whitebox unit test.
30997
9c4ffeeb
VS
309982010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30999
31000 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31001 Add loader/i386/multiboot_mbi.c.
31002 (multiboot2_mod_SOURCES): Likewise.
31003 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31004 (multiboot2_mod_SOURCES): Likewise.
31005 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31006 (grub_multiboot_make_mbi): Likewise.
31007 (grub_multiboot_free_mbi): Likewise.
31008 (grub_multiboot_init_mbi): Likewise.
31009 (grub_multiboot_add_module): Likewise.
31010 (grub_multiboot_set_bootdev): Likewise.
31011 * loader/i386/multiboot.c (mbi): Removed.
31012 (mbi_dest): Likewise.
31013 (alloc_mbi): New variable.
31014 (grub_multiboot_payload_size): Removed. All users updated.
31015 (grub_multiboot_pure_size): New variable.
31016 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31017 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31018 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31019 (grub_fill_multiboot_mmap): Likewise.
31020 (grub_multiboot_get_bootdev): Likewise.
31021 (grub_multiboot): Use multiboot_mbi functions.
31022 * loader/i386/multiboot_mbi.c: New file.
31023
17383dfe
VS
310242010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31025
31026 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31027 it would result in module crash.
31028
c1f28820
VS
310292010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31030
31031 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31032 (grub_ofconsole_getwh): Split to ...
31033 (grub_ofconsole_getwh): ... this.
31034 (grub_ofconsole_dimensions): ...and this.
31035 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31036
58655a16
RM
310372010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31038
31039 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31040
10891398
VS
310412010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31042
31043 * loader/i386/pc/multiboot2.c: Removed stalled file.
31044
0b8a223c
VS
310452010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31046
31047 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31048 Reported by: Grégoire Sutre
31049
92ab12b0
RM
310502010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31051
31052 * util/misc.c (canonicalize_file_name): New function.
31053 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31054 instead of realpath().
31055
a788afb6
CW
310562010-01-11 Colin Watson <cjwatson@ubuntu.com>
31057
31058 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31059 and make it clearer that it's optional. Based on confusion
31060 witnessed on IRC.
31061
ffa8e3d2
VS
310622010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31063
31064 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31065 in premature implicit newline.
31066
e9060a9d
VS
310672010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31068
31069 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31070 which resulted in garbled command line at the end of screen.
31071
f0d0c0b7
RM
310722010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31073
31074 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31075 initialization with similar approach as with other Linux loaders.
31076
0e60bae7
RM
310772010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31078
31079 Fix i386-ieee1275 build.
31080
31081 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31082 and grub_term_height() for video_{width,height} initialization.
31083
310842010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
31085
31086 Fix grub-emu build.
31087
31088 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31089
cdb3f378
RM
310902010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
310912010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31092
31093 Support for multiple terminals.
31094
31095 * Makefile.in (pkglib_DATA): terminal.lst.
31096 (terminal.lst): New target.
31097 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31098 (GRUB_MOD_INIT(handler)): Likewise.
31099 (GRUB_MOD_FINI(handler)): Likewise.
31100 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31101 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31102 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31103 (grub_cmd_sleep): Use grub_term_save_pos.
31104 * commands/terminal.c: New file.
31105 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31106 commands/terminal.c and lib/charset.c.
31107 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31108 (pkglib_MODULES): Add terminal.mod.
31109 (terminal_mod_SOURCES): New variable.
31110 (terminal_mod_CFLAGS): Likewise.
31111 (terminal_mod_LDFLAGS): Likewise.
31112 * genhandlerlist.sh: Don't handle terminals.
31113 * genmk.rb: Generate terminal-*.lst.
31114 * genterminallist.sh: New file.
31115 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31116 (grub_is_valid_utf8): Likewise.
31117 (grub_utf8_to_ucs4_alloc): Likewise.
31118 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31119 (grub_menu_register_viewer): Changed argument.
31120 (grub_menu_try_text): New proto.
31121 (grub_gfxmenu_try_hook): New declaration.
31122 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31123 (grub_menu_init_page): Additional argument term.
31124 (grub_normal_init_page): Likewise.
31125 (grub_cmdline_get): Arguments simplified.
31126 (grub_utf8_to_ucs4_alloc): Removed.
31127 (grub_print_ucs4): Additional argument term.
31128 (grub_getstringwidth): Likewise.
31129 (grub_print_message_indented): Likewise.
31130 (grub_menu_text_register_instances): New proto.
31131 (grub_show_menu): Likewise.
31132 (read_terminal_list): Likewise.
31133 (grub_set_more): Likewise.
31134 * include/grub/parser.h: Include handler.h.
31135 * include/grub/reader.h: Rewritten.
31136 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31137 (GRUB_TERM_WIDTH): Changed to function.
31138 (GRUB_TERM_HEIGHT): Likewise.
31139 (GRUB_TERM_BORDER_WIDTH): Likewise.
31140 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31141 (GRUB_TERM_NUM_ENTRIES): Likewise.
31142 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31143 (GRUB_TERM_CURSOR_X): Likewise.
31144 (grub_term_input_class): Likewise.
31145 (grub_term_output_class): Likewise.
31146 (grub_term_outputs_disabled): New declaration.
31147 (grub_term_inputs_disabled): Likewise.
31148 (grub_term_outputs): Likewise.
31149 (grub_term_inputs): Likewise.
31150 (grub_term_register_input): Rewritten.
31151 (grub_term_register_output): Likewise.
31152 (grub_term_unregister_input): Likewise.
31153 (grub_term_unregister_output): Likewise.
31154 (FOR_ACTIVE_TERM_INPUTS): New macro.
31155 (FOR_DISABLED_TERM_INPUTS): Likewise.
31156 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31157 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31158 * include/grub/terminfo.h: Add oterm argument to all protypes.
31159 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31160 Use grub_rescue_run.
31161 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31162 All users updated.
31163 * kern/reader.c: Removed. All users updated.
31164 * kern/rescue_reader.c (grub_rescue_init): Removed.
31165 (grub_rescue_reader): Likewise.
31166 (grub_register_rescue_reader): Likewise.
31167 (grub_rescue_run): New function based on kern/reader.c.
31168 * kern/term.c: Adapted for multiterm.
31169 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31170 (grub_is_valid_utf8): Likewise.
31171 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31172 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31173 right terminal.
31174 * loader/i386/linux.c (grub_linux_boot): Likewise.
31175 * normal/auth.c (grub_username_get): New function.
31176 (grub_auth_check_authentication): Use grub_username_get.
31177 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31178 * normal/color.c: Adapt for multiterm.
31179 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31180 (grub_normal_init_page): Additional argument term.
31181 (read_lists): Call read_terminal_lists.
31182 (grub_enter_normal_mode): Call grub_cmdline_run.
31183 Handle grub_normal_exit_level.
31184 (grub_cmd_normal): Make reentrant.
31185 (grub_cmd_normal_exit): New function.
31186 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31187 * normal/menu.c: Adapt for multiterm.
31188 * normal/menu_entry.c: Likewise.
31189 * normal/menu_text.c: Likewise.
31190 * normal/menu_viewer.c: Removed. All users updated.
31191 * normal/term.c: New file.
31192 * util/console.c: Change order of includes to workaround a bug in
31193 ncurses headers.
31194 * term/terminfo.c: New argument oterm on all exported functions.
31195 All users updated.
31196 * util/grub-editenv.c (grub_term_input_class): Removed.
31197 (grub_term_output_class): Likewise.
31198
1a064917
RM
311992010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31200
31201 Make loader output a bit more user-friendly.
31202
31203 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31204 is being loaded. Likewise for the Hurd.
31205
31206 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31207 that kernel of FreeBSD ${version} is being loaded.
31208
31209 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31210 grub_dprintf().
31211 (grub_cmd_initrd): Likewise.
31212 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31213 that Linux ${version} is being loaded. Likewise for initrd.
31214
5ce0a83a 312152010-01-09 Carles Pina i Estany <carles@pina.cat>
31216
31217 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31218
809bbfeb 312192010-01-08 Carles Pina i Estany <carles@pina.cat>
31220
31221 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31222 (GRUB_MOD_INIT): Gettextizze.
31223 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31224 (GRUB_MOD_INIT): Gettextizze.
31225 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31226 (grub_cmd_linux): Capitalise Linux.
31227 (GRUB_MOD_INIT): Gettextizze.
31228 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31229 (grub_cmd_linux): Capitalise Linux.
31230 (GRUB_MOD_INIT): Gettextizze.
31231 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31232 (grub_cmd_linux): Capitalise Linux.
31233 (GRUB_MOD_INIT): Gettextizze.
31234 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31235 (GRUB_MOD_INIT): Gettextizze.
31236 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31237 (grub_cmd_linux): Capitalise Linux.
31238 (GRUB_MOD_INIT): Gettextizze.
31239 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31240 (grub_cpu_xnu_init): Gettextizze.
31241 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31242 (GRUB_MOD_INIT): Gettextizze.
31243 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31244 (GRUB_MOD_INIT): Gettextizze.
31245 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31246 (grub_linux_load64): Capitalise Linux.
31247 (GRUB_MOD_INIT): Gettextizze.
31248 * loader/xnu.c: Include `<grub/i18n.h>'.
31249 (GRUB_MOD_INIT): Gettextizze.
31250 * po/POTFILES: Add `loader/efi/appleloader.c',
31251 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31252 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31253 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31254 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31255 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31256 and `loader/xnu.c'.
31257
b394b2ca
RM
312582010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31259
31260 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31261
312622010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
31263
31264 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31265 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31266 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31267
bc8b32b3
RM
312682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31269
31270 Reset Multiboot 2 support. New loader implements the draft in
31271 /branches/multiboot2 and shares as much code as possible with the
31272 production Multiboot 1 implementation.
31273
31274 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
31275 * loader/multiboot2.c: Likewise.
31276 * loader/i386/multiboot_helper.S: Likewise.
31277 * include/multiboot2.h: Replace with latest version from the draft
31278 in /branches/multiboot2.
31279
31280 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31281 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31282 and `loader/multiboot2.c'.
31283 (pkglib_MODULES): Add `multiboot2.mod'.
31284 (multiboot2_mod_SOURCES): New variable.
31285 (multiboot2_mod_LDFLAGS): Likewise.
31286 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31287
31288 * conf/i386-pc.rmk: Likewise.
31289
31290 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31291 (multiboot_mod_SOURCES): Remove variable.
31292 (multiboot_mod_LDFLAGS): Likewise.
31293 (multiboot_mod_CFLAGS): Likewise.
31294
31295 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31296 `<multiboot2.h>' instead of `<multiboot.h>'.
31297 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31298 (MULTIBOOT_HEADER_MAGIC): New macros.
31299
31300 * loader/multiboot_loader.c (module_version_status): Remove variable.
31301 (find_multi_boot2_header): Remove function.
31302 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31303 logic. Always check for the Multiboot version we're compiling for.
31304 (grub_cmd_module_loader): Likewise.
31305 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31306 command instead of `multiboot'.
31307
5d2c52b8
RM
313082010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31309
31310 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31311 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31312 all users.
31313
53108d92
RM
313142010-01-07 Robert Millan <rmh.grub@aybabtu.com>
313152010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31316
31317 Fix breakage introduced with previous commit.
31318
31319 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31320 commands.
31321 * normal/handler.c (read_handler_list): Revert part of previous commit
31322 affecting this file.
31323 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31324 (grub_normal_execute): ... here.
31325
e2e936b2
RM
313262010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31327
31328 Merge prefix-redefinition-fix branch.
31329
31330 * normal/autofs.c (read_fs_list): Make function capable of being
31331 run multiple times, gracefuly replacing the previous data
31332 structures.
31333 * normal/dyncmd.c (read_command_list): Likewise.
31334 * normal/handler.c (read_handler_list): Likewise.
31335 * normal/main.c (read_lists): New function. Calls all the
31336 list reading functions.
31337 (grub_normal_execute): Use read_lists() instead of calling all
31338 list reading functions explicitly. Register read_lists() as a
31339 variable hook attached to ${prefix}.
31340
607a3701
VS
313412010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31342
31343 Merge crypto branch.
31344
31345 * Makefile.in (pkglib_DATA): Add crypto.lst.
31346 (crypto.lst): New target.
31347 * commands/hashsum.c: New file.
31348 * commands/password.c (check_password): Use grub_crypto_memcmp.
31349 * commands/password_pbkdf2.c: New file.
31350 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31351 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31352 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31353 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31354 -I$(srcdir)/lib/libgcrypt_wrap.
31355 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31356 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31357 password_pbkdf2.mod.
31358 (crypto_mod_SOURCES): New variable.
31359 (crypto_mod_CFLAGS): Likewise.
31360 (crypto_mod_LDFLAGS): Likewise.
31361 (hashsum_mod_SOURCES): New variable.
31362 (hashsum_mod_CFLAGS): Likewise.
31363 (hashsum_mod_LDFLAGS): Likewise.
31364 (pbkdf2_mod_SOURCES): New variable.
31365 (pbkdf2_mod_CFLAGS): Likewise.
31366 (pbkdf2_mod_LDFLAGS): Likewise.
31367 (password_pbkdf2_mod_SOURCES): New variable.
31368 (password_pbkdf2_mod_CFLAGS): Likewise.
31369 (password_pbkdf2_mod_LDFLAGS): Likewise.
31370 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
31371 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
31372 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
31373 Include conf/gcry.rmk.
31374 * include/grub/auth.h: Rewritten.
31375 * include/grub/crypto.h: New file.
31376 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
31377 * include/grub/normal.h (read_crypto_list): New prototype.
31378 * lib/crypto.c: New file.
31379 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
31380 * lib/pbkdf2.c: Likewise.
31381 * normal/auth.c (grub_auth_strcmp): Removed.
31382 (grub_iswordseparator): Likewise.
31383 (grub_auth_strword): Likewise.
31384 (is_authenticated): Use grub_strword.
31385 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
31386 and grub_strword. Pass entered password to authentication callback.
31387 * normal/crypto.c: New file.
31388 * normal/main.c: Call read_crypto_list.
31389 * util/grub-mkpasswd-pbkdf2.c: New file.
31390 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
31391
42841caa
VS
313922010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
31393
31394 Fix descent and ascent calculation.
31395
31396 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
31397 (options): New option "asce".
31398 (usage): Likewise.
31399 (add_char): Ignore invalid glyphs for descent calculation.
31400 Calculate ascent from actual content.
31401 (print_glyphs): Use 'asce'.
31402 (write_font): Likewise. Allow ascent override.
31403 (main): Handle "asce" option.
31404
e7730de7 314052010-01-06 Carles Pina i Estany <carles@pina.cat>
31406
31407 * kern/err.c: Include `<grub/i18n.h>'.
31408 (grub_print_error): Add full stop. Gettextizze.
31409 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
31410 (grub_bsd_load_elf): Capitalise ELF.
31411 (grub_cmd_freebsd_loadenv): Add `s' in error string.
31412 (grub_cmd_freebsd_module): Likewise.
31413 (grub_cmd_freebsd_module_elf): Likewise.
31414 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
31415
40e3a41f 314162010-01-06 Carles Pina i Estany <carles@pina.cat>
31417
31418 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
31419 * commands/search_file.c (HELP_MESSAGE): New macro.
31420 * commands/search_label.c (HELP_MESSAGE): Likewise.
31421 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
31422 * po/POTFILES: Add `commands/search_file.c',
31423 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
31424 `commands/search.c'.
31425
83507e68
RM
314262010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31427
31428 * config.rpath: Update from Gnulib.
31429
465c787b
YB
314302010-01-05 Yves Blusseau <blusseau@zetam.org>
31431
31432 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
31433
6581dd3a
YB
314342010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
31435
31436 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
31437
3bff18c5
CW
314382010-01-05 Colin Watson <cjwatson@ubuntu.com>
31439
31440 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
31441 arguments to fread so that we get a return value in bytes, rather
31442 than something that will normally be rounded down to 0.
31443 Adjust error handling to avoid producing garbage when size_t is not
31444 the same size as long long.
31445
a1368118
CW
314462010-01-05 Colin Watson <cjwatson@ubuntu.com>
31447
31448 * util/mkisofs/write.c (padblock_write): Check return value of
31449 fread.
31450
7c302978
RM
314512010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31452
31453 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31454 floppy images now.
31455
31456 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31457
e33ace06
RM
314582010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31459
31460 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31461 instead of manual alignment.
31462 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31463 verbose). Avoid attempts to read past end of the device
31464 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31465 but GRUB_DISK_CACHE_SIZE may exceed that).
31466
4b856776
RM
314672010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31468
31469 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31470 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31471 it to upper layer.
31472
52c2d97f
VS
314732010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31474
31475 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31476 New constant.
31477 (grub_efi_piwg_device_path): New structure
31478 (grub_efi_piwg_device_path_t): New type.
31479 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31480 (devpath_1): Transform to a structure. All users updated.
31481 (devpath_2): Likewise.
31482 (devpath_3): Likewise.
31483 (devpath_4): Likewise.
31484 (devpath_5): Likewise.
31485
98ff6a54
VS
314862010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31487
31488 * loader/efi/appleloader.c: Restored. Update all users.
31489
3a73dcb6
RM
314902010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31491
31492 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31493
31494 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31495 (struct boot_blocklist): Move from here ...
31496 * include/grub/i386/pc/boot.h [ASM_FILE]
31497 (struct grub_boot_blocklist): ... to here. Update all users.
31498 (setup): Only initialize `start' member of `first_block'
31499 structure. Add assert() calls to verify the other members.
31500
31501 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31502 (generate_image): Fix broken blocklist length initialization.
31503 Add assert() call to verify blocklist `segment' field.
31504
ab0eeb0c
RM
315052010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31506
31507 * loader/efi/appleloader.c: Remove. Update all users.
31508
58bc8bd5
RM
315092010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31510
31511 * boot/i386/pc/boot.S: Update copyright year.
31512 * boot/i386/pc/cdboot.S: Likewise.
31513 * boot/i386/pc/diskboot.S: Likewise.
31514 * boot/i386/pc/lnxboot.S: Likewise.
31515 * boot/i386/pc/pxeboot.S: Likewise.
31516 * bus/pci.c: Likewise.
31517 * commands/cmp.c: Likewise.
31518 * commands/help.c: Likewise.
31519 * commands/hexdump.c: Likewise.
31520 * commands/i386/pc/halt.c: Likewise.
31521 * commands/i386/pc/play.c: Likewise.
31522 * commands/i386/pc/vbeinfo.c: Likewise.
31523 * commands/ls.c: Likewise.
31524 * commands/test.c: Likewise.
31525 * disk/dmraid_nvidia.c: Likewise.
31526 * disk/i386/pc/biosdisk.c: Likewise.
31527 * disk/ieee1275/nand.c: Likewise.
31528 * disk/ieee1275/ofdisk.c: Likewise.
31529 * disk/lvm.c: Likewise.
31530 * disk/raid.c: Likewise.
31531 * disk/raid6_recover.c: Likewise.
31532 * disk/scsi.c: Likewise.
31533 * fs/affs.c: Likewise.
31534 * fs/cpio.c: Likewise.
31535 * fs/ext2.c: Likewise.
31536 * fs/hfs.c: Likewise.
31537 * fs/iso9660.c: Likewise.
31538 * fs/ntfs.c: Likewise.
31539 * fs/sfs.c: Likewise.
31540 * fs/udf.c: Likewise.
31541 * fs/ufs.c: Likewise.
31542 * fs/xfs.c: Likewise.
31543 * gencmdlist.sh: Likewise.
31544 * genmk.rb: Likewise.
31545 * include/grub/disk.h: Likewise.
31546 * include/grub/efi/api.h: Likewise.
31547 * include/grub/efi/efi.h: Likewise.
31548 * include/grub/efi/pe32.h: Likewise.
31549 * include/grub/elf.h: Likewise.
31550 * include/grub/fs.h: Likewise.
31551 * include/grub/i386/at_keyboard.h: Likewise.
31552 * include/grub/i386/pc/memory.h: Likewise.
31553 * include/grub/i386/pc/vbe.h: Likewise.
31554 * include/grub/i386/pci.h: Likewise.
31555 * include/grub/i386/tsc.h: Likewise.
31556 * include/grub/ieee1275/ieee1275.h: Likewise.
31557 * include/grub/ntfs.h: Likewise.
31558 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31559 * include/grub/sparc64/libgcc.h: Likewise.
31560 * include/grub/symbol.h: Likewise.
31561 * include/grub/types.h: Likewise.
31562 * include/multiboot2.h: Likewise.
31563 * io/gzio.c: Likewise.
31564 * kern/device.c: Likewise.
31565 * kern/disk.c: Likewise.
31566 * kern/efi/efi.c: Likewise.
31567 * kern/efi/mm.c: Likewise.
31568 * kern/elf.c: Likewise.
31569 * kern/file.c: Likewise.
31570 * kern/i386/dl.c: Likewise.
31571 * kern/i386/pc/init.c: Likewise.
31572 * kern/i386/pc/startup.S: Likewise.
31573 * kern/ieee1275/ieee1275.c: Likewise.
31574 * kern/ieee1275/init.c: Likewise.
31575 * kern/main.c: Likewise.
31576 * kern/mm.c: Likewise.
31577 * kern/powerpc/dl.c: Likewise.
31578 * kern/sparc64/dl.c: Likewise.
31579 * kern/x86_64/dl.c: Likewise.
31580 * lib/hexdump.c: Likewise.
31581 * loader/efi/appleloader.c: Likewise.
31582 * loader/i386/ieee1275/linux.c: Likewise.
31583 * loader/i386/pc/chainloader.c: Likewise.
31584 * loader/i386/pc/linux.c: Likewise.
31585 * loader/i386/pc/multiboot2.c: Likewise.
31586 * loader/ieee1275/multiboot2.c: Likewise.
31587 * loader/multiboot2.c: Likewise.
31588 * loader/multiboot_loader.c: Likewise.
31589 * loader/powerpc/ieee1275/linux.c: Likewise.
31590 * normal/completion.c: Likewise.
31591 * normal/menu_entry.c: Likewise.
31592 * partmap/apple.c: Likewise.
31593 * util/grub.d/10_hurd.in: Likewise.
31594 * util/hostfs.c: Likewise.
31595 * video/readers/png.c: Likewise.
31596
e2d70b5c
CW
315972010-01-03 Colin Watson <cjwatson@ubuntu.com>
31598
31599 * include/grub/misc.h (GNUC_PREREQ): New macro.
31600 (ATTRIBUTE_ERROR): New macro.
31601 * include/grub/list.h (grub_bad_type_cast_real): Use
31602 ATTRIBUTE_ERROR.
31603
a173283f 316042010-01-03 Carles Pina i Estany <carles@pina.cat>
31605
31606 * normal/menu_text.c (print_message): Change messages.
31607
7fa7ff74 316082010-01-03 Carles Pina i Estany <carles@pina.cat>
31609
31610 * normal/menu_entry.c (store_completion): Gettextizze.
31611
136d24f6 316122010-01-03 Carles Pina i Estany <carles@pina.cat>
31613
31614 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31615
f936862e 316162010-01-03 Carles Pina i Estany <carles@pina.cat>
31617
31618 * po/POTFILES: Sort correctly.
31619
29c44ad1 316202010-01-03 Carles Pina i Estany <carles@pina.cat>
31621
31622 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31623 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31624 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31625 full stop.
31626 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31627 summary. Gettextizze the strings.
31628 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31629 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31630 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31631 full stop.
31632 (GRUB_MOD_INIT): Remove command name from summary.
31633 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31634 summary.
31635 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31636 * term/i386/pc/serial.c (options): Add full stops.
31637 (GRUB_MOD_INIT): Remove command name from the summary.
31638
77a79592 316392010-01-03 Carles Pina i Estany <carles@pina.cat>
31640
31641 * commands/acpi.c: Gettextizze help strings and/or options. Include
31642 `grub/i18n.h' if needed.
31643 * commands/blocklist.c: Likewise.
31644 * commands/boot.c: Likewise.
31645 * commands/cat.c: Likewise.
31646 * commands/cmp.c: Likewise.
31647 * commands/configfile.c: Likewise.
31648 * commands/crc.c: Likewise.
31649 * commands/date.c: Likewise.
31650 * commands/echo.c: Likewise.
31651 * commands/efi/fixvideo.c: Likewise.
31652 * commands/efi/loadbios.c: Likewise.
31653 * commands/gptsync.c: Likewise.
31654 * commands/halt.c: Likewise.
31655 * commands/handler.c: Likewise.
31656 * commands/hdparm.c: Likewise.
31657 * commands/hexdump.c: Likewise.
31658 * commands/i386/cpuid.c: Likewise.
31659 * commands/i386/pc/drivemap.c: Likewise.
31660 * commands/i386/pc/halt.c: Likewise.
31661 * commands/i386/pc/pxecmd.c: Likewise.
31662 * commands/i386/pc/vbeinfo.c: Likewise.
31663 * commands/i386/pc/vbetest.c: Likewise.
31664 * commands/ieee1275/suspend.c: Likewise.
31665 * commands/keystatus.c: Likewise.
31666 * commands/loadenv.c: Likewise.
31667 * commands/ls.c: Likewise.
31668 * commands/lsmmap.c: Likewise.
31669 * commands/lspci.c: Likewise.
31670 * commands/memrw.c: Likewise.
31671 * commands/minicmd.c: Likewise.
31672 * commands/parttool.c: Likewise.
31673 * commands/password.c: Likewise.
31674 * commands/probe.c: Likewise.
31675 * commands/read.c: Likewise.
31676 * commands/reboot.c: Likewise.
31677 * commands/search.c: Likewise.
31678 * commands/sleep.c: Likewise.
31679 * commands/test.c: Likewise.
31680 * commands/true.c: Likewise.
31681 * commands/usbtest.c: Likewise.
31682 * commands/videotest.c: Likewise.
31683 * commands/xnu_uuid.c: Likewise.
31684 * disk/loopback.c: Likewise.
31685 * hello/hello.c: Likewise.
31686 * loader/i386/bsd.c: Likewise.
31687 * term/i386/pc/serial.c: Likewise.
31688 * po/POTFILES: Add new files.
31689
da8d5c53
CW
316902010-01-02 Colin Watson <cjwatson@ubuntu.com>
31691
31692 * term/i386/pc/at_keyboard.c
31693 (keyboard_controller_wait_untill_ready): Rename to ...
31694 (keyboard_controller_wait_until_ready): ... this. Update all users.
31695
33937904 316962010-01-01 Carles Pina i Estany <carles@pina.cat>
31697
31698 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31699 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31700 string using string width.
31701 * normal/menu_text.c (grub_print_message_indented): Use
31702 grub_print_spaces and not print_spaces.
31703 (print_timeout): Likewise.
31704 (print_spaces): Move to...
31705 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31706
3fd3b8d8
RM
317072010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31708
31709 Import from Gnulib.
31710
31711 * gnulib/getdelim.c: New file.
31712 * gnulib/getline.c: Likewise.
31713
33433555
VS
317142009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31715
31716 * include/grub/list.h (grub_assert_fail): Removed.
31717 (grub_bad_type_cast_real): New function.
31718 (grub_bad_type_cast): New macro.
31719 (GRUB_AS_LIST): Use grub_bad_type_cast.
31720 (GRUB_AS_LIST_P): Likewise.
e44721e8 31721 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31722 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31723 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31724 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31725 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31726
f5a51306
VS
317272009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31728
31729 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31730 Fix syntax error.
31731
90d1e879
RM
317322009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31733
31734 * configure.ac: Check for TARGET_CFLAGS initialization before we
31735 initialize it ourselves (sigh).
31736 Move a few modifications to TARGET_CFLAGS to be unconditional
31737 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31738 eh_frame)
31739
31740 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31741 * term/i386/pc/at_keyboard.c
31742 (keyboard_controller_wait_untill_ready): Likewise.
31743 (keyboard_controller_led): Rename `led_status' paramter to avoid
31744 name conflict.
31745
465b5a81 317462009-12-28 Carles Pina i Estany <carles@pina.cat>
31747
31748 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31749 quotes.
31750
c181849b
VS
317512009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31752
31753 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31754
9c8739a4
VS
317552009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31756
31757 * normal/menu_text.c (grub_print_message_indented): Prevent
31758 past-the-end-of-array dereference.
31759
3e74249c
VS
317602009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31761
31762 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31763 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31764
64fd18ed 317652009-12-27 Carles Pina i Estany <carles@pina.cat>
31766
31767 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31768 * normal/main.c (grub_normal_read_line): Remove a space from the
31769 default prompt.
31770
714af9b9 317712009-12-27 Carles Pina i Estany <carles@pina.cat>
31772
31773 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31774 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31775 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31776 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31777 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31778 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31779 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31780
82f3e412 317812009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31782
31783 * video/readers/jpeg.c (cmd): Declare.
31784 (grub_cmd_jpegtest): Use `grub_command_t' type.
31785 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31786 Assign to `cmd'.
31787 (GRUB_MOD_FINI): Use `cmd' to unregister.
31788 * video/readers/png.c (cmd): Declare.
31789 (grub_cmd_pngtest): Use `grub_command_t' type.
31790 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31791 Assign to `cmd'.
31792 (GRUB_MOD_FINI): Use `cmd' to unregister.
31793 * video/readers/tga.c (cmd): Declare.
31794 (grub_cmd_tgatest): Use `grub_command_t' type.
31795 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31796 Assign to `cmd'.
31797 (GRUB_MOD_FINI): Use `cmd' to unregister.
31798
82f3e412 317992009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31800
31801 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31802 stops.
31803 * kern/corecmd.c (grub_register_core_commands): Likewise.
31804 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31805 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31806 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31807 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31808 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31809 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31810 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31811 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31812 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31813 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31814 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31815 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31816 * normal/handler.c (insert_handler): Likewise.
31817 * normal/main.c (GRUB_MOD_INIT): Likewise.
31818 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31819
fdcdbb66 318202009-12-26 Carles Pina i Estany <carles@pina.cat>
31821
31822 * commands/help.c (grub_cmd_help): Print the command name before the
31823 summary.
31824 (GRUB_MOD_INIT): Remove command name from the summary.
31825 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31826 string as summary.
fdcdbb66 31827 * lib/arg.c (find_long): Print the command name before the summary.
31828 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31829 summary.
31830 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31831 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31832 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31833 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31834 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31835 * commands/date.c (GRUB_MOD_INIT): Likewise.
31836 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31837 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31838 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31839 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31840 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31841 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31842 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31843 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31844 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31845 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31846 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31847 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31848 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31849 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31850 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31851 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31852 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31853 * commands/password.c (GRUB_MOD_INIT): Likewise.
31854 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31855 * commands/read.c (GRUB_MOD_INIT): Likewise.
31856 * commands/search.c (GRUB_MOD_INIT): Likewise.
31857 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31858 * commands/test.c (GRUB_MOD_INIT): Likewise.
31859 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31860 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31861 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31862 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31863 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31864 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31865 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31866 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31867 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31868 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31869 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31870 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31871 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31872 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31873
9c288be2
VS
318742009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31875
31876 Use search command for preliminar UUID search.
31877
31878 * commands/search.c: Split into ...
31879 * commands/search_wrap.c: ...this
31880 * commands/search.c: ...and this.
31881 * commands/search_file.c: New file.
31882 * commands/search_label.c: New file.
31883 * commands/search_uuid.c: New file.
31884 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31885 Add commands/search_wrap.c, commands/search_file.c,
31886 commands/search_label.c and commands/search_uuid.c.
31887 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31888 (search_mod_SOURCES): Set to commands/search_wrap.c.
31889 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31890 search_label.mod.
31891 (search_fs_file_mod_SOURCES): New variable.
31892 (search_fs_file_mod_CFLAGS): Likewise.
31893 (search_fs_file_mod_LDFLAGS): Likewise.
31894 (search_label_mod_SOURCES): Likewise.
31895 (search_label_mod_CFLAGS): Likewise.
31896 (search_label_mod_LDFLAGS): Likewise.
31897 (search_fs_uuid_mod_SOURCES): New variable.
31898 (search_fs_uuid_mod_CFLAGS): Likewise.
31899 (search_fs_uuid_mod_LDFLAGS): Likewise.
31900 (fs_file_mod_SOURCES): Removed.
31901 (fs_file_mod_CFLAGS): Likewise.
31902 (fs_file_mod_LDFLAGS): Likewise.
31903 (fs_uuid_mod_SOURCES): Removed.
31904 (fs_uuid_mod_CFLAGS): Likewise.
31905 (fs_uuid_mod_LDFLAGS): Likewise.
31906 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31907 Set to util/grub-install.in.
31908 * disk/fs_file.c: Removed.
31909 * disk/fs_uuid.c: Likewise.
31910 * include/grub/search.h: New file.
31911 * util/grub-install.in: Handle sparc64.
31912 Create and use load.cfg.
31913 * util/sparc64/ieee1275/grub-install.in: Removed.
31914
db943399
VS
319152009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31916
31917 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31918 Ignore return status if CF is cleared.
31919 (grub_biosdisk_get_diskinfo_standard): Likewise.
31920
3fdae612
RM
319212009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31922
31923 * term/i386/pc/at_keyboard.c
31924 (keyboard_controller_wait_untill_ready): New function.
31925 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31926 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31927 for keyboard polling, rather than duplicate the same loop. This
31928 saves a few bytes in code size.
31929
7ebaa2b4
VS
319302009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31931
31932 Support for (pxe[:server[:gateway]]) syntax and
31933 use environment variable for PXE.
31934
31935 * commands/i386/pc/pxecmd.c (options): Removed.
31936 (print_ip): Removed.
31937 (grub_cmd_pxe): Removed
31938 (grub_cmd_pxe_unload): New function.
31939 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31940 (grub_pxe_your_ip): Made static.
31941 (grub_pxe_default_server_ip): Likewise.
31942 (grub_pxe_default_gateway_ip): Likewise.
31943 (grub_pxe_blksize): Likewise.
31944 (parse_ip): New function.
31945 (grub_pxe_open): Support server and gateway specification.
31946 (grub_pxe_close): Free disk->data.
31947 (grub_pxefs_open): Use disk->data.
31948 (grub_pxefs_read): Likewise.
31949 (grub_env_write_readonly): New function.
31950 (set_mac_env): Likewise.
31951 (set_env_limn_ro): Likewise.
31952 (parse_dhcp_vendor): Likewise.
31953 (grub_pxe_detect): Set the environment variables.
31954 (set_ip_env): New function.
31955 (write_ip_env): Likewise.
31956 (grub_env_write_pxe_default_server): Likewise.
31957 (grub_env_write_pxe_default_gateway): Likewise.
31958 (grub_env_write_pxe_blocksize): Likewise.
31959 (GRUB_MOD_INIT(pxe)): Set environment variables.
31960 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31961 (grub_pxe_mac_addr_t): ... this. All users updated.
31962 (grub_pxe_your_ip): Removed.
31963 (grub_pxe_server_ip): Likewise.
31964 (grub_pxe_gateway_ip): Likewise.
31965 (grub_pxe_blksize): Likewise.
31966
ec5f98ab 319672009-12-25 Carles Pina i Estany <carles@pina.cat>
31968
31969 * commands/help.c: Include `<grub/i18n.h>'.
31970 (grub_cmd_help): Gettextizze.
31971 (GRUB_MOD_INIT): Likewise.
31972 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31973 (GRUB_MOD_INIT): Gettextizze.
31974 * commands/search.c: Include `<grub/i18n.h>'.
31975 (options): Gettextizze.
31976 (GRUB_MOD_INIT): Gettextizze.
31977 * lib/arg.c: Include `<grub/i18n.h>'.
31978 (help_options): Gettextizze.
31979 (find_long): Likewise.
31980 (grub_arg_show_help): Likewise.
31981 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31982 (read_command_list): Gettextizze.
31983 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31984 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31985
22815526
RM
319862009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31987
31988 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31989 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31990 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31991 (led_status): New variable.
31992 (keyboard_controller_led): New function.
31993 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31994 update led status for caps lock, num lock and scroll lock.
31995
0ad46fd7
FZ
319962009-12-25 Felix Zielcke <fzielcke@z-51.de>
31997
31998 * util/hostdisk.c (open_device): Fix a comment.
31999
d0e158c2
RM
320002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32001
32002 * util/grub-install.in (host_os): New variable.
32003 * util/i386/efi/grub-install.in (host_os): Likewise.
32004
401c0ad6
RM
320052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32006
32007 * util/mkisofs/write.c (padblock_write): Abort when given an
32008 excedingly large embed image, instead of silently truncating it.
32009
d14d3370
RM
320102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32011
32012 * include/multiboot.h: Indentation fixes.
32013
eeed10b4
RM
320142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32015
32016 * include/multiboot.h (struct multiboot_aout_symbol_table)
32017 (struct multiboot_elf_section_header_table): New structure
32018 declarations (stolen from GRUB Legacy).
32019 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32020 table information.
32021
32022 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32023 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32024 type aliases.
32025
681c70ab
RM
320262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32027
32028 * include/multiboot.h: Make comments src2texi-friendly.
32029
e4d47d8d
RM
320302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32031
32032 For consistency with [multiboot]/docs/boot.S.
32033
32034 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32035 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32036 (MULTIBOOT_MAGIC2): Rename from this ...
32037 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32038
a0b70bda
RM
320392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32040
32041 * include/multiboot.h: Remove `<grub/types.h>'.
32042 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32043 types. Update all users.
32044
61ba42be 320452009-12-25 Carles Pina i Estany <carles@pina.cat>
32046
32047 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32048 `couldn't' and `can not' by `cannot'.
32049 * commands/i386/pc/drivemap.c: Likewise.
32050 * disk/ata.c: Likewise.
32051 * disk/ieee1275/nand.c: Likewise.
32052 * fs/affs.c: Likewise.
32053 * fs/fat.c: Likewise.
32054 * fs/hfs.c: Likewise.
32055 * fs/hfsplus.c: Likewise.
32056 * fs/iso9660.c: Likewise.
32057 * fs/jfs.c: Likewise.
32058 * fs/minix.c: Likewise.
32059 * fs/reiserfs.c: Likewise.
32060 * fs/sfs.c: Likewise.
32061 * fs/udf.c: Likewise.
32062 * fs/ufs.c: Likewise.
32063 * fs/xfs.c: Likewise.
32064 * loader/powerpc/ieee1275/linux.c: Likewise.
32065 * loader/sparc64/ieee1275/linux.c: Likewise.
32066 * util/grub-probe.c: Likewise.
32067 * util/misc.c: Likewise.
32068
7fd0baee 320692009-12-24 Carles Pina i Estany <carles@pina.cat>
32070
32071 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32072 grub_errno calls.
32073 * commands/acpi.c: Likewise.
32074 * commands/blocklist.c: Likewise.
32075 * commands/efi/loadbios.c: Likewise.
32076 * commands/i386/pc/drivemap.c: Likewise.
32077 * commands/loadenv.c: Likewise.
32078 * commands/memrw.c: Likewise.
32079 * commands/password.c: Likewise.
32080 * commands/videotest.c: Likewise.
32081 * disk/ata.c: Likewise.
32082 * disk/ata_pthru.c: Likewise.
32083 * disk/dmraid_nvidia.c: Likewise.
32084 * disk/ieee1275/nand.c: Likewise.
32085 * disk/ieee1275/ofdisk.c: Likewise.
32086 * disk/loopback.c: Likewise.
32087 * disk/lvm.c: Likewise.
32088 * disk/mdraid_linux.c: Likewise.
32089 * disk/raid.c: Likewise.
32090 * disk/raid6_recover.c: Likewise.
32091 * disk/scsi.c: Likewise.
32092 * efiemu/main.c: Likewise.
32093 * efiemu/mm.c: Likewise.
32094 * efiemu/pnvram.c: Likewise.
32095 * efiemu/symbols.c: Likewise.
32096 * font/font.c: Likewise.
32097 * fs/cpio.c: Likewise.
32098 * fs/hfsplus.c: Likewise.
32099 * fs/iso9660.c: Likewise.
32100 * fs/jfs.c: Likewise.
32101 * fs/minix.c: Likewise.
32102 * fs/ntfs.c: Likewise.
32103 * fs/ntfscomp.c: Likewise.
32104 * fs/reiserfs.c: Likewise.
32105 * fs/ufs.c: Likewise.
32106 * fs/xfs.c: Likewise.
32107 * gettext/gettext.c: Likewise.
32108 * include/grub/auth.h: Likewise.
32109 * kern/elf.c: Likewise.
32110 * kern/file.c: Likewise.
32111 * kern/ieee1275/init.c: Likewise.
32112 * kern/ieee1275/mmap.c: Likewise.
32113 * kern/ieee1275/openfw.c: Likewise.
32114 * kern/powerpc/dl.c: Likewise.
32115 * kern/sparc64/dl.c: Likewise.
32116 * lib/arg.c: Likewise.
32117 * loader/i386/bsd.c: Likewise.
32118 * loader/i386/bsdXX.c: Likewise.
32119 * loader/i386/efi/linux.c: Likewise.
32120 * loader/i386/efi/xnu.c: Likewise.
32121 * loader/i386/ieee1275/linux.c: Likewise.
32122 * loader/i386/linux.c: Likewise.
32123 * loader/i386/multiboot.c: Likewise.
32124 * loader/i386/pc/linux.c: Likewise.
32125 * loader/i386/pc/multiboot2.c: Likewise.
32126 * loader/i386/xnu.c: Likewise.
32127 * loader/ieee1275/multiboot2.c: Likewise.
32128 * loader/macho.c: Likewise.
32129 * loader/machoXX.c: Likewise.
32130 * loader/multiboot2.c: Likewise.
32131 * loader/multiboot_loader.c: Likewise.
32132 * loader/powerpc/ieee1275/linux.c: Likewise.
32133 * loader/sparc64/ieee1275/linux.c: Likewise.
32134 * loader/xnu.c: Likewise.
32135 * loader/xnu_resume.c: Likewise.
32136 * mmap/i386/pc/mmap.c: Likewise.
32137 * normal/menu_viewer.c: Likewise.
32138 * partmap/acorn.c: Likewise.
32139 * partmap/amiga.c: Likewise.
32140 * partmap/apple.c: Likewise.
32141 * script/lexer.c: Likewise.
32142 * term/gfxterm.c: Likewise.
32143 * term/i386/pc/serial.c: Likewise.
32144 * term/i386/pc/vga.c: Likewise.
32145 * term/ieee1275/ofconsole.c: Likewise.
32146 * term/terminfo.c: Likewise.
32147 * video/bitmap.c: Likewise.
32148 * video/efi_gop.c: Likewise.
32149 * video/efi_uga.c: Likewise.
32150 * video/fb/video_fb.c: Likewise.
32151 * video/i386/pc/vbe.c: Likewise.
32152 * video/readers/tga.c: Likewise.
32153 * video/video.c: Likewise.
32154
0ad46fd7 321552009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
32156
32157 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32158 * commands/lspci.c: Likewise.
32159 * commands/probe.c: Likewise.
32160 * commands/xnu_uuid.c: Likewise.
32161 * conf/i386-coreboot.rmk: Likewise.
32162 * conf/i386-efi.rmk: Likewise.
32163 * conf/i386-ieee1275.rmk: Likewise.
32164 * conf/i386-pc.rmk: Likewise.
32165 * conf/powerpc-ieee1275.rmk: Likewise.
32166 * conf/sparc64-ieee1275.rmk: Likewise.
32167 * conf/x86_64-efi.rmk: Likewise.
32168 * fs/i386/pc/pxe.c: Likewise.
32169 * gettext/gettext.c: Likewise.
32170 * include/grub/efi/graphics_output.h: Likewise.
32171 * include/grub/i386/pc/memory.h: Likewise.
32172 * kern/env.c: Likewise.
32173 * kern/i386/qemu/startup.S: Likewise.
32174 * lib/i386/pc/biosnum.c: Likewise.
32175 * lib/i386/relocator.c: Likewise.
32176 * lib/i386/relocator_asm.S: Likewise.
32177 * lib/relocator.c: Likewise.
32178 * loader/i386/bsd.c: Likewise.
32179 * loader/i386/multiboot.c: Likewise.
32180 * loader/i386/pc/chainloader.c: Likewise.
32181 * loader/i386/xnu.c: Likewise.
32182 * loader/xnu.c: Likewise.
32183 * normal/main.c: Likewise.
32184 * normal/menu_text.c: Likewise.
32185 * util/getroot.c: Likewise.
32186 * util/grub-mkconfig_lib.in: Likewise.
32187 * util/grub.d/00_header.in: Likewise.
32188 * util/i386/pc/grub-mkimage.c: Likewise.
32189 * util/mkisofs/eltorito.c: Likewise.
32190 * util/mkisofs/exclude.h: Likewise.
32191 * util/mkisofs/hash.c: Likewise.
32192 * util/mkisofs/iso9660.h: Likewise.
32193 * util/mkisofs/joliet.c: Likewise.
32194 * util/mkisofs/mkisofs.c: Likewise.
32195 * util/mkisofs/mkisofs.h: Likewise.
32196 * util/mkisofs/multi.c: Likewise.
32197 * util/mkisofs/name.c: Likewise.
32198 * util/mkisofs/rock.c: Likewise.
32199 * util/mkisofs/tree.c: Likewise.
32200 * util/mkisofs/write.c: Likewise.
32201 * video/efi_gop.c: Likewise.
32202
009ec743
VS
322032009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32204
32205 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32206 size counting.
32207
0ad46fd7 322082009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
32209
32210 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32211 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32212
d3d30ea0
VS
322132009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32214
32215 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32216 (GRUB_MOD_INIT(memrw)): Update help line.
32217
a34f5c70
VS
322182009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32219
32220 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32221 Use grub_extcmd_t. All users updated.
32222 (options): New variable.
32223 (grub_cmd_read): Restructure for readability. Support "-v" option.
32224 (grub_cmd_write): Restructure for readability.
32225
0ad46fd7 322262009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
32227
32228 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32229
0ad46fd7 322302009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
32231
32232 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32233 with the actual contents of the correspondending make variable.
32234 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32235 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32236 specifying `*.lst' and `efiemu??.o'
32237
0ad46fd7 322382009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
32239
32240 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32241 after function name.
32242 Noticed by Rene Engelhard <rene@debian.org>.
32243
dc77a799
VS
322442009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32245
32246 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32247 (options): New variable.
32248 (iospace): Likewise.
32249 (grub_lspci_iter): List IO spaces if "-i" was given.
32250 (grub_cmd_lspci): Parse options.
32251 (GRUB_MOD_INIT(lspci)): Use extcmd.
32252 (GRUB_MOD_FINI(lspci)): Likewise.
32253
0ad46fd7 322542009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
32255
32256 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32257 `function' keyword.
32258 Patch by Tony Mancill <tmancill@debian.org>.
32259
b5d5993b
VS
322602009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32261
32262 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32263 (grub_uhci_portstatus): Likewise.
32264 (grub_uhci_portstatus): Add necessary delay.
11d18281 32265 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 32266
941903f2 322672009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 32268
941903f2 32269 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32270 (GRUB_MOD_INIT): Likewise.
32271 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 32272 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32273 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 32274 * commands/efi/loadbios.c (enable_rom_area): Likewise.
32275 (enable_rom_area): Likewise.
32276 (GRUB_MOD_INIT): Likewise.
32277 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32278 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32279 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32280 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32281 * commands/hexdump.c (options): Likewise.
32282 * commands/i386/cpuid.c (options): Likewise.
32283 (GRUB_MOD_INIT): Likewise.
32284 * commands/i386/pc/drivemap.c (options): Likewise.
32285 (GRUB_MOD_INIT): Likewise.
32286 * commands/i386/pc/halt (options): Likewise.
32287 (GRUB_MOD_INIT): Likewise.
32288 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32289 * commands/i386/pc/pxecmd.c (options): Likewise.
32290 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32291 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32292 * commands/keystatus.c (options): Likewise.
32293 (GRUB_MOD_INIT): Likewise.
32294 * commands/loadenv.c (options): Likewise.
32295 * commands/ls.c (options): Likewise.
32296 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32297 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32298 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32299 * commands/parttool.c (helpmsg): Likewise.
32300 * commands/probe.c (options): Likewise.
32301 * commands/read.c (GRUB_MOD_INIT): Likewise.
32302 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32303 * commands/search.c (options): Likewise.
32304 * commands/sleep.c (options): Likewise.
32305 * commands/test.c (GRUB_MOD_INIT): Likewise.
32306 * commands/true.c (GRUB_MOD_INIT): Likewise.
32307 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32308 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32309 * lib/arg.c (help_options): Likewise.
e9bbb4e7 32310 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32311 `$(XGETTEXT)'.
98a50553 32312 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 32313
0ad46fd7 323142009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 32315
ef3c2c3a 32316 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
32317 instead of specifying them explicit.
32318
7922f68b
RM
323192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32320
32321 * NEWS: Add grub-probe support for GNU/Hurd.
32322
537ce47f
RM
323232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32324
32325 * NEWS: gettext was added after 1.97.
32326
9b214e3a
RM
323272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32328
32329 * util/mkisofs/msdos_partition.h: New file (based on
32330 include/grub/msdos_partition.h).
32331 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
32332 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
32333 (ld_options, main): Recognize --protective-msdos-label.
32334 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
32335 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32336 (padblock_write): If `use_protective_msdos_label' is set, patch a
32337 protective DOS-style label in the output image.
32338
32339 * util/grub-mkrescue.in: Use --protective-msdos-label.
32340
e9309813
RM
323412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32342
32343 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32344 boot.
32345
0ae56929
RM
323462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32347
32348 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32349 variables.
32350 (ld_options, main): Recognize `--embedded-boot'.
32351 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32352 declarations.
32353 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32354 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32355 (padblock_write): Likewise. Rewrite to support embedded boot image.
32356
32357 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32358 for BIOS-based disk boot instead of only ElTorito.
32359
b15937b1
RM
323602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32361
32362 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
32363 build (not needed for bootstrap).
32364
52cc3ce0
RM
323652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32366
32367 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
32368 from i386-pc build (not needed for bootstrap).
32369 Rewrite a pair of strings.
32370
36f5ff04
RM
323712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32372
32373 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
32374
973c6c85 323752009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
32376
32377 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
32378
05d21547
AB
323792009-12-21 Andreas Born <futur.andy@googlemail.com>
32380
32381 * kern/env.c (grub_env_context_open): Mark exported variable for
32382 reexport.
32383
0175d51f
AB
323842009-12-21 Andreas Born <futur.andy@googlemail.com>
32385
32386 * kern/env.c (grub_env_export): Create nonexistent variables before
32387 exporting.
32388
7f39d92f 323892009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 32390
7f39d92f 32391 * include/grub/auth.h: Include `<grub/i18n.h>'.
32392 (GRUB_GET_PASSWORD): Gettextizze string.
32393 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
32394 menu_text.c.
32395 (grub_utf8_to_ucs4_alloc): Fix indentation.
32396 (grub_print_ucs4): Likewise.
32397 (grub_getstringwidth): Likewise.
32398 (print_message_indented): New declaration.
32399 * normal/auth.c: Include `<grub/i18n.h>'.
32400 (grub_auth_check_authentication): Gettexttize string.
32401 * normal/cmdline.c: Include `<grub/i18n.h>'.
32402 (grub_cmdline_get): Gettextizze.
32403 * normal/color.c: Include `<grub/i18n.h>'.
32404 (grub_parse_color_name_pair): Gettexttize strings.
32405 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
32406 string (use `print_message_indented').
32407 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
32408 `include/grub/normal.h'.
32409 (print_message_indented): Renamed to ...
32410 (grub_print_message_indented): ... this. Remove `static' qualifer (now
32411 used in normal/main.c).
32412 (print_message): Use `grub_print_message_indented' instead of
32413 `print_message_indented'.
32414 (print_timeout): Likewise.
32415 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
32416 (grub_normal_print_device_info): Gettexttize strings.
32417 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
32418
3041d898
VS
324192009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32420
32421 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
32422 of arguments. Return number of tokens and not arguments. All users
32423 updated.
32424
de15bf8e
VS
324252009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32426
32427 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
32428 non-MSDOS paritions.
32429
e0a6ca52
VS
324302009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
32431
32432 * include/grub/types.h (UNUSED): Removed since it conflicts with
32433 NetBSD headers. All users changed to direct __attribute__ ((unused)).
32434 Reported by Grégoire Sutre.
32435
b99518d1 324362009-12-19 Carles Pina i Estany <carles@pina.cat>
32437
32438 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
32439 (grub_print_ucs4_alloc): Likewise.
32440 (grub_getstringwidth): Likewise.
32441 * normal/main.c (grub_normal_init_page): Gettextize version string.
32442 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
32443 (getstringwidth): Renamed to ...
32444 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
32445 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32446 (grub_print_ucs4): Remove `static' qualifer (now used in
32447 normal/main.c).
32448 * po/POTFILES: Add normal/main.c.
32449
bfd5e52b 324502009-12-19 Carles Pina i Estany <carles@pina.cat>
32451
32452 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32453 (print_message_indented): Add `margin_left' and `margin_right'
32454 parameters.
32455 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32456 strings.
32457 (print_timeout): Use `print_message_indented' to print the message.
32458 Deletes `second_stage' parameter.
32459 (run_menu): Update `print_timeout' calls.
32460
5a1ad2b9
VS
324612009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32462
32463 Fix console palette on OpenFirmware.
32464
32465 * term/ieee1275/ofconsole.c (MAX): Removed.
32466 (colors): Redone based on VGA palette.
32467 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32468 colors are supported.
32469 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32470
b045f00a
VS
324712009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32472
32473 Fix potential EfiEmu double prepare.
32474
32475 * efiemu/main.c (prepared): New variable
32476 (grub_efiemu_unload): Set prepare to '0'.
32477 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32478
32479 set_virtual_address_map support.
32480
32481 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32482 prototype.
32483 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32484 prototype.
32485 (grub_efiemu_crc32): Likewise.
32486 (grub_efiemu_crc64): Likewise.
32487 (grub_efiemu_set_virtual_address_map): Likewise.
32488 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32489 New definition.
32490 (grub_autoefi_set_virtual_address_map): Likewise.
32491 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32492 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32493 Restructure flow to accomodate it.
32494 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32495 (grub_efiemu_crc): Recompute CRC32.
32496 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32497 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32498 * efiemu/symbols.c (relocated_handle): New variable.
32499 (grub_efiemu_free_syms): Free relocated_handle.
32500 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32501 (grub_efiemu_write_sym_markers): New function.
32502 (grub_efiemu_set_virtual_address_map): Likewise.
32503
32504 Newer XNU parameters.
32505
32506 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32507 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32508 (grub_xnu_fill_devicetree): New prototype.
32509 (grub_xnu_heap_real_start): New variable.
32510 * loader/xnu.c (get_name_ptr): New function.
32511 (grub_xnu_load_driver): Fill namelen and name.
32512
32513 64-bit xnu support.
32514
32515 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32516 and 'loader/macho64.c'.
32517 * conf/i386-pc.rmk: Likewise.
32518 * conf/x86_64-efi.rmk: Likewise.
32519 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32520 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32521 * include/grub/macho.h (grub_macho_segment64): New structure.
32522 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32523 (grub_macho_size32): ... to this.
32524 (grub_macho32_get_entry_point): Renamed from ...
32525 (grub_macho_get_entry_point32): ... to this.
32526 (grub_macho_contains_macho64): New prototype.
32527 (grub_macho_size64): Likewise.
32528 (grub_macho_get_entry_point64): Likewise.
32529 (grub_macho32_load): Renamed from ...
32530 (grub_macho_load32): ... to this.
32531 (grub_macho32_filesize): Renamed from ...
32532 (grub_macho_filesize32): ... to this.
32533 (grub_macho32_readfile): Renamed from ...
32534 (grub_macho_readfile32): ... to this.
32535 (grub_macho_filesize64): New prototype.
32536 (grub_macho_readfile64): Likewise.
32537 (grub_macho_parse32): Likewise.
32538 (grub_macho_parse64): Likewise.
32539 * loader/macho.c: Split into ...
32540 * loader/machoXX.c: ... and this. Replace 32 with XX.
32541 * loader/macho32.c: New file.
32542 * loader/macho64.c: Likewise.
32543 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32544 (grub_cmd_xnu_kernel): Make 32-bit only.
32545 (grub_cmd_xnu_kernel64): New function.
32546 (grub_xnu_load_driver): Support Mach-O 64.
32547 (grub_cmd_xnu_mkext): Likewise.
32548 * util/grub.d/30_os-prober.in (osx_entry): New function.
32549 Generate entries for 64-bit boot too.
32550
32551 Eliminate ad-hoc tree format in XNU and EfiEmu.
32552
32553 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32554 * efiemu/pnvram.c: Rewritten to use environment variables.
32555 All users updated.
32556
32557 Inline utf16_to_utf8.
32558
32559 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32560 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32561 All users updated.
32562 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32563
32564 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32565 * commands/usbtest.c (grub_usb_get_string): ... move here.
32566 (usb_print_str): Fix error handling.
32567 * include/grub/usb.h (grub_usb_get_string): Remove.
32568
32569 UTF-8 to UTF-16 transformation.
32570
32571 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32572 (charset_mod_SOURCES): New variable.
32573 (charset_mod_CFLAGS): Likewise.
32574 (charset_mod_LDFLAGS): Likewise.
32575 * include/grub/utf.h: New file.
32576 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32577
32578 Support for device properties.
32579
32580 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32581 (grub_xnu_devprop_device_header): Likewise.
32582 (grub_xnu_devprop_device_descriptor): Likewise.
32583 (grub_xnu_devprop_add_device): New prototype.
32584 (grub_xnu_devprop_remove_device): Likewise.
32585 (grub_xnu_devprop_remove_property): Likewise.
32586 (grub_xnu_devprop_add_property_utf8): Likewise.
32587 (grub_xnu_devprop_add_property_utf16): Likewise.
32588 (grub_cpu_xnu_init): Likewise.
32589 (grub_cpu_xnu_fini): Likewise.
32590 (grub_cpu_xnu_unload): Likewise.
32591 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32592 (property_descriptor): Likewise.
32593 (devices): New variable.
32594 (grub_xnu_devprop_remove_property): New function.
32595 (grub_xnu_devprop_add_device): Likewise.
32596 (grub_xnu_devprop_remove_device): Likewise.
32597 (grub_xnu_devprop_add_property): Likewise.
32598 (grub_xnu_devprop_add_property_utf8): Likewise.
32599 (grub_xnu_devprop_add_property_utf16): Likewise.
32600 (hextoval): Likewise.
32601 (grub_cpu_xnu_fill_devprop): Likewise.
32602 (grub_cmd_devprop_load): Likewise.
32603 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32604 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32605 (cmd_devprop_load): New variable.
32606 (grub_cpu_xnu_init): New function.
32607 (grub_cpu_xnu_fini): Likewise.
32608 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32609 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32610 (grub_cmd_xnu_devtree): Likewise.
32611 (hextoval): New function.
32612 (unescape): Likewise.
32613 (grub_xnu_fill_devicetree): Likewise.
32614
32615 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32616 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32617
0945f181
VS
326182009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32619
32620 Workaround for broken ATI VBE.
32621
32622 * video/i386/pc/vbe.c (last_set_mode): New variable.
32623 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32624 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32625 (grub_video_vbe_setup): Don't check for reserved flag.
32626
0ad46fd7 326272009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32628
32629 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32630 the `find' command.
32631
c179ebe4
VS
326322009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32633
32634 UUID support for HFS.
32635
32636 * fs/hfs.c (grub_hfs_uuid): New function.
32637 (grub_hfs_fs): New value .uuid.
32638 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32639
0ad46fd7 326402009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32641
32642 Fix a segfault with parsing unknown long options.
32643
32644 * util/grub-mkrelpath.c (options): Zero terminate it.
32645
c4a3e41a
CPE
326462009-12-13 Carles Pina i Estany <carles@pina.cat>
32647
32648 * include/grub/misc.h (grub_puts): New declaration.
32649 (grub_puts_): Likewise.
a22008a6 32650 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32651 (grub_puts_): Likewise.
32652
2e8a7602
RM
326532009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32654
32655 * util/grub-probe.c (probe): Improve error message.
32656
b50b77b9
RM
326572009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32658
32659 * loader/i386/multiboot_elfxx.c
32660 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32661 initialization.
32662
326632009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32664
32665 Relocator framework
32666
32667 * loader/i386/xnu_helper.S: Removed. All users updated.
32668 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32669 (relocator_mod_SOURCES): New variable.
32670 (relocator_mod_CFLAGS): Likewise.
32671 (relocator_mod_LDFLAGS): Likewise.
32672 (relocator_mod_ASFLAGS): Likewise.
32673 * conf/x86_64.rmk: Likewise.
32674 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32675 (grub_multiboot_payload_entry_offset): Likewise.
32676 (grub_multiboot_forward_relocator): Likewise.
32677 (grub_multiboot_forward_relocator_end): Likewise.
32678 (grub_multiboot_backward_relocator): Likewise.
32679 (grub_multiboot_backward_relocator_end): Likewise.
32680 (grub_multiboot_payload_eip): New variable.
32681 (grub_multiboot_payload_orig): Likewise.
32682 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32683 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32684 * include/grub/i386/memory.h
32685 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32686 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32687 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32688 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32689 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32690 * include/grub/i386/relocator.h: New file.
32691 * include/grub/x86_64/relocator.h: Likewise.
32692 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32693 (XNU_RELOCATOR): New macro.
32694 (grub_xnu_launcher_start): Remove.
32695 (grub_xnu_launcher_end): Likewise.
32696 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32697 (grub_xnu_heap_real_start): Remove.
32698 (grub_xnu_heap_start): Change to void *. All users updated.
32699 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32700 * lib/i386/relocator.c: New file.
32701 * lib/i386/relocator_asm.S: Likewise.
32702 * lib/i386/relocator_backward.S: Likewise.
32703 * lib/mips/relocator.c: Likewise.
32704 * lib/mips/relocator_asm.S: Likewise.
32705 * lib/relocator.c: Likewise.
32706 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32707 (entry): Removed.
32708 (playground): Likewise.
32709 (grub_multiboot_payload_orig): New variable.
32710 (grub_multiboot_payload_dest): Likewise.
32711 (grub_multiboot_payload_size): Likewise.
32712 (grub_multiboot_payload_eip): Likewise.
32713 (grub_multiboot_payload_esp): Likewise.
32714 (grub_multiboot_boot): Use grub_relocator32_boot.
32715 (grub_multiboot_unload): Free relocators.
32716 (grub_multiboot): Setup stack. Use relocators.
32717 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32718 (grub_multiboot_load_elfXX): Use relocators.
32719 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32720 (grub_multiboot_payload_size): Likewise.
32721 (grub_multiboot_payload_dest): Likewise.
32722 (grub_multiboot_payload_entry_offset): Likewise.
32723 (grub_multiboot_forward_relocator): Likewise.
32724 (grub_multiboot_backward_relocator): Likewise.
32725 (grub_multiboot_real_boot): Likewise.
32726 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32727 (grub_xnu_entry_point): Likewise.
32728 (grub_xnu_arg1): Likewise.
32729 (grub_xnu_stack): Likewise.
32730 (grub_xnu_launch): Removed.
32731 (grub_xnu_boot_resume): New function.
32732 (grub_xnu_boot): Use relocators.
32733 * loader/i386/xnu_helper.S: Removed.
32734 * loader/xnu.c (grub_xnu_heap_start): New variable.
32735 (grub_xnu_heap_size): Likewise.
32736 (grub_xnu_heap_malloc): Use relocators.
32737 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32738
29eb90c6
VS
327392009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32740
32741 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32742 anything.
32743
31027430
CPE
327442009-12-13 Carles Pina i Estany <carles@pina.cat>
32745
32746 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32747 GRUB_ERR_NONE before calling grub_env_set.
32748
dc0c71d9
RM
327492009-12-12 Robert Millan <rmh@aybabtu.com>
32750
32751 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32752 * genmk.rb (video): New variable.
32753 (CLEANFILES, VIDEOFILES): Add #{video}.
32754 (#{video}): New target rule.
32755 * genvideolist.sh: New file.
32756 * Makefile.in (pkglib_DATA): Add video.lst.
32757 (video.lst): New target rule.
32758 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32759 `video.lst'.
32760 * util/grub.d/30_os-prober.in: Replace `vbe' with
32761 ${GRUB_VIDEO_BACKEND}.
32762
2a4bfcf0
RM
327632009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32764
32765 * THANKS: Add David Miller.
32766
2a3aa4d5
RM
327672009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32768
32769 libpciaccess support.
32770
32771 * Makefile.in (LIBPCIACCESS): New variable.
32772 (enable_grub_emu_pci): Likewise.
32773 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32774 util/pci.c and commands/lspci.c.
32775 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32776 * configure.ac (grub-emu-pci): New option.
32777 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32778 (grub_pci_device_unmap_range): Likewise.
32779 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32780 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32781 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32782 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32783 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32784 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32785 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32786 * include/grub/pciutils.h: New file.
32787 * util/pci.c: Likewise.
32788
0ad46fd7 327892009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32790
32791 * util/misc.c: Don't include <errno.h> twice.
32792
0ad46fd7 327932009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32794
32795 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32796 name in an error message.
32797 (grub_biosdisk_rw): Likewise.
32798
2e59983c
VS
327992009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32800
32801 Eliminate NTFS 4Gib barrier.
32802
32803 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32804 (read_run_data): Likewise.
32805 (grub_ntfs_read_run_list): Likewise.
32806 (grub_ntfs_read_block): Likewise.
32807 (grub_ntfs_iterate_dir): Likewise.
32808 (read_mft): Likewise.
32809 (read_data): Likewise.
32810 Use COM_LOG_LEN.
32811 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32812 to avoid 64-bit division
32813 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32814 (grub_ntfs_rlst): Use grub_disk_addr_t.
32815
71ee178a
VS
328162009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32817
32818 Eliminate grub-fstest 4Gib barrier.
32819
32820 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32821 (read_file): Fix error reporting.
32822
2520d4b8
VS
328232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32824
32825 Eliminate hexdump 4Gib barrier.
32826
32827 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32828 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32829
e1f27065
VS
328302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32831
32832 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32833 Fixes amarsh bug.
32834
1a0f7f45
RM
328352009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32836
32837 Remove miscellaneous files in distclean target.
32838
32839 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32840
c631d9fb
CW
328412009-12-09 Colin Watson <cjwatson@ubuntu.com>
32842
32843 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32844 if they're already set. This resolves the conflict between my
32845 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32846 fixing the --grub-probe option again.
32847 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32848 change on 2009-10-06, so that we now once again source
32849 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32850
7c7b6106
RM
328512009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32852
32853 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32854 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32855 `util/devicemap.c'.
32856
e3069ec1
CPE
328572009-12-08 Carles Pina i Estany <carles@pina.cat>
32858
32859 * include/grub/misc.h (grub_printf_): New declaration.
32860 * kern/misc.c (grub_printf_): New definition.
32861 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32862 instead of `grub_printf' and `_'.
32863 * normal/menu_entry.c (store_completion): Likewise.
32864 (run): Likewise.
32865 (grub_menu_entry_run): Likewise.
32866 * normal/menu_text.c (grub_wait_after_message): Likewise.
32867 (notify_booting): Likewise.
32868 (notify_fallback): Likewise.
32869 (notify_execution_failure): Likewise.
32870
d6ceebf1
CW
328712009-12-07 Colin Watson <cjwatson@ubuntu.com>
32872
32873 * configure.ac: Check for vasprintf.
32874 * util/misc.c (asprintf): Move allocation from here ...
32875 (vasprintf): ... to here. New function.
32876 (xasprintf): New function.
32877 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32878 prototypes.
32879 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32880 * util/grub-mkfont.c (write_font): Likewise.
32881 * util/grub-probe.c (probe): Likewise.
32882 * util/hostdisk.c (make_device_name): Likewise.
32883
de6daa8b
DM
328842009-12-06 David S. Miller <davem@sunset.davemloft.net>
32885
32886 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32887 anything even prefixed with 'cdrom' as a cdrom.
32888
0ad46fd7 328892009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32890
32891 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32892 mount points.
32893
98d3dc02
CPE
328942009-12-05 Carles Pina i Estany <carles@pina.cat>
32895
32896 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32897 grub_gettext_msg_list.
32898 (grub_gettext_gettranslation_from_position): Return const char *
32899 and not char *.
a2c1332b 32900 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32901 returns from the list if existing there.
32902 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32903 (grub_gettext_delete_list): Delete the list.
32904 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32905 lang environment variable is changed.
32906 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32907
b283f108
VS
329082009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32909
32910 Rename kernel.mod to kernel.img.
32911
32912 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32913 (kernel_mod_EXPORTS): Rename to ...
32914 (kernel_img_EXPORTS): ... this.
32915 (kernel_mod_SOURCES): Rename to ...
32916 (kernel_img_SOURCES): ... this.
32917 (kernel_mod_HEADERS): Rename to ...
32918 (kernel_img_HEADERS): ... this. All users updated.
32919 (kernel_mod_CFLAGS): Rename to ...
32920 (kernel_img_CFLAGS): ... this.
32921 (kernel_mod_ASFLAGS): Rename to ...
32922 (kernel_img_ASFLAGS): ... this.
32923 (kernel_mod_LDFLAGS): Rename to ...
32924 (kernel_img_LDFLAGS): ... this.
32925 * conf/x86_64-efi.rmk: Likewise.
32926 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32927 (read_kernel_image): ... this. All users updated.
32928 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32929
69055f8a
CPE
329302009-12-05 Carles Pina i Estany <carles@pina.cat>
32931
32932 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32933 (print_spaces): New function.
32934 (grub_print_ucs4): New function.
32935 (getstringwidth): New function.
32936 (print_message_indented): New function.
32937 (print_message): Gettexttize strings using print_message_indented.
32938 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32939 width.
32940 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32941 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32942 Gettextize.
32943 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32944 string.
32945 (run): Likewise.
32946 (grub_menu_entry_run): Likewise.
32947 * PO/POTFILES: Add normal/menu_entry.c.
32948
f616f51c
VS
329492009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32950
32951 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32952
57bbe3be
CPE
329532009-12-05 Carles Pina i Estany <carles@pina.cat>
32954
32955 * util/grub-install.in: Install gettext .mo files.
32956 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32957
013d67a1
CPE
329582009-12-05 Carles Pina i Estany <carles@pina.cat>
32959
32960 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32961 grub_dprintf.
32962
fb954db0
RM
329632009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32964
32965 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32966 non-firmware-dependant one in realmode.S takes precedence.
32967
6b8474f8
RM
329682009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32969
32970 * commands/halt.c: Replace misc arch-specific headers with
32971 `<grub/misc.h>'.
32972 * commands/reboot.c: Likewise.
32973 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32974 `<grub/misc.h>'.
32975 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32976 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32977 (kernel_img_SOURCES): ... to here.
32978
32979 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32980 * include/grub/i386/pc/init.h: Likewise.
32981 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32982 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32983
32984 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32985
32986 * include/grub/i386/halt.h: Remove.
32987 * include/grub/i386/reboot.h: Likewise.
32988
32989 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32990
4b2e6ca2
DM
329912009-12-03 David S. Miller <davem@sunset.davemloft.net>
32992
32993 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32994 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32995 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32996 "progname.h"
32997 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32998 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32999 (usage): Add missing comma in printf.
33000
5239348f
RM
330012009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33002
33003 Use the same reboot approach on i386 coreboot and qemu as we do on
33004 BIOS.
33005
33006 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33007 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33008 * kern/i386/reboot.c: Remove.
33009 * include/grub/i386/reboot.h (grub_reboot): Export function.
33010 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33011 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33012 0xf000:0xfff0 instead of 0xffff:0x0000.
33013 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33014 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33015
ef34cbd4
RM
330162009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33017
33018 Fix $srcdir != $objdir build.
33019
33020 * Makefile.in (po/%.po): Rewrite as ...
33021 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33022
dc9837ea
ST
330232009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33024
33025 Fix GNU/Hurd grub-install crash.
33026 * util/grub-probe.c (probe): Try to access `path' only when it is not
33027 NULL.
33028
2f857f98
VS
330292009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33030
33031 Correct module naming.
33032
33033 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33034 (GRUB_MOD_INIT(efi_uga)): ... to this
33035 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33036 (GRUB_MOD_FINI(efi_uga)): ... to this
33037 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33038 (GRUB_MOD_INIT(efi_gop)): ... to this
33039 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33040 (GRUB_MOD_FINI(efi_gop)): ... to this
33041
c5448046
RM
330422009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33043
33044 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33045 translatable.
33046 (usage): Translate `arg' strings using gettext().
33047 Thanks to Jordi Mallach for the suggestion.
33048
c85184ad
VS
330492009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33050
33051 GOP support. Based on patch from Bean
33052 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33053
33054 * video/efi_gop.c: New file.
33055 * include/grub/efi/graphics_output.h: Likewise.
33056 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33057 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33058 variables.
33059 * conf/x86_64-efi.rmk: Likewise.
33060
8a4c48d8
VS
330612009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33062
33063 Rename efi_fb to efi_uga.
33064
33065 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33066 'efi_uga.mod'.
33067 (efi_fb_mod_SOURCES): Rename this ...
33068 (efi_uga_mod_SOURCES): ... to this.
33069 (efi_fb_mod_CFLAGS): Rename this ...
33070 (efi_uga_mod_CFLAGS): ... to this.
33071 (efi_fb_mod_LDFLAGS): Rename this ...
33072 (efi_uga_mod_LDFLAGS): ... to this.
33073 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33074 'efi_uga.mod'.
33075 (efi_fb_mod_SOURCES): Rename this ...
33076 (efi_uga_mod_SOURCES): ... to this.
33077 (efi_fb_mod_CFLAGS): Rename this ...
33078 (efi_uga_mod_CFLAGS): ... to this.
33079 (efi_fb_mod_LDFLAGS): Rename this ...
33080 (efi_uga_mod_LDFLAGS): ... to this.
33081 * video/efi_fb.c: Move this ...
33082 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33083
fb6c1a7b
RM
330842009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33085
33086 * po/README: New file. Explain our PO file workflow.
33087
3bc7896c
RM
330882009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33089
33090 * po/ChangeLog: Remove. Move relevant entries back to ...
33091 * ChangeLog: ... here.
33092 * po/ca.po: Remove (now handled by TLP).
33093 * po/id.po: Likewise.
33094 * po/zh_CN.po: Likewise.
33095 * Makefile.in (LINGUAS): Initialize in a way that supports
33096 empty set.
33097
9ed4841d
RM
330982009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33099
33100 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33101 reliing on po/LINGUAS.
33102 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33103 (po/%.po): ... this.
33104
0ad46fd7 331052009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
33106
33107 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33108 (main): Use `program_name' instead of nonexistent `progname'.
33109
e30dd392
FZ
331102009-11-26 Felix Zielcke <fzielcke@z-51.de>
33111
33112 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33113 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33114
7656de4f
RM
331152009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33116
33117 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33118 commit.
33119 * conf/i386-efi.rmk: Likewise.
33120 * conf/i386-ieee1275.rmk: Likewise.
33121 * conf/powerpc-ieee1275.rmk: Likewise.
33122 * conf/sparc64-ieee1275.rmk: Likewise.
33123 * conf/x86_64-efi.rmk: Likewise.
33124
db77c4d4
FZ
331252009-11-26 Felix Zielcke <fzielcke@z-51.de>
33126
33127 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33128
a755bb04
FZ
331292009-11-26 Felix Zielcke <fzielcke@z-51.de>
33130
33131 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33132
8a4c07fd
RM
331332009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33134
33135 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33136 (grub_mkdevicemap_SOURCES): New variable.
33137 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33138 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33139 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33140 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33141 (grub_mkdevicemap_SOURCES): Remove.
33142 * conf/i386-efi.rmk: Likewise.
33143 * conf/i386-ieee1275.rmk: Likewise.
33144 * conf/i386-pc.rmk: Likewise.
33145 * conf/powerpc-ieee1275.rmk: Likewise.
33146 * conf/sparc64-ieee1275.rmk: Likewise.
33147 * conf/x86_64-efi.rmk: Likewise.
33148 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33149 (usage): Fix strings to use `program_name'.
33150 (main): Initialize gettext.
33151 * util/grub-editenv.c: Likewise.
33152 * util/grub-emu.c: Likewise.
33153 * util/grub-fstest.c: Likewise.
33154 * util/grub-mkdevicemap.c: Likewise.
33155 * util/grub-mkfont.c: Likewise.
33156 * util/grub-mkrelpath.c: Likewise.
33157 * util/grub-pe2elf.c: Likewise.
33158 * util/grub-probe.c: Likewise.
33159 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33160 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33161 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33162
33163 * util/misc.c: Include `"progname.h"'.
33164 (progname): Remove variable.
33165 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33166
6f61ed55
FZ
331672009-11-25 Felix Zielcke <fzielcke@z-51.de>
33168
33169 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33170 printf and print a newline after the menuentry header line.
33171 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33172
f022876b
FZ
331732009-11-25 Felix Zielcke <fzielcke@z-51.de>
33174
33175 autoconf >= 2.60 support $(localedir).
33176
33177 * INSTALL: Note that autoconf 2.60 is required.
33178 * configure.ac (AC_PREREQ): Bump to 2.60.
33179 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33180 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33181
6717926e
YB
331822009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33183
33184 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33185 aclocal is run.
33186
08806a54
RM
331872009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33188
33189 * normal/main.c (grub_normal_read_line): Fix off-by-one
33190 buffer overflow.
33191
13b33fba
RM
331922009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33193
33194 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33195 "parser.grub" in grub_command_execute() call.
33196
4a8572e9
CPE
331972009-11-24 Carles Pina i Estany <carles@pina.cat>
33198
33199 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33200 * conf/i386-efi.rmk: Likewise.
33201 * conf/i386-ieee1275.rmk: Likewise.
33202 * conf/i386-pc.rmk: Likewise.
33203 * conf/powerpc-ieee1275.rmk: Likewise.
33204 * conf/sparc64-ieee1275.rmk: Likewise.
33205 * conf/x86_64-efi.rmk: Likewise.
33206 * gettext/gettex.c: Include <grub/i18n.h>.
33207 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33208 here ...
33209 * include/grub/i18n.h: ... to here
33210 * include/grub/i18n.h: ... to here.
33211 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 33212 (grub_gettext_dummy): Move above user.
4a8572e9 33213
bee48093
FZ
332142009-11-24 Felix Zielcke <fzielcke@z-51.de>
33215
33216 * util/Makefile.in (install-local): Convert a `for' into a normal
33217 shell expansion.
33218
a031e91c
RM
332192009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33220
33221 * autogen.sh: Add automake call.
33222 * config.guess: Remove.
33223 * config.sub: Likewise.
33224 * install-sh: Likewise.
33225
26bec39d
FZ
332262009-11-24 Felix Zielcke <fzielcke@z-51.de>
33227
33228 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33229
8e2532fd
FZ
332302009-11-24 Felix Zielcke <fzielcke@z-51.de>
33231
33232 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33233 function to a normal shell `for'.
33234
fefa1b7d
FZ
332352009-11-24 Felix Zielcke <fzielcke@z-51.de>
33236
33237 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33238
4501250b
FZ
332392009-11-24 Felix Zielcke <fzielcke@z-51.de>
33240
33241 * util/grub-mkrelpath.c: New file.
33242 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33243 (grub_mkrelpath_SOURCES): New variable.
33244 * include/grub/util/misc.h: New function prototype.
33245 * util/misc.c (make_system_path_relative_to_its_root): New function.
33246
33247 * util/grub-mkconfig_lib.in (bindir): New variable.
33248 (grub_mkrelpath): Likewise.
33249 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33250
33251 * util/probe.c (probe): Make the file path relative to its root.
33252 Change a info message to use the GRUB path. Enable again the
33253 check if we can read the file with GRUB facilities.
33254
33255 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33256 to its root.
33257
11d9778b
FZ
332582009-11-24 Felix Zielcke <fzielcke@z-51.de>
33259
33260 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33261 platform.
33262
4465287d
FZ
332632009-11-24 Felix Zielcke <fzielcke@z-51.de>
33264
33265 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33266 strncmp().
33267
62b47f22
FZ
332682009-11-24 Felix Zielcke <fzielcke@z-51.de>
33269
33270 * util/getroot.c (grub_util_is_dmraid): New function.
33271 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33272 devices as normal ones, not as LVM.
33273
1eafb9b9 332742009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
33275
33276 * conf/common.rmk: Add grub-gettext_lib target and updates
33277 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33278 LDFLAGS.
33279 * gettext/gettext.c: New file. (Reads mo files).
33280 * include/grub/file.h (grub_file_pread): New prototype.
33281 * include/grub/i18n.h (_): New prototype.
33282 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33283 prototypes.
33284 * kern/misc.c (grub_gettext_dummy): New function.
33285 * normal/menu_text.c: Include <grub/i18n.h>.
33286 * normal/menu_text.c (print_timeout): Gettexttize string.
33287 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
33288 * po/POTFILES: Add `normal/menu_text.c'.
33289 * po/ca.po: Add new translations.
c3ea6bd4
CPE
33290 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33291 gettext module and defines locale_dir and lang in grub.cfg.
33292 * NEWS: Add gettext support.
33293
0fdb2568
RM
332942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33295
33296 * util/hostdisk.c: Include `<grub/i18n.h>'.
33297 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33298 (make_device_name): Rewrite using asprintf.
33299 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33300 (find_system_device): If a device is not found, generate one just
33301 by reusing the OS path name.
33302 (read_device_map): Make it permissible for device.map not to exist.
33303
f515aa62
RM
333042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33305
33306 * script/sh/execute.c: Move from here ...
33307 * script/execute.c: ... to here. Update all users.
33308 * script/sh/function.c: Move from here ...
33309 * script/function.c: ... to here. Update all users.
33310 * script/sh/lexer.c: Move from here ...
33311 * script/lexer.c: ... to here. Update all users.
33312 * script/sh/main.c: Move from here ...
33313 * script/main.c: ... to here. Update all users.
33314 * script/sh/parser.y: Move from here ...
33315 * script/parser.y: ... to here. Update all users.
33316 * script/sh/script.c: Move from here ...
33317 * script/script.c: ... to here. Update all users.
33318
f84b481b
RM
333192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33320
33321 * configure.ac: Detect all `emu' platforms. Define
33322 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33323 --enable-grub-emu logic. Disable include/grub/machine
33324 symlink on `emu' platforms.
33325
33326 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
33327 * gensymlist.sh.in: Likewise.
33328
33329 * include/grub/i386/coreboot/machine.h: Remove file.
33330 * include/grub/i386/efi/machine.h: Likewise.
33331 * include/grub/i386/ieee1275/machine.h: Likewise.
33332 * include/grub/i386/pc/machine.h: Likewise.
33333 * include/grub/i386/qemu/machine.h: Likewise.
33334 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33335 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33336 * include/grub/x86_64/efi/machine.h: Likewise.
33337
33338 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33339 * commands/halt.c: Likewise.
33340 * commands/reboot.c: Likewise.
33341 * include/grub/autoefi.h: Likewise.
33342 * include/grub/i386/at_keyboard.h: Likewise.
33343 * include/grub/i386/kernel.h: Likewise.
33344 * include/grub/i386/loader.h: Likewise.
33345 * include/grub/i386/pc/memory.h: Likewise.
33346 * kern/dl.c: Likewise.
33347 * kern/i386/coreboot/init.c: Likewise.
33348 * loader/i386/bsd.c: Likewise.
33349 * loader/i386/linux.c: Likewise.
33350 * loader/multiboot_loader.c: Likewise.
33351 * term/i386/pc/serial.c: Likewise.
33352 * term/usb_keyboard.c: Likewise.
33353
33354 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33355 `<grub/machine/machine.h>'
33356 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33357 * util/misc.c: Remove `<grub/machine/machine.h>' and
33358 `<grub/machine/time.h>'.
33359
33360 * Makefile.in (enable_grub_emu): Remove variable.
33361 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
33362
33363 * conf/any-emu.rmk: New file.
33364 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
33365 (grub_emu_init.c): Move from here ...
33366 * conf/any-emu.rmk: ... to here.
33367
33368 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
33369 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
33370 * conf/any-emu.rmk: ... to here.
33371
4efeab03
RM
333722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33373
33374 * include/grub/parser.h (grub_parser_register): Document need
33375 of `name' parameter.
33376 * normal/main.c (grub_normal_read_line): Simplify prompt string.
33377 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
33378 "sh" to "grub".
33379
ea1dd8bf
RM
333802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33381
33382 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
33383 `$(XGETTEXT)'.
33384 * include/grub/i18n.h (N_): New macro.
33385 * util/mkisofs/mkisofs.h: Likewise.
33386 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
33387 around N_().
33388 (usage): Use gettext() to translate help strings when printing them.
33389
0c140626
RM
333902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33391
33392 Based on patch from Bean
33393 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33394
33395 * video/efi_fb.c: New file.
33396 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
33397 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33398 variables.
33399 * conf/x86_64-efi.rmk: Likewise.
33400
87d58298
RM
334012009-11-22 Robert Millan <rmh.grub@aybabtu.com>
33402
33403 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
33404 * util/i386/pc/grub-setup.c: Likewise.
33405
994cc3a3
ST
334062009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
33407
33408 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
33409 <hurd/fs.h>
33410 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
33411 file_get_storage_info to implement grub_guess_root_device.
33412
26a61d6a
FZ
334132009-11-21 Felix Zielcke <fzielcke@z-51.de>
33414
33415 * Makefile.in (target): Use make's builtin $(shell) function
33416 instead of calling directly $(SHELL) to create the locale directories,
33417 inside the $(foreach) function.
33418
74ff1dd5
FZ
334192009-11-21 Felix Zielcke <fzielcke@z-51.de>
33420
33421 * util/grub-mkrescue.in: Print an error and usage if output option
33422 has not been given.
33423
0b787d0e
FZ
334242009-11-21 Felix Zielcke <fzielcke@z-51.de>
33425
33426 Patch from Loïc Minier <loic.minier@ubuntu.com>.
33427 * util/grub.d/30_os-prober.in: Cope with Linux entries where
33428 root and /boot are on different devices.
33429
1164b270
RM
334302009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33431
33432 Fix build for srcdir != objdir.
33433
33434 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
33435 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
33436 $(srcdir).
33437 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
33438 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
33439 reference for input.
33440
13774a2f
RM
334412009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33442
33443 * util/grub-mkrescue.in: Use source directory direcly (without copiing
33444 or hardlinking it). Remove -J option, Joliet is not compatible with
33445 multiple source directories.
33446
efda854e
RM
334472009-11-21 Carles Pina i Estany <carles@pina.cat>
334482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33449
33450 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33451 (process_input_dir): New function. Process an arbitrary input
33452 directory.
33453 Misc adjustments to support both "override mode" and system-wide mode.
33454
6c09890c
FZ
334552009-11-20 Felix Zielcke <fzielcke@z-51.de>
33456
33457 * configure.ac (UNIFONT_BDF): Rename to ...
33458 (FONT_SOURCE): ... this. Update all users.
33459
a797824f
FZ
334602009-11-20 Felix Zielcke <fzielcke@z-51.de>
33461
33462 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33463 to the list of unifont files to look for.
33464
cd4f42b0
RM
334652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33466
33467 Patch from Joe Auricchio <jauricchio@gmail.com>
33468 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33469 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33470 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33471
393c783d
FZ
334722009-11-19 Felix Zielcke <fzielcke@z-51.de>
33473
33474 * Makefile.in (install-local): Add a missing backslash.
33475
b2f1e327
FZ
334762009-11-19 Felix Zielcke <fzielcke@z-51.de>
33477
33478 * include/grub/x86_64/io.h: New file.
33479
f577f7a0
RM
334802009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33481
33482 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33483 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33484 Include `"progname.h"'.
33485 (main): Initialize gettext.
33486 * util/i386/pc/grub-setup.c: Gettexttize.
33487 * util/i386/pc/grub-mkimage.c: Likewise.
33488
33489 * Makefile.in (po/*.po): Redefine as ...
33490 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33491
3bc7896c
RM
33492 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33493
c37943b6
RM
334942009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33495
33496 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33497 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33498 (program_name): Remove.
33499 (main): Initialize gettext support.
6323f705
RM
33500 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33501 Include `<libintl.h>'.
33502 (_): New macro.
c37943b6
RM
33503
33504 * util/mkisofs/eltorito.c: Gettexttize.
33505 * util/mkisofs/joliet.c: Likewise.
33506 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
33507 * util/mkisofs/multi.c: Likewise.
33508 * util/mkisofs/rock.c: Likewise.
33509 * util/mkisofs/tree.c: Likewise.
33510 * util/mkisofs/write.c: Likewise.
33511
3bc7896c
RM
33512 * po/POTFILES: Update with new files.
33513
5ce77c6e
RM
335142009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33515
33516 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33517 * util/mkisofs/iso9660.h: Likewise.
33518 * util/mkisofs/joliet.c: Likewise.
33519 * util/mkisofs/mkisofs.c: Likewise.
33520 * util/mkisofs/mkisofs.h: Likewise.
33521 * util/mkisofs/rock.c: Likewise.
33522 * util/mkisofs/tree.c: Likewise.
33523 * util/mkisofs/write.c: Likewise.
33524
33525 * util/mkisofs/eltorito.c (rcsid): Remove.
33526 * util/mkisofs/hash.c: Likewise.
33527 * util/mkisofs/joliet.c: Likewise.
33528 * util/mkisofs/name.c: Likewise.
33529 * util/mkisofs/rock.c: Likewise.
33530 * util/mkisofs/tree.c: Likewise.
33531 * util/mkisofs/write.c: Likewise.
33532
1dabbc77
RM
335332009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33534
33535 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33536 instead of static allocation.
33537 * util/mkisofs/match.h: Likewise.
33538
633877cb
RM
335392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33540
3bc7896c
RM
33541 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33542 and `util/grub.d/10_linux.in'.
633877cb
RM
33543 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33544 translatable Shell files.
33545
af1c0c85
RM
335462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33547
33548 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33549
769ae37b
RM
335502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33551
33552 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33553 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33554 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33555 Add gettext initialization.
33556 (kfreebsd_entry): Make menuentry output translatable.
33557
335582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33559
33560 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33561 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33562 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33563 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33564 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33565 * po/LINGUAS: New file.
769ae37b
RM
33566
335672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33568
33569 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33570 other things).
33571 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33572 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33573 bindtextdomain() calls for gettext initialization.
33574
335752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33576
33577 * gnulib/progname.c: New file (imported from Gnulib).
33578 * gnulib/progname.h: Likewise.
33579 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33580 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33581 (usage): Replace `progname' with `program_name'.
33582 (main): Use set_program_name() for program name initialization.
33583
335842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33585
33586 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33587 from here ...
33588 * Makefile.in (CPPFLAGS): ... to here.
33589
335902009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33591
33592 * aclocal.m4: Move from here ...
33593 * acinclude.m4: ... to here.
33594 * autogen.sh: Add call to `aclocal'.
33595 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33596
335972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33598
33599 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33600 (LINGUAS): New variable.
33601 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33602 (install-local): Install MO files.
33603 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33604 * include/grub/i18n.h: New file.
3bc7896c
RM
33605 * po/POTFILES: New file.
33606 * po/ca.po: New file.
769ae37b
RM
33607 * util/grub.d/10_linux.in (bindir): New variable.
33608 Add gettext initialization.
33609 (linux_entry): Make menuentry output translatable.
33610 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33611 (usage): Make --help output translatable.
33612 (main): Initialize gettext.
33613
02c0a6ad
RM
336142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33615
33616 * import_gcry.py: New file (written by Vladimir with minor
33617 adjustments).
33618 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33619 ciphers.
33620 * INSTALL: Document that Python is required for bootstrap.
33621
336222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33623
33624 Import ciphers from libgcrypt 1.4.4.
33625
33626 * lib/libgcrypt/cipher/ChangeLog
33627 * lib/libgcrypt/cipher/ac.c
33628 * lib/libgcrypt/cipher/arcfour.c
33629 * lib/libgcrypt/cipher/bithelp.h
33630 * lib/libgcrypt/cipher/blowfish.c
33631 * lib/libgcrypt/cipher/camellia-glue.c
33632 * lib/libgcrypt/cipher/camellia.c
33633 * lib/libgcrypt/cipher/camellia.h
33634 * lib/libgcrypt/cipher/cast5.c
33635 * lib/libgcrypt/cipher/cipher.c
33636 * lib/libgcrypt/cipher/crc.c
33637 * lib/libgcrypt/cipher/des.c
33638 * lib/libgcrypt/cipher/dsa.c
33639 * lib/libgcrypt/cipher/ecc.c
33640 * lib/libgcrypt/cipher/elgamal.c
33641 * lib/libgcrypt/cipher/hash-common.c
33642 * lib/libgcrypt/cipher/hash-common.h
33643 * lib/libgcrypt/cipher/hmac-tests.c
33644 * lib/libgcrypt/cipher/md.c
33645 * lib/libgcrypt/cipher/md4.c
33646 * lib/libgcrypt/cipher/md5.c
33647 * lib/libgcrypt/cipher/primegen.c
33648 * lib/libgcrypt/cipher/pubkey.c
33649 * lib/libgcrypt/cipher/rfc2268.c
33650 * lib/libgcrypt/cipher/rijndael-tables.h
33651 * lib/libgcrypt/cipher/rijndael.c
33652 * lib/libgcrypt/cipher/rmd.h
33653 * lib/libgcrypt/cipher/rmd160.c
33654 * lib/libgcrypt/cipher/rsa.c
33655 * lib/libgcrypt/cipher/seed.c
33656 * lib/libgcrypt/cipher/serpent.c
33657 * lib/libgcrypt/cipher/sha1.c
33658 * lib/libgcrypt/cipher/sha256.c
33659 * lib/libgcrypt/cipher/sha512.c
33660 * lib/libgcrypt/cipher/tiger.c
33661 * lib/libgcrypt/cipher/twofish.c
33662 * lib/libgcrypt/cipher/whirlpool.c
33663
af2f93ac
RM
336642009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33665
33666 Fix build for systems without error().
33667
33668 * gnulib/error.c: New file (imported from Gnulib).
33669 * gnulib/error.h: Likewise.
33670 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33671 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33672 (this variable is now used by error()).
33673
73fb3dd5
FZ
336742009-11-16 Felix Zielcke <fzielcke@z-51.de>
33675
814f5e96
FZ
33676 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33677 instead of relying that char is signed.
73fb3dd5 33678
a691ca33
VS
336792009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33680
33681 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33682 blocksize different from specified.
33683 (grub_pxefs_read): Likewise.
33684
2af8f0f4
FZ
336852009-11-16 Felix Zielcke <fzielcke@z-51.de>
33686
33687 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33688
33689 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33690 (grub_ata_readwrite): Likewise. Update 2 format strings.
33691 (grub_atapi_read): Likewise.
33692
33693 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33694 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33695 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33696 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33697 (ata_mod_LDFLAGS): Move from here ...
33698 * conf/i386.rmk: ... to here ...
33699 * conf/x86_64-efi.rmk: ... and here.
33700 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33701 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33702
83bdecaf
RM
337032009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33704
33705 Relicense multiboot.h, with RMS' blessing.
33706
33707 * include/multiboot.h: Change to X11 license.
33708
fd6fd3d7
RM
337092009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33710
33711 Support --version in grub-mkisofs.
33712
33713 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33714 (OPTION_VERSION): New macro.
33715 (ld_options): Recognize --version.
33716 (usage): Move `program_name' from here ...
33717 (program_name): ... to here. Add `static' qualifier.
33718 (main): Recognize `OPTION_VERSION'.
33719
16a88c49
FZ
337202009-11-15 Felix Zielcke <fzielcke@z-51.de>
33721
33722 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33723 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33724
a4158476
RM
337252009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33726
33727 Fix help2man generation for mkisofs.
33728
33729 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33730 (usage): Send output to stdout (rather than stderr).
33731
fc2208b0
RM
337322009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33733
33734 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33735 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33736 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33737 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33738 (bin_SCRIPTS): Add `grub-mkfloppy'.
33739 (grub_mkfloppy_SOURCES): New variable.
33740
33741 * util/grub-mkrescue.in: New file.
33742 * util/i386/pc/grub-mkfloppy.in: New file.
33743
33744 * util/i386/coreboot/grub-mkrescue.in: Remove.
33745 * util/i386/pc/grub-mkrescue.in: Remove.
33746
8d0edf4a
RM
337472009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33748
33749 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33750 from here ...
33751 * include/multiboot.h (struct multiboot_header): ... to here. Update
33752 all users.
33753 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33754 from here ...
33755 * include/multiboot.h (struct multiboot_info): ... to here. Update
33756 all users.
33757 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33758 from here ...
33759 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33760 Update all users.
33761 * include/grub/multiboot.h (struct grub_mod_list): Move
33762 from here ...
33763 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33764 Update all users.
33765
a73f5969
RM
337662009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33767
33768 * include/multiboot2.h (multiboot_word): Rename from this ...
33769 (multiboot2_word): ... to this. Update all users.
33770 (multiboot_header): Rename from this ...
33771 (multiboot2_header): ... to this. Update all users.
33772 (multiboot_tag_header): Rename from this ...
33773 (multiboot2_tag_header): ... to this. Update all users.
33774 (multiboot_tag_start): Rename from this ...
33775 (multiboot2_tag_start): ... to this. Update all users.
33776 (multiboot_tag_name): Rename from this ...
33777 (multiboot2_tag_name): ... to this. Update all users.
33778 (multiboot_tag_module): Rename from this ...
33779 (multiboot2_tag_module): ... to this. Update all users.
33780 (multiboot_tag_memory): Rename from this ...
33781 (multiboot2_tag_memory): ... to this. Update all users.
33782 (multiboot_tag_unused): Rename from this ...
33783 (multiboot2_tag_unused): ... to this. Update all users.
33784 (multiboot_tag_end): Rename from this ...
33785 (multiboot2_tag_end): ... to this. Update all users.
33786
1c8927f0
RM
337872009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33788
33789 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33790 this platform we should support Multiboot1 first.
33791
33792 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33793 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33794 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33795
6e1e0d89
RM
337962009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33797
33798 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33799 of write calls (converting them to fwrite() if they aren't already).
33800 (get_torito_desc): Likewise.
33801 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33802
7f2b34d8
RM
338032009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33804
33805 * util/i386/pc/grub-install.in: Move from here ...
33806 * util/grub-install.in: ... to here. Update all users.
33807
c0ef3311
CW
338082009-11-11 Colin Watson <cjwatson@ubuntu.com>
33809
33810 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33811
e1f240ff
RM
338122009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33813
33814 Support for El Torito without floppy emulation.
33815
33816 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33817 (init_boot_catalog): Improve error handling.
33818 (get_torito_desc): Don't use floppy emulation unless requested by
33819 user. Patch boot information table when requested via
33820 `-boot-info-table'.
33821 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33822 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33823 (use_boot_info_table): New variables.
33824 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33825 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33826 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33827 `--eltorito-emul-floppy'.
33828 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33829 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33830 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33831 (use_boot_info_table, get_731): New prototypes.
33832 * util/mkisofs/write.c (get_731): New function.
33833
af7d4de5
FZ
338342009-11-11 Felix Zielcke <fzielcke@z-51.de>
33835
33836 Fix the generation of the man page.
33837
33838 * util/pc/i386/grub-install.in: Source
33839 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33840
2c55dbc0
RM
338412009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33842
33843 Large file support for grub-mkisofs.
33844
33845 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33846 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33847 (session_start): Upgrade type to `uint64_t'. Update all users.
33848 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33849 (struct directory_entry): Upgrade type of `starting_block' and
33850 `size' to `uint64_t'. Update all users.
33851 (struct deferred): Remove unused structure.
33852 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33853 Update all users.
33854 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33855 file is larger than `UINT32_MAX'.
33856 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33857 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33858 return value.
33859 (struct deferred_write): Upgrade type of `extent' and `size' to
33860 `uint64_t'. Update all users.
33861 (last_extent_written): Upgrade type to `uint64_t'. Update all
33862 users.
33863 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33864 Update all users. Upgrade type of `remain' to `int64_t' and
33865 `use' to `size_t'. Use error() to handle fread() errors.
33866 (write_files): Rely on write_one_file() rather than calling
33867 xfwrite() directly.
33868
6a9cead5
FZ
338692009-11-09 Felix Zielcke <fzielcke@z-51.de>
33870
33871 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33872
4825d790
RM
338732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33874
33875 * util/mkisofs/fnmatch.c: Remove.
33876 * util/mkisofs/getopt1.c: Likewise.
33877 * util/mkisofs/getopt.c: Likewise.
33878 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33879 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33880 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33881 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33882 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33883
33884 * configure.ac: Detect `mingw32msvc' host_os.
33885 Check for lstat(), getuid() and getgid().
33886
33887 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33888 instances of `u_char' with `uint8_t'.
33889
33890 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33891 [!HAVE_GETUID] (getuid): New function (stub).
33892 [!HAVE_GETGID] (getgid): Likewise.
33893 [!HAVE_LSTAT] (lstat): Likewise.
33894 [!S_IROTH] (S_IROTH): New macro (dummy).
33895 [!S_IRGRP] (S_IRGRP): Likewise.
33896
84b860d8
RM
338972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33898
33899 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33900 conditional expression).
33901
66e9b712
RM
339022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33903
33904 Import from Gnulib.
33905
33906 * gnulib/fnmatch.c: New file.
33907 * gnulib/fnmatch.h: Likewise.
33908 * gnulib/fnmatch_loop.c: Likewise.
33909 * gnulib/getopt.c: Likewise.
33910 * gnulib/getopt.h: Likewise.
33911 * gnulib/getopt1.c: Likewise.
33912 * gnulib/getopt_int.h: Likewise.
33913 * gnulib/gettext.h: Likewise.
33914
34f4a5b0
RM
339152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33916
33917 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33918 * normal/handler.c (read_handler_list): Likewise.
33919
ac451143
RM
339202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33921
33922 Misc cleanup.
33923
33924 * kern/command.c (grub_register_command_prio): Use
33925 grub_zalloc() instead of explicitly zeroing data.
33926 * kern/list.c: Include `<grub/mm.h>'.
33927 (grub_named_list_find): Replace `0' with `NULL'.
33928 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33929 (fs_module_list): Change type to `grub_named_list_t'. Update all
33930 users.
33931 * normal/dyncmd.c (read_command_list): Add space between function
33932 call and parenthesis.
33933 * normal/handler.c (read_handler_list): Likewise.
33934
4089b167
RM
339352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33936
33937 * normal/auth.c (punishment_delay): Moved from here ...
33938 (grub_auth_strcmp): ... to here (inside function).
33939
325f5037
RM
339402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33941
33942 * include/grub/list.h (struct grub_named_list): Remove `const'
33943 qualifier from `name'.
33944 (struct grub_prio_list): Likewise.
33945
7aea29a3
RM
339462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33947
33948 * normal/auth.c: Include `<grub/time.h>'.
33949 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33950
3fd6f044
RM
339512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33952
33953 * normal/auth.c (punishment_delay): New variable.
33954 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33955 (grub_auth_check_authentication): Punish failed login attempts with
33956 an incremental (2^N) delay.
33957
a4cd68e4
RM
339582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33959
33960 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33961 path with $(srcdir).
33962
7ad12f43
VS
339632009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33964
33965 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33966
c1129f03
RM
339672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33968
33969 * util/i386/coreboot/grub-mkrescue.in: New file.
33970 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33971 variables.
33972
33973 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33974 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33975 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33976 requirements.
33977 * util/mkisofs/defaults.h: New file.
33978 * util/mkisofs/eltorito.c: Likewise.
33979 * util/mkisofs/exclude.h: Likewise.
33980 * util/mkisofs/fnmatch.c: Likewise.
33981 * util/mkisofs/getopt.c: Likewise.
33982 * util/mkisofs/getopt1.c: Likewise.
33983 * util/mkisofs/hash.c: Likewise.
33984 * util/mkisofs/include/fctldefs.h: Likewise.
33985 * util/mkisofs/include/mconfig.h: Likewise.
33986 * util/mkisofs/include/prototyp.h: Likewise.
33987 * util/mkisofs/include/statdefs.h: Likewise.
33988 * util/mkisofs/iso9660.h: Likewise.
33989 * util/mkisofs/joliet.c: Likewise.
33990 * util/mkisofs/match.c: Likewise.
33991 * util/mkisofs/match.h: Likewise.
33992 * util/mkisofs/mkisofs.c: Likewise.
33993 * util/mkisofs/mkisofs.h: Likewise.
33994 * util/mkisofs/multi.c: Likewise.
33995 * util/mkisofs/name.c: Likewise.
33996 * util/mkisofs/rock.c: Likewise.
33997 * util/mkisofs/tree.c: Likewise.
33998 * util/mkisofs/write.c: Likewise.
33999
ec8bb77d
VS
340002009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34001
34002 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34003 being insecure.
34004
3716b12c
RM
340052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34006
34007 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34008 `grub-mkimage' (and use $0 when possible).
34009
b97b7b91
RM
340102009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34011
34012 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34013 error message for excessively large memory map.
34014
04114812
RM
340152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34016
34017 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34018 executable bit.
34019
e4eb2373
RM
340202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34021
34022 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34023 message for coreboot users.
34024
c926e1d5 340252009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34026
34027 Fix build with GNU gold.
34028
34029 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34030 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34031 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34032 link addresses.
34033 * aclocal.m4: Likewise.
34034
86e5b1db 340352009-11-04 Felix Zielcke <fzielcke@z-51.de>
34036
34037 * configure.ac (AC_PREREQ): Bump to 2.59d.
34038 * INSTALL: Make it more clear when Autoconf and Ruby are
34039 needed and when to run `./autogen.sh'.
34040
246cd78f 340412009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34042
34043 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34044 OSes.
34045
4f9dfb37 340462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34047
34048 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34049
b82bd5e1 340502009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34051
34052 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34053 giving it to GNU Mach.
34054
ff1a9bca 340552009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34056
34057 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34058 GNU partition number to get internal GRUB partition number.
34059
61697d9c 340602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34061
34062 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34063 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34064
a50569e1 340652009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34066
34067 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34068 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34069 case.
34070
5b153867 340712009-11-01 Felix Zielcke <fzielcke@z-51.de>
34072
34073 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34074
d9e2cd70 340752009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34076
34077 Fix build problem.
34078
34079 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34080 `-isystem=$(srcdir)/include'.
34081
805111a4 340822009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34083
34084 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34085 checked (grub-install doesn't currently rely on it).
34086
fa6e945f 340872009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34088
34089 Revert SVN r2660.
34090
34091 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34092 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34093 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34094 * conf/i386-ieee1275.rmk: Likewise.
34095 * conf/i386-pc.rmk: Likewise.
34096 * conf/powerpc-ieee1275.rmk: Likewise.
34097 * conf/sparc64-ieee1275.rmk: Likewise.
34098 * conf/x86_64-efi.rmk: Likewise.
34099
cee15086 341002009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34101
34102 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34103
95b9239e 341042009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34105
34106 * include/grub/misc.h: Stop checking for APPLE_CC.
34107
2ed19dfd 341082009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34109
34110 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34111 doesn't cause an infinite call loop.
34112
fdcdde19 341132009-10-28 Felix Zielcke <fzielcke@z-51.de>
34114
34115 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34116 strings.
34117
cefabfe1 341182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34119
34120 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34121 variable.
34122 * Makefile.in: Likewise.
34123
ed96ab6d 341242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34125
34126 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34127
0579b753 341282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34129
34130 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34131
478df409 341322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34133
34134 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34135
083d1679 341362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34137
34138 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34139 from here ...
34140 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34141
5947ae32 341422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34143
34144 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34145 in $(MAKEINFO) invocation. This makes it clear in output that
34146 errors are being ignored.
34147
94180ff6 341482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34149
34150 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34151 from here ...
34152 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34153 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34154 * conf/i386-ieee1275.rmk: Likewise.
34155 * conf/i386-pc.rmk: Likewise.
34156 * conf/powerpc-ieee1275.rmk: Likewise.
34157 * conf/sparc64-ieee1275.rmk: Likewise.
34158 * conf/x86_64-efi.rmk: Likewise.
34159
9031b03a 341602009-10-26 Colin Watson <cjwatson@ubuntu.com>
34161
34162 * util/grub-editenv.c (main): If only a command is given, use
34163 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34164 (usage): FILENAME is now optional and has a default.
34165
e4f6809b 341662009-10-26 Colin Watson <cjwatson@ubuntu.com>
34167
34168 Improve grub-mkconfig performance when there are several menu
34169 entries on a single filesystem.
34170
34171 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34172 prepare_grub_to_access_device.
34173 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34174 * util/grub.d/30_os-prober.in: Likewise.
34175
67937d4d 341762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34177
34178 * util/grub.d/10_freebsd.in: Remove.
34179 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34180 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34181
ee3756cc 341822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34183
5c35048e 34184 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 34185
4dea1c6f 341862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34187
34188 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34189 grub_util_error() call.
34190
042484d7 341912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34192
34193 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34194 `reserved_first_sector' member.
34195 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34196 `reserved_first_sector' to 1.
34197 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34198 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34199 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34200 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34201 filesystems which begin at first sector.
34202 (options): New option --skip-fs-probe.
34203 (main): Handle --skip-fs-probe and pass it to setup().
34204
d64448a7 342052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34206
34207 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34208 (memset): Fix function prototype.
34209
508d42ec 342102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
342112009-10-25 Vasily Averin <vvs@parallels.com>
34212
34213 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34214 `dirent.direntlen == 0'.
34215
b240e30c 342162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34217
34218 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34219 `cpio'.
34220 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34221
346e7fbe 342222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34223
34224 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34225 `__trampoline_setup' and `__ucmpdi2'.
34226 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34227 that libgcc provides.
34228
cdb308b0 342292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34230
34231 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34232 * include/grub/sparc64/libgcc.h (memset): Likewise.
34233 * include/grub/misc.h (memset, memcmp): New function prototypes.
34234
fb26abc2 342352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34236
34237 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34238 `cpio'.
34239 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34240
f6693890 342412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34242
34243 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34244 * docs/grub.cfg: Compensate for recent change in multiboot
34245 loader (since 2009-08-14 it won't pass filename to payload).
34246 * util/grub.d/10_hurd.in: Likewise.
34247
0933cdc0 342482009-10-21 Felix Zielcke <fzielcke@z-51.de>
34249
34250 * config.guess: Update to latest version from config git
34251 repository.
34252 * config.sub: Likewise.
34253
3b2fe8c2 342542009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34255
34256 Fix build on sparc64.
34257
34258 * configure.ac: Perform checks for libgcc symbols before
34259 adding `-nostdlib' to LDFLAGS.
34260
46695a62 342612009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34262
34263 Let user specify OpenBSD root device.
34264
34265 * loader/i386/bsd.c (openbsd_root): New variable.
34266 (openbsd_opts): New option 'root'.
34267 (OPENBSD_ROOT_ARG): New macro.
34268 (grub_openbsd_boot): Use 'openbsd_root'.
34269 (grub_cmd_openbsd): Fill 'openbsd_root'.
34270
d2b6b7fc 342712009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34272
34273 * NEWS: Misc adjustments.
34274
421bd7ac 342752009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34276
34277 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34278
f1d29d87 342792009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34280
34281 * configure.ac: Bump version to 1.97.
34282
6f3cd880 342832009-10-16 Colin Watson <cjwatson@ubuntu.com>
34284
34285 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34286 -mno-3dnow on x86 architectures. Some toolchains enable these
34287 features by default, but they rely on registers that aren't enabled
34288 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34289
035f7122 342902009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34291
34292 Make entry text a bit more readable.
34293
34294 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34295
44998e58 342962009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34297
34298 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34299
cd2851b3 343002009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34301
34302 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34303 operations.
34304
c6f3b249 343052009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34306
34307 * configure.ac: Add missing dollar.
34308
6b5886ba 343092009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34310
34311 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34312
34313 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34314 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34315 exports.
34316 * include/grub/sparc64/libgcc.h: Likewise. Use
34317 preprocessor conditionals.
34318
e9d66f6d 343192009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34320
34321 * conf/common.rmk (grub-dumpbios): Remove rule.
34322 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34323 * util/grub-dumpbios.in: Remove file.
34324
9155bc17 343252009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34326
34327 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
34328 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
34329
34330 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
34331 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
34332 users.
34333
34334 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
34335 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34336 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34337 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34338 users.
34339
bf7f7a18 343402009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34341
34342 * term/tparm.c: Switch to GPLv3.
34343
86564c26 343442009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34345
34346 * include/grub/i386/cpuid.h: Add header protection.
34347
5c936493 343482009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34349
34350 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34351
34352 * include/grub/i386/cpuid.h: New file.
34353 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34354 (has_longmode): Rename to ...
34355 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34356 `static' attribute.
34357 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34358 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34359 on a CPU that doesn't implement AMD64 instruction set.
34360
186e7cf2 343612009-10-06 Colin Watson <cjwatson@ubuntu.com>
34362
34363 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
34364 that version.texi is rebuilt on version number changes.
34365
83b65c4a 343662009-10-06 Colin Watson <cjwatson@ubuntu.com>
34367
34368 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
34369 Fixes bug #27602.
34370
d244281c 343712009-10-06 Colin Watson <cjwatson@ubuntu.com>
34372
34373 * util/i386/pc/grub-install.in: Source
34374 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
34375 that the --grub-probe option will work.
34376 * util/sparc64/ieee1275/grub-install.in: Likewise.
34377
da25306d 343782009-10-05 Robert Millan <rmh.grub@aybabtu.com>
34379
34380 * configure.ac: Bump version to 1.97~beta4.
34381
e8ee83c0 343822009-10-03 Robert Millan <rmh.grub@aybabtu.com>
34383
34384 Resync grub-mkdevicemap in x86_64-efi.
34385
34386 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
34387 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
34388 `util/devicemap.c'.
34389
50dcabcf 343902009-10-01 Colin Watson <cjwatson@ubuntu.com>
34391
34392 * util/grub-editenv.c (create_envblk_file): Write new block with a
34393 .new suffix and then rename it into place, to ensure atomic
34394 creation.
34395
0e51c3a7 343962009-09-28 Robert Millan <rmh.grub@aybabtu.com>
34397
34398 Do not automatically install headers.
34399
34400 * Makefile.in (include_DATA): Remove. Update all users.
34401
31299a95 344022009-09-26 Robert Millan <rmh.grub@aybabtu.com>
34403
34404 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
34405 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
34406
34407 * util/osdetect.lua: Remove.
34408 * script/lua/lauxlib.c: Likewise.
34409 * script/lua/ldebug.c: Likewise.
34410 * script/lua/grub_main.c: Likewise.
34411 * script/lua/lauxlib.h: Likewise.
34412 * script/lua/ldebug.h: Likewise.
34413 * script/lua/ltablib.c: Likewise.
34414 * script/lua/liolib.c: Likewise.
34415 * script/lua/lstrlib.c: Likewise.
34416 * script/lua/lualib.h: Likewise.
34417 * script/lua/ldo.c: Likewise.
34418 * script/lua/ldump.c: Likewise.
34419 * script/lua/ldo.h: Likewise.
34420 * script/lua/loslib.c: Likewise.
34421 * script/lua/lundump.c: Likewise.
34422 * script/lua/grub_lib.c: Likewise.
34423 * script/lua/ldblib.c: Likewise.
34424 * script/lua/lundump.h: Likewise.
34425 * script/lua/lmem.c: Likewise.
34426 * script/lua/grub_lib.h: Likewise.
34427 * script/lua/lmathlib.c: Likewise.
34428 * script/lua/lstate.c: Likewise.
34429 * script/lua/ltm.c: Likewise.
34430 * script/lua/lvm.c: Likewise.
34431 * script/lua/lmem.h: Likewise.
34432 * script/lua/lstate.h: Likewise.
34433 * script/lua/ltm.h: Likewise.
34434 * script/lua/ltable.c: Likewise.
34435 * script/lua/lvm.h: Likewise.
34436 * script/lua/llex.c: Likewise.
34437 * script/lua/lgc.c: Likewise.
34438 * script/lua/grub_lua.h: Likewise.
34439 * script/lua/loadlib.c: Likewise.
34440 * script/lua/lfunc.c: Likewise.
34441 * script/lua/lopcodes.c: Likewise.
34442 * script/lua/lparser.c: Likewise.
34443 * script/lua/ltable.h: Likewise.
34444 * script/lua/llex.h: Likewise.
34445 * script/lua/lgc.h: Likewise.
34446 * script/lua/lfunc.h: Likewise.
34447 * script/lua/lbaselib.c: Likewise.
34448 * script/lua/lopcodes.h: Likewise.
34449 * script/lua/lparser.h: Likewise.
34450 * script/lua/lzio.c: Likewise.
34451 * script/lua/linit.c: Likewise.
34452 * script/lua/lobject.c: Likewise.
34453 * script/lua/llimits.h: Likewise.
34454 * script/lua/lstring.c: Likewise.
34455 * script/lua/lzio.h: Likewise.
34456 * script/lua/lapi.c: Likewise.
34457 * script/lua/lcode.c: Likewise.
34458 * script/lua/lua.h: Likewise.
34459 * script/lua/lobject.h: Likewise.
34460 * script/lua/lstring.h: Likewise.
34461 * script/lua/lapi.h: Likewise.
34462 * script/lua/lcode.h: Likewise.
34463 * script/lua/luaconf.h: Likewise.
34464
cb8a2c38 344652009-09-26 Colin Watson <cjwatson@ubuntu.com>
34466
34467 * docs/grub.texi (Command-line and menu entry commands): Document
34468 date and echo commands.
34469
6b9b6276 344702009-09-24 Pavel Roskin <proski@gnu.org>
34471
34472 * include/grub/kernel.h (struct grub_module_header): Remove
34473 `grub_module_header_types'. Make `type' unsigned. Make `size'
34474 32-bit on all platforms.
34475 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34476 8-bit field. Use grub_host_to_target32() for `size'.
34477 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34478 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34479 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34480
4e5a02a7 344812009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34482
34483 Fix "lost keypress" bug in at_keyboard.
34484
34485 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34486 Checks for readyness of input buffer (without flushing it).
34487 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34488 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34489
c6dcedf6 344902009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34491
34492 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34493 size check within GRUB_MACHINE_PCBIOS section.
34494
74c958b1 344952009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34496
34497 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34498 return value.
34499 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34500 KEYBOARD_ISREADY check.
34501 (grub_at_keyboard_checkkey): Rename to ...
34502 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34503 Remove gratuitous cast.
34504
ff420223 345052009-09-23 Colin Watson <cjwatson@ubuntu.com>
34506
34507 * configure.ac: Call AC_PROG_MKDIR_P.
34508 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34509 version.texi in $(builddir) rather than $(srcdir).
34510 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34511 to makeinfo's @include search path.
34512
d96875df 345132009-09-23 Felix Zielcke <fzielcke@z-51.de>
34514
34515 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34516
9b3f8365 345172009-09-23 Felix Zielcke <fzielcke@z-51.de>
34518
34519 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34520 for `*.dpkg-new'.
34521
c44c90db 345222009-09-21 Colin Watson <cjwatson@ubuntu.com>
34523
34524 Build info documentation. Some code borrowed from Automake.
34525
34526 * configure.ac: Check for makeinfo.
34527 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34528 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34529 docs/version.texi.
34530 (MOSTLYCLEANFILES): Add vti.tmp.
34531 (docs/version.texi, docs/stamp-vti): Update automatically.
34532 (docs/grub.info): Build info documentation. Use --force and ignore
34533 errors for now.
34534 (all-local): Add $(INFOS).
34535 (install-local): Install info files.
34536 (uninstall): Uninstall info files.
34537 * docs/version.texi: Remove from revision control. This file is
34538 automatically generated on build now.
34539 * gendistlist.sh: Add `*.info'.
34540
e0b37bb5 345412009-09-21 Felix Zielcke <fzielcke@z-51.de>
34542
34543 * kern/term.c: Fix indentation.
34544
5a78865b 345452009-09-21 Felix Zielcke <fzielcke@z-51.de>
34546
34547 * util/hostdisk.c: Fix a comment.
34548
dace7e8a 345492009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34550
34551 Fix regression introduced in r2539.
34552
34553 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34554 to 0xA1.
34555
a83d079b 345562009-09-19 Colin Watson <cjwatson@ubuntu.com>
34557
34558 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34559 os-prober. Under normal operation, it does not print anything to
34560 stderr; if it does, we need to debug it, and throwing away stderr
34561 makes that excessively difficult.
a83d079b 34562
be94a509 345632009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34564
34565 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34566
63f745e8 345672009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34568
34569 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34570 AC_LANG_PROGRAM from autoconf.
34571 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34572 prototypes (fixes warning).
34573
34574 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34575 `--disable-werror' was used.
34576
bbb2a70f 345772009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34578
34579 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34580 uninitialized `lastaddr'.
34581
77c24f1d 345822009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34583
0f0b8c87 34584 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34585
07197f23 345862009-09-14 Colin Watson <cjwatson@ubuntu.com>
34587
34588 * commands/test.c (get_fileinfo): Return immediately if
34589 grub_fs_probe fails.
34590
dabf1798 345912009-09-14 José Martínez <xosemp@gmail.com>
34592
34593 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34594
d52109a7 345952009-09-14 Colin Watson <cjwatson@ubuntu.com>
34596
34597 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34598 output.
34599
56532179 346002009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34601
34602 * configure.ac: Remove --enable-grub-pe2elf. Only build
34603 grub-pe2elf when needed by the build system itself.
34604 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34605
8ef070f5 346062009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34607
34608 * configure.ac: Bump version to 1.97~beta3.
34609 * docs/version.texi: Likewise.
34610
61229557 346112009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34612
34613 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34614 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34615 from here ...
34616 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34617 (grub_linux_setup_video): ... to here (with some adjustments).
34618
5c9f8d84 346192009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34620
34621 Fix memory corruption issue (spotted by Colin Watson).
34622
34623 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34624 causing returned size to be stored in an incorrect memory location.
34625 Fix use of uninitialized value when storing the returned size.
34626
e8f5d6e9 346272009-09-12 Yves Blusseau <blusseau@zetam.org>
34628
34629 Change clean rules to properly remove files
34630
34631 * genmk.rb: add new clean rules
34632 * Makefile.in (clean): add the new targets
34633 (mostlyclean): likewise
34634
cda2a409 346352009-09-11 Colin Watson <cjwatson@ubuntu.com>
34636
34637 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34638 to grub_uint64_t.
34639 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34640 non-resident files.
34641
86695375 346422009-09-11 Colin Watson <cjwatson@ubuntu.com>
34643
34644 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34645 part of bug #27349.
34646
8aa1541a 346472009-09-10 Felix Zielcke <fzielcke@z-51.de>
34648
34649 * util/grub-mkconfig.in: Make the created config mode 400 and
34650 print a warning if it fails.
34651
48d9bb0a 346522009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34653
34654 * util/grub.d/40_custom.in: Ask user to type custom entries below
34655 comment, rather than below 'exec tail' line.
34656
3b0521be 346572009-09-10 Colin Watson <cjwatson@ubuntu.com>
34658
34659 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34660 visible in grub.cfg.
34661
50051d55 346622009-09-10 Colin Watson <cjwatson@ubuntu.com>
34663
34664 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34665 file.
34666
c0d34387 346672009-09-10 Felix Zielcke <fzielcke@z-51.de>
34668
34669 * docs/grub.cfg: Add an example menu entry for memtest86+.
34670
80a608f3 346712009-09-09 Felix Zielcke <fzielcke@z-51.de>
34672
a2094832 34673 * config.guess: Update to latest version from config git.
80a608f3 34674 * config.sub: Likewise.
34675
99423078 346762009-09-08 Colin Watson <cjwatson@ubuntu.com>
34677
34678 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34679 unknown-command case. Fixes bug #27320.
34680
44454e4c 346812009-09-08 Felix Zielcke <fzielcke@z-51.de>
34682
34683 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34684 `help' if the command exists.
34685
e30d87ad 346862009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34687
34688 * INSTALL: Require GCC 4.1.3 or later.
34689
9a86f1ec 346902009-09-06 Yves Blusseau <blusseau@zetam.org>
34691
34692 * Makefile.in (RMKFILES): add i386-qemu.rmk
34693 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34694 $(srcdir)/stamp-h.in
34695
7f26d466 346962009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34697
34698 * util/grub-probe.c (probe): Comment out buggy codepath, which
34699 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34700 should be re-enabled after 1.97.
34701
3a613259 347022009-09-05 Felix Zielcke <fzielcke@z-51.de>
34703
34704 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34705 find searches for.
34706
197f76c7 347072009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34708
34709 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34710 unnecessary calls to grub_error.
34711
70ba68ce 347122009-09-04 Colin Watson <cjwatson@ubuntu.com>
34713
34714 * NEWS: Mention `keystatus' and Unicode fonts.
34715
4ff0d7a4 347162009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34717
34718 * configure.ac: Bump version to 1.97~beta2.
34719 * docs/version.texi: Likewise.
34720
77c55a87 347212009-09-03 Colin Watson <cjwatson@ubuntu.com>
34722
34723 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34724 containing unwind information in some cases where it previously did
34725 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34726 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34727 discussion.
34728
f79572cd 347292009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34730
34731 Embedding loadenv module into grub-emu
34732
34733 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34734 commands/loadenv.c
34735 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34736 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34737 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34739 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34740 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34741
93a81088 347422009-09-03 Magnus Granberg <zorry@ume.nu>
34743
34744 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34745 include -fPIE in the default specs.
34746 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34747 to TARGET_CFLAGS.
34748
160034b2 347492009-09-03 Felix Zielcke <fzielcke@z-51.de>
34750
34751 * INSTALL: Note that GNU Bison 2.3 or later is required.
34752
087c07c4 347532009-09-03 Colin Watson <cjwatson@ubuntu.com>
34754
34755 * kern/i386/pc/startup.S: Fix typo.
34756
cbf978c0 347572009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34758
34759 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34760 according to GCS.
34761
347622009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34763
34764 * docs/grub.texi (Naming convention): Describe one-based partition
34765 numbering.
34766 (Device syntax): Likewise.
34767 (File name syntax): Likewise.
34768 (Block list syntax): Likewise.
34769 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34770 menu.lst.
34771 (File name syntax): Likewise.
34772 (Command-line and menu entry commands): Document acpi, blocklist,
34773 crc, export, insmod, keystatus, ls, set, and unset commands.
34774
f3e8cdfd 347752009-09-02 Colin Watson <cjwatson@ubuntu.com>
34776
34777 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34778 to avoid implying that only one of --shift, --ctrl, or --alt may be
34779 used.
34780
c0bc232b 347812009-09-02 Colin Watson <cjwatson@ubuntu.com>
34782
34783 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34784 rather than comparing against S_IFREG, which will almost never work.
34785
aa0f752d 347862009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34787
34788 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34789 (write_blocklists): Likewise.
34790
ecb3166a 347912009-09-01 Colin Watson <cjwatson@ubuntu.com>
34792
34793 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34794 argument to grub_printf.
34795
c403a125 347962009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34797
34798 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34799 non GNU test.
31aba781 34800
b5e7312c 348012009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34802
34803 * kern/file.c (grub_file_read): Spelling fix
34804
fe00f472 348052009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34806
34807 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34808 loading of headers in some cases.
34809
cc55302e 348102009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34811
34812 * configure.ac: Bump version to 1.97~beta1.
34813 * docs/version.texi: Likewise.
34814
5c90cdd2 348152009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34816
34817 * include/grub/i386/xnu.h: Add license header.
34818 include grub/err.h explicitly.
34819
c90edae4 348202009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34821
34822 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34823 to `ufs' in the vfs.root.mountfrom kernel parameter.
34824
d8888b5c 348252009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34826
34827 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34828
34829 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34830 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34831
34832 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34833 `ARRAY_SIZE' macro.
34834
6f07b921 348352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34836
34837 * kern/file.c (grub_file_read): Check offset.
34838 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34839 * fs/jfs.c (grub_jfs_read_file): Likewise.
34840 * fs/ntfs.c (grub_ntfs_read): Likewise.
34841 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34842 * fs/minix.c (grub_minix_read_file): Correct offset check.
34843 * fs/ufs.c (grub_ufs_read_file): Likewise.
34844
b4f34077 348452009-08-28 Colin Watson <cjwatson@ubuntu.com>
34846
34847 * term/i386/pc/console.c (bios_data_area): Cast
34848 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34849
e7c69859 348502009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34851
34852 1-bit optimised blitters.
34853
34854 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34855 prototype.
34856 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34857 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34858 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34859 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34860 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34861 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34862 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34863 function.
34864 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34865 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34866 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34867 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34868 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34869 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34870 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34871 when possible.
34872 * video/video.c (grub_video_get_blit_format): Return
34873 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34874
a57da43f 348752009-08-28 Colin Watson <cjwatson@ubuntu.com>
34876
34877 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34878 the first argument to grub_printf.
34879
4cbe67e5 348802009-08-28 Colin Watson <cjwatson@ubuntu.com>
348812009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34882
34883 Add `getkeystatus' terminal method. Add a new `keystatus' command
34884 to query it.
34885
34886 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34887 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34888 modifier key bitmasks.
34889 (struct grub_term_input): Add `getkeystatus' member.
34890 (grub_getkeystatus): Add prototype.
34891 * kern/term.c (grub_getkeystatus): New function.
34892
34893 * include/grub/i386/pc/memory.h
34894 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34895 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34896 Data Area layout.
34897 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34898 (grub_console_term_input): Set `getkeystatus' member.
34899 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34900 constants.
34901 (grub_usb_keyboard_getreport): Likewise.
34902 (grub_usb_keyboard_checkkey): Likewise.
34903 (grub_usb_keyboard_getkeystatus): New function.
34904 (grub_usb_keyboard_term): Set `getkeystatus' member.
34905
34906 * commands/keystatus.c: New file.
34907 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34908 (keystatus_mod_SOURCES): New variable.
34909 (keystatus_mod_CFLAGS): Likewise.
34910 (keystatus_mod_LDFLAGS): Likewise.
34911 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34912 commands/keystatus.c.
34913 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34914 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34915 * conf/i386-pc.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.
4cbe67e5 34919
6e2a9085 349202009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34921
34922 Split befs.mod and afs.mod into *_be.mod and *.mod
34923
34924 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34925 (grub_fstest_SOURCES): Likewise.
34926 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34927 (afs_be_mod_SOURCES): New variable.
34928 (afs_be_mod_CFLAGS): Likewise.
34929 (afs_be_mod_LDFLAGS): Likewise.
34930 (befs_be_mod_SOURCES): Likewise.
34931 (befs_be_mod_CFLAGS): Likewise.
34932 (befs_be_mod_LDFLAGS): Likewise.
34933 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34935 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34936 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34937 (grub_emu_SOURCES): Likewise.
34938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34939 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34940 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34941 * fs/afs_be.c: New file.
34942 * fs/befs_be.c: New file.
34943 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34944 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34945 (U16): Replaced with ...
34946 (grub_afs_to_cpu16): ...this. All users updated.
34947 (U32): Replaced with ...
34948 (grub_afs_to_cpu32): ...this. All users updated.
34949 (U64): Replaced with ...
34950 (grub_afs_to_cpu64): ...this. All users updated.
34951 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34952 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34953 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34954 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34955 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34956 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34957 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34958 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34959 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34960 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34961 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34962
32a71655 349632009-08-26 Bean <bean123ch@gmail.com>
34964
34965 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34966 64-bit number.
34967 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34968 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34969 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34970
552bf6c5 349712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34972
34973 NetBSD memory map support.
34974
34975 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34976 (grub_netbsd_btinfo_mmap_header): New structure.
34977 (grub_netbsd_btinfo_mmap_entry): Likewise.
34978 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34979
1ae2078c 349802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34981
34982 Enable bsd.mod on coreboot.
34983
34984 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34985 (bsd_mod_SOURCES): New variable.
34986 (bsd_mod_CFLAGS): Likewise.
34987 (bsd_mod_LDFLAGS): Likewise.
34988 (bsd_mod_ASFLAGS): Likewise.
34989 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34990 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34991
beefc598 349922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34993
34994 Cleanup NetBSD root support.
34995
34996 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34997 grub_bsd_get_device.
34998 Fix typo.
34999
3b76e68b 350002009-08-25 Felix Zielcke <fzielcke@z-51.de>
35001
35002 * util/grub.d/00_header.in: Move check for the video backend of
35003 gfxterm from here ...
35004 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35005 a suitable video backend.
35006
aea664ea 350072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35008
35009 Fix breakage in grub-setup.
35010
35011 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35012 "msdos_partition_map".
35013
ff747d50 350142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35015
35016 Fix breakage in normal/auth.c.
35017
35018 * normal/auth.c (grub_iswordseparator): New function.
35019
e7e1f93f 350202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35021
35022 Authentication support.
35023
35024 * commands/password.c: New file.
35025 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35026 (password_mod_SOURCES): New variable.
35027 (password_mod_CFLAGS): Likewise.
35028 (password_mod_LDFLAGS): Likewise.
35029 (normal_mod_SOURCES): Add normal/auth.c.
35030 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35031 normal/auth.c.
35032 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35033 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35034 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35036 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35037 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35038 * include/grub/auth.h: New file.
35039 * include/grub/err.h (grub_err_t): New enum value
35040 GRUB_ERR_ACCESS_DENIED.
35041 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35042 'users'.
35043 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35044 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35045 users updated.
35046 * normal/auth.c: New file.
35047 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35048 (grub_cmdline_run): Don't allow to go to command line without
35049 authentication.
35050 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35051 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35052 menuentry without superuser rights.
35053 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35054 user isn't a superuser.
35055
70f1161d 350562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35057
35058 Save space by inlining misc.c functions.
35059
35060 * kern/misc.c (grub_iswordseparator): Made static.
35061 * kern/misc.c (grub_strcat): Moved from here ...
35062 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35063 * kern/misc.c (grub_strncat): Moved from here ...
35064 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35065 * kern/misc.c (grub_strcasecmp): Moved from here ...
35066 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35067 * kern/misc.c (grub_strncasecmp): Moved from here ...
35068 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35069 * kern/misc.c (grub_isalpha): Moved from here ...
35070 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35071 * kern/misc.c (grub_isdigit): Moved from here ...
35072 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35073 * kern/misc.c (grub_isgraph): Moved from here ...
35074 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35075 * kern/misc.c (grub_tolower): Moved from here ...
35076 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35077
48e40bff 350782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35079
35080 * script/sh/function.c (grub_script_function_find): Cut error message
35081 not to flood terminal.
35082 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35083 limit.
35084 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35085
c385bfc3 350862009-08-24 Colin Watson <cjwatson@ubuntu.com>
35087
35088 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35089 `report' grub_uint8_t *.
35090 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35091 Use a 50-millisecond timeout rather than just repeating
35092 grub_usb_keyboard_getreport 50 times.
35093 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35094
2d21e3e8 350952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35096
35097 Rename *_partition_map to part_*
35098
35099 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35100 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35101 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35102 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35103 All users updated.
35104 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35105 All users updated.
35106 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35107 * util/grub-probe.c (probe_partmap): Don't transform partition name
35108 to get module name.
35109
dd103c4e 351102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35111
35112 Fix OpenBSD and NetBSD support.
35113
35114 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35115 memory address conflict.
35116 (OPENBSD_MMAP_ACPI): New definition.
35117 (OPENBSD_MMAP_NVS): Likewise.
35118 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35119 and OPENBSD_MMAP_NVS.
35120 Add memory map terminator
35121 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 35122 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 35123
16c84d74 351242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35125
35126 Let user specify NetBSD root device.
35127
35128 * loader/i386/bsd.c (netbsd_root): New variable.
35129 (netbsd_opts): New option 'root'.
35130 (NETBSD_ROOT_ARG): New macro.
35131 (grub_netbsd_boot): Use 'netbsd_root'.
35132 (grub_bsd_unload): Free 'netbsd_root'.
35133 (grub_cmd_netbsd): Fill 'netbsd_root'.
35134
adb29902 351352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35136
35137 Support for 64-bit NetBSD.
35138
35139 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35140 point when booting non-FreeBSD.
35141
f5ae9f74 351422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35143
35144 Support --no-smp and --no-acpi for NetBSD.
35145
35146 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35147 (NETBSD_AB_NOACPI): Likewise.
35148 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35149 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35150
de74f136 351512009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35152
35153 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35154 errors.
35155 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35156 errors. Call grub_error when needed.
35157
e9a925da 351582009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35159
35160 * commands/search.c (search_fs): Try searching without autoload first.
35161 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35162 filesystem module explicitly for faster booting.
35163
5174302b 351642009-08-23 Colin Watson <cjwatson@ubuntu.com>
35165
35166 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35167
c8c80635 351682009-08-23 Colin Watson <cjwatson@ubuntu.com>
35169
35170 * util/grub.d/30_os-prober.in: Disable os-prober if
35171 `GRUB_DISABLE_OS_PROBER' was set to true.
35172
71acf5e5 351732009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35174
35175 * partmap/pc.c: Rename to ...
35176 * partmap/msdos.c: ... this. Update all users.
35177 (grub_pc_partition_map): Rename to ...
35178 (grub_msdos_partition_map): ... this. Update all users.
35179
35180 * parttool/pcpart.c: Rename to ...
35181 * parttool/msdospart.c: ... this. Update all users.
35182
35183 * include/grub/pc_partition.h: Rename to ...
35184 * include/grub/msdos_partition.h: ... this. Update all users.
35185 (grub_pc_partition_bsd_entry): Rename to ...
35186 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35187 (grub_pc_partition_disk_label): Rename to ...
35188 (grub_msdos_partition_disk_label): ... this. Update all users.
35189 (grub_pc_partition_entry): Rename to ...
35190 (grub_msdos_partition_entry): ... this. Update all users.
35191 (grub_pc_partition_mbr): Rename to ...
35192 (grub_msdos_partition_mbr): ... this. Update all users.
35193 (grub_pc_partition): Rename to ...
35194 (grub_msdos_partition): ... this. Update all users.
35195 (grub_pc_partition_is_empty): Rename to ...
35196 (grub_msdos_partition_is_empty): ... this. Update all users.
35197 (grub_pc_partition_is_extended): Rename to ...
35198 (grub_msdos_partition_is_extended): ... this. Update all users.
35199 (grub_pc_partition_is_bsd): Rename to ...
35200 (grub_msdos_partition_is_bsd): ... this. Update all users.
35201
35202 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35203 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35204 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35205 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35206 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35207 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35208 (gpt_mod_LDFLAGS): Rename to ...
35209 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35210 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35211 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35212 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35213 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35214 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35215 (part_gpt_mod_LDFLAGS): ... this.
35216 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35217 `pcpart.mod' to `msdospart.mod'.
35218 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35219 to ...
35220 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35221 (msdospart_mod_LDFLAGS): ... this.
35222
c11fded5 352232009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35224
35225 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35226 (openbsd_opts): Likewise.
35227 (netbsd_opts): Likewise.
35228 (freebsd_flags): Added 0 terminator.
35229 (openbsd_flags): Likewise.
35230 (netbsd_flags): Likewise.
35231 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35232 (grub_cmd_freebsd): Transformed into extended command.
35233 (grub_cmd_openbsd): Likewise.
35234 (grub_cmd_netbsd): Likewise.
35235 (cmd_freebsd): Changed type to grub_extcmd_t.
35236 (cmd_openbsd): Likewise.
35237 (cmd_netbsd): Likewise.
35238 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35239 grub_cmd_openbsd as extended commands.
35240 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35241 cmd_netbsd and cmd_openbsd
35242
11d1c769 352432009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35244
35245 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35246
7a9094e5 352472009-08-21 Pavel Roskin <proski@gnu.org>
35248
5496c37e 35249 * Makefile.in (install-local): When checking if a file is in the
35250 build directory, use "test -e" to detect symlinks.
35251
7a9094e5 35252 * Makefile.in (install-local): Remove all files in
35253 $(DESTDIR)$(pkglibdir) before installing new files there.
35254
e53cea11 352552009-08-18 Felix Zielcke <fzielcke@z-51.de>
35256
35257 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35258 grub-mkelfimage.
35259
9aced544 352602009-08-18 Felix Zielcke <fzielcke@z-51.de>
35261
35262 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35263 explicitly specified by the user.
35264
b7da6bab 352652009-08-18 Pavel Roskin <proski@gnu.org>
35266
35267 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35268 grub_uint8_t pointer for data.
35269 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35270 Likewise.
35271 * video/fb/fbutil.c: Remove unnecessary casts.
35272
19f1b335 352732009-08-17 Michal Suchanek <hramrach@centrum.cz>
35274
35275 VBE cleanup.
35276
35277 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35278 (grub_vbe_set_video_mode): Save active mode info
35279 only after setting the mode.
35280 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35281 second argument.
35282
2f467aa9 352832009-08-17 Michal Suchanek <hramrach@centrum.cz>
35284
35285 Rename variables for clarity.
35286
35287 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35288 (active_vbe_mode_info): ... this. All users updated.
35289 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35290 All users updated.
35291 (initial_mode): Rename to ...
35292 (initial_vbe_mode): ... this. All users updated.
35293 (mode_in_use): Rename to ..
35294 (vbe_mode_in_use): ... this. All users updated.
35295 (mode_list): Rename to ..
35296 (vbe_mode_list): ... this. All users updated.
35297 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35298 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35299 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35300 'mode_list_size' to 'vbe_mode_list_size'.
35301 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35302 'best_mode_info' to 'best_vbe_mode_info' and
35303 'best_mode' to 'best_vbe_mode'
35304
6025fcd7 353052009-08-17 Michal Suchanek <hramrach@centrum.cz>
35306
35307 Remove duplicate grub_video_fb_get_video_ptr.
35308
35309 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35310 (grub_video_fb_get_video_ptr): ... this.
35311 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35312 * video/fb/fbutil.c: Add comment about addressing.
35313 (get_data_ptr): Rename to ...
35314 (grub_video_fb_get_video_ptr): ... this. All users updated.
35315 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35316
cc8c6faf 353172009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35318
35319 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35320 grub_dprintf() that was just added.
35321
08aa61f0 353222009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35323
35324 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
35325 (DEFAULT_VIDEO_MODE): Remove macros.
35326 (grub_linux_boot): Remove assumption that Linux has FB support,
35327 and use "text" as default video mode.
35328
7cef4f75 353292009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
35330
35331 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
35332 grub_dprintf.
35333 * fs/fat.c (grub_fat_read_data): Likewise.
35334
e1f39873 353352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35336
35337 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35338 payload.
35339 (grub_module): Likewise.
35340
c166d79e 353412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35342
35343 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35344 mbi->cmdline but free playground.
35345
c60cee8e 353462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35347
35348 Handle group offset on UFS1.
35349
35350 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35351 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35352
c0d8b5d4 353532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35354
35355 Split ufs.mod into ufs1.mod and ufs2.mod.
35356
35357 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35358 (grub_fstest_SOURCES): Likewise.
35359 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
35360 (ufs_mod_SOURCES): Remove.
35361 (ufs_mod_CFLAGS): Likewise.
35362 (ufs_mod_LDFLAGS): Likewise.
35363 (ufs1_mod_SOURCES): New variable.
35364 (ufs1_mod_CFLAGS): Likewise.
35365 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 35366 (ufs2_mod_SOURCES): New variable.
35367 (ufs2_mod_CFLAGS): Likewise.
35368 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 35369 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
35370 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35371 Likewise.
35372 (grub_emu_SOURCES): Likewise.
35373 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35374 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35375 (grub_setup_SOURCES): Likewise.
35376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35377 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
35378 (grub_setup_SOURCES): Likewise.
35379 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35380 Likewise.
35381 * fs/ufs2.c: New file.
35382 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
35383
d3539132 353842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35385
35386 Framebuffer split.
35387
35388 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
35389 subsystem at the end.
35390 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
35391 (video_fb_mod_SOURCES): New variable.
35392 (video_fb_mod_CFLAGS): Likewise.
35393 (video_fb_mod_LDFLAGS): Likewise.
35394 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
35395 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
35396 * video/i386/pc/vbeblit.c: Moved from here ...
35397 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
35398 * video/i386/pc/vbefill.c: Moved from here ...
35399 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
35400 * video/i386/pc/vbeutil.c: Moved from here ...
35401 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
35402 * include/grub/i386/pc/vbeblit.h: Moved from here ...
35403 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
35404 * include/grub/i386/pc/vbefill.h: Moved from here ...
35405 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
35406 * include/grub/i386/pc/vbeutil.h: Moved from here ...
35407 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
35408 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
35409 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
35410 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
35411 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
35412 (grub_video_adapter): Added 'get_info_and_fini'.
35413 (grub_video_get_info_and_fini): New prototype.
35414 (grub_video_set_mode): make modestring const char *.
35415 * loader/i386/linux.c (grub_linux_setup_video): Use
35416 grub_video_get_info_and_fini.
35417 (grub_linux_boot): Move modesetting just before booting.
35418 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
35419 grub_video_get_info_and_fini.
35420 * video/i386/pc/vbe.c: Moved framebuffer part ...
35421 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
35422 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
35423 grub_video_fbstd_colors and grub_video_fb_set_palette.
35424 (grub_video_vbe_init): Clear 'framebuffer' variable and use
35425 grub_video_fb_init.
35426 (grub_video_vbe_fini): Use grub_video_fb_fini.
35427 (grub_video_vbe_setup): Use framebuffer.render_target instead of
35428 render_target and use grub_video_fb_set_active_render_target and
35429 grub_video_fb_set_palette.
35430 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
35431 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
35432 (grub_video_vbe_adapter): Use framebuffer.
35433 * video/video.c (grub_video_get_info_and_fini): New function.
35434 (grub_video_set_mode): Make modestring const char *.
35435 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
35436 values are already initialised.
35437
d404ee56 354382009-08-14 Pavel Roskin <proski@gnu.org>
35439
35440 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
35441 ABS and APPLE_CC.
35442 * boot/i386/pc/diskboot.S: Likewise.
35443 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
35444 sectors allow compilation on MacOSX.
35445 * conf/i386-pc.rmk: Enable unconditional compilation of
35446 lnxboot.img.
35447
9a10df16 354482009-08-13 Colin Watson <cjwatson@ubuntu.com>
35449
35450 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35451 * util/grub.d/00_header.in: Enter interruptible sleep if
35452 GRUB_HIDDEN_TIMEOUT is set.
35453
be3c9ca7 354542009-08-13 Yves Blusseau <blusseau@zetam.org>
35455
35456 * include/grub/symbol.h: Add the LOCAL macro.
35457 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35458 starting with "L_".
35459
1f9e557e 354602009-08-13 Pavel Roskin <proski@gnu.org>
35461
9ca62843 35462 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35463 any modern compilers we support.
35464
1f9e557e 35465 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35466 Use local labels starting with "L_" so that Apple assembler
35467 knows they are local.
35468
81623db6 354692009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35470
35471 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35472 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35473 (bsd_kernel_types): ... this enum.
35474
35475 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35476 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35477 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35478
35479 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35480 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35481 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35482 messages.
35483
f5d35e7a 354842009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35485
35486 * util/grub-dumpdevtree: Moved from here ...
35487 * util/i386/efi/grub-dumpdevtree: ... to here.
35488 (hexify): New function. Converts a string to its hex version.
35489 Generate hex versions of "efi" and "device-properties" by calling
35490 hexify() on the ASCII strings rather than by hardcoding numbers.
35491
d1e1d527 354922009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35493
35494 * fs/jfs.c: Update copyright year.
35495
1ebbe064 354962009-08-08 Felix Zielcke <fzielcke@z-51.de>
35497
35498 * util/grub.d/00_header.in: Fix a comment.
35499 * util/grub.d/10_linux.in: Likewise.
35500 * util/grub.d/10_windows.in: Likewise.
35501 * util/grub.d/10_hurd.in: Likewise.
35502
a78c8d24 355032009-08-08 Felix Zielcke <fzielcke@z-51.de>
35504
35505 * util/grub-mkconfig.in: Allow the user to specify the used font
35506 with GRUB_FONT.
35507
29a6b9e8 355082009-08-08 Pavel Roskin <proski@gnu.org>
35509
b5f16cc4 35510 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35511 available, xfs.mod needs it now.
35512
2f5cb827 35513 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35514 the "g" modifier in sed when the intention is to strip something
35515 once. This fixes comparison of kernels with multiple dashes.
35516
29a6b9e8 35517 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35518 on it. Add missing space before closing bracket. Fix
35519 misleading formatting.
35520
892a3d98 355212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35522
35523 * docs/grub.texi: Major overhaul. Remove all sections that are
35524 specific to GRUB Legacy, or mostly composed of Legacy-specific
35525 information.
35526
ed94253f 355272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35528
35529 * docs/version.texi: New file. Provides version information for
35530 grub.texi.
35531
126d6628 355322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35533
35534 * docs/grub.texi: Update CVS information to SVN.
35535 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35536
998b5aa9 355372009-08-07 Felix Zielcke <fzielcke@z-51.de>
35538
35539 * util/grub-mkconfig.in: Remove a wrong `fi'.
35540
818e094a 355412009-08-07 Felix Zielcke <fzielcke@z-51.de>
35542
35543 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35544 (grub_jfs_uuid): New function.
35545 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35546
b969c52f 355472009-08-07 Felix Zielcke <fzielcke@z-51.de>
35548
35549 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35550 of it to ...
35551 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35552 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35553
7a4894cc 355542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35555
35556 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35557 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35558 Update all users.
35559
35560 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35561 not just "vmlinu[zx]".
35562 Moved from here ...
35563 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35564 all users.
35565
35566 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35567 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35568 all users.
35569
4e2171f8 355702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35571
35572 * util/grub.d/10_freebsd.in: Use an absolute device path for
35573 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35574
6dcfcb32 355752009-08-06 Felix Zielcke <fzielcke@z-51.de>
35576
35577 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35578 handling of multiple abstraction modules.
35579
f56a8756 355802009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35581
35582 Fix a bug resulting in black screen when loading Linux using a
35583 packed video mode.
35584
35585 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35586 function.
35587
35588 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35589 (grub_vbe_bios_getset_dac_palette_width): New function.
35590 (grub_vbe_bios_get_dac_palette_width)
35591 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35592 grub_vbe_bios_getset_dac_palette_width()).
35593
35594 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35595 check for return status.
35596 (grub_vbe_get_video_mode_info): When getting information for a packed
35597 mode (<= 8 bpp), obtain DAC palette width using
35598 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35599 {red,green,blue}_mark_size.
35600
222671b2 356012009-08-04 Felix Zielcke <fzielcke@z-51.de>
35602
ecb1a6d9 35603 * commands/search.c (options): Fix help output to match actual code.
222671b2 35604
f84114f5 356052009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35606
35607 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35608 of homegrown code.
35609
bd288a20 356102009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35611
35612 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35613 on XFS or ReiserFS.
35614
8aab5e25 356152009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35616
35617 Support Apple partition map with sector size different from 512 bytes.
35618
35619 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35620 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35621 and 'apart.partmap_size'.
35622
6ad6258a 356232009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
356242009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35625
35626 Fix cpuid command.
35627
35628 * commands/i386/cpuid.c (options): New variable.
35629 (grub_cmd_cpuid): Return real error.
35630 (GRUB_MOD_INIT(cpuid)): Declare options.
35631
67459bc6 356322009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35633
35634 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35635 valid.
35636
fbc6ab54 356372009-07-31 Bean <bean123ch@gmail.com>
35638
35639 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35640 log2_inode.
35641 (grub_fshelp_node): Move inode field to the end.
35642 (grub_xfs_data): Remove inode field.
35643 (grub_xfs_inode_block): Calculate inode size using sblock.
35644 (grub_xfs_inode_offset): Likewise.
35645 (grub_xfs_read_inode): Calculate inode size using sblock.
35646 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35647 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35648 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35649 to match inode size.
35650 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35651 not accessible when data is null.
35652 (grub_xfs_open): Likewise.
35653
f45d6cfc 356542009-07-31 Bean <bean123ch@gmail.com>
35655
35656 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35657 Don't change pv->disk if it's already set.
35658
35659 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35660 (grub_raid_register): ... here.
35661 (grub_raid_rescan): Removed.
35662
35663 * include/grub/raid.h (grub_raid_rescan): Removed.
35664
35665 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35666 (fstest): Replace grub_raid_rescan with module fini function followed
35667 by init function.
35668
35669 * util/grub-probe.c: Add include file <grub/raid.h>.
35670 (probe_raid_level): New function.
35671 (probe): Detect abstraction by walking the disk device, support two
35672 level of abstraction (LVM on RAID) when detecting partition map.
35673
24443b5a 356742009-07-31 Pavel Roskin <proski@gnu.org>
35675
35676 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35677 to grub_zalloc(), it was erroneous.
35678 Reported by Bean <bean123ch@gmail.com>
35679
a275d9e7 356802009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35681
35682 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35683 embedding zone, not only the first one.
a275d9e7 35684
56c5a47f 356852009-07-29 Joe Auricchio <jauricchio@gmail.com>
35686
35687 * term/gfxterm.c (clear_char): New function.
35688 (grub_virtual_screen_setup): Use clear_char.
35689 (scroll_up): Likewise.
35690 (grub_virtual_screen_cls): Likewise.
35691
67bb323a 356922009-07-29 Felix Zielcke <fzielcke@z-51.de>
35693
35694 * util/deviceiter.c (get_acceleraid_disk_name): New static
35695 function.
35696 (grub_util_iterate_devices): Handle Accelraid devices.
35697 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35698
388a7c75 356992009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35700
35701 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35702 separator for the suggested gfxpayload string (';' collides with the
35703 parser and needs escaping).
35704
3bb7abcf 357052009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35706
35707 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35708 Clear direction flag before jumping to OS.
35709 (grub_multiboot2_real_boot): Likewise.
35710
2ddd36d7 357112009-07-28 Felix Zielcke <fzielcke@z-51.de>
35712
35713 * util/i386/pc/grub-install: Fix parsing of --disk-module
35714 option.
35715
c521b62b 357162009-07-28 Felix Zielcke <fzielcke@z-51.de>
35717
35718 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35719 when embedding.
35720
880e0a0c 357212009-07-26 Felix Zielcke <fzielcke@z-51.de>
35722
35723 * util/grub-mkconfig.in (package_version): New variable.
35724 Use it do display the version.
35725
2366e356 357262009-07-25 Felix Zielcke <fzielcke@z-51.de>
35727
35728 * kern/file.c (grub_file_open): Revert to previous check with
35729 grub_errno.
35730
7ad8c80e 357312009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35732
35733 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35734 from help line. It's out of sync with code.
35735
72b9658b 357362009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35737
35738 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35739 entries on failed boot.
35740
77435277 357412009-07-25 Felix Zielcke <fzielcke@z-51.de>
35742
35743 * kern/file.c (grub_file_open): Fix an error check.
35744
fcaa8b21 357452009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35746
35d16c74 35747 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35748 partition map couldn't be identified.
fcaa8b21 35749
48904cd1 357502009-07-23 Pavel Roskin <proski@gnu.org>
35751
ef3c317f 35752 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35753 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35754 case of little endian words becomes just an optimization.
35755 Respect const modifier.
ad8ea1f4 35756 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35757
48904cd1 35758 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35759 to avoid loss of upper bits if align is unsigned and shorter
35760 than addr.
35761
260c9a89 357622009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35763
35764 UUID support for UFS
35765
35766 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35767 (grub_ufs_uuid): New function.
35768 (grub_ufs_fs): add .uuid
35769
f76ce889 357702009-07-21 Pavel Roskin <proski@gnu.org>
35771
35772 * kern/dl.c (grub_dl_check_header): Make static.
35773
6a6cbcaf 357742009-07-21 Felix Zielcke <fzielcke@z-51.de>
35775
35776 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35777 add drivemap for Vista. It breaks Windows 7.
35778
cffcddb2 357792009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35780
35781 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35782 128 bytes
35783
1ef44b80 357842009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35785
35786 Add BFS support
35787
35788 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35789 (grub_fstest_SOURCES): Likewise.
35790 (pkglib_MODULES): Add befs.mod.
35791 (befs_mod_SOURCES): New variable.
35792 (befs_mod_CFLAGS): Likewise.
35793 (befs_mod_LDFLAGS): Likewise.
35794 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35796 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35797 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35798 (grub_setup_SOURCES): Likewise.
35799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35800 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35801 (grub_setup_SOURCES): Likewise.
35802 * fs/befs.c: New file.
35803 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35804 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35805 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35806 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35807 (B_KEY_INDEX_ALIGN): New declaration.
35808 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35809 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35810 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35811 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35812 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35813 (grub_afs_mount) [MODE_BFS]: Likewise.
35814 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35815 (grub_afs_fs): Use GRUB_AFS_FSNAME
35816 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35817 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35818 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35819 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35820
4f253044 358212009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35822
35823 * util/getroot.c (find_root_device): Add support for MacOSX.
35824 * util/hostdisk.c: Likewise.
35825
57a55913 358262009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35827
35828 * font/font.c (find_glyph): Check whether a font is present to avoid
35829 segmentation fault.
75421ca9 35830
358312009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35832
35833 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35834
e98cd0c2 358352009-07-20 Pavel Roskin <proski@gnu.org>
35836
35837 * configure.ac: Trim excessively wordy excuses.
35838
1d2d169a 358392009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35840
35841 Add symlink, mtime and label support to AtheFS.
35842
35843 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35844 (grub_afs_iterate_dir): Handle symlinks.
35845 (grub_afs_open): Use grub_afs_read_symlink.
35846 (grub_afs_dir): Likewise.
35847 Pass mtime.
35848 (grub_afs_label): New function.
35849 (grub_afs_fs): Add grub_afs_label.
35850 (grub_afs_read_symlink): New function.
35851
186f3189 358522009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35853
35854 Fix AtheFS support.
35855
35856 * fs/afs.c: Fix comments style.
35857 (grub_afs_blockrun): Declare as packed.
35858 (grub_afs_datastream): Likewise.
35859 (grub_afs_bnode): Likewise.
35860 (grub_afs_btree): Likewise.
35861 (grub_afs_sblock): Likewise.
35862 Declare `name' as char.
35863 (grub_afs_inode): Declare as packed.
35864 Change void *vnode to grub_uint32_t unused.
35865 (grub_afs_iterate_dir): Check that key_size is positive.
35866 (grub_afs_mount): Don't read superblock twice.
75421ca9 35867 (grub_afs_dir): Don't free node in case of error,
186f3189 35868 grub_fshelp_find_file already handles this.
35869 (grub_afs_open): Likewise.
35870
5680109e 358712009-07-19 Pavel Roskin <proski@gnu.org>
35872
35873 * Makefile.in: Remove LIBLZO and enable_lzo.
35874 * conf/i386-pc.rmk: Remove lzo support.
35875 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35876 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35877 support.
35878 * kern/i386/pc/lzo1x.S: Remove.
35879 * kern/i386/pc/startup.S: Remove lzo support.
35880 * util/i386/pc/grub-mkimage.c: Likewise.
35881
ac70fa32 358822009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35883
35884 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35885 * fs/xfs.c (grub_xfs_dir): Likewise.
35886 * fs/afs.c (grub_afs_dir): Likewise.
35887 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35888 (grub_iso9660_open): Likewise.
35889 * fs/jfs.c (grub_jfs_open): Likewise.
35890 * fs/ext2.c (grub_ext2_dir): Likewise.
35891 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35892 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35893
eab58da2 358942009-07-16 Pavel Roskin <proski@gnu.org>
35895
d2838156 35896 * configure.ac: Never add "-c" to CFLAGS.
35897
55c70904 35898 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35899
43e6200c 35900 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35901 grub_cv_cc_efiemu should be used.
35902
ce7a733d 35903 * configure.ac: Typo fixes.
35904
eab58da2 35905 * kern/mm.c (grub_zalloc): New function.
35906 (grub_debug_zalloc): Likewise.
35907 * include/grub/mm.h: Declare grub_zalloc() and
35908 grub_debug_zalloc().
35909 * util/misc.c (grub_zalloc): New function.
35910 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35911 instead of grub_malloc(), remove unneeded initializations.
35912 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35913 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35914 * commands/parttool.c (grub_cmd_parttool): Likewise.
35915 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35916 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35917 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35918 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35919 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35920 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35921 (grub_cmd_efiemu_pnvram): Likewise.
35922 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35923 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35924 (grub_iso9660_iterate_dir): Likewise.
35925 * fs/jfs.c (grub_jfs_opendir): Likewise.
35926 * fs/ntfs.c (list_file): Likewise.
35927 (grub_ntfs_mount): Likewise.
35928 * kern/disk.c (grub_disk_open): Likewise.
35929 * kern/dl.c (grub_dl_load_core): Likewise.
35930 * kern/elf.c (grub_elf_file): Likewise.
35931 * kern/env.c (grub_env_context_open): Likewise.
35932 (grub_env_set): Likewise.
35933 (grub_env_set_data_slot): Likewise.
35934 * kern/file.c (grub_file_open): Likewise.
35935 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35936 * loader/i386/multiboot.c (grub_module): Likewise.
35937 * loader/xnu.c (grub_xnu_create_key): Likewise.
35938 (grub_xnu_create_value): Likewise.
35939 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35940 (read_config_file): Likewise.
35941 * normal/menu_entry.c (make_screen): Likewise.
35942 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35943 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35944 * script/sh/script.c (grub_script_parse): Likewise.
35945 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35946 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35947 * video/readers/png.c (grub_png_output_byte): Likewise.
35948 (grub_video_reader_png): Likewise.
35949
830afef7 359502009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35951
35952 Enable all targets that can be built by default
35953
830afef7 35954 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35955 grub-mkfont and grub-fstest if they can be built
35956
ee293aee 359572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35958
35959 Fix hang and segmentation fault in grub-emu-usb
35960
35961 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35962 * util/usb.c (grub_libusb_devices): likewise
35963 (grub_libusb_init): rename to ...
35964 (GRUB_MOD_INIT (libusb)):...this
35965 (grub_libusb_fini): rename to ..
35966 (GRUB_MOD_FINI (libusb)):...this
35967 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35968 * include/grub/disk.h (grub_raid_init): removed, it's useless
35969 (grub_raid_fini): likewise
35970 (grub_lvm_init): likewise
35971 (grub_lvm_fini): likewise
35972 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35973 by grub_init_all
35974
94414221 359752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35976
35977 Fix libusb
35978
35979 * Makefile.in (LIBUSB): new macro
35980 * genmk.rb (Utility/print_tail): new method
35981 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35982 (top level): call util.print_tail at the end.
35983
59ade63d 359842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35985
35986 Make FreeBSD accept zpool.cache
35987
35988 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35989 type is /boot/zfs/zpool.cache
35990
a58da8c7 359912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35992
35993 Fix 64-bit efiemu
35994
35995 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35996 correct wrong typedef
35997 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35998
20591577 359992009-07-15 Pavel Roskin <proski@gnu.org>
36000
560ca572 36001 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36002 * kern/disk.c (struct grub_disk_cache): Likewise.
36003
e8e8e4fd 36004 * commands/probe.c (options): Typo fix.
36005
fde24e10 36006 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36007 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36008 accordingly.
36009 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36010
379c54c1 36011 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36012 the end of "Error" to make the message more readable.
36013
7bd8f5bf 36014 * boot/i386/pc/boot.S (kernel_segment): Remove.
36015 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36016 for destination.
36017
40b132c5 36018 * boot/i386/pc/boot.S (boot_version): Remove.
36019 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36020 Remove.
36021
20591577 36022 * include/grub/i386/pc/boot.h: Sort all offsets.
36023 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36024 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36025 * boot/i386/pc/boot.S: Assert location of every offset listed in
36026 include/grub/i386/pc/boot.h.
36027
2df32b2c 360282009-07-13 Pavel Roskin <proski@gnu.org>
36029
44b5d879 36030 * include/grub/i386/coreboot/machine.h: Rename
36031 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36032 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36033 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36034
17dc3751 36035 * kern/dl.c: Force native word size to suppress warnings when
36036 compiling grub-emu.
36037
2df32b2c 36038 * kern/device.c (grub_device_iterate): Change struct part_ent to
36039 hold the name, not a pointer to it. Use one grub_malloc() per
36040 partition, not two. Free partition_name if grub_malloc() fails.
36041 Set ents to NULL only before grub_partition_iterate() is called.
36042
75c59f59 360432009-07-11 Bean <bean123ch@gmail.com>
36044
36045 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36046 childname.
36047
0ae1bf88 360482009-07-10 Bean <bean123ch@gmail.com>
360492009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36050
36051 * kern/ieee1275/openfw.c (grub_children_iterate)
36052 (grub_devalias_iterate): Fix size evaluation for property or path
36053 strings, which was broken since r2132.
36054
8279cade 360552009-07-07 Pavel Roskin <proski@gnu.org>
36056
7d8a52d3 36057 * commands/search.c (search_file): Merge into ...
36058 (search_fs): ... this. Accept search type as argument.
36059 (grub_cmd_search): Pass search type to search_fs().
36060
25f9a05a 36061 * include/grub/util/console.h: New file.
36062 * util/console.c: Use it instead of grub/machine/console.h.
36063 * util/grub-emu.c: Likewise.
36064
8279cade 36065 * lib/arg.c (find_long_option): Remove.
36066 (find_long): Add `len' argument, make `s' const char *.
36067 (grub_arg_parse): Parse long options in place, not in a
36068 temporary buffer.
36069
4a11b60f 360702009-07-06 Pavel Roskin <proski@gnu.org>
36071
99f68041 36072 * commands/search.c (search_fs): Fix potential NULL pointer
36073 dereference.
36074
4a11b60f 36075 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36076 function pointer.
36077
e110f4de 360782009-07-06 Daniel Mierswa <impulze@impulze.org>
36079
36080 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36081 comparison.
36082
46eeb6a2 360832009-07-05 Pavel Roskin <proski@gnu.org>
36084
bab74958 36085 * include/grub/i386/linux.h (struct linux_kernel_params):
36086 Restore padding3, it's still needed.
36087
46eeb6a2 36088 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36089 FreeBSD.
36090 * util/osdetect.lua: Likewise.
36091
b4a1dc79 360922009-07-05 Bean <bean123ch@gmail.com>
36093
36094 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36095
36096 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36097 (grub_lua_getenv): Likewise.
36098 (grub_lua_setenv): Likewise.
36099 (save_errno): New function.
36100 (push_result): Likewise.
36101 (grub_lua_enum_device): Likewise.
36102 (grub_lua_enum_file): Likewise.
36103 (grub_lua_file_open): Likewise.
36104 (grub_lua_file_close): Likewise.
36105 (grub_lua_file_seek): Likewise.
36106 (grub_lua_file_read): Likewise.
36107 (grub_lua_file_getline): Likewise.
36108 (grub_lua_file_getsize): Likewise.
36109 (grub_lua_file_getpos): Likewise.
36110 (grub_lua_file_eof): Likewise.
36111 (grub_lua_file_exist): Likewise.
36112 (grub_lua_add_menu): Likewise.
36113
36114 * script/lua/grub_lua.h (isupper): New inline function.
36115 (islower): Likewise.
36116 (ispunct): Likewise.
36117 (isxdigit): Likewise.
36118 (strcspn): Change to normal function.
36119 (strpbkr): New function declaration.
36120 (memchr): Likewise.
36121
36122 * script/lua/grub_main.c (scan_str): New function.
36123 (strcspn): Likewise.
36124 (strpbrk): Likewise.
36125 (memchr): Likewise.
36126
36127 * script/lua/linit.c (lualibs): Enable the string library.
36128
36129 * util/osdetect.lua: New file.
36130
2da92295 361312009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36132
36133 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36134 `capabilities' member.
36135
b2582ec9 361362009-07-02 Pavel Roskin <proski@gnu.org>
36137
36138 * genparttoollist.sh: Add missing newline at the end.
36139
32622956 361402009-07-01 Pavel Roskin <proski@gnu.org>
36141
87a7339e 36142 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36143
d23af54e 36144 * util/hostdisk.c (open_device): Remove `const' from
36145 `sysctl_size', as sysctlbyname() can change it (in this case it
36146 doesn't actually happen).
36147
c94b18a9 36148 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36149 using signed long int constants.
36150
c6cd3ef0 36151 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36152 constant to avoid a warning on FreeBSD.
36153
0df63420 36154 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36155 where it's needed.
36156
999577f1 36157 * Makefile.in: Install include/grub/machine symlink.
36158
6f41557f 36159 * Makefile.in: When installing symlinks, use "cp -fR", which
36160 works on FreeBSD and MacOSX.
36161 From Yves Blusseau <cl7m42e02@sneakemail.com>
36162
c8d22988 36163 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36164 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36165
1b96e952 36166 * util/misc.c: Move grub_reboot() and grub_halt() ...
36167 * util/grub-emu.c: ... here. Make main_env static.
36168 * include/grub/util/misc.h: Remove main_env.
36169
2ef0084d 36170 * kern/mm.c: Use correct format to print size_t.
36171
32622956 36172 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36173 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36174 * kern/powerpc/dl.c: Likewise.
36175 * kern/sparc64/dl.c: Likewise.
36176 * kern/x86_64/dl.c: Likewise.
36177
3f7f0cd0 361782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36179
36180 Fix grub-emu build on sparc64-ieee1275.
36181
75421ca9 36182 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 36183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36184
211d06b5 361852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36186
36187 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36188 (grub_reboot, grub_halt): New functions.
36189
36190 * util/i386/pc/misc.c: Delete. Update all users.
36191 * util/sparc64/ieee1275/misc.c: Likewise.
36192 * util/powerpc/ieee1275/misc.c: Likewise.
36193
aaf53e3c 361942009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36195
36196 * conf/i386.rmk (setjmp_mod_SOURCES)
36197 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36198 * conf/common.rmk (setjmp_mod_SOURCES)
36199 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36200 to use $(target_cpu).
36201 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36202 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36203 * conf/powerpc-ieee1275.rmk: Likewise.
36204 * conf/sparc64-ieee1275.rmk: Likewise.
36205
36206 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36207 $(target_cpu) for kern/$(target_cpu)/dl.c.
36208 * conf/i386-efi.rmk: Likewise.
36209 * conf/i386-ieee1275.rmk: Likewise.
36210 * conf/x86_64-efi.rmk: Likewise.
36211 * conf/i386-coreboot.rmk: Likewise.
36212 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36213 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36214 kern/$(target_cpu)/cache.S.
36215 * conf/sparc64-ieee1275.rmk: Likewise.
36216
a337130b 362172009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36218
36219 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36220 type to `grub_uint8_t', and adjust `padding9' accordingly.
36221
c6fe4d53 362222009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36223
b09db61d 36224 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36225
c6fe4d53 36226 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36227 assembly in final jump, using register constraints.
36228
b09db61d 36229 (grub_linux_boot): For text mode, initialize `have_vga' using
36230 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36231
36232 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36233 right before the final jump.
36234
36235 Set `video_mode' to 0x3.
36236
36237 Document initialization of `video_page', `video_mode' and
36238 `video_ega_bx'.
36239
28333ad0 362402009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36241
36242 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36243 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 36244 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 36245
02164e1b 362462009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36247
36248 Fix build on Debian / sparc.
36249
36250 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36251
18b6c557 362522009-06-28 Pavel Roskin <proski@gnu.org>
36253
85f2aab6 36254 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36255 fix a warning.
36256
18b6c557 36257 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36258
ad760f81 362592009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36260
36261 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36262 `err'.
36263
87a4623b 362642009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36265
36266 Revert r2338.
36267
36268 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36269 file can't be opened. grub_file_open() is already supposed to set
75421ca9 36270 grub_errno / grub_errmsg appropriately.
87a4623b 36271 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36272
8231fb77 362732009-06-27 Pavel Roskin <proski@gnu.org>
362742009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36275
36276 * include/grub/dl.h: Include grub/elf.h.
36277 (struct grub_dl): Add symtab field.
36278 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36279 GRUB_MODULES_MACHINE_READONLY.
36280 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36281 of the header for read-only modules.
36282 (grub_dl_unload): Free mod->symtab for read-only modules.
36283 * kern/i386/dl.c: Use mod->symtab.
36284 * kern/powerpc/dl.c: Likewise.
36285 * kern/sparc64/dl.c: Likewise.
36286 * kern/x86_64/dl.c: Likewise.
36287
36288 * conf/i386-qemu.rmk: New file.
36289 * kern/i386/qemu/startup.S: Likewise.
36290 * kern/i386/qemu/mmap.c: Likewise.
36291 * boot/i386/qemu/boot.S: Likewise.
36292 * include/grub/i386/qemu/time.h: Likewise.
36293 * include/grub/i386/qemu/serial.h: Likewise.
36294 * include/grub/i386/qemu/kernel.h: Likewise.
36295 * include/grub/i386/qemu/console.h: Likewise.
36296 * include/grub/i386/qemu/boot.h: Likewise.
36297 * include/grub/i386/qemu/init.h: Likewise.
36298 * include/grub/i386/qemu/machine.h: Likewise.
36299 * include/grub/i386/qemu/loader.h: Likewise.
36300 * include/grub/i386/qemu/memory.h: Likewise.
36301
36302 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36303 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36304 [qemu] (pkglib_IMAGES): Add `boot.img'.
36305 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36306 [qemu] (boot_img_FORMAT): New variables.
36307 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36308 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36309 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36310 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36311 [qemu] (kernel_img_FORMAT): New variables.
36312
36313 * configure.ac: Recognise `i386-qemu'.
36314
36315 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36316 (for no compression).
36317 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36318 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36319 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36320 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36321 ifdefs).
36322
97fe384e 363232009-06-27 Pavel Roskin <proski@gnu.org>
36324
36325 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
36326 read.
36327 * efiemu/prepare32.c: Likewise.
36328 * efiemu/prepare64.c: Likewise.
36329
c402ab17 363302009-06-26 Pavel Roskin <proski@gnu.org>
36331
36332 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
36333 * include/grub/elf.h: Define symbols without "32" or "64" based
36334 on GRUB_TARGET_WORDSIZE.
36335 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36336 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36337 ELF definitions.
36338 * efiemu/loadcore64.c: Likewise.
36339 * loader/i386/bsd32.c: Likewise.
36340 * loader/i386/bsd64.c: Likewise.
36341 * kern/dl.c: Remove own ELF definitions.
36342 * util/i386/efi/grub-mkimage.c: Likewise.
36343
9bbdfd4d 363442009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36345
36346 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36347 segment 0x0 unconditionally, because the reference generated by
36348 GAS is an absolute address.
36349
a42ce6e9 363502009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36351
36352 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36353 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36354
c952cf92 363552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36356
36357 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36358 indexes. Check for -f explicitly.
cc3752ad 36359 (search_file): Improve error message.
36360 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 36361
132a0a59 363622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36363
36364 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
36365 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
36366
387a140c 363672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36368
36369 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
36370 * conf/i386-ieee1275.rmk: Likewise.
36371 * conf/i386-coreboot.rmk: Likewise.
36372
36373 * kern/i386/pc/startup.S (grub_stop): Remove function.
36374 * kern/i386/ieee1275/startup.S: Likewise.
36375 * kern/i386/coreboot/startup.S: Likewise.
36376 * kern/i386/misc.S (grub_stop): New function.
36377
41da9665 363782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36379
36380 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
36381 * kern/i386/realmode.S (real_to_prot): ... to here.
36382
bf337234 363832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36384
36385 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
36386 with `kernel.img'.
36387 (kernel_elf_SOURCES): Rename to ...
36388 (kernel_img_SOURCES): ... this.
36389 (kernel_elf_HEADERS): Rename to ...
36390 (kernel_img_HEADERS): ... this. Update all users.
36391 (kernel_elf_ASFLAGS): Rename to ...
36392 (kernel_img_ASFLAGS): ... this.
36393 (kernel_elf_CFLAGS): Rename to ...
36394 (kernel_img_CFLAGS): ... this.
36395 (kernel_elf_LDFLAGS): Rename to ...
36396 (kernel_img_LDFLAGS): ... this.
36397 * conf/i386-coreboot.rmk: Likewise.
36398 * conf/powerpc-ieee1275.rmk: Likewise.
36399
36400 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
36401 with "kernel.img".
36402
f52196ff 364032009-06-21 Pavel Roskin <proski@gnu.org>
36404
c3cee413 36405 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
36406 to match nested functions.
36407 * loader/sparc64/ieee1275/linux.c: Likewise.
36408
f52196ff 36409 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
36410
58750afc 364112009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36412
36413 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
36414 all i386 platforms.
36415
15355c7d 364162009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36417
36418 Fix asm file handling on ELF, and remove workarounds.
36419
36420 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 36421 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 36422 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
36423 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
36424
3f3ec72b 364252009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
36426
36427 Load BSD ELF modules
36428
36429 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
36430 and loader/i386/bsd64.c
36431 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
36432 (FREEBSD_MODTYPE_ELF_MODULE): New definition
36433 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
36434 (grub_freebsd_load_elfmodule32): New declaration
36435 (grub_freebsd_load_elfmoduleobj64): Likewise
36436 (grub_freebsd_load_elf_meta32): Likewise
36437 (grub_freebsd_load_elf_meta64): Likewise
36438 (grub_freebsd_add_meta): Likewise
36439 (grub_freebsd_add_meta_module): Likewise
36440 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
36441 (grub_freebsd_add_meta_module): Likewise and move module-specific
36442 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
36443 (grub_cmd_freebsd): Add elf-kernel specific parts
36444 based on grub_freebsd_add_meta_module
36445 (grub_cmd_freebsd_module): Add type parsing moved from
36446 grub_freebsd_add_meta_module
36447 (grub_cmd_freebsd_module_elf): New function
36448 (cmd_freebsd_module_elf): New variable
36449 (GRUB_MOD_INIT): Register freebsd_module_elf
36450 * loader/i386/bsd32.c: New file
36451 * loader/i386/bsd64.c: Likewise
36452 * loader/i386/bsdXX.c: Likewise
36453 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36454 (grub_elf64_load): Likewise
36455 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36456 All users updated
36457 (grub_elf64_load_hook_t): Likewise
36458
0db15301 364592009-06-21 Colin Watson <cjwatson@ubuntu.com>
36460
36461 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36462 variable.
36463 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36464 don't write a menu entry for recovery mode.
36465
546796c1 364662009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36467
36468 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36469 after it's no longer needed.
36470
cd7310d5 364712009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36472
36473 * include/grub/i386/loader.h (grub_linux_prot_size)
36474 (grub_linux_tmp_addr, grub_linux_real_addr)
36475 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36476 GRUB_MACHINE_PCBIOS.
36477 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36478 common grub_util_info() call to ...
36479 (generate_image): ... here.
36480 Fix use of uninitialized memory, comparison of signed with
36481 unsigned integers and memory leak.
36482 Remove bogus module address message.
36483
ab32d3b5 364842009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36485
36486 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36487 grub_raid_register
36488 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36489
024ef597 364902009-06-19 Pavel Roskin <proski@gnu.org>
36491
36492 * configure.ac: Remove stray AC_MSG_CHECKING.
36493
3ac72b51 364942009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36495
36496 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 36497
e14cd814 364982009-06-18 Pavel Roskin <proski@gnu.org>
36499
36500 * conf/common.rmk: Add fs_file.mod.
36501 * disk/fs_file.c: New file.
36502 * include/grub/disk.h (enum grub_disk_dev_id): Add
36503 GRUB_DISK_DEVICE_FILE_ID.
36504
26586d98 365052009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36506
36507 Fix build with Apple's toolchain. Part 2
36508
36509 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36510 a fake start
36511
26de2bcd 365122009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36513
36514 Fix build with Apple's toolchain. Part 1
36515
36516 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36517 for long calls
36518 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 36519 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 36520 Apple's toolchain
36521
09b3490b 365222009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36523
36524 Fix warnings
36525
36526 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36527 (decomp_block): initialize ch
36528 use grub_memcpy instead of memcpy
36529
c22a006a 365302009-06-17 Pavel Roskin <proski@gnu.org>
36531
d3638678 36532 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36533 version, use declarations needed to use vga_text as the startup
36534 console.
36535
c22a006a 36536 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36537 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36538 the kernel.
36539 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36540 and grub_at_keyboard_fini(), it's done on module load and
36541 unload.
36542
05b129e0 365432009-06-17 Felix Zielcke <fzielcke@z-51.de>
36544
36545 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36546 file can't be found.
36547 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36548
cf24ed9e 365492009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36550
36551 Fix newline handling
36552
36553 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36554 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36555 (grub_script_yylex): don't segfault on unterminated script
36556 newline terminates command and variable
36557
74aa8e4b 365582009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36559
36560 avoid double grub_adjust_range call. Bug reported by David Simner
36561
36562 * kern/disk.c (grub_disk_write): change to raw disk access before
36563 calling disk_read
36564
1bd265f3 365652009-06-17 Colin Watson <cjwatson@ubuntu.com>
36566
36567 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36568 spaces, for the benefit of help2man.
36569 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36570
a2d08c06 365712009-06-16 Pavel Roskin <proski@gnu.org>
36572
36573 * kern/i386/halt.c: Include grub/machine/init.h.
36574 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36575
b97bcb19 365762009-06-16 Felix Zielcke <fzielcke@z-51.de>
36577
36578 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36579 drivemap menuentry.
36580
0644f96c 365812009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36582
36583 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36584 `echo' command.
36585
3ef17a2e 365862009-06-16 Pavel Roskin <proski@gnu.org>
36587
36588 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36589 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36590 save %dx, we only need %dl and we never change it.
36591 * boot/i386/pc/cdboot.S: Don't set the root drive.
36592 * boot/i386/pc/pxeboot.S: Likewise.
36593 * include/grub/i386/pc/boot.h: Remove
36594 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36595 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36596 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36597 * kern/i386/pc/init.c (make_install_device): Remove references
36598 to grub_root_drive.
36599 * kern/i386/pc/startup.S: Likewise.
36600 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36601
693fe637 366022009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36603
36604 xnu_uuid command
36605
36606 * commands/xnu_uuid.c: new file
36607 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36608 (xnu_uuid_mod_SOURCES): new variable
36609 (xnu_uuid_mod_CFLAGS): likewise
36610 (xnu_uuid_mod_LDFLAGS): likewise
36611 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36612 * conf/i386-ieee1275.rmk: likewise
36613 * conf/i386-pc.rmk: likewise
36614 * conf/powerpc-ieee1275.rmk: likewise
36615 * conf/sparc64-ieee1275.rmk: likewise
36616 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36617
c9da87d0 366182009-06-16 Pavel Roskin <proski@gnu.org>
36619
36620 * configure.ac: Avoid '==' in test command, it's not portable.
36621
9c6f4596 366222009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36623
36624 Probe command
36625
36626 * commands/probe.c: new file
36627 * conf/common.rmk (pkglib_MODULES): add probe.mod
36628 (probe_mod_SOURCES): new variable
36629 (probe_mod_CFLAGS): likewise
36630 (probe_mod_LDFLAGS): likewise
36631 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36632 * conf/i386-ieee1275.rmk: likewise
36633 * conf/i386-pc.rmk: likewise
36634 * conf/powerpc-ieee1275.rmk: likewise
36635 * conf/sparc64-ieee1275.rmk: likewise
36636
70b7f9fd 366372009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36638
36639 Fix handling of string like \"hello\" and "a
36640 b"
36641
36642 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36643 (grub_script_yylex): fix parsing of quoting, escaping and newline
36644
71c79a6b 366452009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36646
dd74360c 36647 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36648 handling
dd74360c 36649
0644f96c 366502009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36651
36652 * util/grub-mkconfig.in: Fix parsing of --output option.
36653
e40893c3 366542009-06-12 Pavel Roskin <proski@gnu.org>
36655
36656 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36657 genmk.rb don't need to be generated or installed.
36658
3a1acfe2 366592009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36660
36661 * commands/i386/pc/drivemap_int13h.S: add more comments
36662
3a4575d4 366632009-06-11 Pavel Roskin <proski@gnu.org>
36664
0658e928 36665 * Makefile.in (uninstall): Uninstall manuals.
36666
ca0388f0 36667 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36668 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36669 and update-grub_lib in two places.
36670 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36671
e3b27c39 36672 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36673 a compiler warning.
36674
3a4575d4 36675 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36676 `entry_lo' to fix variable shadowing.
36677
af1f4f55 366782009-06-11 Christian Franke <franke@computer.org>
36679
36680 * kern/misc.c (__enable_execute_stack): Add missing return type
36681 to prevent gcc warning.
36682
5225e649 366832009-06-11 Felix Zielcke <fzielcke@z-51.de>
36684
36685 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36686
7d83bd47 366872009-06-11 Pavel Roskin <proski@gnu.org>
36688
c1cb63ba 36689 * Makefile.in: Don't rely on any scripts being executable.
36690 Always use $(SHELL) to run shell scripts.
36691
7d83bd47 36692 * configure.ac: Always define ___main if using -nostdlib. This
36693 fixes tests on Cygwin.
36694
948f48e7 366952009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36696
36697 UDF fix
36698
7d83bd47 36699 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36700 is in bytes and not in blocks
7d83bd47 36701
8ada9bc1 367022009-06-11 Pavel Roskin <proski@gnu.org>
36703
36704 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36705 warning.
36706
25ad2323 367072009-06-11 Felix Zielcke <fzielcke@z-51.de>
36708
36709 * util/grub.d/30_os-prober.in: Fix a comment. Source
36710 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36711 to set the root device. Place drivemap command in the generated
36712 chain entry.
36713
e65acb0c 367142009-06-11 Pavel Roskin <proski@gnu.org>
36715
36716 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36717 have long been resolved.
36718
f285fe2d 367192009-06-11 Colin Watson <cjwatson@ubuntu.com>
36720
bd47b0b5 36721 * util/grub.d/10_linux.in: Capitalise "Linux".
36722
f285fe2d 36723 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36724
a0c62e4e 367252009-06-11 Pavel Roskin <proski@gnu.org>
36726
b6783cb2 36727 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36728 fix a gcc warning and ensure that the function won't ever exit.
36729
dde032e8 36730 * kern/i386/ieee1275/init.c: Add missing prototype for
36731 grub_stop_floppy().
36732
22cd079d 36733 * loader/ieee1275/multiboot2.c [__i386__]: Include
36734 grub/cpu/multiboot.h.
36735
a0c62e4e 36736 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36737 casts to short - they are not portable and cause warnings. Fix
36738 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36739
63963d17 367402009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36741
36742 Drivemap fixes
36743
36744 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36745 new function
36746 (grub_get_root_biosnumber_saved): new variable
36747 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36748 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36749 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36750 %dx after the call if necessary
36751 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36752 (boot_mod_SOURCES): remove
36753 (boot_mod_CFLAGS): remove
36754 (boot_mod_LDFLAGS): remove
36755 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36756 (boot_mod_SOURCES): new variable
36757 (boot_mod_CFLAGS): likewise
36758 (boot_mod_LDFLAGS): likewise
36759 * conf/i386-efi.rmk: likewise
36760 * conf/i386-ieee1275.rmk: likewise
36761 * conf/i386-pc.rmk: likewise
36762 * conf/powerpc-ieee1275.rmk: likewise
36763 * conf/sparc64-ieee1275.rmk: likewise
36764 * conf/x86_64-efi.rmk: likewise
36765 * include/grub/i386/pc/biosnum.h: new file
36766 * lib/i386/pc/biosnum.c: likewise
36767 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36768 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36769 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36770
33abf7ae 367712009-06-10 Pavel Roskin <proski@gnu.org>
36772
5ac35b35 36773 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36774 Use separate variables. Read only the file size at the end, but
36775 not the checksum that we don't use.
36776
5c5215d5 36777 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36778 Adjust all callers.
36779
27d5fef7 36780 * kern/ieee1275/openfw.c: Remove libc includes.
36781 * kern/ieee1275/cmain.c: Likewise.
36782 * include/grub/ieee1275/ieee1275.h: Likewise.
36783
33abf7ae 36784 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36785 compiler warnings.
36786
19d50c2b 367872009-06-10 Felix Zielcke <fzielcke@z-51.de>
36788
36789 * Makefile.in: Remove all trailing whitespace.
36790 * conf/i386-pc.rmk: Likewise.
36791 * conf/powerpc-ieee1275.rmk: Likewise.
36792 * conf/sparc64-ieee1275.rmk: Likewise.
36793 * docs/grub.texi: Likewise.
36794 * docs/texinfo.tex: Likewise.
36795 * disk/fs_uuid.c: Likewise.
36796 * disk/lvm.c: Likewise.
36797 * disk/scsi.c: Likewise.
36798 * disk/ata.c: Likewise.
36799 * disk/ieee1275/ofdisk.c: Likewise.
36800 * disk/i386/pc/biosdisk.c: Likewise.
36801 * disk/host.c: Likewise.
36802 * disk/raid.c: Likewise.
36803 * disk/efi/efidisk.c: Likewise.
36804 * disk/usbms.c: Likewise.
36805 * disk/memdisk.c: Likewise.
36806 * disk/loopback.c: Likewise.
36807 * kern/powerpc/dl.c: Likewise.
36808 * kern/device.c: Likewise.
36809 * kern/dl.c: Likewise.
36810 * kern/sparc64/dl.c: Likewise.
36811 * kern/ieee1275/ieee1275.c: Likewise.
36812 * kern/term.c: Likewise.
36813 * kern/fs.c: Likewise.
36814 * kern/i386/dl.c: Likewise.
36815 * kern/i386/pc/startup.S: Likewise.
36816 * kern/i386/pc/init.c: Likewise.
36817 * kern/i386/pc/mmap.c: Likewise.
36818 * kern/i386/pc/lzo1x.S: Likewise.
36819 * kern/i386/ieee1275/init.c: Likewise.
36820 * kern/i386/realmode.S: Likewise.
36821 * kern/i386/tsc.c: Likewise.
36822 * kern/partition.c: Likewise.
36823 * kern/corecmd.c: Likewise.
36824 * kern/file.c: Likewise.
36825 * kern/efi/efi.c: Likewise.
36826 * kern/efi/init.c: Likewise.
36827 * kern/efi/mm.c: Likewise.
36828 * kern/main.c: Likewise.
36829 * kern/err.c: Likewise.
36830 * kern/env.c: Likewise.
36831 * kern/disk.c: Likewise.
36832 * kern/generic/millisleep.c: Likewise.
36833 * kern/generic/rtc_get_time_ms.c: Likewise.
36834 * kern/misc.c: Likewise.
36835 * kern/parser.c: Likewise.
36836 * genmk.rb: Likewise.
36837 * configure.ac: Likewise.
36838 * boot/i386/pc/diskboot.S: Likewise.
36839 * boot/i386/pc/pxeboot.S: Likewise.
36840 * boot/i386/pc/boot.S: Likewise.
36841 * boot/i386/pc/lnxboot.S: Likewise.
36842 * boot/i386/pc/cdboot.S: Likewise.
36843 * parttool/pcpart.c: Likewise.
36844 * video/readers/tga.c: Likewise.
36845 * video/video.c: Likewise.
36846 * video/bitmap.c: Likewise.
36847 * lib/envblk.c: Likewise.
36848 * lib/i386/setjmp.S: Likewise.
36849 * fs/xfs.c: Likewise.
36850 * fs/afs.c: Likewise.
36851 * fs/fat.c: Likewise.
36852 * fs/ntfs.c: Likewise.
36853 * fs/udf.c: Likewise.
36854 * fs/affs.c: Likewise.
36855 * fs/iso9660.c: Likewise.
36856 * fs/hfs.c: Likewise.
36857 * fs/fshelp.c: Likewise.
36858 * fs/ext2.c: Likewise.
36859 * fs/jfs.c: Likewise.
36860 * fs/reiserfs.c: Likewise.
36861 * fs/hfsplus.c: Likewise.
36862 * fs/minix.c: Likewise.
36863 * fs/cpio.c: Likewise.
36864 * fs/sfs.c: Likewise.
36865 * fs/ufs.c: Likewise.
36866 * efiemu/prepare.c: Likewise.
36867 * efiemu/loadcore_common.c: Likewise.
36868 * efiemu/runtime/efiemu.sh: Likewise.
36869 * efiemu/runtime/efiemu.S: Likewise.
36870 * efiemu/runtime/efiemu.c: Likewise.
36871 * efiemu/pnvram.c: Likewise.
36872 * efiemu/main.c: Likewise.
36873 * efiemu/i386/pc/cfgtables.c: Likewise.
36874 * efiemu/i386/loadcore64.c: Likewise.
36875 * efiemu/i386/loadcore32.c: Likewise.
36876 * efiemu/loadcore.c: Likewise.
36877 * efiemu/symbols.c: Likewise.
36878 * efiemu/mm.c: Likewise.
36879 * include/grub/autoefi.h: Likewise.
36880 * include/grub/datetime.h: Likewise.
36881 * include/grub/term.h: Likewise.
36882 * include/grub/hfs.h: Likewise.
36883 * include/grub/lvm.h: Likewise.
36884 * include/grub/i386/tsc.h: Likewise.
36885 * include/grub/i386/linux.h: Likewise.
36886 * include/grub/i386/xnu.h: Likewise.
36887 * include/grub/i386/efiemu.h: Likewise.
36888 * include/grub/i386/pc/biosdisk.h: Likewise.
36889 * include/grub/i386/pc/memory.h: Likewise.
36890 * include/grub/i386/pc/vbe.h: Likewise.
36891 * include/grub/parttool.h: Likewise.
36892 * include/grub/video.h: Likewise.
36893 * include/grub/memory.h: Likewise.
36894 * include/grub/fs.h: Likewise.
36895 * include/grub/partition.h: Likewise.
36896 * include/grub/xnu.h: Likewise.
36897 * include/grub/efi/api.h: Likewise.
36898 * include/grub/efi/pe32.h: Likewise.
36899 * include/grub/efi/memory.h: Likewise.
36900 * include/grub/multiboot.h: Likewise.
36901 * include/grub/usbdesc.h: Likewise.
36902 * include/grub/multiboot2.h: Likewise.
36903 * include/grub/acpi.h: Likewise.
36904 * include/grub/efiemu/efiemu.h: Likewise.
36905 * include/grub/disk.h: Likewise.
36906 * include/grub/ieee1275/ieee1275.h: Likewise.
36907 * include/grub/net.h: Likewise.
36908 * include/grub/machoload.h: Likewise.
36909 * include/grub/macho.h: Likewise.
36910 * include/multiboot.h: Likewise.
36911 * genmoddep.awk: Likewise.
36912 * normal/main.c: Likewise.
36913 * normal/menu_entry.c: Likewise.
36914 * normal/menu_viewer.c: Likewise.
36915 * normal/completion.c: Likewise.
36916 * normal/cmdline.c: Likewise.
36917 * normal/misc.c: Likewise.
36918 * normal/datetime.c: Likewise.
36919 * bus/usb/usbtrans.c: Likewise.
36920 * bus/usb/ohci.c: Likewise.
36921 * bus/usb/uhci.c: Likewise.
36922 * bus/usb/usb.c: Likewise.
36923 * mmap/efi/mmap.c: Likewise.
36924 * mmap/i386/pc/mmap_helper.S: Likewise.
36925 * mmap/i386/pc/mmap.c: Likewise.
36926 * mmap/i386/mmap.c: Likewise.
36927 * mmap/i386/uppermem.c: Likewise.
36928 * mmap/mmap.c: Likewise.
36929 * commands/acpi.c: Likewise.
36930 * commands/echo.c: Likewise.
36931 * commands/blocklist.c: Likewise.
36932 * commands/loadenv.c: Likewise.
36933 * commands/usbtest.c: Likewise.
36934 * commands/boot.c: Likewise.
36935 * commands/parttool.c: Likewise.
36936 * commands/search.c: Likewise.
36937 * commands/cat.c: Likewise.
36938 * commands/i386/pc/play.c: Likewise.
36939 * commands/i386/pc/drivemap.c: Likewise.
36940 * commands/i386/pc/vbeinfo.c: Likewise.
36941 * commands/i386/pc/acpi.c: Likewise.
36942 * commands/i386/pc/vbetest.c: Likewise.
36943 * commands/ls.c: Likewise.
36944 * commands/cmp.c: Likewise.
36945 * commands/test.c: Likewise.
36946 * commands/efi/acpi.c: Likewise.
36947 * commands/gptsync.c: Likewise.
36948 * commands/help.c: Likewise.
36949 * partmap/amiga.c: Likewise.
36950 * partmap/apple.c: Likewise.
36951 * partmap/acorn.c: Likewise.
36952 * partmap/pc.c: Likewise.
36953 * partmap/sun.c: Likewise.
36954 * partmap/gpt.c: Likewise.
36955 * script/sh/lexer.c: Likewise.
36956 * script/sh/function.c: Likewise.
36957 * font/font.c: Likewise.
36958 * font/font_cmd.c: Likewise.
36959 * loader/powerpc/ieee1275/linux.c: Likewise.
36960 * loader/efi/chainloader.c: Likewise.
36961 * loader/multiboot_loader.c: Likewise.
36962 * loader/macho.c: Likewise.
36963 * loader/i386/multiboot.c: Likewise.
36964 * loader/i386/linux.c: Likewise.
36965 * loader/i386/pc/linux.c: Likewise.
36966 * loader/i386/pc/multiboot2.c: Likewise.
36967 * loader/i386/pc/chainloader.c: Likewise.
36968 * loader/i386/pc/xnu.c: Likewise.
36969 * loader/i386/bsd_trampoline.S: Likewise.
36970 * loader/i386/efi/linux.c: Likewise.
36971 * loader/i386/multiboot_elfxx.c: Likewise.
36972 * loader/i386/bsd_helper.S: Likewise.
36973 * loader/i386/bsd.c: Likewise.
36974 * loader/i386/linux_trampoline.S: Likewise.
36975 * loader/i386/xnu_helper.S: Likewise.
36976 * loader/i386/xnu.c: Likewise.
36977 * loader/i386/bsd_pagetable.c: Likewise.
36978 * loader/i386/multiboot_helper.S: Likewise.
36979 * loader/xnu.c: Likewise.
36980 * loader/xnu_resume.c: Likewise.
36981 * io/gzio.c: Likewise.
36982 * term/efi/console.c: Likewise.
36983 * term/terminfo.c: Likewise.
36984 * term/ieee1275/ofconsole.c: Likewise.
36985 * term/i386/pc/serial.c: Likewise.
36986 * term/i386/pc/vesafb.c: Likewise.
36987 * term/i386/pc/vga.c: Likewise.
36988 * term/usb_keyboard.c: Likewise.
36989 * term/gfxterm.c: Likewise.
36990 * aclocal.m4: Likewise.
36991 * util/lvm.c: Likewise.
36992 * util/grub.d/30_os-prober.in: Likewise.
36993 * util/grub.d/10_hurd.in: Likewise.
36994 * util/console.c: Likewise.
36995 * util/grub-macho2img.c: Likewise.
36996 * util/grub-probe.c: Likewise.
36997 * util/hostfs.c: Likewise.
36998 * util/i386/pc/grub-mkimage.c: Likewise.
36999 * util/i386/pc/grub-setup.c: Likewise.
37000 * util/i386/efi/grub-mkimage.c: Likewise.
37001 * util/grub-mkconfig.in: Likewise.
37002 * util/raid.c: Likewise.
37003 * util/resolve.c: Likewise.
37004 * util/grub-mkdevicemap.c: Likewise.
37005 * util/grub-emu.c: Likewise.
37006 * util/getroot.c: Likewise.
37007 * util/hostdisk.c: Likewise.
37008 * util/usb.c: Likewise.
37009 * util/grub-editenv.c: Likewise.
37010 * util/misc.c: Likewise.
37011
d2d49665 370122009-06-10 Felix Zielcke <fzielcke@z-51.de>
37013
37014 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37015 `genparttoollist.sh'.
37016 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37017 Add `*.sh' to the list find searches for and change `mdate.sh'
37018 to `mdate-sh'.
37019
fe052e37 370202009-06-10 Pavel Roskin <proski@gnu.org>
37021
2763ac18 37022 * include/grub/multiboot2.h: Provide compatibility defines for
37023 multiboot2.h.
37024 * include/multiboot2.h: Include stdint.h only if needed, using
37025 angle brackets.
37026 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37027 grub/multiboot2.h.
37028 * loader/ieee1275/multiboot2.c: Likewise.
37029 * loader/multiboot2.c: Likewise.
37030 * loader/multiboot_loader.c: Likewise.
37031
437e6adc 37032 * configure.ac: Use -nostdlib when probing for the target. It
37033 should not be required to have libc for the target.
37034
06a6836c 37035 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37036 they fail without libc headers for the target.
37037 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37038 exports.
37039 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37040 preprocessor conditionals.
37041
fe052e37 37042 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37043 build system doesn't need to be aware of the tar.c internals.
37044
afd22553 370452009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 37046
afd22553 37047 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 37048
6b787c4f 370492009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37050
37051 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37052 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37053
370542009-06-09 Felix Zielcke <fzielcke@z-51.de>
37055
37056 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 37057 aren't available if ata.mod gets used.
6b787c4f 37058
473d1e45 370592009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 37060
473d1e45 37061 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 37062 initialising controller.
473d1e45 37063 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 37064
255a27d4 370652009-06-08 Felix Zielcke <fzielcke@z-51.de>
37066
37067 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37068 to choose between ata and biosdisk module on i386-pc.
37069
473d1e45 370702009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 37071
d55842d8 37072 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37073 Subclass and Programming Interface fields in terms of the 3 byte
37074 Class Code register.
37075 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37076
fa5db0b1 37077 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37078 interface is OHCI. Add grub_dprintf for symmetry with
37079 bus/usb/uhci.c.
37080 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37081 interface is UHCI. Add interf variable for programming
37082 interface. Print interface with class/subclass.
37083
c0947beb 37084 * bus/usb/ohci.c: Set interf with correct field.
37085
69da8877 37086 * bus/usb/uhci.c: Remove unneeded doubled lines.
37087 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37088 Remove whitespace inside comment.
37089
9e172e30 370902009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37091
37092 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37093 as fallback an equivalent option without depth.
37094
de65ee2b 370952009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37096
37097 Not fail if unable to retrieve C/H/S on LBA disks
37098
473d1e45 37099 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 37100 if unable to retrieve C/H/S on LBA disks
37101
b57ea2c9 371022009-06-08 Pavel Roskin <proski@gnu.org>
37103
37104 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37105 about aliasing.
37106
af361263 371072009-06-08 Felix Zielcke <fzielcke@z-51.de>
37108
37109 * Makefile.in (uninstall): Remove all $lib_DATA files.
37110
4c9ec6b3 371112009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37112
37113 Bugfix: install on partitionless device
37114
37115 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37116 is a whole disk
37117
e76fc924 371182009-06-08 Felix Zielcke <fzielcke@z-51.de>
37119
37120 * Makefile.in (uninstall): Remove all $include_DATA files.
37121
ba5a0d05 371222009-06-08 Felix Zielcke <fzielcke@z-51.de>
37123
37124 * commands/true.c: New file. Implement the true and false commands.
37125 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37126 (true_mod_SOURCES): New variable.
37127 (true_mod_CFLAGS): Likewise.
37128 (true_mod_LDFLAGS): Likewise.
37129
c8048e32 371302009-06-05 Colin D Bennett <colin@gibibit.com>
37131
37132 Optimized font character lookup using binary search instead of linear
37133 search. Fonts now are required to have the character index ordered by
37134 code point.
37135
37136 * font/font.c (load_font_index): Verify that fonts have ordered
37137 character indices.
37138 (find_glyph): Use binary search instead of linear search to find a
37139 character in a font.
37140
408305be 371412009-06-05 Michael Scherer <misc@mandriva.org>
37142
37143 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37144 uses case sensitive btree.
37145 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37146 only for case insensitive filesystems.
37147
8ee1e0d9 371482009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37149
37150 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37151 * conf/common.rmk (search_mod_CFLAGS): likewise
37152
a9966eb1 371532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37154
473d1e45 37155 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 37156 compensate a compiler bug
37157
9e7100fb 371582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37159
473d1e45 37160 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 37161 instead of '\b'
473d1e45 37162
ede21d71 371632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37164
37165 Definitions for creating asm symbols with Apple's CC
37166
37167 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37168 [APPLE_CC] (VARIABLE): likewise
37169
9dbf7653 371702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37171
37172 Disable lnxboot.img when compiled
37173 with Apple's CC
37174
37175 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37176 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37177 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37178 [! APPLE_CC] (CODE_LENG): skip
37179 [! APPLE_CC] (setup_sects): likewise
37180 [! APPLE_CC]: skip filling
473d1e45 37181
e93cdc3d 371822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37183
37184 Address in trampolines based on 32-bit registers when compiled
37185 with Apple's CC
37186
473d1e45 37187 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 37188 for addresses
37189 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37190
6c688477 371912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37192
37193 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37194
37195 * kern/misc.c [APPLE_CC] (memcpy): new function
37196 [APPLE_CC] (memmove): likewise
37197 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 37198 (memcpy): define alias conditionally on !APPLE_CC
6c688477 37199 (memset): likewise
37200 (abort): likewise
37201 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37202 APPLE_CC are defined
37203 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37204 (grub_assert_fail): make prototype conditional
37205
e37ffc5c 372062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37207
37208 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37209
473d1e45 37210 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37211 grub-macho2img
e37ffc5c 37212 (CLEANFILES): add grub-macho2img
37213 (grub_macho2img_SOURCES): new variable
37214 * kern/i386/pc/startup.S (bss_start): new variable
37215 (bss_end): likewise
37216 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37217 * util/grub-macho2img.c: new file
37218
cf00df31 372192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37220
37221 Use objconv when compiling with Apple's CC
37222
37223 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37224 (efiemu64.o): likewise
37225 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37226 when compiling with Apple's CC
37227 (efiemu64_s.o): likewise
37228 * configure.ac: check for objconv when compiling with Apple's CC
37229 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 37230
d119a20c 372312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37232
37233 Define segment as well as section when compiling with
37234 Apple's CC
37235
37236 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37237 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37238 (efiemu_convert_pointer): likewise
37239 (efiemu_set_virtual_address_map): likewise
37240 (efiemu_convert_pointer): likewise
37241 (efiemu_getcrc32): likewise
37242 (init_crc32_table): likewise
37243 (reflect): likewise
37244 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37245 (GRUB_MOD_DEP): likewise
473d1e45 37246
c8600122 372472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37248
37249 Allow a compilation without -mcmodel=large
37250
37251 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37252 when compiled without -mcmodel=large
473d1e45 37253 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 37254 without -mcmodel=large
473d1e45 37255 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 37256 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 37257
e8df1d4e 372582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37259
37260 Remove nested functions in efiemu core
37261
37262 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 37263
cc6c3ac1 372642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37265
37266 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37267
37268 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37269 temporary storage
473d1e45 37270 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37271 using Apple's CC
cc6c3ac1 37272 (grub_cpu_is_tsc_supported): likewise
37273 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 37274
3e325901 372752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37276
37277 Absolute addressing through constant with Apple's cc
37278
37279 * kern/i386/pc/startup.S: Define necessary constants
37280 and address through it when using ABS with Apple's CC
37281 * boot/i386/pc/diskboot.S: likewise
37282 * boot/i386/pc/boot.S: likewise
37283 * boot/i386/pc/lnxboot.S: likewise
37284 * boot/i386/pc/cdboot.S: likewise
37285 * mmap/i386/pc/mmap_helper.S: likewise
37286 * commands/i386/pc/drivemap_int13h.S: likewise
37287
2b167a72 372882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37289
37290 Check if compiler is apple cc
37291
37292 * Makefile.in (ASFLAGS): new variable
37293 (TARGET_ASFLAGS): likewise
37294 (TARGET_MODULE_FORMAT): likewise
37295 (TARGET_APPLE_CC): likewise
37296 (OBJCONV): likewise
37297 (TARGET_IMG_CFLAGS): likewise
37298 (TARGET_CPPFLAGS): add includedir
37299 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37300 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37301 Check for linker script only if compiler isn't Apple's CC
37302 (TARGET_MODULE_FORMAT): set
37303 (TARGET_APPLE_CC): likewise
37304 (TARGET_ASFLAGS): likewise
37305 (ASFLAGS): likewise
37306 Check for objcopy only if compiler isn't Apple's CC
37307 Check for BSS symbol only if compiler isn't Apple's CC
37308 * genmk.rb: adapt nm options if we use Apple's utils
37309 * aclocal.m4 (grub_apple_cc): new test
37310 (grub_apple_target_cc): likewise
473d1e45 37311
fb14123e 373122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37313
37314 Simplify sed expressions and improve awk
37315
37316 * Makefile.in (install-local): simplify sed expression
37317 * gencmdlist.sh: likewise
37318 * genmoddep.awk: avoid adding module as a dependency of itself
37319
5b889789 373202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37321
37322 Add missing start symbols
37323
37324 * boot/i386/pc/boot.S: add start
fb14123e 37325 * boot/i386/pc/pxeboot.S: likewise
473d1e45 37326
fd2bf2e3 373272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37328
37329 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 37330
37331 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 37332 (relocate_addresses): consider both r_addend and value at offset
37333 (make_mods_section): zerofill modinfo and header
37334 (convert_elf): write prefix here
473d1e45 37335
5389763d 373362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37337
37338 Use .asciz instead of .string
37339
37340 * i386/pc/diskboot.S: use .asciz instead of .string
37341 * i386/pc/boot.S: likewise
37342 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37343 (GRUB_MOD_NAME): likewise
473d1e45 37344
3eb5ed4e 373452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37346
37347 gfxpayload support
37348
37349 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37350 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37351 (grub_video_setup): remove
37352 (grub_video_set_mode): new prototype
37353 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37354 (vid_mode): remove
37355 (linux_vesafb_res): compile only on PCBIOS
37356 (grub_linux_boot): support gfxpayload
37357 * loader/i386/pc/xnu.c (video_hook): new function
37358 (grub_xnu_set_video): support gfxpayload
37359 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
37360 (DEFAULT_VIDEO_HEIGHT): likewise
37361 (DEFAULT_VIDEO_FLAGS): likewise
37362 (DEFAULT_VIDEO_MODE): new definition
37363 (video_hook): new function
37364 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 37365 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 37366 loading xnu
37367 * video/video.c (grub_video_setup): removed
473d1e45 37368 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 37369 grub_video_setup
37370
4b0e1143 373712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37372
37373 Avoid calling biosdisk in drivemap
37374
37375 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
37376 (revparse_biosdisk): likewise
37377 (list_mappings): derive name from id directly
37378 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 37379
fda6cb98 373802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37381
37382 Script fixes
37383
37384 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
37385 (grub_lexer_param): add tokenonhold
37386 (grub_script_create_cmdline): remove cmdline. All callers updated
37387 (grub_script_function_create): make functionname
37388 grub_script_arg. All callers updated
37389 (grub_script_execute_argument_to_string): new prototype
37390 * kern/parser.c (state_transitions): reorder
37391 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 37392 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 37393 make global
37394 (grub_script_execute_cmdline): use new format
37395 * script/sh/function.c (grub_script_function_create): make functionname
37396 grub_script_arg. All callers updated
473d1e45 37397 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 37398 (grub_script_yylex): remove
37399 (grub_script_yylex2): renamed to ...
37400 (grub_script_yylex): ...renamed
37401 parse the expressions like a${b}c
37402 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
37403 (GRUB_PARSER_TOKEN_VAR): remove
37404 (GRUB_PARSER_TOKEN_NAME): likewise
37405 ("if"): declare as typeless
37406 ("while"): likewise
37407 ("function"): likewise
37408 ("else"): likewise
37409 ("then"): likewise
37410 ("fi"): likewise
37411 (text): remove
37412 (argument): likewise
37413 (script): accept empty scripts and make exit on error
37414 (arguments): use GRUB_PARSER_TOKEN_ARG
37415 (function): likewise
37416 (command): move error handling to script
37417 (menuentry): move grub_script_lexer_ref before
473d1e45 37418 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 37419 argument. All callers updated
37420
f4448a07 374212009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37422
37423 Prevent GRUB from probing floppies during boot.
37424
37425 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
37426 * commands/search.c (options): Add --no-floppy.
37427 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
37428 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
37429 --no-floppy when searching for UUIDs.
37430
2bf5885a 374312009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37432
37433 Simplify the code duplication in commands/search.c.
37434
37435 * commands/search.c (search_label, search_fs_uuid): Merge into ...
37436 (search_fs): ... this. Update all users.
37437
f6fd460a 374382009-06-03 Felix Zielcke <fzielcke@z-51.de>
37439
37440 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
37441
cbb3c83e 374422009-05-28 Pavel Roskin <proski@gnu.org>
37443
57788cfd 37444 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
37445 Remove the original symlink explicitly.
37446
cbb3c83e 37447 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37448 just one slash. That's how grub_fshelp_find_file() does it.
37449
cd0d5e30 374502009-05-26 Pavel Roskin <proski@gnu.org>
37451
f0f8bbe2 37452 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37453 to `str'.
37454
cd0d5e30 37455 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37456 possibly unused.
37457
8c2cab51 374582009-05-25 Christian Franke <franke@computer.org>
37459
37460 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37461 register.
37462 (grub_atapi_identify): Add wait after drive select.
37463 (grub_ata_identify): Do more strict status register check before
37464 calling grub_atapi_identify (). Suppress error message if status
37465 register is 0x00 after command failure. Add status register
37466 check after PIO read to avoid bogus identify due to stuck DRQ.
37467 Thanks to Pavel Roskin for testing.
37468 (grub_device_initialize): Remove unsafe status register check.
37469 Thanks to 'phcoder' for problem report and patch.
37470 Prevent sign extension in debug message.
37471
230c0ad6 374722009-05-23 Colin D Bennett <colin@gibibit.com>
37473
37474 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37475 definition file, and functions defined in `normal/menu.c' have had
37476 their prototypes moved to `include/grub/menu.h' for consistency.
37477
37478 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37479 from normal.h.
37480 (grub_menu_get_entry): Likewise.
37481 (grub_menu_get_timeout): Likewise.
37482 (grub_menu_set_timeout): Likewise.
37483 (grub_menu_execute_entry): Likewise.
37484 (grub_menu_execute_with_fallback): Likewise.
37485 (grub_menu_entry_run): Likewise.
37486
37487 * include/grub/normal.h: Re-ordered and grouped function
37488 prototypes by file that the function is defined in.
37489 (grub_menu_execute_callback): Removed; moved to menu.h.
37490 (grub_menu_get_entry): Likewise.
37491 (grub_menu_get_timeout): Likewise.
37492 (grub_menu_set_timeout): Likewise.
37493 (grub_menu_execute_entry): Likewise.
37494 (grub_menu_execute_with_fallback): Likewise.
37495 (grub_menu_entry_run): Likewise.
37496 (grub_menu_addentry): Renamed from this ...
37497 (grub_normal_add_menu_entry): ... to this.
37498
37499 * normal/main.c (grub_menu_addentry): Renamed from this ...
37500 (grub_normal_add_menu_entry): ... to this.
37501
37502 * script/sh/execute.c (grub_script_execute_menuentry): Update
37503 reference to renamed grub_menu_addentry function.
37504
861f03a5 375052009-05-23 Felix Zielcke <fzielcke@z-51.de>
37506
37507 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37508
96b1619a 375092009-05-22 Pavel Roskin <proski@gnu.org>
37510
bf6a5fb2 37511 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37512 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37513 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37514 compiling for the i386 targets, but not for the utilities.
37515
96b1619a 37516 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37517 to grub_uint8_t.
37518 (grub_root_drive): Likewise.
37519 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37520 remove alignment.
37521 (grub_root_drive): Change size to byte.
37522 (grub_start_addr): Remove.
37523 (grub_end_addr): Likewise.
37524 (grub_apm_bios_info): Likewise.
37525
b729776b 375262009-05-21 Felix Zielcke <fzielcke@z-51.de>
37527
37528 * normal/i386: Remove.
37529 * normal/powerpc: Likewise.
37530 * normal/sparc64: Likewise.
37531 * normal/x86_64: Likewise.
37532
0a15ce80 375332009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37534
37535 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37536 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37537 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37538
33db9015 375392009-05-18 Colin D Bennett <colin@gibibit.com>
37540
d6da58e6 37541 Display error messages when parsing a Lua statement fails.
37542 Previously, executing a syntactically invalid statement like
37543 ")foo" or "bar;" would silently fail.
33db9015 37544
37545 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37546 (grub_lua_parse_line): Improved reporting of Lua parser and
37547 execution errors.
33db9015 37548
46422c89 375492009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37550
37551 Remove -Werror which causes build to fail on some systems
37552
37553 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37554 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37555 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37556
22f53a96 375572009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37558
37559 trampoline for linux on 64-bit platform
37560
18f547ad 37561 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37562 loader/i386/efi/linux_trampoline.S
37563 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37564 declaration
d6da58e6 37565 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37566 here
22f53a96 37567 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37568 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37569 trampoline
22f53a96 37570 (jumpvector): removed
37571 (grub_linux_trampoline_start): new declaration
37572 (grub_linux_trampoline_end): likewise
37573 (grub_linux_boot): use trampoline when on 64-bit platform
37574 * loader/i386/linux.c: likewise
37575
cb5a0f40 375762009-05-16 Pavel Roskin <proski@gnu.org>
37577
37578 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37579 const to avoid a warning.
37580 (grub_lua_setenv): Likewise.
37581 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37582 lmsg to fix a warning.
37583
334f2c28 375842009-05-16 Felix Zielcke <fzielcke@z-51.de>
37585
37586 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37587 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37588 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37589 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37590 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37591 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37592 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37593 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37594
59e5d3ec 375952009-05-16 Felix Zielcke <fzielcke@z-51.de>
37596
37597 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37598
9d87a1ba 375992009-05-16 Bean <bean123ch@gmail.com>
37600
37601 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37602 (lua_mod_SOURCES): New variable.
37603 (lua_mod_CFLAGS): Likewise.
37604 (lua_mod_LDFLAGS): Likewise.
37605
37606 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37607 (setjmp_mod_SOURCES): New variable.
37608 (setjmp_mod_CFLAGS): Likewise.
37609 (setjmp_LDFLAGS): Likewise.
37610
37611 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37612 (setjmp_mod_SOURCES): New variable.
37613 (setjmp_mod_CFLAGS): Likewise.
37614 (setjmp_LDFLAGS): Likewise.
37615
37616 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37617 (setjmp_mod_SOURCES): New variable.
37618 (setjmp_mod_CFLAGS): Likewise.
37619 (setjmp_LDFLAGS): Likewise.
37620
37621 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37622 (setjmp_mod_SOURCES): New variable.
37623 (setjmp_mod_CFLAGS): Likewise.
37624 (setjmp_LDFLAGS): Likewise.
37625
37626 * normal/i386/setjmp.S: Moved from here ...
37627 * lib/i386/setjmp.S: ... Moved here
37628 * normal/x86_64/setjmp.S: Moved from here ...
37629 * lib/x86_64/setjmp.S: ... Moved here
37630 * normal/powerpc/setjmp.S: Moved from here ...
37631 * lib/powerpc/setjmp.S: ... Moved here
37632 * normal/sparc64/setjmp.S: Moved from here ...
37633 * lib/sparc64/setjmp.S: ... Moved here
37634
37635 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37636 returns_twice in mingw.
37637
37638 * script/lua/grub_lib.c: New file.
37639 * script/lua/grub_lib.h: Likewise.
37640 * script/lua/grub_lua.h: Likewise.
37641 * script/lua/grub_main.c: Likewise.
37642 * script/lua/lapi.c: Likewise.
37643 * script/lua/lapi.h: Likewise.
37644 * script/lua/lauxlib.c: Likewise.
37645 * script/lua/lauxlib.h: Likewise.
37646 * script/lua/lbaselib.c: Likewise.
37647 * script/lua/lcode.c: Likewise.
37648 * script/lua/lcode.h: Likewise.
37649 * script/lua/ldblib.c: Likewise.
37650 * script/lua/ldebug.c: Likewise.
37651 * script/lua/ldebug.h: Likewise.
37652 * script/lua/ldo.c: Likewise.
37653 * script/lua/ldo.h: Likewise.
37654 * script/lua/ldump.c: Likewise.
37655 * script/lua/lfunc.c: Likewise.
37656 * script/lua/lfunc.h: Likewise.
37657 * script/lua/lgc.c: Likewise.
37658 * script/lua/lgc.h: Likewise.
37659 * script/lua/linit.c: Likewise.
37660 * script/lua/liolib.c: Likewise.
37661 * script/lua/llex.c: Likewise.
37662 * script/lua/llex.h: Likewise.
37663 * script/lua/llimits.h: Likewise.
37664 * script/lua/lmathlib.c: Likewise.
37665 * script/lua/lmem.c: Likewise.
37666 * script/lua/lmem.h: Likewise.
37667 * script/lua/loadlib.c: Likewise.
37668 * script/lua/lobject.c: Likewise.
37669 * script/lua/lobject.h: Likewise.
37670 * script/lua/lopcodes.c: Likewise.
37671 * script/lua/lopcodes.h: Likewise.
37672 * script/lua/loslib.c: Likewise.
37673 * script/lua/lparser.c: Likewise.
37674 * script/lua/lparser.h: Likewise.
37675 * script/lua/lstate.c: Likewise.
37676 * script/lua/lstate.h: Likewise.
37677 * script/lua/lstring.c: Likewise.
37678 * script/lua/lstring.h: Likewise.
37679 * script/lua/lstrlib.c: Likewise.
37680 * script/lua/ltable.c: Likewise.
37681 * script/lua/ltable.h: Likewise.
37682 * script/lua/ltablib.c: Likewise.
37683 * script/lua/ltm.c: Likewise.
37684 * script/lua/ltm.h: Likewise.
37685 * script/lua/lua.h: Likewise.
37686 * script/lua/luaconf.h: Likewise.
37687 * script/lua/lualib.h: Likewise.
37688 * script/lua/lundump.c: Likewise.
37689 * script/lua/lundump.h: Likewise.
37690 * script/lua/lvm.c: Likewise.
37691 * script/lua/lvm.h: Likewise.
37692 * script/lua/lzio.c: Likewise.
37693 * script/lua/lzio.h: Likewise.
37694
5e898c9d 376952009-05-16 Bean <bean123ch@gmail.com>
37696
37697 * include/grub/kernel.h (grub_module_header_types): Add type
37698 OBJ_TYPE_CONFIG.
37699
37700 * kern/main.c (grub_load_config): New function.
37701 (grub_main): Call grub_load_config to read boot config.
37702
37703 * grub-mkimage (generate_image): New parameter config_path.
37704 (options): New option --config.
37705 (main): Parse --config option, and pass it to generate_image.
37706
cf353a47 377072009-05-14 Christian Franke <franke@computer.org>
37708
37709 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37710 This fixes build on Cygwin.
37711
3834887f 377122009-05-14 Pavel Roskin <proski@gnu.org>
37713
37714 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37715 jump. This saves two bytes, so the typical case of 2 swapped
37716 drives would fit 32 bytes.
37717
8090fc01 377182009-05-13 Pavel Roskin <proski@gnu.org>
37719
ac963883 37720 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37721 grub_uint32_t to avoid a warning.
37722
8090fc01 37723 * loader/i386/linux.c (allocate_pages): When assigning
37724 real_mode_mem, cast through grub_size_t to fix a warning. The
37725 code already makes sure that the value would fit a pointer.
37726 (grub_linux_setup_video): Cast render_target->data to
37727 grub_size_t to fix a warning.
37728
18f547ad 377292009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37730
37731 * commands/i386/pc/drivemap.c: New file - implement drivemap
37732 command.
37733 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37734 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37735
6f6a8b28 377362009-05-13 Pavel Roskin <proski@gnu.org>
37737
37738 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37739 embedding_area_exists.
37740
15fbf4c4 377412009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37742
37743 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37744 it easier to understand / work with.
59978c8a 37745 Improve warning messages for cases where there's no embedding area,
37746 or when it is too small (or core.img too large).
15fbf4c4 37747
238e871f 377482009-05-13 Pavel Roskin <proski@gnu.org>
37749
0ab3a9a4 37750 * loader/i386/pc/multiboot2.c: Add necessary includes for
37751 grub_multiboot2_real_boot().
37752
a2c8c5f8 37753 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37754 PX record is always little-endian. We only need the lower 2
37755 bytes of the mode.
37756
faec96af 37757 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37758 facilitate code reuse.
37759 (grub_cpio_mount): Use "struct head", not a char buffer. This
37760 fixes a warning reported by gcc 4.4.
37761
238e871f 37762 * kernel/disk.c (grub_disk_read): Use void pointer for the
37763 buffer.
37764 (grub_disk_write): Use const void pointer for the buffer.
37765 Adjust all callers. Remove unnecessary casts.
37766
901d2f0c 377672009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37768
37769 * util/i386/pc/grub-install.in: Update copyright year.
37770
18f547ad 377712009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37772
37773 gptsync
37774
37775 * commands/gptsync.c: new file
37776 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37777 (gptsync_mod_SOURCES): new variable
37778 (gptsync_mod_CFLAGS): likewise
37779 (gptsync_mod_LDFLAGS): likewise
18f547ad 37780 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37781 new definition
37782 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37783 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37784 * conf/i386-ieee1275.rmk: likewise
37785 * conf/i386-pc.rmk: likewise
37786 * conf/powerpc-ieee1275.rmk: likewise
37787
b4ba690a 377882009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37789
37790 Fixed grub-emu
37791
37792 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37793 (grub_dl_ref): likewise
37794
317e1a44 377952009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37796
37797 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37798 split in two functions (one for msdos and one for gpt).
37799
041b8094 378002009-05-08 Pavel Roskin <proski@gnu.org>
37801
752473c2 37802 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37803 not modified.
37804
041b8094 37805 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37806 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37807 Initialize them with -1. Add sanity check for bad1. Eliminate
37808 nerr variable.
37809
172800ce 378102009-05-08 David S. Miller <davem@davemloft.net>
37811
37812 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37813
29aa5e81 378142009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37815
37816 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37817 existence.
29aa5e81 37818
96613b62 378192009-05-05 Felix Zielcke <fzielcke@z-51.de>
37820
37821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37822 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37823
eef73c8a 378242009-05-05 David S. Miller <davem@davemloft.net>
37825
37826 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37827
119494b5 378282009-05-05 Pavel Roskin <proski@gnu.org>
37829
37830 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37831 of grub_dl_ref() and grub_dl_unref().
37832 * commands/parttool.c: Remove preprocessor conditionals around
37833 grub_dl_ref() and grub_dl_unref().
37834 * fs/affs.c: Likewise.
37835 * fs/afs.c: Likewise.
37836 * fs/cpio.c: Likewise.
37837 * fs/ext2.c: Likewise.
37838 * fs/fat.c: Likewise.
37839 * fs/hfs.c: Likewise.
37840 * fs/hfsplus.c: Likewise.
37841 * fs/iso9660.c: Likewise.
37842 * fs/jfs.c: Likewise.
37843 * fs/minix.c: Likewise.
37844 * fs/ntfs.c: Likewise.
37845 * fs/reiserfs.c: Likewise.
37846 * fs/sfs.c: Likewise.
37847 * fs/udf.c: Likewise.
37848 * fs/ufs.c: Likewise.
37849 * fs/xfs.c: Likewise.
37850 * include/grub/dl.h: Likewise.
37851 * loader/xnu.c: Likewise.
37852
de5fd76e 378532009-05-04 Pavel Roskin <proski@gnu.org>
37854
37855 * commands/acpi.c: Remove unused variable my_mod.
37856 * partmap/amiga.c: Likewise.
37857 * partmap/apple.c: Likewise.
37858 * partmap/gpt.c: Likewise.
37859 * partmap/pc.c: Likewise.
37860 * partmap/sun.c: Likewise.
37861 * term/gfxterm.c: Likewise.
37862 * term/i386/pc/vesafb.c: Likewise.
37863 * term/i386/pc/vga.c: Likewise.
37864
983598ad 378652009-05-04 David S. Miller <davem@davemloft.net>
37866
37867 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37868 pointer args to grub_ieee1275_get_property().
37869
8aadec43 37870 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37871
9554b15e 37872 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37873 devices, and do not traverse down under controller nodes.
37874
67e23c90 37875 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37876 (grub_ofdisk_open): Use it to un-escape "," characters.
37877 * kern/disk.c (find_part_sep): New.
37878 (grub_disk_open): Use it to find the first non-escaped ','
37879 character in the disk name.
37880 * util/ieee1275/devicemap.c (escape_of_path): New.
37881 (grub_util_emit_devicemap_entry): Use it.
37882 * util/sparc64/ieee1275/grub-install.in: Update script to
37883 strip partition specifiers properly by not triggering on
37884 '\' escaped ',' characters.
37885
74bfdd2f 378862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37887
37888 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37889 to 0x300.
37890 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37891 resolutions.
37892 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37893 on documentation from Wikipedia).
37894
4241d2b1 378952009-05-04 Pavel Roskin <proski@gnu.org>
37896
37897 * disk/ata.c: Spelling fixes.
37898 * disk/raid.c: Likewise.
37899 * disk/usbms.c: Likewise.
37900 * disk/dmraid_nvidia.c: Likewise.
37901 * kern/ieee1275/openfw.c: Likewise.
37902 * kern/ieee1275/init.c: Likewise.
37903 * kern/ieee1275/cmain.c: Likewise.
37904 * boot/i386/pc/cdboot.S: Likewise.
37905 * video/readers/png.c: Likewise.
37906 * video/i386/pc/vbe.c: Likewise.
37907 * fs/udf.c: Likewise.
37908 * fs/hfs.c: Likewise.
37909 * fs/reiserfs.c: Likewise.
37910 * efiemu/runtime/efiemu.c: Likewise.
37911 * efiemu/main.c: Likewise.
37912 * efiemu/mm.c: Likewise.
37913 * include/grub/elf.h: Likewise.
37914 * include/grub/xnu.h: Likewise.
37915 * include/grub/usbdesc.h: Likewise.
37916 * include/grub/usb.h: Likewise.
37917 * include/grub/script_sh.h: Likewise.
37918 * include/grub/lib/LzmaEnc.h: Likewise.
37919 * include/grub/efiemu/efiemu.h: Likewise.
37920 * include/grub/command.h: Likewise.
37921 * normal/menu.c: Likewise.
37922 * normal/main.c: Likewise.
37923 * normal/datetime.c: Likewise.
37924 * bus/usb/uhci.c: Likewise.
37925 * mmap/i386/uppermem.c: Likewise.
37926 * mmap/mmap.c: Likewise.
37927 * commands/acpi.c: Likewise.
37928 * commands/test.c: Likewise.
37929 * partmap/apple.c: Likewise.
37930 * font/font.c: Likewise.
37931 * loader/sparc64/ieee1275/linux.c: Likewise.
37932 * loader/macho.c: Likewise.
37933 * loader/i386/bsd_trampoline.S: Likewise.
37934 * loader/i386/bsd.c: Likewise.
37935 * loader/xnu.c: Likewise.
37936 * term/i386/pc/vesafb.c: Likewise.
37937 * term/usb_keyboard.c: Likewise.
37938 * util/resolve.c: Likewise.
37939 * util/getroot.c: Likewise.
37940
0cfc0083 379412009-05-04 Felix Zielcke <fzielcke@z-51.de>
37942
37943 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37944
7c1d00cd 379452009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37946
37947 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37948 build error.
37949
b01f0548 379502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37951
37952 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37953 parameter only available on BIOS.
37954
ecc3eb22 379552009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37956
37957 Removed wrong semicolon in declaration
37958
37959 * grub/misc.h (grub_dprintf): remove semicolon
37960
112972a9 379612009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37962
37963 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37964 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37965 is done by grub_cmd_linux() now).
37966 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37967 restore video to text mode.
37968 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37969 indicates lack of "vga=" parameter. "vga=0" is mapped to
37970 `GRUB_LINUX_VID_MODE_NORMAL'.
37971
afd5c115 379722009-05-04 Felix Zielcke <fzielcke@z-51.de>
37973
37974 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37975 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37976 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37977 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37978 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37979 `grub_script.tab.c'.
37980
37981 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37982 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37984 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37985 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37986
faa517ce 37987 * Makefile.in: Remove duplicated 2008 in Copyright line.
37988
ae0c0bdc 379892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37990
473d1e45 37991 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37992 unconditionally.
37993 * include/grub/util/misc.h (grub_util_warn): New declaration.
37994
37995 * util/i386/pc/grub-install.in: Understand --force and pass it down
37996 to grub-setup.
37997
37998 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37999 down to setup().
38000 (setup): Improve error messages and add warnings when requested to
38001 install in odd layouts. Refuse to install using blocklists unless
38002 --force was set.
38003
18f547ad 380042009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 38005
38006 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38007
6d260daa 380082009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38009
38010 Updated copyright year
38011
38012 * fs/hfsplus.c: updated copyright year
18f547ad 38013
69f853f8 380142009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38015
38016 HFS+ UUID
38017
18f547ad 38018 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 38019 in the space previously used by unused3
38020 (grub_hfsplus_uuid): new function
38021 (grub_hfsplus_fs): added uuid field
38022
4c402e73 380232009-05-03 Pavel Roskin <proski@gnu.org>
38024
38025 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38026 suppress warnings. It's no longer needed.
38027 * disk/host.c: Likewise.
38028 * disk/ata_pthru.c: Likewise.
38029 * disk/loopback.c: Likewise.
38030 * hook/datehook.c: Likewise.
38031 * parttool/pcpart.c: Likewise.
38032 * fs/i386/pc/pxe.c: Likewise.
38033 * fs/ntfscomp.c: Likewise.
38034 * efiemu/main.c: Likewise.
38035 * mmap/mmap.c: Likewise.
38036 * commands/crc.c: Likewise.
38037 * commands/hexdump.c: Likewise.
38038 * commands/hdparm.c: Likewise.
38039 * commands/acpi.c: Likewise.
38040 * commands/echo.c: Likewise.
38041 * commands/minicmd.c: Likewise.
38042 * commands/blocklist.c: Likewise.
38043 * commands/memrw.c: Likewise.
38044 * commands/loadenv.c: Likewise.
38045 * commands/usbtest.c: Likewise.
38046 * commands/lsmmap.c: Likewise.
38047 * commands/boot.c: Likewise.
38048 * commands/parttool.c: Likewise.
38049 * commands/configfile.c: Likewise.
38050 * commands/search.c: Likewise.
38051 * commands/ieee1275/suspend.c: Likewise.
38052 * commands/cat.c: Likewise.
38053 * commands/i386/pc/pxecmd.c: Likewise.
38054 * commands/i386/pc/play.c: Likewise.
38055 * commands/i386/pc/halt.c: Likewise.
38056 * commands/i386/pc/vbeinfo.c: Likewise.
38057 * commands/i386/pc/vbetest.c: Likewise.
38058 * commands/lspci.c: Likewise.
38059 * commands/date.c: Likewise.
38060 * commands/handler.c: Likewise.
38061 * commands/ls.c: Likewise.
38062 * commands/test.c: Likewise.
38063 * commands/cmp.c: Likewise.
38064 * commands/efi/loadbios.c: Likewise.
38065 * commands/efi/fixvideo.c: Likewise.
38066 * commands/halt.c: Likewise.
38067 * commands/help.c: Likewise.
38068 * commands/reboot.c: Likewise.
38069 * hello/hello.c: Likewise.
38070 * script/sh/main.c: Likewise.
38071 * loader/xnu.c: Likewise.
38072 * term/terminfo.c: Likewise.
38073 * term/i386/pc/serial.c: Likewise.
38074 * term/usb_keyboard.c: Likewise.
38075
515b5079 380762009-05-03 David S. Miller <davem@davemloft.net>
38077
38078 * normal/menu.c: Include grub/parser.h
38079
dfc31a22 380802009-05-03 Pavel Roskin <proski@gnu.org>
38081
2fee74f1 38082 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38083 not char*.
38084 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38085 Suggested by Javier Martín <lordhabbit@gmail.com>
38086
dfc31a22 38087 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38088 efiemu??.o doesn't exist.
38089 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38090 copying.
38091
18f547ad 380922009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 38093
38094 FreeBSD 64-bit support
38095
18f547ad 38096 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 38097 and loader/i386/bsd_trampoline.S
38098 (bsd_mod_ASFLAGS): new variable
38099 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38100 (FREEBSD_MODTYPE_KERNEL64): likewise
38101 (grub_bsd64_trampoline_start): likewise
38102 (grub_bsd64_trampoline_end): likewise
38103 (grub_bsd64_trampoline_selfjump): likewise
38104 (grub_bsd64_trampoline_gdt): likewise
38105 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38106 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38107 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38108 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 38109 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 38110 of "attrib" member
38111 * loader/i386/bsd_pagetable.c: new file
38112 * loader/i386/bsd_trampoline.S: likewise
38113 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38114 (ALIGN_VAR): likewise
38115 (entry_hi): new variable
38116 (kern_end_mdofs): likewise
38117 (is_64bit): likewise
38118 (grub_freebsd_add_meta): use ALIGN_VAR
38119 (grub_e820_mmap): new declaration
38120 (grub_freebsd_add_mmap): new function
38121 (grub_freebsd_add_meta_module): support 64 bit kernels
38122 (grub_freebsd_list_modules): use ALIGN_VAR
38123 (gdt_descriptor): new declaration
38124 (grub_freebsd_boot): support 64 bit kernels
38125 (grub_bsd_elf64_hook): new function
38126 (grub_bsd_load_elf): support elf64
38127
038c5720 381282009-05-03 Bean <bean123ch@gmail.com>
38129
38130 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38131 after we get the result of if statement.
38132
fc45fb58 381332009-05-03 Bean <bean123ch@gmail.com>
38134
38135 * Makefile.in (enable_efiemu): New variable.
38136
38137 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38138 set.
38139 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38140 path.
38141 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38142 path, add -mno-red-zone option.
38143 (efiemu64_s.o): Likewise.
38144 (efiemu64.o): Use macro $^ for source file.
38145
38146 * configure.ac (--enable-efiemu): New option.
38147
bbee0f2b 381482009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38149
38150 xnu support
38151
38152 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38153 (pkglib_MODULES): add xnu.mod
38154 (xnu_mod_SOURCES): new variable
38155 (xnu_mod_CFLAGS): likewise
38156 (xnu_mod_LDFLAGS): likewise
38157 (xnu_mod_ASFLAGS): likewise
38158 * conf/i386-pc.rmk: likewise
38159 * conf/x86_64-efi.rmk: likewise
7dd4a573 38160 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 38161 new declaration
38162 * include/grub/i386/macho.h: new file
38163 * include/grub/i386/xnu.h: likewise
38164 * include/grub/macho.h: likewise
38165 * include/grub/machoload.h: likewise
38166 * include/grub/x86_64/macho.h: likewise
38167 * include/grub/x86_64/xnu.h: likewise
38168 * include/grub/xnu.h: likewise
38169 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38170 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38171 * loader/i386/efi/xnu.c: new file
38172 * loader/i386/pc/xnu.c: likewise
38173 * loader/i386/xnu.c: likewise
38174 * loader/i386/xnu_helper.S: likewise
38175 * loader/macho.c: likewise
38176 * loader/xnu.c: likewise
38177 * loader/xnu_resume.c: likewise
38178 * util/grub-dumpdevtree: likewise
38179 * include/grub/i386/pit.h: include grub/err.h
38180 (grub_pit_wait): export
38181 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 38182
5caf964d 381832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38184
38185 Efiemu
7dd4a573 38186
5caf964d 38187 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 38188 _linux_efi, linux_efi.
38189 new files in grub-emu
5caf964d 38190 new targets efiemu32.o and efiemu64.o
38191 * loader/linux_normal_efiemu.c: likewise
38192 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 38193 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 38194 files to copy
38195 * include/grub/autoefi.h: new file
7dd4a573 38196 * include/grub/i386/efiemu.h: likewise
5caf964d 38197 * include/grub/i386/pc/efiemu.h: likewise
38198 * include/grub/efi/api.h: add LL suffix when necessary
38199 new definitions relating to tables
38200 * include/grub/efiemu/efiemu.h: new file
38201 * include/grub/efiemu/runtime.h: likewise
38202 * efiemu/prepare.c: likewise
38203 * efiemu/loadcore_common.c: likewise
38204 * efiemu/loadcore64.c: likewise
38205 * efiemu/runtime/efiemu.sh: likewise
38206 * efiemu/runtime/efiemu.S: likewise
38207 * efiemu/runtime/efiemu.c: likewise
38208 * efiemu/runtime/config.h: likewise
38209 * efiemu/prepare32.c: likewise
38210 * efiemu/main.c: likewise
38211 * efiemu/modules/pnvram.c: likewise
38212 * efiemu/modules/i386: likewise
38213 * efiemu/modules/i386/pc: likewise
38214 * efiemu/modules/acpi.c: likewise
38215 * efiemu/i386/pc/cfgtables.c: likewise
38216 * efiemu/i386/loadcore64.c: likewise
38217 * efiemu/i386/loadcore32.c: likewise
38218 * efiemu/prepare64.c: likewise
38219 * efiemu/loadcore.c: likewise
38220 * efiemu/symbols.c: likewise
38221 * efiemu/mm.c: likewise
38222 * efiemu/loadcore32.c: likewise
7dd4a573 38223
382242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 38225
38226 ACPI spoofing
38227
38228 * commands/acpi.c: new file
38229 * commands/i386/pc/acpi.c: likewise
38230 * commands/efi/acpi.c: likewise
38231 * include/grub/acpi.h: likewise
38232 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38233 (acpi_mod_SOURCES): new variable
38234 (acpi_mod_CFLAGS): likewise
38235 (acpi_mod_LDFLAGS): likewise
38236 * conf/i386-efi.rmk: likewise
38237 * conf/x86_64-efi.rmk: likewise
38238
7dd4a573 382392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 38240
38241 Missing part from mmap patch
38242
38243 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38244 (grub_mmap_unregister)
38245 (grub_mmap_free_and_unregister): use grub_mmap_register
38246
7dd4a573 382472009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 38248
38249 Mmap services
38250
38251 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38252 * loader/i386/linux.c (find_mmap_size): likewise
38253 (allocate_pages): likewise
38254 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38255 (grub_fill_multiboot_mmap): likewise
38256 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38257 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38258 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38259 (OPENBSD_MMAP_RESERVED): likewise
38260 * include/grub/i386/pc/memory.h: include grub/memory.h
38261 (grub_lower_mem): removed
38262 (grub_upper_mem): likewise
38263 (GRUB_MACHINE_MEMORY_ACPI): new definition
38264 (GRUB_MACHINE_MEMORY_NVS): likewise
38265 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38266 (GRUB_MACHINE_MEMORY_HOLE): likewise
38267 (grub_machine_mmap_register): likewise
38268 (grub_machine_mmap_unregister): likewise
38269 (grub_machine_get_upper): likewise
38270 (grub_machine_get_lower): likewise
38271 (grub_machine_get_post64): likewise
38272 * include/grub/i386/efi/memory.h: new file
38273 * include/grub/x86_64/efi/memory.h: likewise
38274 * include/grub/efi/memory.h: likewise
38275 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38276 (mmap_mod_SOURCES): new variable
38277 (mmap_mod_LDFLAGS): likewise
38278 (mmap_mod_ASFLAGS): likewise
38279 * conf/i386-coreboot.rmk: likewise
38280 * conf/i386-ieee1275.rmk: likewise
38281 * conf/i386-efi.rmk: likewise
38282 * conf/x86_64-efi.rmk: likewise
38283 * include/grub/types.h (UINT_TO_PTR): new macro
38284 (PTR_TO_UINT32): likewise
38285 (PTR_TO_UINT64): likewise
38286 * include/grub/memory.h: new file
38287 * mmap/i386/pc/mmap.c: likewise
38288 * mmap/i386/pc/mmap_helper.S: likewise
38289 * mmap/i386/uppermem.c: likewise
38290 * mmap/mmap.c: likewise
38291 * mmap/efi/mmap.c: likewise
7dd4a573 38292 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 38293 grub_upper_mem
38294 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38295 (grub_upper_mem): likewise
38296 (grub_machine_init): don't use grub_upper_mem,
38297 make grub_lower_mem local
38298 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38299 grub_mmap_iterate and grub_mmap_get_upper
38300 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38301
d558e6b5 383022009-05-02 Bean <bean123ch@gmail.com>
38303
38304 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38305 script/sh/parser.y.
38306 (pkglib_MODULES): Add normal.mod and sh.mod.
38307 (normal_SOURCES): New variable.
38308 (normal_mod_CFLAGS): Likewise.
38309 (normal_mod_LDFLAGS): Likewise.
38310 (sh_mod_SOURCES): Likewise.
38311 (sh_mod_CFLAGS): Likewise.
38312 (sh_mod_LDFLAGS): Likewise.
38313
38314 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38315 script/sh/lexer.c_DEPENDENCIES.
38316 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38317 kern/rescue_reader.c and kern/rescue_parser.c.
38318 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38319 (grub_emu_SOURCES): Change source files.
38320 (pkglib_MODULES): Remove normal.mod.
38321 (normal_SOURCES): Removed.
38322 (normal_mod_CFLAGS): Likewise.
38323 (normal_mod_LDFLAGS): Likewise.
38324 * conf/i386-coreboot.rmk: Likewise.
38325 * conf/i386-efi.rmk: Likewise.
38326 * conf/i386-ieee1276.rmk: Likewise.
38327 * conf/powerpc-ieee1275.rmk: Likewise.
38328 * conf/sparc64-ieee1275.rmk: Likewise.
38329 * conf/x86_64-efi.rmk: Likewise.
38330
38331 * include/grub/command.h (grub_command_execute): New inline function.
38332
38333 * include/grub/menu.h (grub_menu_entry): Removed commands field.
38334
38335 * include/grub/normal.h: Remove <grub/setjmp.h>.
38336 (grub_fs_module_list): Moved to normal/autofs.c.
38337 (grub_exit_env): Removed.
38338 (grub_command_execute): Likewise.
38339 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38340 parameter script.
38341 (read_command_list): New function declaration.
38342 (read_fs_list): Likewise.
38343
38344 * include/parser.h: Include <grub/reader.h>.
38345 (grub_parser_split_cmdline): Change type of getline parameter.
38346 (grub_parser): New structure.
38347 (grub_parser_class): New variable.
38348 (grub_parser_execute): New function declaration.
38349 (grub_register_rescue_parser): Likewise.
38350 (grub_parser_register): New inline function.
38351 (grub_parser_unregister): Likewise.
38352 (grub_parser_get_current): Likewise.
38353 (grub_parser_set_current): Likewise.
38354
38355 * include/grub/reader.h: New file.
38356 * kern/reader.c: Likewise.
38357 * kern/rescue_parser.c: Likewise.
38358 * kern/rescue_reader.c: Likewise.
38359 * normal/autofs.c: Likewise.
38360 * normal/dyncmd.c: Likewise.
38361
38362 * include/grub/rescue.h: Removed.
38363 * normal/command.h: Likewise.
38364
38365 * include/grub/script.h: Moved to ...
38366 * include/grub/script_sh.h: ... Moved here.
38367 * normal/execute.c: Moved to ...
38368 * script/sh/execute.c: ... Moved here.
38369 * normal/function.c: Moved to ...
38370 * script/sh/function.c: ... Moved here.
38371 * normal/lexer.c: Moved to ...
38372 * script/sh/lexer.c: ... Moved here.
38373 * normal/parser.y: Moved to ...
38374 * script/sh/parser.y: ... Moved here.
38375 * normal/script.c: Moved to ...
38376 * script/sh/script.c: ... Moved here.
38377
38378 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
38379 <grub/reader.h>.
38380 (grub_exit_env): Removed.
38381 (fs_module_list): Moved to normal/autofs.c.
38382 (grub_file_getline): Don't handle comment here.
38383 (free_menu): Skip removed field entry->commands.
38384 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
38385 script parameter.
38386 (read_config_file): Removed nested parameter, change getline function.
38387 (grub_enter_normal_mode): Removed.
38388 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
38389 (read_command_list): Likewise.
38390 (autoload_fs_module): Moved to normal/autofs.c.
38391 (read_fs_list): Likewise.
38392 (reader_nested): New variable.
38393 (grub_normal_execute): Run parser.sh to switch to sh parser.
38394 (grub_cmd_rescue): Removed.
38395 (cmd_normal): Removed.
38396 (grub_cmd_normal): Unregister itself at the beginning. Don't register
38397 rescue command.
38398 (grub_cmdline_run): New function.
38399 (grub_normal_reader_init): Likewise.
38400 (grub_normal_read_line): Likewise.
38401 (grub_env_write_pager): Likewise.
38402 (cmdline): New variable.
38403 (grub_normal_reader): Likewise.
38404 (GRUB_MOD_INIT): Register normal reader and set as current, register
38405 pager hook, register normal command with grub_register_command_prio,
38406 so that it won't show up in command.lst.
38407 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
38408 grub_fs_autoload_hook.
38409
38410 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
38411 (grub_menu_execute_entry): Replace grub_script_execute with
38412 grub_parser_execute, change parameter to grub_command_execute.
38413
38414 * normal/menu_text.c: Remove <grub/script.h>.
38415
38416 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
38417 and <grub/parser.h>.
38418 (run): Change editor_getline to use new parser interface. Change
38419 parameter to grub_command_execute.
38420
38421 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
38422 <grub/reader.h> and <grub/parser.h>.
38423 (grub_load_normal_mode): Execute normal command.
38424 (grub_main): Call grub_register_core_commands,
38425 grub_register_rescue_parser and grub_register_rescue_reader, use
38426 grub_reader_loop to enter input loop.
38427
7dd4a573 38428 * kern/parser.c (grub_parser_split_cmdline): Change type of
38429 getline parameter.
d558e6b5 38430 (grub_parser_class): New variable.
38431 (grub_parser_execute): New function.
38432
38433 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
38434 * loader/multiboot2.c: Likewise.
38435 * loader/sparc64/ieee1275/linux.c: Likewise.
38436
38437 * util/grub-emu.c (read_command_list): New dummy function.
38438
18db813d 384392009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38440
38441 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
38442 count to 16 for CCISS and IDA.
38443
6c67de15 384442009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38445
38446 * normal/menu_text.c (grub_wait_after_message): Print a newline
38447 after waiting for user input.
38448
38449 * loader/i386/linux.c: Include `<grub/normal.h>'.
38450 (grub_cmd_linux): Improve the error message about `ask' mode, by
38451 waiting for user input so it's not missed (we can do this, since
38452 user requested interaction).
38453
d9dc87b0 384542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38455
38456 Added missing lst to grub-mkrescue
38457
38458 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38459 and ${input_dir}/parttool.lst
38460
ac8a2baa 384612009-04-30 David S. Miller <davem@davemloft.net>
38462
ad22a610 38463 * util/hostdisk.c (device_is_wholedisk): New function.
38464 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38465 zero only if device_is_wholedisk() returns true.
38466
6966215d 38467 * util/hostdisk.c (convert_system_partition_to_system_disk):
38468 Handle virtual disk devices named /dev/vdiskX as found on sparc
38469 and powerpc.
38470
ac8a2baa 38471 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38472 lettered partition specifier is found, convert to numbered.
38473
979b4fb4 384742009-04-29 David S. Miller <davem@davemloft.net>
38475
e2bf39b2 38476 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38477 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38478
3c64e104 38479 * normal/command.c: Add missing newline at end of file.
38480
979b4fb4 38481 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38482 warnings.
38483 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38484 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38485 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38486 ihandles have a 32-bit type but need to be stored in a "void *".
38487
136d9f82 384882009-04-28 Pavel Roskin <proski@gnu.org>
38489
9459c306 38490 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38491 not disk. Adjust all dependencies.
2e08a26a 38492 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 38493 grub_disk_close().
38494
136d9f82 38495 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38496 parent's partition, don't copy it by reference, as it gets freed
38497 on close.
38498
7dd4a573 384992009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 38500
38501 Preboot hooks support
38502
38503 * commands/boot.c (struct grub_preboot_t): new declaration
38504 (preboots_head): new variable
38505 (preboots_tail): likewise
38506 (grub_loader_register_preboot_hook): new function
38507 (grub_loader_unregister_preboot_hook): likewise
38508 (grub_loader_set): launch preboot hooks
38509 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38510 (grub_loader_register_preboot_hook): new declaration
38511 (grub_loader_unregister_preboot_hook): likewise
38512
5af922b5 385132009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38514
38515 Warning fix
38516
7dd4a573 38517 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 38518 calling grub_dprintf
38519
a5562c30 385202009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38521
38522 Bug and warning fixes
38523
7dd4a573 38524 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38525 declaration
38526 * commands/test.c (test_parse): fixed bug with file tests and corrected
38527 declaration of find_file
38528
4006f85c 385292009-04-26 Pavel Roskin <proski@gnu.org>
38530
38531 * Makefile.in: Don't install empty manual pages if help2man is
38532 missing. Use help2man option for output, not shell redirection.
38533
5c77c3de 385342009-04-26 David S. Miller <davem@davemloft.net>
38535
38536 * util/grub-mkdevicemap.c (make_device_map): Add missing
38537 NESTED_FUNC_ATTR to process_device().
38538
033b10a8 385392009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38540
38541 Test command
38542
38543 * commands/test.c: rewritten to use bash-like test
38544
e4343593 385452009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38546
38547 Parttool autoloading and improvements
38548
7dd4a573 38549 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38550 (parttool.lst): new target
38551 * genmk.rb: generate parttool-*
38552 (CLEANFILES): add #{parttool}
38553 (PARTTOOLFILES): new variable
38554 * genparttoollist.sh: new file
7dd4a573 38555 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38556 (grub_pcpart_type): likewise
38557 * commands/parttool.c (helpmsg): new variable
38558 (grub_cmd_parttool): output help if not enough arguments are supplied
38559 autoload modules
38560 (GRUB_MOD_INIT(parttool)): use helpmsg
38561
0d312500 385622009-04-24 David S. Miller <davem@davemloft.net>
38563
7dd4a573 38564 Avoiding opening same device multiple times in device iterator.
0d312500 38565
38566 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38567 and use it to build a list of partitions in iterate_disk() and
0d312500 38568 iterate_partition().
38569
ac20caff 38570 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38571 on disk->data.
38572
0dcf7495 38573 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38574 grub_devalias_iterate() result instead of unconditional 0.
38575 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38576 Also, capture hook return value, either directly or via
38577 grub_children_iterate(), and propagate to caller.
38578 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38579 grub_children_iterate): Return value is now 'int' instead of
38580 'grub_err_t'.
38581 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38582 like a proper iterator, stopping when hooks return non-zero.
38583 (grub_devalias_iterate): Likewise.
38584
c8c08833 385852009-04-23 David S. Miller <davem@davemloft.net>
38586
38587 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38588
f01005a8 385892009-04-22 David S. Miller <davem@davemloft.net>
38590
38591 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38592 is larger than address_cells, use that value for address_cells too.
38593
4e8269da 38594 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38595 IEEE1275_MAX_PATH_LEN): Define.
38596 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38597 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38598 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38599 'devtype'. Explicitly NULL terminate devalias expansion.
38600
a1447506 38601 * util/sparc64/ieee1275/misc.c: New file.
38602 * util/sparc64/ieee1275/grub-setup.c: New file.
38603 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38604 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38605 * util/sparc64/ieee1275/grub-install.in: New file.
38606 * util/ieee1275/ofpath.c: New file.
38607 * util/ieee1275/devicemap.c: New file.
38608 * util/devicemap.c: New file.
38609 * util/deviceiter.c: New file.
38610 * kern/sparc64/ieee1275/init.c: New file.
38611 * include/grub/util/ofpath.h: New file.
38612 * include/grub/util/deviceiter.h: New file.
38613 * util/grub-mkdevicemap.c: Include deviceiter.h.
38614 Implement using grub_util_emit_devicemap_entry and
38615 grub_util_iterate_devices.
38616 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38617 util/devicemap.c into grub-mkdevicemap
38618 * conf/i386-efi.rmk: Likewise.
38619 * conf/i386-ieee1275.rmk: Likewise.
38620 * conf/i386-pc.rmk: Likewise.
38621 * conf/powerpc-ieee1275.rmk: Likewise.
38622 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38623 images and installation utilities. Build kernel as image
38624 instead of as elf binary. Use common rules as much as possible.
38625
7dd4a573 386262009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38627
38628 Correct GPT definition
38629
7dd4a573 38630 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38631 of "attrib" member
38632
c6c5219f 386332009-04-19 Felix Zielcke <fzielcke@z-51.de>
38634
38635 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38636
0552ff9f 386372009-04-19 David S. Miller <davem@davemloft.net>
38638
38639 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38640 (grub_rescue_cmd_linux): Rename to...
38641 (grub_cmd_linux): and fix prototype.
38642 (grub_rescue_cmd_initrd): Rename to...
38643 (grub_cmd_initrd): and fix prototype.
38644 (cmd_linux, cmd_initrd): New.
38645 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38646 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38647
d1a282fc 386482009-04-17 Pavel Roskin <proski@gnu.org>
38649
07c5039f 38650 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38651 format.
38652 (grub_ohci_transfer): Likewise.
38653
b012002d 38654 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38655
1bc09c35 38656 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38657 return without a value. Fix inconsistent indentation.
38658
e0ff9126 38659 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38660 match struct grub_fs.
38661
d1a282fc 38662 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38663 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38664 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38665 * commands/lspci.c (grub_lspci_iter): Likewise.
38666
a96df3f2 386672009-04-16 Bean <bean123ch@gmail.com>
38668
38669 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38670 value.
38671
41bb0fe9 386722009-04-15 Pavel Roskin <proski@gnu.org>
38673
38674 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38675 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38676 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38677 definitions.
38678
596c6970 386792009-04-15 Felix Zielcke <fzielcke@z-51.de>
38680
38681 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38682 that no multiple data or metadata areas are supported and `Unknown
596c6970 38683 metadata header'.
38684
7dd4a573 386852009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38686
38687 Move loader out of the kernel
38688
38689 * kern/loader.c: moved to ...
38690 * commands/boot.c: ... moved here
38691 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38692 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38693 * include/grub/kernel.h (grub_machine_fini): export
38694 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38695 (grub_loader_set): likewise
38696 (grub_loader_unset): likewise
38697 (grub_loader_boot): likewise
38698 * conf/common.rmk: new module boot.mod
38699 (pkglib_MODULES): add boot.mod
38700 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38701 (grub_emu_SOURCES): likewise
38702 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38703 (grub_emu_SOURCES): likewise
38704 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38705 (grub_emu_SOURCES): likewise
38706 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38707 (grub_emu_SOURCES): likewise
38708 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38709 (grub_emu_SOURCES): likewise
7dd4a573 38710 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38711 (grub_emu_SOURCES): likewise
0d5d5653 38712 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38713 (grub_emu_SOURCES): likewise
0d5d5653 38714
7dd4a573 387152009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38716
38717 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38718
5999d619 38719 * kern/misc.c (grub_itoa): Removed function
38720 (grub_ltoa): likewise
38721 (grub_vsprintf): use grub_lltoa
38722
7dd4a573 387232009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38724
38725 Restore grub-emu
38726
38727 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38728 * conf/i386-coreboot.rmk: likewise
38729 * conf/i386-ieee1275.rmk: likewise
38730 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38731
20318222 387322009-04-15 Felix Zielcke <fzielcke@z-51.de>
38733
38734 * INSTALL: Add that `./autogen.sh' needs to be run before
38735 `./configure.'.
38736
d05f0df3 387372009-04-14 Bean <bean123ch@gmail.com>
38738
38739 * Makefile.in (pkglib_DATA): Add handler.lst.
38740 (handler.lst): New rule.
38741
38742 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38743 * conf/i386-coreboot.rmk: Likewise.
38744 * conf/i386-ieee1275.rmk: Likewise.
38745 * conf/i386-efi.rmk: Likewise.
38746 * conf/x86_64-efi.rmk: Likewise.
38747 * conf/powerpc-ieee1275.rmk: Likewise.
38748 * conf/sparc64-ieee1275.rmk: Likewise.
38749
38750 * genhandlerlist.sh: New file.
38751
38752 * genmk.rb: Add rules to generate handler.lst.
38753
38754 * include/grub/normal.h (grub_file_getline): New function definition.
38755 (read_handler_list): Likewise.
38756 (free_handler_list): Likewise.
38757
38758 * include/grub/term.h (grub_term_register_input): Add name parameter
38759 for auto generation of handler.lst.
38760 (grub_term_register_output): Likewise.
38761
38762 * normal/handler.c: New file.
38763
38764 * normal/main.c (get_line): Renamed to grub_file_getline.
38765 (read_config_file): Use the newly renamed grub_file_getline.
38766 (read_command_list): Likewise.
38767 (read_fs_list): Likewise.
38768 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38769 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38770
38771 * term/efi/console.c (grub_console_init): Add name parameter for auto
38772 generation of handler.lst.
38773 * term/gfxterm.c: Likewise.
38774 * term/i386/pc/at_keyboard.c: Likewise.
38775 * term/i386/pc/console.c: Likewise.
38776 * term/i386/pc/serial.c: Likewise.
38777 * term/i386/pc/vesafb.c: Likewise.
38778 * term/i386/pc/vga.c: Likewise.
38779 * term/i386/pc/vga_text.c: Likewise.
38780 * term/ieee1275/ofconsole.c: Likewise.
38781 * term/usb_keyboard.c: Likewise.
38782
33c846be 387832009-04-14 Bean <bean123ch@gmail.com>
38784
38785 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38786 properly with null character.
38787
4484e01e 387882009-04-14 Felix Zielcke <fzielcke@z-51.de>
38789
38790 * configure: Remove.
38791 * config.h.in: Likewise.
f93d668e 38792 * stamp-h.in: Likewise.
4484e01e 38793 * DISTLIST: Likewise.
38794 * conf/common.mk: Likewise.
38795 * conf/i386-coreboot.mk: Likewise.
38796 * conf/i386-efi.mk: Likewise.
38797 * conf/i386-ieee1275.mk: Likewise.
38798 * conf/i386.mk: Likewise.
38799 * conf/i386-pc.mk: Likewise.
38800 * conf/powerpc-ieee1275.mk: Likewise.
38801 * conf/sparc64-ieee1275.mk: Likewise.
38802 * conf/x86_64-efi.mk: Likewise.
38803
38804 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38805 develop on GRUB.
38806
7dd4a573 388072009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38808 David S. Miller <davem@davemloft.net>
38809
38810 * util/hostdisk.c (make_device_name): Fix buffer length
38811 calculations.
38812
e25b5a8c 388132009-04-14 Felix Zielcke <fzielcke@z-51.de>
38814
38815 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38816 <sys/param.h> and <sys/sysctl.h>.
38817 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38818 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38819 opening the device and reset them afterwards.
38820
1f1f580c 388212009-04-13 Pavel Roskin <proski@gnu.org>
38822
38823 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38824 Reported by John Stanley <jpsinthemix@verizon.net>
38825
7ebc2d6b 388262009-04-13 Robert Millan <rmh@aybabtu.com>
38827
38828 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38829 that name for menuentries when appropriate.
7ebc2d6b 38830
d8ba3667 388312009-04-13 Felix Zielcke <fzielcke@z-51.de>
38832
38833 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38834
cba416eb 388352009-04-13 Robert Millan <rmh@aybabtu.com>
38836
38837 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38838 to Linux, simply abort telling the user it's no longer supported.
38839
a547a745 388402009-04-13 Felix Zielcke <fzielcke@z-51.de>
38841
38842 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38843 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38844 `freebsd_loadenv' only when devices.hints exist.
38845
232a769c 388462009-04-13 Pavel Roskin <proski@gnu.org>
38847
38848 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38849
c3012039 388502009-04-13 Felix Zielcke <fzielcke@z-51.de>
38851
38852 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38853 partition number.
38854 (grub_drive): Likewise.
38855
234022fe 388562009-04-13 David S. Miller <davem@davemloft.net>
38857
38858 * kern/sparc64/ieee1275/ieee1275.c: New file.
38859 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38860 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38861 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38862 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38863 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38864 grub_ieee1275_alloc_physmem): Declare new exported functions.
38865
d8e1836c 38866 * include/grub/sparc64/ieee1275/loader.h: New file.
38867 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38868 * include/grub/sparc64/kernel.h: Likewise.
38869 * loader/sparc64/ieee1275/linux.c: Likewise.
38870
96bd81ec 38871 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38872 (grub_fstest_SOURCES): Likewise.
38873
6a4737e5 38874 * util/hostdisk.c (make_device_name): Do not make any assumptions
38875 about the length of drive names.
38876
1d7a72fd 38877 * kern/dl.c (grub_dl_load_file): Close file immediately when
38878 we are done using it.
38879
56bc2471 388802009-04-12 David S. Miller <davem@davemloft.net>
38881
38882 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38883 values. Noticed by Pavel Roskin.
38884
df38d0bb 38885 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38886 target compiler.
7dd4a573 38887
e382e93a 38888 * genmk.rb: Add more flexible image type specification, also
38889 pass --strip-unneeded to objcopy.
38890 * conf/i386-pc.rmk: Use *_FORMAT.
38891 * conf/i386-pc.mk: Rebuilt.
38892
f5dbbca9 38893 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38894 (OFDISK_HASH_SZ): Define.
38895 (ofdisk_hash): New hash table.
38896 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38897 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38898 instead of device phandle which is not unique.
38899
91c88b12 38900 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38901 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38902 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38903 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38904 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38905 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38906 GRUB_KERNEL_MACHINE_DATA_END): Define.
38907 (grub_kernel_image_size, grub_total_module_size): Declare.
38908
5b5d4aa5 389092009-04-12 Pavel Roskin <proski@gnu.org>
38910
7dd4a573 38911 * configure.ac: Change the logic when we check for target tools.
38912 Do it when the target is specified and it's different from the
38913 specified value of the host.
5b5d4aa5 38914
c91e1793 389152009-04-11 Felix Zielcke <fzielcke@z-51.de>
38916
38917 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38918 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38919 GNU/kFreeBSD. Check if a device is a character device. Use
38920 DIOCGMEDIASIZE to get the size.
38921 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38922 support for GNU/kFreeBSD.
38923 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38924 is a character device instead of a block device. Add support for
38925 FreeBSD device names.
38926
38927 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38928 is a character device instead of a block device.
38929
38930 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38931 is a character device instead of a block device.
38932
b1ac8644 389332009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38934
38935 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38936 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38937 FreeBSD. Check if a device is a character device. Use
38938 DIOCGMEDIASIZE to get the size.
38939 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38940 support for FreeBSD.
38941 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38942 is a character device instead of a block device. Add support for
38943 FreeBSD device names.
38944
38945 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38946 a character device instead of a block device.
38947 (grub_util_check_char_device): New function.
38948
38949 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38950 a character device instead of a block device.
38951
38952 * include/grub/util/getroot.h (grub_util_check_char_device): New
38953 prototype.
38954
a3f7515a 389552009-04-11 David S. Miller <davem@davemloft.net>
38956
38957 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38958 static libgcc.
38959 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38960 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38961 function, if present.
38962 (__bswapdi2): Likewise.
38963
0d44993d 38964 * include/grub/sparc64/ieee1275/boot.h: New file.
38965 * boot/sparc64/ieee1275/boot.S: Likewise.
38966 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38967
ed3d2bc2 38968 * kern/misc.c (grub_ltoa): New function.
38969 (grub_vsprintf): Use it to format 'long' integers.
38970
d3bfb59c 389712009-04-10 David S. Miller <davem@davemloft.net>
38972
38973 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38974 slots are of type grub_ieee1275_cell_t.
38975 (grub_nand_read): Likewise.
38976 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38977 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38978 macros are used to compare values in arg/ret block of the call.
38979 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38980 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38981 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38982 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38983 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38984 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38985 grub_ieee1275_close, grub_ieee1275_set_property,
38986 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38987 grub_ieee1275_cell_t.
38988 * kern/ieee1275/openfw.c (grub_map): Likewise.
38989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38990 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38991
450e2238 38992 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38993 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38994 (grub_devalias_iterate): Likewise.
38995
7dd4a573 389962009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38997
38998 UFS improvements
38999
39000 * fs/ufs.c (INODE_NBLOCKS): new definition
39001 (struct grub_ufs_dirent): added fields for non-BSD dirents
39002 (grub_ufs_get_file_block): fixed double indirect handling
39003 (grub_ufs_lookup_symlink): use more robust way to determine whether
39004 symlink is inline
39005 (grub_ufs_find_file): support for non-BSD dirents
39006 (grub_ufs_dir): support for non-BSD dirents
39007
e7e6862a 390082009-04-10 Bean <bean123ch@gnail.com>
39009
39010 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39011 attribute, otherwise the size would be wrong for i386 platform.
39012
39013 * include/grub/pci.h (grub_pci_read_word): New inline function.
39014 (grub_pci_read_byte): Likewise.
39015 (grub_pci_write): Likewise.
39016 (grub_pci_write_word): Likewise.
39017 (grub_pci_write_byte): Likewise.
39018
39019 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39020
39021 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39022 (find_framebuf): Scan pci to locate the frame buffer address.
39023
39024 * commands/efi/fixvideo.c: New file.
39025
39026 * commands/efi/loadbios.c: Likewise.
39027
39028 * commands/memrw.c: Likewise.
39029
39030 * util/grub-dumpbios.in: Likewise.
39031
39032 * conf/common.rmk (grub-dumpbios): New utility.
39033 (pkglib_MODULES): New module memrw.mod.
39034 (memrw_mod_SOURCE): New macro.
39035 (memrw_mod_CFLAGS): Likewise.
39036 (memrw_mod_LDFLAGS): Likewise.
39037
7dd4a573 39038 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39039 fixvideo.mod.
39040 (loadbios_mod_SOURCE): New macro.
39041 (loadbios_mod_CFLAGS): Likewise.
39042 (loadbios_mod_LDFLAGS): Likewise.
39043 (fixvideo_mod_SOURCE): Likewise.
39044 (fixvideo_mod_CFLAGS): Likewise.
39045 (fixvideo_mod_LDFLAGS): Likewise.
39046
7dd4a573 39047 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39048 fixvideo.mod.
39049 (loadbios_mod_SOURCE): New macro.
39050 (loadbios_mod_CFLAGS): Likewise.
39051 (loadbios_mod_LDFLAGS): Likewise.
39052 (fixvideo_mod_SOURCE): Likewise.
39053 (fixvideo_mod_CFLAGS): Likewise.
39054 (fixvideo_mod_LDFLAGS): Likewise.
39055
af63ada2 390562009-04-08 Felix Zielcke <fzielcke@z-51.de>
39057
39058 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39059
c2cdde70 390602009-04-07 David S. Miller <davem@davemloft.net>
39061
39062 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39063 support for R_SPARC_OLO10 relocations. Fix compile warning for
39064 R_SPARC_WDISP30 case.
ea3f72cf 39065 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 39066
761319cf 390672009-04-06 Pavel Roskin <proski@gnu.org>
39068
1007d1f5 39069 * include/grub/misc.h (ARRAY_SIZE): New macro.
39070 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39071 New macro.
39072 * loader/i386/linux.c (allocate_pages): Use free_pages().
39073 (grub_linux_unload): Don't use free_pages().
39074 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39075 wrong index. Treat all other modes as text modes.
39076 (grub_cmd_linux): Initialize vid_mode unconditionally to
39077 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39078
761319cf 39079 * commands/help.c (print_command_help): Use cmd->prio, not
39080 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39081
ea761d40 390822009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 39083
ea761d40 39084 Parttool
39085
39086 * parttool/pcpart.c: new file
39087 * commands/parttool.c: likewise
39088 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39089 (parttool_mod_SOURCES): new variable
39090 (parttool_mod_CFLAGS): likewise
39091 (parttool_mod_LDFLAGS): likewise
39092 (pcpart_mod_SOURCES): likewise
39093 (pcpart_mod_CFLAGS): likewise
39094 (pcpart_mod_LDFLAGS): likewise
7dd4a573 39095 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 39096 and parttool/pcpart.c
39097 * conf/i386-efi.rmk: likewise
39098 * conf/i386-ieee1275.rmk: likewise
39099 * conf/i386-pc.rmk: likewise
39100 * conf/powerpc-ieee1275.rmk: likewise
39101 * conf/sparc64-ieee1275.rmk: likewise
39102 * conf/x86_64-ieee1275.rmk: likewise
39103
05aaebfb 391042009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39105
39106 Support for mtime and further expandability of dir command
39107
39108 * include/grub/lib/datetime.h: moved to ...
7dd4a573 39109 * include/grub/datetime.h: ... moved here and added
05aaebfb 39110 declaration of grub_unixtime2datetime. All users updated
7dd4a573 39111 * include/grub/fs.h: new syntax for dir and mtime functions in
39112 struct grub_fs
05aaebfb 39113 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39114 and GRUB_FSHELP_FLAGS_MASK
39115 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39116 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39117 (grub_ext2_mtime): new function
39118 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39119 (grub_hfsplus_mtime): new function
39120 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39121 (GRUB_UFS_ATTR_FILE): likewise
39122 (GRUB_UFS_ATTR_LNK): likewise
39123 (struct grub_ufs_sblock): new fields mtime
39124 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39125 all users updated
39126 (grub_ufs_dir): mtime support
39127 (grub_ufs_mtime): new function
39128 * fs/affs.c (grub_affs_dir): use new dir syntax
39129 * fs/afs.c (grub_afs_dir): likewise
39130 * fs/cpio.c (grub_cpio_dir): likewise
39131 * fs/fat.c (grub_fat_find_dir): likewise
39132 * fs/hfs.c (grub_hfs_dir): likewise
39133 * fs/iso9660.c (grub_iso9660_dir): likewise
39134 * fs/jfs.c (grub_jfs_dir): likewise
39135 * fs/minix.c (grub_minix_dir): likewise
39136 * fs/ntfs.c (grub_ntfs_dir): likewise
39137 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39138 * fs/sfs.c (grub_sfs_dir): likewise
39139 * fs/xfs.c (grub_xfs_dir): likewise
39140 * util/hostfs.c (grub_hostfs_dir): likewise
39141 * lib/datetime.c: moved to ...
39142 * normal/datetime.c: ... moved here
39143 (grub_unixtime2datetime): new function
39144 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 39145 * normal/completion.c (iterate_dir): use new dir syntax
39146 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 39147 last modification time of a volume
7dd4a573 39148 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 39149 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 39150 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 39151 (normal_mod_SOURCES): likewise
39152 (datetime_mod_SOURCES): Removed lib/datetime.c
39153 * conf/i386-efi.rmk: likewise
7dd4a573 39154 * conf/i386-ieee1275.rmk: likewise
05aaebfb 39155 * conf/i386-pc.rmk: likewise
39156 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39157 * conf/sparc64-ieee1275.rmk: likewise
39158 * conf/x86_64-efi.rmk: likewise
05aaebfb 39159
8a7e1a14 391602009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39161
39162 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 39163
39164 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 39165 on grub_fat_find_dir
39166 (grub_fat_find_dir): use grub_fat_iterate_dir
39167 (grub_fat_label): likewise
39168
04186a9c 391692009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39170
7dd4a573 39171 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 39172 and command.h
39173 remove extraneous kernel_elf_HEADERS
39174
da4c0bb6 391752009-04-04 Bean <bean123ch@gnail.com>
39176
39177 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39178
39179 * util/misc.c: Likewise.
39180
54ad9555 391812009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39182
39183 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39184 instead of grub_printf.
39185
7a6bf9f2 391862009-04-03 Robert Millan <rmh@aybabtu.com>
39187
39188 * loader/i386/linux.c (grub_linux_setup_video): Fill
39189 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39190 values from `mode info' structure instead of hardcoded
39191 values.
39192
3fcc2083 391932009-04-01 Pavel Roskin <proski@gnu.org>
39194
39195 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39196 unused now.
39197 * genmk.rb: Likewise.
39198 * configure.ac: Likewise.
39199
5ec9740b 392002009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39201
39202 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39203 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39204
5270cec8 392052009-04-01 David S. Miller <davem@davemloft.net>
39206
39207 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 39208 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 39209 (grub_setjmp): Mark with 'returns_twice' attribute.
39210 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39211 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39212 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39213
9c3dd854 392142009-04-01 Robert Millan <rmh@aybabtu.com>
39215
39216 Reapply fix from 2008-07-28 which was accidentally reverted; also
39217 perform the same fix to a similar check in same function.
39218
39219 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39220 with the same number are found, just use issue a warning with
39221 grub_dprintf(), as this error has been reported to be non-fatal.
39222
0d818b7e 392232009-03-31 Pavel Roskin <proski@gnu.org>
39224
39225 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39226 for cross-compilation.
39227
95646d92 392282009-03-30 Robert Millan <rmh@aybabtu.com>
39229
39230 Fix i386-ieee1275 build.
39231
39232 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39233 Remove declaration.
39234
6a003ed1 392352009-03-30 Pavel Roskin <proski@gnu.org>
39236
39237 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39238 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39239 zero-terminated, rely only on the strlen value. Fix comparison
39240 of strings differing in length.
39241
92f33540 392422009-03-30 Robert Millan <rmh@aybabtu.com>
39243
39244 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39245 checking for abi version. Improve error messages on BIOS to notify
39246 user about `linux16' command.
39247
a8c48fd5 392482009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39249
f968172e 39250 Leak fixes
a8c48fd5 39251
f968172e 39252 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39253 in case of collision
39254 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 39255
9c323f09 392562009-03-29 Robert Millan <rmh@aybabtu.com>
39257
39258 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39259 set `vid_mode' accordingly.
39260 (grub_linux_boot): Process `vid_mode' and set video mode.
39261
ae68f423 392622009-03-29 Robert Millan <rmh@aybabtu.com>
39263
39264 * util/grub.d/10_linux.in (linux_entry): New function.
39265 Factorize generation of Linux boot entries.
39266
5709cfc4 392672009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39268
39269 Make the format of Environment Block plain text. The boot loader
39270 part is not tested well yet.
7dd4a573 39271
5709cfc4 39272 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39273 (buffer): Removed.
39274 (envblk): Likewise.
39275 (usage): Remove "info" and "clear". Add "unset". Update the
39276 description of "set", as this does not delete variables any
39277 longer.
39278 (create_envblk_file): Complete rewrite.
39279 (open_envblk_file): Likewise.
39280 (cmd_info): Removed.
39281 (cmd_list): Likewise.
39282 (cmd_set): Likewise.
39283 (cmd_clear): Likewise.
39284 (list_variables): New function.
39285 (write_envblk): Likewise.
39286 (set_variables): Likewise.
39287 (unset_variables): Likewise.
39288 (main): Complete rewrite.
39289
39290 * commands/loadenv.c (buffer): Removed.
39291 (envblk): Likewise.
39292 (open_envblk_file): New function.
39293 (read_envblk_file): Complete rewrite.
39294 (grub_cmd_load_env): Likewise.
39295 (grub_cmd_list_env): Likewise.
39296 (struct blocklist): New struct.
39297 (free_blocklists): New function.
39298 (check_blocklists): Likewise.
39299 (write_blocklists): Likewise.
39300 (grub_cmd_save_env): Complete rewrite.
39301
39302 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39303 a plain text signature.
39304 (GRUB_ENVBLK_MAXLEN): Removed.
39305 (struct grub_envblk): Complete rewrite.
39306 (grub_envblk_find): Removed.
39307 (grub_envblk_insert): Likewise.
39308 (grub_envblk_open): New prototype.
39309 (grub_envblk_set): Likewise.
39310 (grub_envblk_delete): Put const to VALUE.
39311 (grub_envblk_iterate): Put const to NAME and VALUE.
39312 (grub_envblk_close): New prototype.
39313 (grub_envblk_buffer): New inline function.
39314 (grub_envblk_size): Likewise.
39315
39316 * lib/envblk.c: Include grub/mm.h.
39317 (grub_env_find): Removed.
39318 (grub_envblk_open): New function.
39319 (grub_envblk_close): Likewise.
39320 (escaped_value_len): Likewise.
39321 (find_next_line): Likewise.
39322 (grub_envblk_insert): Removed.
39323 (grub_envblk_set): New function.
39324 (grub_envblk_delete): Complete rewrite.
39325 (grub_envblk_iterate): Likewise.
39326
a9368fd3 393272009-03-28 Robert Millan <rmh@aybabtu.com>
39328
39329 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
39330 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
39331 variables. Use 16-bit loader.
39332 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
39333 loader.
39334 * kern/i386/loader.S (grub_linux_boot): Rename to ...
39335 (grub_linux16_boot): ... this. Update all users.
39336 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39337 (grub_linux_boot): ... this. Update all users.
39338
39339 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39340 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39341 commands to `linux16' and `initrd16'.
39342 (GRUB_MOD_FINI(linux)): Rename to ...
39343 (GRUB_MOD_FINI(linux16)): ... this.
39344
e4dd5a7e 393452009-03-24 Pavel Roskin <proski@gnu.org>
39346
39347 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39348 not just for compilation.
39349
c04d6e05 393502009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39351
39352 Move multiboot helper out of kernel
39353
39354 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39355 `loader/i386/multiboot_helper.S'.
39356 * conf/i386-coreboot.rmk: Likewise
39357 * conf/i386-ieee1275.rmk: Likewise
39358
39359 * kern/i386/loader.S: Move multiboot helpers from here...
39360 * loader/i386/multiboot_helper.S: ...moved here
39361 * include/grub/i386/loader.h: Move declarations of multiboot
39362 helpers from here...
39363 * include/grub/i386/multiboot.h: ...moved here
39364 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
39365
42a5b3fc 393662009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39367
39368 * kern/env.c (grub_env_context_open): Added an argument to specify
39369 whether a new context inherits exported variables from current
39370 one. This is useful when making a sandbox to interpret a config
39371 file.
39372 All callers updated.
39373
39374 * include/grub/env.h (grub_env_context_open): Updated the prototype.
39375
b28bbc4e 393762009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39377
39378 * kern/env.c (grub_env_context_close): Fix memory leaks.
39379
f04f02e4 393802009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39381
39382 * normal/main.c (grub_normal_execute): Added an argument
39383 BATCH to specify if an interactive interface should be provided
39384 after reading a config file.
39385 All callers updated.
39386 (read_command_list): Prevent being executed twice.
39387 (read_fs_list): Likewise.
39388
42a5b3fc 39389 * include/grub/normal.h (grub_normal_execute): Updated the
39390 prototype.
f04f02e4 39391
41473ac2 393922009-03-22 Pavel Roskin <proski@gno.org>
39393
fbc00b0c 39394 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
39395 _start.
39396 * kern/i386/pc/startup.S: Likewise.
39397 * kern/i386/efi/startup.S: Likewise.
39398 * kern/i386/ieee1275/startup.S: Likewise.
39399 * kern/i386/coreboot/startup.S: Likewise.
39400 * kern/x86_64/efi/startup.S: Likewise.
39401
41473ac2 39402 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
39403 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
39404 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
39405
2274cc8f 394062009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
39407
39408 Bugfixes in multiboot for bugs uncovered by solaris kernel.
39409
39410 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
39411 limit detection.
39412 Use vaddr of correct segment for entry_point.
39413
b1b797cb 394142009-03-21 Bean <bean123ch@gmail.com>
39415
39416 * commands/blocklist.c: Add include file <grub/command.h>, remove
39417 <grub/normal.h> and <grub/arg.h>.
39418 (grub_cmd_blocklist): Use the new command interface.
39419 (GRUB_MOD_INIT): Likewise.
39420 (GRUB_MOD_FINI): Likewise.
39421 * commands/boot.c: Likewise.
39422 * commands/cat.c: Likewise.
39423 * commands/cmp.c: Likewise.
39424 * commands/configfile.c: Likewise.
39425 * commands/crc.c: Likewise.
39426 * commands/echo.c: Likewise.
39427 * commands/halt.c: Likewise.
39428 * commands/handler.c: Likewise.
39429 * commands/hdparm.c: Likewise.
39430 * commands/help.c: Likewise.
39431 * commands/hexdump.c: Likewise.
39432 * commands/loadenv.c: Likewise.
39433 * commands/ls.c: Likewise.
39434 * commands/lsmmap.c: Likewise.
39435 * commands/lspci.c: Likewise.
39436 * commands/loadenv.c: Likewise.
39437 * commands/read.c: Likewise.
39438 * commands/reboot.c: Likewise.
39439 * commands/search.c: Likewise.
39440 * commands/sleep.c: Likewise.
39441 * commands/test.c: Likewise.
39442 * commands/usbtest.c: Likewise.
39443 * commands/videotest.c: Likewise.
39444 * commands/i386/cpuid.c: Likewise.
39445 * commands/i386/pc/halt.c: Likewise.
39446 * commands/i386/pc/play.c: Likewise.
39447 * commands/i386/pc/pxecmd.c: Likewise.
39448 * commands/i386/pc/vbeinfo.c: Likewise.
39449 * commands/i386/pc/vbetest.c: Likewise.
39450 * commands/ieee1275/suspend.c: Likewise.
39451 * disk/loopback.c: Likewise.
39452 * font/font_cmd.c: Likewise.
39453 * hello/hello.c: Likewise.
39454 * loader/efi/appleloader.c: Likewise.
39455 * loader/efi/chainloader.c: Likewise.
39456 * loader/i386/bsd.c: Likewise.
39457 * loader/i386/efi/linux.c: Likewise.
39458 * loader/i386/ieee1275/linux.c: Likewise.
39459 * loader/i386/linux.c: Likewise.
39460 * loader/i386/pc/chainloader.c: Likewise.
39461 * loader/i386/pc/linux.c: Likewise.
39462 * loader/powerpc/ieee1275/linux.c: Likewise.
39463 * loader/multiboot_loader.c: Likewise.
39464 * term/gfxterm.c: Likewise.
39465 * term/i386/pc/serial.c: Likewise.
39466 * term/terminfo.c: Likewise.
39467
39468 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39469 * term/i386/pc/vga.c: Likewise.
39470 * video/readers/jpeg.c: Likewise.
39471 * video/readers/png.c: Likewise.
39472 * video/readers/tga.c: Likewise.
39473
39474 * util/grub-fstest (cmd_loopback): Removed.
39475 (cmd_blocklist): Likewise.
39476 (cmd_ls): Likewise.
39477 (grub_register_command): Likewise.
39478 (grub_unregister_command): Likewise.
39479 (execute_command): Use grub_command_find to locate command and execute
39480 it.
39481
39482 * include/grub/efi/chainloader.h: Removed.
39483 * loader/efi/chainloader_normal.c: Likewise.
39484 * loader/i386/bsd_normal.c: Likewise.
39485 * loader/i386/pc/chainloader_normal.c: Likewise.
39486 * loader/i386/pc/multiboot_normal.c: Likewise.
39487 * loader/linux_normal.c: Likewise.
39488 * loader/multiboot_loader_normal.c: Likewise.
39489 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39490
39491 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39492 and grub_register_command_p1.
39493
39494 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39495 kern/command.c, lib/arg.c and commands/extcmd.c.
39496 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39497 (minicmd_mod_SOURCES): New variable.
39498 (minicmd_mod_CFLAGS): Likewise.
39499 (minicmd_mod_LDFLAGS): Likewise.
39500 (extcmd_mod_SOURCES): Likewise.
39501 (extcmd_mod_CFLAGS): Likewise.
39502 (extcmd_mod_LDFLAGS): Likewise.
39503 (boot_mod_SOURCES): Removed.
39504 (boot_mod_CFLAGS): Likewise.
39505 (boot_mod_LDFLAGS): Likewise.
39506
39507 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39508 kern/corecmd.c.
39509 (kernel_img_HEADERS): Add command.h.
39510 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39511 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39512 and lib/arg.c.
39513 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39514 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39515 remove the corresponding normal mode command.
39516 (normal_mod_SOURCES): Remove normal/arg.c.
39517 * conf/i386-coreboot.rmk: Likewise.
39518 * conf/i386-efi.rmk: Likewise.
39519 * conf/i386-ieee1275.rmk: Likewise.
39520 * conf/powerpc-ieee1275.rmk: Likewise.
39521 * conf/x86_64-efi.rmk: Likewise.
39522
39523 * include/grub/arg.h: Move from here ...
39524 * include/grub/lib/arg.h: ... to here.
39525
39526 * normal/arg.c: Move from here ...
39527 * lib/arg.c: ... to here.
39528
39529 * commands/extcmd.c: New file.
39530 * commands/minicmd.c: Likewise.
39531 * include/grub/command.h: Likewise.
39532 * include/grub/extcmd.h: Likewise.
39533 * kern/command.c: Likewise.
39534 * kern/corecmd.c: Likewise.
39535
39536 * kern/list.c (grub_list_iterate): Return int instead of void.
39537 (grub_list_insert): New function.
39538 (grub_prio_list_insert): Likewise.
39539
39540 * kern/rescue.c (grub_rescue_command): Removed.
39541 (grub_rescue_command_list): Likewise.
39542 (grub_rescue_register_command): Likewise.
39543 (grub_rescue_unregister_command): Likewise.
39544 (grub_rescue_cmd_boot): Move to minicmd.c
39545 (grub_rescue_cmd_help): Likewise.
39546 (grub_rescue_cmd_info): Likewise.
39547 (grub_rescue_cmd_boot): Likewise.
39548 (grub_rescue_cmd_testload): Likewise.
39549 (grub_rescue_cmd_dump): Likewise.
39550 (grub_rescue_cmd_rmmod): Likewise.
39551 (grub_rescue_cmd_lsmod): Likewise.
39552 (grub_rescue_cmd_exit): Likewise.
39553 (grub_rescue_print_devices): Moved to corecmd.c.
39554 (grub_rescue_print_files): Likewise.
39555 (grub_rescue_cmd_ls): Likewise.
39556 (grub_rescue_cmd_insmod): Likewise.
39557 (grub_rescue_cmd_set): Likewise.
39558 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39559 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39560 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39561 commands, remove grub_rescue_register_command calls.
b1b797cb 39562
7d074e3c 39563 * normal/command.c (grub_register_command): Removed.
b1b797cb 39564 (grub_unregister_command): Likewise.
39565 (grub_command_find): Likewise.
39566 (grub_iterate_commands): Likewise.
39567 (rescue_command): Likewise.
39568 (export_command): Moved to corecmd.c.
39569 (set_command): Removed.
39570 (unset_command): Likewise.
39571 (insmod_command): Likewise.
39572 (rmmod_command): Likewise.
39573 (lsmod_command): Likewise.
39574 (grub_command_init): Likewise.
39575
39576 * normal/completion.c (iterate_command): Use cmd->prio to check for
39577 active command.
39578 (complete_arguments): Use grub_extcmd_t structure to find options.
39579 (grub_normal_do_completion): Change function grub_iterate_commands to
39580 grub_command_iterate.
39581
39582 * normal/execute.c (grub_script_execute_cmd): No need to parse
39583 argument here.
39584
39585 * normal/main.c (grub_dyncmd_dispatcher): New function.
39586 (read_command_list): Register unload commands as dyncmd.
39587 (grub_cmd_normal): Use new command interface, register rescue,
39588 unregister normal at entry, register normal, unregister rescue at exit.
39589
39590 * include/grub/list.h (grub_list_test_t): New type.
39591 (grub_list_iterate): Return int instead of void.
39592 (grub_list_insert): New function.
39593 (GRUB_AS_NAMED_LIST_P): New macro.
39594 (GRUB_AS_PRIO_LIST): Likewise.
39595 (GRUB_AS_PRIO_LIST_P): Likewise.
39596 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39597 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39598 (grub_prio_list): New structure.
39599 (grub_prio_list_insert): New function.
39600 (grub_prio_list_remove): New inline function.
39601
39602 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39603 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39604 (GRUB_COMMAND_FLAG_MENU): Likewise.
39605 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39606 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39607 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39608 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39609 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39610 (grub_command): Likewise.
39611 (grub_register_command): Likewise.
39612 (grub_command_find): Likewise.
39613 (grub_iterate_commands): Likewise.
39614 (grub_command_init): Likewise.
39615 (grub_arg_parse): Likewise.
39616 (grub_arg_show_help): Likewise.
39617
39618 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39619 (grub_rescue_unregister_command): Likewise.
39620
39621 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39622 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39623 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39624
39625 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39626 grub_rescue_cmd_initrd.
39627 * include/grub/i386/loader.h: Likewise.
39628 * include/grub/x86_64/loader.h: Likewise.
39629
39630 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39631
1f4147aa 396322009-03-21 Bean <bean123ch@gmail.com>
39633
39634 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39635 instead of stat in mingw environment.
39636
39637 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39638
39639 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39640
39641 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39642 AC_CONFIG_LINKS.
39643
2156d5ba 396442009-03-21 Bean <bean123ch@gmail.com>
39645
39646 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39647 out of range error.
39648
177b82ca 396492009-03-18 Michel Dänzer <michel@daenzer.net>
39650
39651 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39652 checking inode flags for EXT4_EXTENTS_FLAG.
39653
14aad807 396542009-03-18 Robert Millan <rmh@aybabtu.com>
39655
39656 * loader/i386/linux.c: Include `<grub/video.h>' and
39657 `<grub/i386/pc/vbe.h>'..
39658 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39659 (grub_linux32_boot): Attempt to configure video settings with
39660 grub_linux_setup_video().
39661 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39662 to avoid grub_console_fini() which would step out of graphical mode
39663 unconditionally.
39664
8cf83a27 396652009-03-14 Robert Millan <rmh@aybabtu.com>
39666
39667 Fix build on powerpc.
39668 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39669
40164e75 396702009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39671
39672 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39673 background image command.
39674
c58bc32a 396752009-03-12 Colin D Bennett <colin@gibibit.com>
39676
39677 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39678 (grub_gfxterm_putchar): Extract pairs of identical calls to
39679 draw_cursor out of conditional blocks.
39680
5415144a 396812009-03-11 Pavel Roskin <proski@gnu.org>
39682
39683 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39684 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39685
6394042e 396862009-03-11 Robert Millan <rmh@aybabtu.com>
39687
39688 * loader/i386/multiboot_elfxx.c
39689 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39690
b7b50e5f 396912009-03-11 Felix Zielcke <fzielcke@z-51.de>
39692
39693 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39694 `kern/handler.c'.
39695
1ca7fc96 396962009-03-11 Robert Millan <rmh@aybabtu.com>
39697
39698 * loader/i386/multiboot.c (code_size): New variable.
39699 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39700 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39701 4-byte alignment to MBI and others by increasing
7d074e3c 39702 `boot_loader_name_length' appropriately.
1ca7fc96 39703
39704 * loader/i386/multiboot_elfxx.c
39705 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39706
a83ea1d2 397072009-03-09 Felix Zielcke <fzielcke@z-51.de>
39708
39709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39710 `fs/ext2.c'.
39711
aa9f3bff 397122009-03-08 Robert Millan <rmh@aybabtu.com>
39713
39714 Make loader/i386/linux.c usable on i386-pc again.
39715
39716 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39717 memory to heap.
39718 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39719 `#error' stanza.
39720
d8b3b60e 397212009-03-07 Bean <bean123ch@gmail.com>
39722
39723 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39724 allocation.
39725
b362c9e9 397262009-03-06 Robert Millan <rmh@aybabtu.com>
39727
39728 Fix display issue on terminals with screen size other than 80x25
39729 (e.g. gfxterm with resolution higher than 640x480).
39730
39731 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39732 position relative to the center of the terminal instead of relying
b362c9e9 39733 on a hardcoded offset.
39734
9304eef1 397352009-03-04 Robert Millan <rmh@aybabtu.com>
39736
39737 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39738 installed.
39739
39740 * Makefile.in (host_kernel): New variable.
39741 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39742 scripts instead of just the windows one.
39743 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39744
eabc95fb 397452009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39746
39747 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39748 `kern/handler.c'.
39749 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39750 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39751 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39753 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39754 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39755
ceb1223c 397562009-03-04 Felix Zielcke <fzielcke@z-51.de>
39757
39758 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39759 or if there's no space for the disk label and print the partition number on a
39760 invalid magic.
39761
4910684a 397622009-03-04 Felix Zielcke <fzielcke@z-51.de>
39763
39764 * util/misc.c: Include <time.h>.
39765 (grub_millisleep): New function.
39766
7e9ca17a 397672009-03-04 Bean <bean123ch@gmail.com>
39768
39769 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39770 another option -mno-red-zone.
39771
39772 * commands/handler.c: Change module description.
39773
39774 * kern/handler.c: Add missing space at the end of description line.
39775
39776 * kern/list.c: Likewise.
39777
f501677c 397782009-03-03 Robert Millan <rmh@aybabtu.com>
39779
39780 Move more components to the relocation area, and fix mbi pointer
39781 handling to use the destination rather than the origin (thanks to
39782 Vladimir Serbinenko for spotting).
39783
39784 * loader/i386/multiboot.c (mbi_dest): New variable.
39785 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39786 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39787 relocation area.
39788
9902d047 397892009-03-01 Bean <bean123ch@gmail.com>
39790
50fb7002 39791 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39792 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39793 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39794 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39795
39796 * loader/i386/efi/linux.c (acpi_guid): New variable.
39797 (acpi_guid): Likewise.
39798 (EBDA_SEG_ADDR): New constant.
39799 (LOW_MEM_ADDR): Likewise.
39800 (FAKE_EBDA_SEG): Likewise.
39801 (fake_bios_data): New function.
39802 (grub_linux_boot): Call fake_bios_data.
39803
71b9f361 398042009-03-01 Bean <bean123ch@gmail.com>
39805
39806 * commands/terminal.c: Removed.
39807
39808 * commands/handler.c: New file.
39809
39810 * include/grub/list.h: Likewise.
39811
39812 * include/grub/handler.h: Likewise.
39813
39814 * kern/list.c: Likewise.
39815
39816 * kern/handler.c: Likewise.
39817
39818 * kern/term.h: Include header file <grub/handler.h>.
39819 (grub_term_input): Move next field to the beginning.
39820 (grub_term_output): Likewise.
39821 (grub_term_input_class): New variable.
39822 (grub_term_output_class): Likewise.
39823 (grub_term_register_input): Changed to inline function.
39824 (grub_term_register_output): Likewise.
39825 (grub_term_unregister_input): Likewise.
39826 (grub_term_unregister_output): Likewise.
39827 (grub_term_set_current_input): Likewise.
39828 (grub_term_set_current_output): Likewise.
39829 (grub_term_get_current_input): Likewise.
39830 (grub_term_get_current_output): Likewise.
39831 (grub_term_iterate_input): Removed.
39832 (grub_term_iterate_output): Likewise.
39833
39834 * kern/term.c (grub_term_list_input): Removed.
39835 (grub_term_list_output): Likewise.
39836 (grub_term_input_class): New variable.
39837 (grub_term_output_class): Likewise.
50fb7002 39838 (grub_cur_term_input): Change variable as macro.
71b9f361 39839 (grub_cur_term_output): Likewise.
39840 (grub_term_register_input): Removed.
39841 (grub_term_register_output): Likewise.
39842 (grub_term_unregister_input): Likewise.
39843 (grub_term_unregister_output): Likewise.
39844 (grub_term_set_current_input): Likewise.
39845 (grub_term_set_current_output): Likewise.
39846 (grub_term_iterate_input): Likewise.
39847 (grub_term_iterate_output): Likewise.
39848 (grub_term_get_current_input): Likewise.
39849 (grub_term_get_current_output): Likewise.
39850
39851 * util/grub-editenv.c: Include header file <grub/handler.h>.
39852 (grub_term_get_current_input): Removed.
39853 (grub_term_get_current_output): Likewise.
39854 (grub_term_input_class): New variable.
50fb7002 39855 (grub_term_output_class): Likewise.
71b9f361 39856
39857 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39858 (grub_term_get_current_output): Likewise.
39859 (grub_term_input_class): New variable.
50fb7002 39860 (grub_term_output_class): Likewise.
71b9f361 39861
39862 * util/grub-probe.c (grub_term_get_current_input): Removed.
39863 (grub_term_get_current_output): Likewise.
39864 (grub_term_input_class): New variable.
50fb7002 39865 (grub_term_output_class): Likewise.
71b9f361 39866
39867 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39868 (grub_term_get_current_output): Likewise.
39869 (grub_term_input_class): New variable.
50fb7002 39870 (grub_term_output_class): Likewise.
71b9f361 39871
39872 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39873 (terminal_mod_SOURCES): Likewise.
39874 (terminal_mod_CFLAGS): Likewise.
39875 (terminal_mod_LDFLAGS): Likewise.
39876
39877 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39878 handler.c.
39879 (kernel_img_SOURCES): Add list.c and handler.c.
39880 (kernel_img_HEADERS): Add list.h and handler.h.
39881
39882 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39883 handler.c.
39884 (kernel_mod_SOURCES): Add list.c and handler.c.
39885 (kernel_mod_HEADERS): Add list.h and handler.h.
39886
39887 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39888 handler.c.
39889 (kernel_elf_SOURCES): Add list.c and handler.c.
39890 (kernel_elf_HEADERS): Add list.h and handler.h.
39891
39892 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39893 handler.c.
39894 (kernel_elf_SOURCES): Add list.c and handler.c.
39895 (kernel_elf_HEADERS): Add list.h and handler.h.
39896
39897 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39898 handler.c.
39899 (kernel_mod_SOURCES): Add list.c and handler.c.
39900 (kernel_mod_HEADERS): Add list.h and handler.h.
39901
39902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39903 handler.c.
39904 (kernel_elf_SOURCES): Add list.c and handler.c.
39905 (kernel_elf_HEADERS): Add list.h and handler.h.
39906
8a31787f 399072009-02-27 Robert Millan <rmh@aybabtu.com>
39908
39909 Factorize elf32 / elf64 code in Multiboot loader. This will
39910 prevent it from getting out of sync again.
39911
39912 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39913 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39914 grub_multiboot_load_elf64): Move from here ...
39915 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39916 grub_multiboot_load_elf): ... to here (new file).
39917
51cd3dfc 399182009-02-27 Robert Millan <rmh@aybabtu.com>
39919
39920 * util/grub.d/10_linux.in: Rename "single-user mode" to
39921 "recovery mode".
39922
6e8c9c3a 399232009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39924
39925 Don't leak in SCSI code.
39926 * disk/scsi.c (grub_scsi_close): free `scsi'.
39927
4b6bf4f9 399282009-02-27 Robert Millan <rmh@aybabtu.com>
39929
39930 * loader/i386/pc/multiboot.c: Move from here ...
39931 * loader/i386/multiboot.c: ... to here. Update all users.
39932
b9413424 399332009-02-27 Robert Millan <rmh@aybabtu.com>
39934
39935 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39936 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39937
50fb7002 399382009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39939
39940 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39941 b-tree.
39942
8cc50345 399432009-02-27 Robert Millan <rmh@aybabtu.com>
39944
39945 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39946 `0x' qualifier as 0 when base is specified as parameter).
39947
6e09b8b7 399482009-02-24 Bean <bean123ch@gmail.com>
39949
39950 * configure.ac: Check for -mcmodel=large in x86_64 target.
39951
39952 * include/grub/efi/api.h (efi_call_10): New macro.
39953 (efi_wrap_10): New function.
39954
39955 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39956 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39957 (GRUB_PE32_REL_BASED_LOW): Likewise.
39958 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39959 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39960 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39961 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39962 (GRUB_PE32_REL_BASED_REL): Likewise.
39963 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39964 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39965 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39966
39967 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39968 issue.
39969
39970 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39971 (efi_wrap_10): New function.
39972
39973 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39974
39975 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39976 MB/MBP model (NV chipset).
39977 (devdata_devs): Add devpath_5 to the list.
39978
39979 * load/i386/efi/linux.c (video_base): Remove variable.
39980 (RGB_MASK): New macro.
39981 (RGB_MAGIC): Likewise.
39982 (LINE_MIN): Likewise.
39983 (LINE_MAX): Likewise.
39984 (FBTEST_STEP): Likewise.
39985 (FBTEST_COUNT): Likewise.
39986 (fb_list): New variable.
39987 (grub_find_video_card): Remove function.
39988 (find_framebuf): New function.
39989 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39990 line length.
39991
39992 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39993 problem for x86_64.
39994
74b21bee 399952009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39996
39997 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39998
39999 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40000 coding tool name.
40001
a455f472 400022009-02-22 Robert Millan <rmh@aybabtu.com>
40003
40004 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40005 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40006 in our relocation, instead of using it directly from heap. Also
40007 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40008
6374daf3 400092009-02-21 Robert Millan <rmh@aybabtu.com>
40010
40011 Implement USB keyboard support (based on patch by Marco Gerards)
40012
40013 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40014 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40015 (usb_keyboard_mod_LDFLAGS): New variables.
40016
40017 * term/usb_keyboard.c: New file.
40018
8fa4ea70 400192009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40020
40021 Corrected wrong declaration
40022
40023 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40024
353976ac 400252009-02-14 Christian Franke <franke@computer.org>
40026
40027 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40028 (grub_lspci_iter): Print class code and programming interface byte.
40029
6aa1169b 400302009-02-14 Christian Franke <franke@computer.org>
40031
40032 * gendistlist.sh: Ignore `.svn' directories.
40033
265372ca 400342009-02-14 Felix Zielcke <fzielcke@z-51.de>
40035
40036 * fs/fat.c: Add 2009 to Copyright line.
40037
9ff516f3 400382009-02-14 Christian Franke <franke@computer.org>
40039
40040 * commands/hdparm.c: New file. Provides `hdparm' command
40041 which sends ATA commands via grub_disk_ata_pass_through ().
40042
40043 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40044
40045 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40046 and <grub/cpu/io.h> to include/grub/ata.h.
40047 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40048 (GRUB_CDROM_SECTOR_SIZE): Remove.
40049 (GRUB_ATA_*): Move to include/grub/ata.h.
40050 (GRUB_ATAPI_*): Likewise.
40051 (enum grub_ata_commands): Likewise.
40052 (enum grub_ata_timeout_milliseconds): Likewise.
40053 (struct grub_ata_device): Likewise.
40054 (grub_ata_regset): Likewise.
40055 (grub_ata_regget): Likewise.
40056 (grub_ata_regset2): Likewise.
40057 (grub_ata_regget2): Likewise.
40058 (grub_ata_check_ready): Likewise.
40059 (grub_ata_wait_not_busy): Remove static, exported in
40060 include/grub/ata.h.
40061 (grub_ata_wait_drq): Likewise.
40062 (grub_ata_pio_read): Likewise.
40063
40064 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40065 function for hdparm.mod.
40066
40067 * include/grub/ata.h: New file, contains declarations from
40068 disk/ata.c.
40069 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40070
40071 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40072 (grub_disk_ata_pass_through): New exported variable.
40073
40074 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40075
772e23da 400762009-02-13 Colin D Bennett <colin@gibibit.com>
40077
40078 Support multiple fallback entries, and provide an API to support
40079 executing default+fallback menu entries. Renamed the `terminal' menu
40080 viewer to `text'.
40081
40082 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40083 variable declaration.
40084 (grub_menu_execute_callback): New structure declaration.
40085 (grub_menu_execute_callback_t): New typedef.
40086 (grub_menu_execute_with_fallback): New function declaration.
40087 (grub_menu_get_entry): Likewise.
40088 (grub_menu_get_timeout): Likewise.
40089 (grub_menu_set_timeout): Likewise.
40090
40091 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40092
40093 * normal/menu.c (grub_wait_after_message): Moved to
40094 `normal/menu_text.c'.
40095 (draw_border): Likewise.
40096 (print_message): Likewise.
40097 (print_entry): Likewise.
40098 (print_entries): Likewise.
40099 (grub_menu_init_page): Likewise.
40100 (get_entry_number): Likewise.
40101 (print_timeout): Likewise.
40102 (run_menu): Likewise.
40103 (grub_menu_execute_entry): Likewise.
40104 (show_text_menu): Likewise.
40105 (get_and_remove_first_entry_number): New function.
40106 (grub_menu_execute_with_fallback): Likewise.
40107 (get_entry): Renamed to ...
40108 (grub_menu_get_entry): .. this and made it global.
40109 (get_timeout): Renamed to ...
40110 (grub_menu_get_timeout): ... this and made it global.
40111 (set_timeout): Renamed to ...
40112 (grub_menu_set_timeout): ... this and made it global.
40113 (grub_normal_terminal_menu_viewer): Renamed to ...
40114 (grub_normal_text_menu_viewer): ... this.
40115
40116 * normal/menu_text.c: New file. Extracted text-menu-specific code
40117 from normal/menu.c.
40118
40119 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40120 (normal_mod_SOURCES): Likewise.
40121
40122 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40123 (normal_mod_SOURCES): Likewise.
40124
40125 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40126 (normal_mod_SOURCES): Likewise.
40127
40128 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40129 (normal_mod_SOURCES): Likewise.
40130
40131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40132 (normal_mod_SOURCES): Likewise.
40133
40134 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40135 (normal_mod_SOURCES): Likewise.
40136
40137 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40138 (normal_mod_SOURCES): Likewise.
40139
16ac430e 401402009-02-11 Robert Millan <rmh@aybabtu.com>
40141
40142 * util/grub.d/00_header.in: Update old reference to `font' command.
40143
06ff20fc 401442009-02-10 Felix Zielcke <fzielcke@z-51.de>
40145
40146 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40147
40148 Based on patch from Javier Martín.
40149
96da9407 401502009-02-09 Felix Zielcke <fzielcke@z-51.de>
40151
40152 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 40153 to avoid false positives with FAT.
96da9407 40154 (grub_fstest_SOURCES): Likewise.
40155 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40156 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40158 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40159 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40160 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40161
6dca6fe4 401622009-02-09 Felix Zielcke <fzielcke@z-51.de>
40163
06ff20fc 40164 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 40165 bpb.version_specific.fat12_or_fat16.fstype and
40166 bpb.version_specific.fat32.fstype.
40167
2550c62f 401682009-02-08 Robert Millan <rmh@aybabtu.com>
40169
be110b30 40170 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 40171
56978920 401722009-02-08 Robert Millan <rmh@aybabtu.com>
40173
40174 * Makefile.in (host_os, host_cpu): New variables.
40175 (target_os): Remove. Update all users.
40176
d64399b5 401772009-02-08 Marco Gerards <marco@gnu.org>
40178
40179 * Makefile.in (enable_grub_emu_usb): New variable.
40180 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40181 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40182 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40183 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40184 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40185 `usbtest.mod' and `usbms.mod'.
40186 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40187 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40188 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40189 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40190 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40191 variables.
40192
40193 * disk/usbms.c: New file.
40194
40195 * include/grub/usb.h: Likewise.
40196
40197 * include/grub/usbtrans.h: Likewise.
40198
40199 * include/grub/usbdesc.h: Likewise.
40200
40201 * bus/usb/usbtrans.c: Likewise.
40202
40203 * bus/usb/ohci.c: Likewise.
40204
40205 * bus/usb/uhci.c: Likewise.
40206
40207 * bus/usb/usbhub.c: Likewise.
40208
40209 * bus/usb/usb.c: Likewise.
40210
40211 * commands/usbtest.c: Likewise.
40212
40213 * util/usb.c: Likewise.
50fb7002 40214
d64399b5 40215 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40216
40217 * configure.ac: Test for libusb presence.
50fb7002 40218
d64399b5 40219 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40220
2b40d6bb 402212009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40222
40223 * kern/mm.c: Add more comments.
40224
73a4ce81 402252009-02-08 Robert Millan <rmh@aybabtu.com>
40226
40227 Patch from Javier Martín.
40228 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40229 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40230
f821ce59 402312009-02-08 Robert Millan <rmh@aybabtu.com>
40232
40233 * fs/cpio.c: Split tar functionality to ...
40234 * fs/tar.c: ... here (new file). Update all users.
40235
aebfc4b0 402362009-02-07 Robert Millan <rmh@aybabtu.com>
40237
40238 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40239 backward-incompatible features.
40240
40241 Based on patch from Javier Martín, with some adjustments.
40242
50fb7002 402432009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 40244
40245 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40246
0bb5115e 402472009-02-07 Robert Millan <rmh@aybabtu.com>
40248
40249 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40250 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40251 after the RAID stuff.
40252
38a0f8e7 402532009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40254
50fb7002 40255 Fixes problem when running vbetest command as reported by
38a0f8e7 40256 Vladimir Serbinenko <phcoder@gmail.com>.
40257
40258 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40259
3143cc1c 402602009-02-04 Felix Zielcke <fzielcke@z-51.de>
40261
40262 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40263 /dev/md/NpN style mdraid devices.
40264
9cba6fce 402652009-02-03 Felix Zielcke <fzielcke@z-51.de>
40266
40267 * util/unifont2pff.rb: Remove.
40268
e507a2c1 402692009-02-03 Felix Zielcke <fzielcke@z-51.de>
40270
40271 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40272 `#'.
40273
d2c2b4cd 402742009-02-03 Felix Zielcke <fzielcke@z-51.de>
40275
40276 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40277 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40278 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40279 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40281 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40282 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40283
b4315fb0 402842009-02-02 Christian Franke <franke@computer.org>
40285
40286 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40287
de3aa260 402882009-02-01 Felix Zielcke <fzielcke@z-51.de>
40289
7c3ff286 40290 * INSTALL: Note that we now require at least autoconf 2.59 and
40291 that LZO is optional.
de3aa260 40292
825a182b 402932009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40294
40295 Base on patch on bug #24154 created by Tomas Tintera
40296 <trosos@seznam.cz>.
40297
40298 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40299
a69ef770 403002009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40301
7c3ff286 40302 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 40303 <bero@arklinux.org>.
40304
40305 * normal/parser.y (script_init): Add missing semicolon.
40306
6fa42fa6 403072009-01-31 Colin D Bennett <colin@gibibit.com>
40308
7c3ff286 40309 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 40310 (free_menu_entry_classes): Added.
40311 (grub_normal_menu_addentry): Added class property handling.
40312 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40313 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40314
40315 * normal/menu_viewer.c: New file.
40316
40317 * normal/menu.c (run_menu_entry): Renamed to ...
40318 (grub_menu_execute_entry): ... this and made it as global.
40319 (grub_menu_run): Renamed to ...
40320 (show_text_menu): ... this and made it local.
40321 (show_text_menu): Adapt to new function names.
40322 (grub_normal_terminal_menu_viewer): New global variable.
40323
40324 * include/grub/menu.h: New file.
40325
40326 * include/grub/menu_viewer.h: New file.
40327
40328 * include/grub/normal.h: Added include to grub/menu.h.
40329 (grub_menu_entry): Moved to include/grub/menu.h.
40330 (grub_menu_entry_t): Likewise.
40331 (grub_menu): Likewise.
40332 (grub_menu_t): Likewise.
40333 (grub_normal_terminal_menu_viewer): Added.
40334 (grub_menu_execute_entry): Likewise.
40335 (grub_menu_run): Removed.
40336
40337 * DISTLIST: Added include/grub/menu.h.
40338 Added include/grub/menu_viewer.h.
40339 Added normal/menu_viewer.c.
40340
403412009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40342
40343 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40344 arglist for menutitle arguments.
40345
40346 * normal/main.c (grub_normal_menu_addentry): Likewise.
40347
40348 * normal/parser.y (menuentry): Likewise.
40349
40350 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40351
40352 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40353 (grub_script_create_cmdmenu): Likewise.
40354
40355 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40356
40357 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40358 changes.
40359
40360 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
40361
40362 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
40363
40364 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
40365
40366 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40367
40368 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40369
40370 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40371
56192c23 403722009-01-30 Christian Franke <franke@computer.org>
40373
40374 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
40375 in option help text.
40376
d72521b3 403772009-01-27 Pavel Roskin <proski@gnu.org>
40378
40379 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
40380
994b5e84 403812009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40382
40383 * commands/lsmmap.c: Add include to grub/machine/memory.h.
40384
40385 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
40386
40387 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
40388 unregister function.
40389
6a7eab2c 403902009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40391
40392 * disk/scsi.c (grub_scsi_read): Fix sign problem.
40393
40394 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
40395
40396 * util/grub-mkfont.c (usage): Fix typo.
40397
40398 * util/elf/grub-mkimage.c (load_modules): Fix warning.
40399
1806b56e 404002009-01-26 Daniel Mierswa <impulze@impulze.org>
40401
3fb18f09 40402 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
40403
336e1fb9 40404 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
40405
1806b56e 40406 * kern/misc.c (grub_strcasecmp): New function.
40407 (grub_strcasecmp): Use grub_size_t instead of int for length.
40408 Fix return value.
40409 * include/grub/misc.h: Update function prototypes.
40410
580b2a0f 404112009-01-26 Robert Millan <rmh@aybabtu.com>
40412
40413 * configure.ac: Fix cross-compilation check.
ef257b36 40414
d31c24f1 404152009-01-22 Christian Franke <franke@computer.org>
40416
40417 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
40418 (precision) digit string. Allow `.format2' without `format1' (width).
40419 Limit input chars for `%s' output to `format2' if specified. This is
40420 compatible with standard printf ().
40421
3138b44c 404222009-01-22 Christian Franke <franke@computer.org>
40423
40424 * disk/ata.c (grub_ata_wait_status): Replace by ...
40425 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
40426 other status bits may be invalid while BSY is asserted.
40427 (grub_ata_check_ready): New function.
40428 (grub_ata_cmd): Removed.
40429 (grub_ata_wait_drq): New function.
40430 (grub_ata_strncpy): Remove inline.
40431 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
40432 and error check now done by grub_ata_wait_drq ().
40433 (grub_ata_pio_write): Likewise.
40434 (grub_atapi_identify): Set DEV before check for !BSY. Use
40435 grub_ata_wait_drq () to wait for data.
40436 (grub_ata_device_initialize): Add status register check to
40437 detect missing SATA slave devices. Add debug messages.
40438 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
40439 (grub_atapi_packet): Set DEV before check for !BSY. Replace
40440 transfer loop by grub_ata_pio_write ().
40441 (grub_ata_identify): Set DEV before check for !BSY. Use
40442 grub_ata_wait_drq () to wait for data.
ef257b36 40443 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 40444 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
40445 read/write in one loop. Fix invalid command on write. Fix incomplete
40446 command on (size % batch) == 0. Add missing error check after write of
40447 last block. Add debug messages.
40448 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40449
59a64ef6 404502009-01-19 Christian Franke <franke@computer.org>
40451
40452 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40453 (GRUB_ATAPI_IREASON_*): Likewise.
40454 (grub_ata_pio_write): Fix timeout error return.
40455 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40456 (grub_atapi_wait_drq): New function.
40457 (grub_atapi_packet): New parameter `size'.
40458 Use grub_atapi_wait_drq () and direct write instead of
40459 grub_ata_pio_write ().
40460 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40461 reads the number of bytes requested by the device for each DRQ
40462 assertion.
40463 (grub_atapi_write): Remove old implementation, return not
40464 implemented instead.
40465
1cfe20b3 404662009-01-19 Christian Franke <franke@computer.org>
40467
40468 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40469 of 512 to calculate data size.
40470 (grub_scsi_read12): Likewise.
40471 (grub_scsi_write10): Likewise.
40472 (grub_scsi_write12): Likewise.
40473 (grub_scsi_read): Adjust size according to blocksize.
40474 Add checks for invalid blocksize and unaligned transfer.
40475
bee5fe5d 404762009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40477
40478 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40479
ef257b36 40480 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 40481 width glyphs.
40482
3e643f8c 404832009-01-19 Robert Millan <rmh@aybabtu.com>
40484
40485 * config.guess: Update to latest version from config git.
40486 * config.sub: Likewise.
40487
4fa80998 404882009-01-17 Felix Zielcke <fzielcke@z-51.de>
40489
40490 * Makefile.in: Change font compilation to use new grub-mkfont instead
40491 of java version.
40492
40493 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40494 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40495 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40496 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40497 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40498 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40499 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40500 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40501 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40502
7086085b 405032009-01-16 Christian Franke <franke@computer.org>
40504
40505 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40506 (enum grub_ata_timeout_milliseconds): New enum.
40507 (grub_ata_wait_status): Add parameter milliseconds.
40508 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40509 recovery from timed-out commands.
40510 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40511 return grub_errno instead of REG_ERROR.
40512 (grub_ata_pio_write): Add parameter milliseconds.
40513 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40514 Pass milliseconds to grub_ata_wait_status () and
40515 grub_ata_pio_read ().
40516 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40517 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40518 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40519 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40520 It is not suitable for device detection, because DEV bit is ignored,
40521 the command may run too long, and not all devices set the signature
40522 properly.
40523 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40524 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40525 Fix device selection, DEV bit must be set first to address the registers
40526 of the correct device.
40527 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40528 grub_ata_pio_read/write ().
40529 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40530 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40531
4a412913 405322009-01-13 Carles Pina i Estany <carles@pina.cat>
40533
40534 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40535
7795c55e 405362009-01-13 Bean <bean123ch@gmail.com>
d913988c 40537
40538 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40539
7795c55e 405402009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40541
40542 * Makefile.in: (enable_grub_mkfont): New variable.
40543 (freetype_cflags): Likewise.
40544 (freetype_libs): Likewise.
40545
40546 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40547 (grub_mkfont_SOURCES): New variable.
40548 (grub_mkfont_CFLAGS): Likewise.
40549 (grub_mkfont_LDFLAGS): Likewise.
40550
40551 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40552 library if `--enable-grub-mkfont' is requested.
40553 (enable_grub_mkfont): New variable.
40554 (freetype_cflags): Likewise.
40555 (freetype_libs): Likewise.
40556
40557 * util/grub-mkfont.c: New file.
40558
093af1fe 405592009-01-12 Christian Franke <franke@computer.org>
40560
40561 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40562 mode check. Fix setting of compat_use[].
40563
f36cc108 405642009-01-10 Robert Millan <rmh@aybabtu.com>
40565
40566 Update a few copyright years which we forgot to do in 2008 (only for
40567 files whose changes made in 2008 were copyright-significant)
40568
40569 * Makefile.in: Add 2008 to Copyright line.
40570 * disk/ieee1275/ofdisk.c: Likewise.
40571 * disk/efi/efidisk.c: Likewise.
40572 * kern/dl.c: Likewise.
40573 * kern/sparc64/ieee1275/init.c: Likewise.
40574 * kern/mm.c: Likewise.
40575 * kern/efi/mm.c: Likewise.
40576 * boot/i386/pc/boot.S: Likewise.
40577 * genfslist.sh: Likewise.
40578 * fs/iso9660.c: Likewise.
40579 * fs/hfs.c: Likewise.
40580 * fs/jfs.c: Likewise.
40581 * fs/minix.c: Likewise.
40582 * fs/ufs.c: Likewise.
40583 * gensymlist.sh.in: Likewise.
40584 * genkernsyms.sh.in: Likewise.
40585 * include/grub/misc.h: Likewise.
40586 * include/grub/types.h: Likewise.
40587 * include/grub/symbol.h: Likewise.
40588 * include/grub/elf.h: Likewise.
40589 * include/grub/kernel.h: Likewise.
40590 * include/grub/disk.h: Likewise.
40591 * include/grub/dl.h: Likewise.
40592 * include/grub/i386/linux.h: Likewise.
40593 * include/grub/i386/pc/biosdisk.h: Likewise.
40594 * include/grub/efi/api.h: Likewise.
40595 * include/grub/efi/pe32.h: Likewise.
40596 * include/grub/util/misc.h: Likewise.
40597 * normal/execute.c: Likewise.
40598 * normal/arg.c: Likewise.
40599 * normal/completion.c: Likewise.
40600 * normal/lexer.c: Likewise.
40601 * normal/parser.y: Likewise.
40602 * normal/misc.c: Likewise.
40603 * commands/i386/pc/vbeinfo.c: Likewise.
40604 * commands/hexdump.c: Likewise.
40605 * commands/terminal.c: Likewise.
40606 * commands/ls.c: Likewise.
40607 * commands/help.c: Likewise.
40608 * partmap/pc.c: Likewise.
40609 * loader/efi/chainloader.c: Likewise.
40610 * loader/multiboot_loader.c: Likewise.
40611 * loader/i386/pc/multiboot2.c: Likewise.
40612 * term/efi/console.c: Likewise.
40613 * term/i386/pc/serial.c: Likewise.
40614 * util/lvm.c: Likewise.
40615 * util/console.c: Likewise.
40616 * util/i386/efi/grub-mkimage.c: Likewise.
40617 * util/raid.c: Likewise.
40618
7f02114b 406192009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40620
40621 * commands/videotest.c: Removed include to grub/machine/memory.h.
40622
40623 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40624 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40625 (video_mod_SOURCES): Removed.
40626 (video_mod_CFLAGS): Likewise.
40627 (video_mod_LDFLAGS): Likewise.
40628 (gfxterm_mod_SOURCES): Likewise.
40629 (gfxterm_mod_CFLAGS): Likewise.
40630 (gfxterm_mod_LDFLAGS): Likewise.
40631 (videotest_mod_SOURCES): Likewise.
40632 (videotest_mod_CFLAGS): Likewise.
40633 (videotest_mod_LDFLAGS): Likewise.
40634 (bitmap_mod_SOURCES): Likewise.
40635 (bitmap_mod_CFLAGS): Likewise.
40636 (bitmap_mod_LDFLAGS): Likewise.
40637 (tga_mod_SOURCES): Likewise.
40638 (tga_mod_CFLAGS): Likewise.
40639 (tga_mod_LDFLAGS): Likewise.
40640 (jpeg_mod_SOURCES): Likewise.
40641 (jpeg_mod_CFLAGS): Likewise.
40642 (jpeg_mod_LDFLAGS): Likewise.
40643 (png_mod_SOURCES): Likewise.
40644 (png_mod_CFLAGS): Likewise.
40645 (png_mod_LDFLAGS): Likewise.
40646
40647 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40648 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40649 (video_mod_SOURCES): Added.
40650 (video_mod_CFLAGS): Likewise.
40651 (video_mod_LDFLAGS): Likewise.
40652 (videotest_mod_SOURCES): Likewise.
40653 (videotest_mod_CFLAGS): Likewise.
40654 (videotest_mod_LDFLAGS): Likewise.
40655 (bitmap_mod_SOURCES): Likewise.
40656 (bitmap_mod_CFLAGS): Likewise.
40657 (bitmap_mod_LDFLAGS): Likewise.
40658 (tga_mod_SOURCES): Likewise.
40659 (tga_mod_CFLAGS): Likewise.
40660 (tga_mod_LDFLAGS): Likewise.
40661 (jpeg_mod_SOURCES): Likewise.
40662 (jpeg_mod_CFLAGS): Likewise.
40663 (jpeg_mod_LDFLAGS): Likewise.
40664 (png_mod_SOURCES): Likewise.
40665 (png_mod_CFLAGS): Likewise.
40666 (png_mod_LDFLAGS): Likewise.
40667 (gfxterm_mod_SOURCES): Likewise.
40668 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40669 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40670
40671 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40672 grub/machine/console.h.
40673
644fff97 406742009-01-04 Jerone Young <jerone@gmail.com>
40675
40676 Make on screen instructions clearer
40677
40678 Based on patch created by Jidanni <jidanni@jidanni.org>
40679
40680 * normal/menu.c: print clearer instructions on the screen
40681
1e901a75 406822009-01-02 Colin D Bennett <colin@gibibit.com>
40683
40684 New font engine.
34c44600 40685
1e901a75 40686 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40687 build system and fixed gfxterm.c to work with different sized fonts.
40688
40689 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40690
1e901a75 40691 * configure: Re-generated.
34c44600 40692
1e901a75 40693 * DISTLIST: Removed font/manager.c.
40694 Added font/font.c.
40695 Added font/font_cmd.c.
34c44600 40696
1e901a75 40697 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40698 compilation.
34c44600 40699
1e901a75 40700 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40701
40702 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40703
40704 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40705
1e901a75 40706 * normal/menu.c: Likewise.
34c44600 40707
1e901a75 40708 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40709 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40710
1e901a75 40711 * include/grub/font.h: Replaced with new file.
34c44600 40712
1e901a75 40713 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40714 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40715 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40716 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40717 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40718 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40719 fg_red, fg_green, fg_blue, fg_alpha.
40720 (grub_video_adapter): Removed blit_glyph.
34c44600 40721 (grub_video_blit_glyph): Removed.
40722
1e901a75 40723 * font/manager.c: Removed file.
34c44600 40724
40725 * font/font.c: New file.
40726
1e901a75 40727 * font/font_cmd.c: Likewise.
34c44600 40728
1e901a75 40729 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40730
1e901a75 40731 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40732 (grub_video_vbe_map_rgba): Likewise.
40733 (grub_video_vbe_unmap_color_int): Likewise.
40734 (grub_video_vbe_blit_glyph): Removed.
40735 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40736
1e901a75 40737 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40738 (get_pixel): Likewise.
34c44600 40739 (set_pixel): Likewise.
40740
1e901a75 40741 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40742
1e901a75 40743 * term/gfxterm.c: Adapted to new font engine.
34c44600 40744
1e901a75 40745 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40746
1e901a75 40747 * term/i386/pc/vga.c: Likewise.
34c44600 40748
1e901a75 40749 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40750
1e901a75 40751 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40752
1e901a75 40753 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40754
1e901a75 40755 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40756
1e901a75 40757 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40758
1e901a75 40759 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40760
1e901a75 40761 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40762
1e901a75 40763 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40764
1e901a75 40765 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40766
40767 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40768
1e901a75 40769 * util/grub-mkconfig_lib.in: Changed font extension.
40770
278922e8 407712008-12-28 Felix Zielcke <fzielcke@z-51.de>
40772
40773 * util/getroot.c (grub_util_get_grub_dev): Add support for
40774 /dev/md/dNNpNN style partitionable mdraid devices.
40775
3ced05cf 407762008-12-12 Alex Smith <alex@alex-smith.me.uk>
40777
40778 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40779 at a time limit of the PXE TFTP API correctly.
40780 (grub_pxefs_close): Likewise.
40781
7fd0ee30 407822008-11-29 Robert Millan <rmh@aybabtu.com>
40783
34c44600 40784 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40785 grub_ata_device_initialize() calls.
40786
34c44600 407872008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40788
40789 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40790 iteration failed.
40791 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40792
89313780 407932008-11-28 Robert Millan <rmh@aybabtu.com>
40794
40795 Fix build on powerpc-ieee1275. Based on patch created by
40796 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40797 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40798 `kern/ieee1275/mmap.c'.
40799 * include/grub/powerpc/ieee1275/memory.h: New file.
40800
15257703 40801 Provide grub-install on coreboot.
40802 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40803 (grub_install_SOURCES): New variable.
40804 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40805 usable on coreboot.
40806
9fc5388a 408072008-11-25 Felix Zielcke <fzielcke@z-51.de>
40808
40809 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40810 to `grub_term_input_t'.
40811 (grub_term_get_current_output): Change return type to
40812 `grub_term_output_t'.
40813
bc3a2f31 408142008-11-22 Robert Millan <rmh@aybabtu.com>
40815
34c44600 40816 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40817 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40818 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40819 grub_vga_text_cls().
40820
80fc88f2 40821 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40822 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40823
cbf36fd3 40824 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40825 to 0x200000 (avoids trouble with some OFW implementations, and matches
40826 with the one in Yaboot).
40827 Reported by Manoel Abranches
40828
73e8e268 408292008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40830
40831 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40832 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40833
73e8e268 40834 * util/grub-mkconfig_lib.in (grub_warn): New function.
40835 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40836 warnings, to obtain consistent formatting.
40837 * util/grub.d/00_header.in: Likewise.
40838 * util/update-grub_lib.in: Likewise.
40839
e94045a1 40840 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40841 Move comment text to `#error' stanza.
e94045a1 40842
79d29fd7 40843 Harmonize ieee1275's grub_available_iterate() with the generic
40844 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40845 build problem on i386-ieee1275):
40846 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40847 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40848 parameter `type'. Update all users of this function.
40849 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40850 `kern/ieee1275/mmap.c'.
40851 * kern/ieee1275/init.c
40852 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40853 with ...
40854 (grub_machine_mmap_iterate): ... this.
40855 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40856 return type to `grub_err_t'. Update all implementations of this
40857 function prototype.
40858 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40859 Likewise.
40860
60d6b16e 40861 Add `lsmmap' command (lists firmware-provided memory map):
40862 * commands/lsmmap.c: New file.
40863 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40864 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40865 variables.
40866 * conf/powerpc-ieee1275.rmk: Likewise.
40867 * conf/i386-coreboot.rmk: Likewise.
40868 * conf/i386-ieee1275.rmk: Likewise.
40869
ebaaf49b 408702008-11-19 Robert Millan <rmh@aybabtu.com>
40871
40872 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40873 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40874 constraints to initrd allocation (based on code from
40875 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40876 for Linux to find it.
ebaaf49b 40877
dfab719f 408782008-11-14 Robert Millan <rmh@aybabtu.com>
40879
40880 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40881 order to cope with duplicate slashes.
40882
10fc3eb9 408832008-11-14 Robert Millan <rmh@aybabtu.com>
40884
40885 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40886 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40887 don't want to mess with lower memory, because it is used in the Linux
40888 loader.
40889
40890 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40891 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40892 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40893 is in our heap (probably as a result of it being corrupted during
2f2a3442 40894 decompression). Add #error instance with comment to explain why this
40895 loader isn't currently usable on PC/BIOS.
10fc3eb9 40896
e2e07847 408972008-11-14 Robert Millan <rmh@aybabtu.com>
40898
40899 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40900 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40901
fe8e8d69 409022008-11-12 Robert Millan <rmh@aybabtu.com>
40903
40904 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40905
40906 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40907 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40908 from here ...
40909 * include/grub/i386/pc/memory.h: ... to here.
40910
976b07d0 409112008-11-12 Robert Millan <rmh@aybabtu.com>
40912
40913 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40914 split).
40915
40916 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40917 (grub_console_cur_color, grub_console_real_putchar)
40918 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40919 (grub_console_setcolorstate, grub_console_setcolor)
40920 (grub_console_getcolor): Move from here ...
40921 * include/grub/i386/vga_common.h: ... to here (new file).
40922
40923 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40924 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40925 `<grub/i386/io.h>'.
40926 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40927 `<grub/i386/vga_common.h>'.
40928
76679cd3 409292008-11-12 Robert Millan <rmh@aybabtu.com>
40930
40931 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40932 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40933 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40934 variables.
40935 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40936 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40937
40938 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40939 grub_console_init() with call to grub_vga_text_init().
40940 (grub_machine_fini): Replace call to
40941 grub_console_fini() with call to grub_vga_text_fini() and
40942 grub_at_keyboard_fini().
40943
40944 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40945 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40946 (grub_console_setcolorstate, grub_console_setcolor)
40947 (grub_console_getcolor): New function prototypes.
40948
40949 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40950 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40951 (grub_vga_text_setcursor): Static-ize.
40952 (grub_vga_text_term): New structure.
40953 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40954
40955 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40956 (grub_console_cur_color, grub_console_standard_color)
40957 (grub_console_normal_color, grub_console_highlight_color)
40958 (map_char, grub_console_putchar, grub_console_getcharwidth)
40959 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40960 (grub_console_getcolor): Move from here ...
40961 * term/i386/vga_common.c: ... to here (same function names).
40962
95b841d3 409632008-11-12 Robert Millan <rmh@aybabtu.com>
40964
40965 Use newly-added Multiboot support in coreboot.
40966
40967 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40968 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40969
40970 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40971 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40972 (codestart): Store the MBI in `startup_multiboot_info' when we're
40973 being loaded using Multiboot.
40974
40975 * kern/i386/coreboot/init.c (grub_machine_init): Move
40976 grub_at_keyboard_init() call to beginning of function (useful for
40977 debugging). Call grub_machine_mmap_init() before attempting to use
40978 grub_machine_mmap_iterate().
40979 (grub_lower_mem, grub_upper_mem): Move from here ...
40980 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40981 here (new file).
40982
40983 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40984 function prototype.
40985
761ca975 409862008-11-12 Robert Millan <rmh@aybabtu.com>
40987
40988 Fix a regression introduced by the at_keyboard.mod split. Because
40989 some terminals are default on some platforms and non-default on
40990 others, the first terminal being registered determines which is
40991 going to be default.
40992
40993 * kern/term.c (grub_term_register_input): If this is the first
40994 terminal being registered, set it as the current one.
40995 (grub_term_register_output): Likewise.
40996
40997 * term/efi/console.c (grub_console_init): Do not call
40998 grub_term_set_current_output() or grub_term_set_current_input().
40999 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41000 * term/i386/pc/console.c (grub_console_init): Likewise.
41001 (grub_console_fini): Do not call grub_term_set_current_input()
41002 (but leave grub_term_set_current_output() to restore text mode).
41003
6c529df7 410042008-11-10 Robert Millan <rmh@aybabtu.com>
41005
41006 * util/grub.d/00_header.in: Add backward compatibility check for
41007 versions of terminal.mod that don't understand `terminal_input' or
41008 `terminal_output'.
41009
132e4113 410102008-11-09 Robert Millan <rmh@aybabtu.com>
41011
41012 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41013 `terminal_input' / `terminal_output', not `terminal'.
41014
ac293d50 410152008-11-08 Robert Millan <rmh@aybabtu.com>
41016
41017 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 41018 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 41019
0025933a 410202008-11-08 Robert Millan <rmh@aybabtu.com>
41021
41022 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 41023 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 41024 members. Update all users.
41025 * util/console.c (grub_ncurses_term): Split in ...
41026 (grub_ncurses_term_input): ... this, and ...
41027 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 41028 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 41029
37c86336 410302008-11-08 Robert Millan <rmh@aybabtu.com>
41031
41032 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41033 (PKGDATA): Add $(pkgdata_SRCDIR).
41034 (pkglib_BUILDDIR): New variable.
41035 (pkgdata_SRCDIR): New variable.
41036 (build_env.mk): New target.
41037 (include_DATA): New variable.
41038 (install-local): Install $(include_DATA) files in $(includedir).
41039
b6c15a2d 410402008-11-07 Pavel Roskin <proski@gnu.org>
41041
d99d46f1 41042 * gendistlist.sh: Use C locale for sorting to ensure consistent
41043 output on all systems.
41044
b6c15a2d 41045 * util/grub.d/00_header.in: Remove incorrect space before
41046 "serial".
41047
c32ee8c9 410482008-11-07 Robert Millan <rmh@aybabtu.com>
41049
41050 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41051 per specification.
41052 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41053 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41054 (based on find_multi_boot1_header).
41055 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41056 using find_multi_boot2_header(), and abort if neither Multiboot or
41057 Multiboot headers were found.
41058
651c29b7 410592008-11-07 Robert Millan <rmh@aybabtu.com>
41060
41061 Modularize at_keyboard.mod:
41062
41063 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41064 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41065 (at_keyboard_mod_LDFLAGS): New variables.
41066
41067 Actual terminal split:
41068
41069 * include/grub/term.h (struct grub_term): Split in ...
41070 (struct grub_term_input): ... this, and ...
41071 (struct grub_term_output): ... this. Update all users.
41072 (grub_term_set_current): Split in ...
41073 (grub_term_set_current_input): ... this, and ...
41074 (grub_term_set_current_output): ... this.
41075 (grub_term_get_current): Split in ...
41076 (grub_term_get_current_input): ... this, and ...
41077 (grub_term_get_current_output): ... this.
41078 (grub_term_register): Split in ...
41079 (grub_term_register_input): ... this, and ...
41080 (grub_term_register_output): ... this.
41081 (grub_term_unregister): Split in ...
41082 (grub_term_unregister_input): ... this, and ...
41083 (grub_term_unregister_output): ... this.
41084 (grub_term_iterate): Split in ...
41085 (grub_term_iterate_input): ... this, and ...
41086 (grub_term_iterate_output): ... this.
41087
41088 * kern/term.c (grub_term_list): Split in ...
41089 (grub_term_list_input): ... this, and ...
41090 (grub_term_list_output): ... this. Update all users.
41091 (grub_cur_term): Split in ...
41092 (grub_cur_term_input): ... this, and ...
41093 (grub_cur_term_output): ... this. Update all users.
41094 (grub_term_set_current): Split in ...
41095 (grub_term_set_current_input): ... this, and ...
41096 (grub_term_set_current_output): ... this.
41097 (grub_term_get_current): Split in ...
41098 (grub_term_get_current_input): ... this, and ...
41099 (grub_term_get_current_output): ... this.
41100 (grub_term_register): Split in ...
41101 (grub_term_register_input): ... this, and ...
41102 (grub_term_register_output): ... this.
41103 (grub_term_unregister): Split in ...
41104 (grub_term_unregister_input): ... this, and ...
41105 (grub_term_unregister_output): ... this.
41106 (grub_term_iterate): Split in ...
41107 (grub_term_iterate_input): ... this, and ...
41108 (grub_term_iterate_output): ... this.
41109
41110 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41111 a check for input and one for output (and only attempt to get keys
41112 from user when input works).
41113
41114 * util/grub-probe.c (grub_term_get_current): Split in ...
41115 (grub_term_get_current_input): ... this, and ...
41116 (grub_term_get_current_output): ... this.
41117 * util/grub-fstest.c: Likewise.
41118 * util/i386/pc/grub-setup.c: Likewise.
41119 * util/grub-editenv.c: Likewise.
41120
41121 Portability adjustments:
41122
41123 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41124 `term/i386/pc/at_keyboard.c'.
41125 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41126 grub_keyboard_controller_init() (now handled by terminal .init).
41127 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41128 grub_at_keyboard_init().
41129 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41130 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41131 at_keyboard.mod via input terminal interface).
41132 * include/grub/i386/coreboot/console.h: Convert into a stub for
41133 `<grub/i386/pc/console.h>'.
41134
41135 Migrate full terminals to new API:
41136
41137 * term/efi/console.c (grub_console_term): Split into ...
41138 (grub_console_term_input): ... this, and ...
41139 (grub_console_term_output): ... this. Update all users.
41140 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41141 (grub_ofconsole_init): Split into ...
41142 (grub_ofconsole_init_input): ... this, and ...
41143 (grub_ofconsole_init_output): ... this.
41144 (grub_ofconsole_term): Split into ...
41145 (grub_ofconsole_term_input): ... this, and ...
41146 (grub_ofconsole_term_output): ... this. Update all users.
41147 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41148 (grub_serial_term_input): ... this, and ...
41149 (grub_serial_term_output): ... this. Update all users.
41150 * term/i386/pc/console.c (grub_console_term): Split into ...
41151 (grub_console_term_input): ... this, and ...
41152 (grub_console_term_output): ... this. Update all users.
41153 (grub_console_term_input): Only enable it on PC/BIOS platform.
41154 (grub_console_init): Remove grub_keyboard_controller_init() call.
41155
41156 Migrate input terminals to new API:
41157
41158 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41159 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41160 i386-specific anyway).
41161 (grub_console_checkkey): Rename to ...
41162 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41163 users.
41164 (grub_keyboard_controller_orig): New variable.
41165 (grub_console_getkey): Rename to ...
41166 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41167 users.
41168 (grub_keyboard_controller_init): Static-ize. Save original
41169 controller value so that it can be restored ...
41170 (grub_keyboard_controller_fini): ... here (new function).
41171 (grub_at_keyboard_term): New structure.
41172 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41173 functions.
41174
41175 Migrate output terminals to new API:
41176
41177 * term/i386/pc/vga.c (grub_vga_term): Change type to
41178 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41179 members. Update all users.
41180 * term/gfxterm.c (grub_video_term): Change type to
41181 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41182 members. Update all users.
41183 * include/grub/i386/pc/console.h (grub_console_checkkey)
41184 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41185 etc).
41186
41187 Migrate `terminal' command and userland tools to new API:
41188
41189 * commands/terminal.c (grub_cmd_terminal): Split into ...
41190 (grub_cmd_terminal_input): ... this, and ...
41191 (grub_cmd_terminal_output): ... this.
41192 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41193 `terminal_input' and `terminal_output'.
41194 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41195 `terminal_input' / `terminal_output' API.
41196 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41197 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41198 provided ${GRUB_TERMINAL}, convert it).
41199
96e5d876 412002008-11-04 Robert Millan <rmh@aybabtu.com>
41201
41202 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41203 for FreeBSD.
41204 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41205
556f3775 412062008-11-03 Bean <bean123ch@gmail.com>
41207
41208 * kern/elf.c (grub_elf32_load): Revert to previous code.
41209 (grub_elf64_load): Likewise.
41210
41211 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41212
926b9823 412132008-11-01 Robert Millan <rmh@aybabtu.com>
41214
41215 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41216 (TARGET_CPPFLAGS): Likewise.
41217 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41218
1432e958 412192008-11-01 Carles Pina i Estany <carles@pina.cat>
41220
41221 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41222
dba3f844 412232008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 41224
41225 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41226 addition of objects until the code is not going to be able to fail.
41227
dba3f844 412282008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 41229
41230 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41231 (add a missing NULL check, and correct them by moving the pointer
41232 operations after the actual check).
41233
7ab28c21 412342008-10-29 Robert Millan <rmh@aybabtu.com>
41235
41236 * util/i386/pc/grub-install.in: Handle empty string as output from
41237 make_system_path_relative_to_its_root().
41238
1b7748eb 412392008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41240
41241 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41242 circular metadata worst case scenario. If the metadata is circular
41243 then copy the wrap in place.
41244 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41245 project lib/format_text/layout.h
41246 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41247
c9618ab2 412482008-10-03 Felix Zielcke <fzielcke@z-51.de>
41249
7a36edca 41250 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 41251
bf981c62 412522008-10-03 Felix Zielcke <fzielcke@z-51.de>
41253
41254 * util/update-grub_lib.in: Mention filename in warning message.
41255
6d994591 412562008-09-29 Felix Zielcke <fzielcke@z-51.de>
41257
41258 * NEWS: Update for rename of update-grub to grub-mkconfig.
41259
18ade780 412602008-09-29 Felix Zielcke <fzielcke@z-51.de>
41261
41262 * util/update-grub_lib.in: Copy to ...
41263 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 41264 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 41265 * util/update-grub.in: Rename to ...
41266 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41267 option. Add `--output' option to allow users to specify the generated
41268 configuration file. Default to stdout.
41269 (update_grub_dir): Rename to ...
41270 (grub_mkconfig_dir): ... this.
41271 (grub_cfg): Default to an empty string.
41272 * conf/common.rmk (update-grub): Rename to ...
41273 (grub-mkconfig): ... this.
41274 (update-grub_lib): Copy to ...
41275 (grub-mkconfig_lib): ... this.
41276 (update-grub_SCRIPTS): Copy to ...
41277 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41278 (update-grub_DATA): Rename to ...
41279 (grub-mkconfig_DATA): ... this.
41280
556ce6ac 412812008-09-28 Robert Millan <rmh@aybabtu.com>
41282
41283 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41284 to `modified'. Add the real `created' field.
41285 (grub_iso9660_uuid): Use `modified' rather than `created' for
41286 constructing the UUID.
41287
412882008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 41289
41290 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41291 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41292
92274e85 412932008-09-28 Bean <bean123ch@gmail.com>
41294
41295 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41296 Thanks to Christian Franke for finding this bug.
41297
add6f17a 412982008-09-25 Robert Millan <rmh@aybabtu.com>
41299
41300 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41301 instances of grub_util_get_disk_name() (see previous commit).
41302
d2a367b8 413032008-09-25 Robert Millan <rmh@aybabtu.com>
41304
41305 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41306 `util/i386/get_disk_name.c'.
41307 * conf/i386-efi.rmk: Likewise.
41308 * conf/x86_64-efi.rmk: Likewise.
41309 * conf/i386-coreboot.rmk: Likewise.
41310 * conf/i386-ieee1275.rmk: Likewise.
41311 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41312 `util/ieee1275/get_disk_name.c'.
41313 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41314 * util/ieee1275/get_disk_name.c: Remove file.
41315 * util/i386/get_disk_name.c: Remove file.
41316 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41317 "hd%d" for device.map entries, rather than using
41318 grub_util_get_disk_name().
41319
81a06771 413202008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 41321
41322 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41323 warning.
41324 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
41325
5a004279 413262008-09-24 Carles Pina i Estany <carles@pina.cat>
41327
41328 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
41329 Changed to 0x5100.
41330 (GRUB_TERM_PPAGE): Changed to 0x4900.
41331
397093d3 413322008-09-24 Robert Millan <rmh@aybabtu.com>
41333
41334 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
41335 macros (they were i386-pc specific).
41336 * include/grub/sparc64/ieee1275/console.h: Likewise.
41337 * include/grub/efi/console.h: Likewise.
41338
a91b6c7c 413392008-09-22 Bean <bean123ch@gmail.com>
41340
41341 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41342 resident and in attribute list.
41343
41344 * include/grub/ntfs.h (BMP_LEN): Removed.
41345
c40fd116 413462008-09-22 Bean <bean123ch@gmail.com>
41347
81a06771 41348 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 41349 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41350
41351 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41352 error occurs, as grub_disk_open will call grub_disk_close, which will
41353 call p->close (scsi).
41354
81a06771 413552008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 41356
41357 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41358 (AC_PREREQ): Bumped to 2.59.
41359 (AC_TRY_COMPILE): Replace obsolete macro with ...
41360 (AC_COMPILE_IFELSE): ... this.
41361 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
41362 (AC_LINK_IFELSE): ... this.
41363
5dc43410 413642008-09-21 Felix Zielcke <fzielcke@z-51.de>
41365
41366 * autogen.sh: Add a call to `gendistlist.sh'.
41367
9035dce4 413682008-09-19 Christian Franke <franke@computer.org>
41369
41370 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
41371 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
41372 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
41373 Export __enable_execute_stack() to modules.
41374 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
41375 New function.
41376
7fd75377 413772008-09-09 Felix Zielcke <fzielcke@z-51.de>
41378
040030b3 41379 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
41380 Sort the list.
41381
413822008-09-09 Felix Zielcke <fzielcke@z-51.de>
41383
41384 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 41385 #include <grub/util/hostdisk.h>.
41386
89d5ffcf 413872008-09-08 Robert Millan <rmh@aybabtu.com>
41388
41389 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
41390 segments when their filesz is zero (grub_file_read() interprets
81a06771 41391 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 41392 Use `lowest_segment' rather than 0 for calculating the current
41393 segment load address.
41394
40da438f 413952008-09-08 Robert Millan <rmh@aybabtu.com>
41396
41397 * util/hostdisk.c (open_device): Replace a grub_util_info() call
41398 with grub_dprintf("hostdisk", ...), as it was so verbose that it
41399 clobbered useful information.
41400
ddbf5556 414012008-09-08 Robert Millan <rmh@aybabtu.com>
41402
41403 * include/grub/util/biosdisk.h: Move to ...
41404 * include/grub/util/hostdisk.h: ... here. Update all users.
41405 * util/biosdisk.c: Move to ...
41406 * util/hostdisk.c: ... here. Update all users.
41407
783d0f48 414082008-09-07 Robert Millan <rmh@aybabtu.com>
41409
41410 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
41411 variables.
41412 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
41413 and length can be stored directly in the `mbi->mmap_addr' and
41414 `mbi->mmap_length' struct fields.
41415
548e2ea5 414162008-09-07 Robert Millan <rmh@aybabtu.com>
41417
41418 * conf/i386.rmk: New file. Provides declaration for building
41419 `cpuid.mod'.
41420 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
41421 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
41422 variables.
41423 Include `conf/i386.mk'.
41424 * conf/i386-efi.rmk: Likewise.
41425 * conf/x86_64-efi.rmk: Likewise.
41426 * conf/i386-coreboot.rmk: Likewise.
41427 * conf/i386-ieee1275.rmk: Likewise.
41428
0ea85a37 414292008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
41430
41431 Based on patch created by Colin D Bennett <colin@gibibit.com>.
41432 Adds optimization support for BGR based modes.
41433
41434 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
41435 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41436 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41437 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41438 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41439 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41440 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41441 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41442 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41443 (grub_video_i386_vbeblit_index_index): Likewise.
41444 (grub_video_i386_vbeblit_replace_directN): Added.
41445 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41446 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41447 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41448 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41449 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41450 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 41451 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 41452 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41453 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41454 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41455 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41456 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41457 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41458
41459 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41460 (grub_video_i386_vbefill_R8G8B8): Likewise.
41461 (grub_video_i386_vbefill_index): Likewise.
41462 (grub_video_i386_vbefill_direct32): Added.
41463 (grub_video_i386_vbefill_direct24): Likewise.
41464 (grub_video_i386_vbefill_direct16): Likewise.
41465 (grub_video_i386_vbefill_direct8): Likewise.
41466
81a06771 41467 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 41468 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41469 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41470 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41471 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41472 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 41473
0ea85a37 41474 * video/video.c (grub_video_get_blit_format): Updated to use new
41475 blit formats. Added handling for 16 bit color modes.
81a06771 41476
41477 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 41478 fillers.
41479 (common_blitter): Updated to use new blitters.
41480
41481 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41482 Removed.
41483 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41484 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41485 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41486 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41487 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41488 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41489 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41490 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41491 (grub_video_i386_vbeblit_index_index): Likewise.
41492 (grub_video_i386_vbeblit_replace_directN): Added.
41493 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41494 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41495 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41496 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41497 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41498 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41499 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41500 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41501 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41502 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41503 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41504 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41505 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 41506
0ea85a37 41507 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41508 (grub_video_i386_vbefill_R8G8B8): Likewise.
41509 (grub_video_i386_vbefill_index): Likewise.
41510 (grub_video_i386_vbefill_direct32): Added.
41511 (grub_video_i386_vbefill_direct24): Likewise.
41512 (grub_video_i386_vbefill_direct16): Likewise.
41513 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 41514
0ea85a37 41515 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41516 types.
81a06771 41517
0ea85a37 41518 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41519 types.
81a06771 41520
0ea85a37 41521 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41522 blitter types.
81a06771 41523
0ea85a37 41524 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41525 types.
41526
e8a83df6 415272008-09-06 Felix Zielcke <fzielcke@z-51.de>
41528
41529 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41530 RAID level 1.
41531
6bcd8ee5 415322008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41533
6bcd8ee5 41534 * fs/iso9660.c (grub_iso9660_date): New structure.
41535 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41536 (grub_iso9660_uuid): New function.
c375ae58 41537
59261157 415382008-09-05 Bean <bean123ch@gmail.com>
41539
41540 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41541
41542 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41543 insensitive bit for names in Win32 and Win32 & DOS namespace.
41544
41545 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41546
41547 * include/grub/types.h (LONG_MAX): Likewise.
41548
58b6645a 415492008-09-04 Felix Zielcke <fzielcke@z-51.de>
41550
4ee55921 41551 * util/getroot.c: Include <config.h>.
41552 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41553 add support for /dev/md/N devices and handle LVM double dash escaping.
41554
415552008-09-04 Felix Zielcke <fzielcke@z-51.de>
41556
41557 * config.guess: Update to latest version from config git.
41558 * config.sub: Likewise.
58b6645a 41559
9124f65d 415602008-09-03 Robert Millan <rmh@aybabtu.com>
41561
41562 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41563 `disk->total_sectors'.
41564
81a06771 415652008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41566
41567 * include/grub/normal.h: Fixed incorrect comment for
41568 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41569
81a06771 415702008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41571
41572 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41573 values with defines.
41574
41575 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41576 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41577 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41578 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41579 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41580 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41581 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41582 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41583 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41584 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41585 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41586 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41587 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41588 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41589 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41590 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41591 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41592 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41593 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41594
93d5cbf8 415952008-08-31 Robert Millan <rmh@aybabtu.com>
41596
41597 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41598 declaration.
41599 (grub_multiboot): Fix a few warnings.
41600
21751d50 416012008-08-31 Robert Millan <rmh@aybabtu.com>
41602
41603 * loader/i386/pc/multiboot.c: Update comment not to say that
41604 boot_device support is unimplemented.
41605
e27a75c5 416062008-08-31 Robert Millan <rmh@aybabtu.com>
41607
41608 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41609 or memory map support are unimplemented.
41610
81a06771 416112008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41612
41613 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41614
81a06771 416152008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41616
41617 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41618 total video memory in 'vbeinfo' output; show color format details for
41619 each video mode.
41620
7c5d8d95 416212008-08-30 Pavel Roskin <proski@gnu.org>
41622
41623 * util/genmoddep.c: Remove for real this time.
41624 * DISTLIST: Remove util/genmoddep.c.
41625
4cebd25a 416262008-08-30 Robert Millan <rmh@aybabtu.com>
41627
41628 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41629 as required by Multiboot spec (it was already 4-byte aligned, but
41630 only by chance).
41631
b497a269 416322008-08-29 Pavel Roskin <proski@gnu.org>
41633
e3925185 41634 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41635 * kern/powerpc/ieee1275/startup.S: ... this.
41636 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41637 * DISTLIST: Likewise.
41638
b497a269 41639 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41640 grub/cpu/kernel.h. Add start label for consistency with other
41641 platforms. Add grub_prefix immediately after start. Add jump
41642 to the code after grub_prefix.
41643 * include/grub/powerpc/kernel.h: Provide valid values for
41644 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41645
6e5a42fe 416462008-08-29 Bean <bean123ch@gmail.com>
41647
41648 * configure.ac: Change host_os to cygwin for mingw.
41649 (asprintf): New check for function.
41650
41651 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41652 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41653
41654 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41655 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41656 sync, sleep and grub_util_get_disk_size for mingw.
41657
41658 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41659 to get size in mingw.
41660 (open_device): Use flag O_BINARY if it's defined.
41661 (find_root_device): Add dummy code for mingw.
41662
41663 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41664 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41665 (get_scsi_disk_name): Return 0 for mingw.
41666
41667 * util/hostfs.c: #include <grub/util/misc.h>.
41668 (grub_hostfs_open): Use "rb" flag to open file, use
41669 grub_util_get_disk_size to get disk size for mingw.
41670
41671 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41672 (asprintf): New function if HAVE_ASPRINTF is not set.
41673 (sync): New function for mingw.
41674 (sleep): Likewise.
41675 (grub_util_get_disk_size): Likewise.
41676
ab3f2673 416772008-08-28 Pavel Roskin <proski@gnu.org>
41678
41679 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41680 kern/time.c.
41681
1c282483 416822008-08-28 Robert Millan <rmh@aybabtu.com>
41683
41684 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41685
678e849c 416862008-08-28 Robert Millan <rmh@aybabtu.com>
41687
41688 Change find_grub_drive() syntax so it doesn't prevent it from
41689 detecting NULL names as errors.
41690
41691 * util/biosdisk.c (find_grub_drive): Move free slot search code
41692 from here ...
41693 (find_free_slot): ... to here.
41694 (read_device_map): Use find_free_slot() to search for free slots.
41695
965c75ca 416962008-08-27 Marco Gerards <marco@gnu.org>
41697
41698 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41699 (scsi_mod_SOURCES): New variable.
41700 (scsi_mod_CFLAGS): Likewise
41701 (scsi_mod_LDFLAGS): Likewise.
41702
41703 * disk/scsi.c: New file.
41704
41705 * include/grub/scsi.h: Likewise.
41706
41707 * include/grub/scsicmd.h: Likewise.
41708
41709 * disk/ata.c: Include <grub/scsi.h>.
41710 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41711 instead.
41712 (grub_ata_iterate): Skip ATAPI devices.
41713 (grub_ata_open): Only handle ATAPI devices.
41714 (struct grub_atapi_read): Removed.
41715 (grub_atapi_readsector): Likewise.
41716 (grub_ata_read): No longer handle ATAPI devices.
41717 (grub_ata_write): Likewise.
41718 (grub_atapi_iterate): New function.
41719 (grub_atapi_read): Likewise.
41720 (grub_atapi_write): Likewise.
41721 (grub_atapi_open): Likewise.
41722 (grub_atapi_close): Likewise.
41723 (grub_atapi_dev): New variable.
41724 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41725 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41726
41727 * include/grub/disk.h (enum grub_disk_dev_id): Add
41728 `GRUB_DISK_DEVICE_SCSI_ID'.
41729
c07ae501 417302008-08-26 Robert Millan <rmh@aybabtu.com>
41731
41732 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41733 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41734 descriptive.
41735
5ed20adc 417362008-08-23 Bean <bean123ch@gmail.com>
41737
41738 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41739 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41740 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41741 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41742 dm_nv.mod.
41743 (raid5rec_mod_SOURCES): New macro.
41744 (raid5rec_mod_CFLAGS): Likewise.
41745 (raid5rec_mod_LDFLAGS): Likewise.
41746 (raid6rec_mod_SOURCES): Likewise.
41747 (raid6rec_mod_CFLAGS): Likewise.
41748 (raid6rec_mod_LDFLAGS): Likewise.
41749 (mdraid_mod_SOURCES): Likewise.
41750 (mdraid_mod_CFLAGS): Likewise.
41751 (mdraid_mod_LDFLAGS): Likewise.
41752 (dm_nv_mod_SOURCES): Likewise.
41753 (dm_nv_mod_CFLAGS): Likewise.
41754 (dm_nv_mod_LDFLAGS): Likewise.
41755
41756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41757 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41758 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41759
41760 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41761 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41762
41763 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41764
41765 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41766
41767 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41768
41769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41770
41771 * disk/raid5_recover.c: New file.
41772
41773 * disk/raid6_recover.c: Likewise.
41774
41775 * disk/mdraid_linux.c: Likewise.
41776
41777 * disk/dmraid_nvidia.c: Likewise.
41778
41779 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41780 ULONG_MAX.
41781
41782 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41783 calculate the size of raid device.
41784 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41785 different layout of raid5.
41786 (grub_raid_scan_device): Remove code specific to mdraid.
41787 (grub_raid_list): New variable.
41788 (free_array): New function.
41789 (grub_raid_register): Likewise.
41790 (grub_raid_unregister): Likewise.
41791 (grub_raid_rescan): Likewise.
41792 (GRUB_MOD_INIT): Don't iterate device here.
41793 (GRUB_MOD_FINI): Use free_array to release resource.
41794
41795 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41796 (grub_raid5_recover_func_t): New function variable type.
41797 (grub_raid6_recover_func_t): Likewise.
41798 (grub_raid5_recover_func): New variable.
41799 (grub_raid6_recover_func): Likewise.
41800 (grub_raid_register): New function.
41801 (grub_raid_unregister): Likewise.
41802 (grub_raid_rescan): Likewise.
41803 (grub_raid_block_xor): Likewise.
41804
41805 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41806 (CMD_CRC): New macro.
41807 (part): Removed.
41808 (read_file): Handle device as well as file.
41809 (cmd_crc): New function.
41810 (fstest): Handle multiple disks.
41811 (options): Remove part, raw and long, add root and diskcount.
41812 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41813 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41814 add handling for the new options, support multiple disks.
41815
41816 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41817
29c18915 418182008-08-23 Bean <bean123ch@gmail.com>
41819
41820 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41821
41822 * genfslist.sh: Ignore kernel.mod.
41823
41824 * genpartmaplist.sh: Likewise.
41825
8415f261 418262008-08-23 Robert Millan <rmh@aybabtu.com>
41827
41828 * util/getroot.c (find_root_device): Skip anything that starts with
41829 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41830
d5a7dc5b 418312008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41832
d5a7dc5b 41833 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41834 * util/grub.d/00_header.in: Allow the administrator to change default
41835 gfxmode via ${GRUB_GFXMODE}.
41836
380cfbb4 418372008-08-21 Felix Zielcke <fzielcke@z-51.de>
41838
41839 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41840
c9baafe7 418412008-08-21 Robert Millan <rmh@aybabtu.com>
41842
41843 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41844 loader.
41845 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41846 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41847
e290bef2 418482008-08-20 Carles Pina i Estany <carles@pina.cat>
41849
41850 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41851 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41852
f9dbfc96 418532008-08-19 Robert Millan <rmh@aybabtu.com>
41854
41855 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41856 (struct grub_virtual_screen): Remove `cursor_color'.
41857 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41858 initialization.
41859 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41860
dd6bd6ab 418612008-08-18 Robert Millan <rmh@aybabtu.com>
41862
41863 Unify (identical) linux_normal.c files.
41864 * loader/i386/efi/linux_normal.c: Move from here ...
41865 * loader/linux_normal.c: ... to here. Update all users.
41866 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41867 * loader/i386/ieee1275/linux_normal.c: Likewise.
41868
7f42f83e 418692008-08-18 Robert Millan <rmh@aybabtu.com>
41870
41871 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41872 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41873 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41874 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41875 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41876 New macros.
41877 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41878 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41879 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41880 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41881 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41882 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41883 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41884 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41885 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41886 portably using grub_getxy().
41887 Replace `-EFI' with `-bzImage' in boot message.
41888
38487ddb 418892008-08-17 Robert Millan <rmh@aybabtu.com>
41890
41891 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41892
deceb3ec 418932008-08-17 Robert Millan <rmh@aybabtu.com>
41894
41895 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41896
41897 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41898 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41899 (grub_machine_mmap_iterate): New function declaration.
41900 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41901 structure.
41902 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41903 macros.
41904
41905 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41906 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41907 Move e820 parsing from here ...
41908 * kern/i386/pc/mmap.c: New file.
41909 (grub_machine_mmap_iterate): ... to here.
41910
41911 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41912 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41913 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41914 (grub_available_iterate): Redeclare to return `void', and redeclare
41915 its hook to use grub_uint64_t as addr and size parameters, and rename
41916 to ...
41917 (grub_machine_mmap_iterate): ... this. Update all users.
41918
41919 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41920 to make it more readable. Rename to ...
41921 (grub_machine_mmap_iterate): ... this.
41922
41923 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41924 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41925 (grub_multiboot): Allocate an extra region after the payload, and fill
41926 it with a Multiboot memory map. Adjust a.out loader to calculate size
41927 with the extra space.
41928 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41929 with the extra space.
41930
f8aa0f43 419312008-08-17 Carles Pina i Estany <carles@pina.cat>
41932
9807deb9 41933 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41934
605f5bb6 419352008-08-17 Felix Zielcke <fzielcke@z-51.de>
41936
41937 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41938 mdate-sh to the list `find' searches for.
41939 * DISTLIST: Regenerated.
41940
210db6c6 419412008-08-16 Felix Zielcke <fzielcke@z-51.de>
41942
41943 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41944 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41945 genmoddep.awk, gensymlist.sh.in.
41946 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41947 * DISTLIST: Regenerated.
48cdbfd4 41948 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41949
1082b929 419502008-08-16 Robert Millan <rmh@aybabtu.com>
41951
41952 * disk/raid.c (grub_raid_init): Handle/report errors set by
41953 grub_device_iterate().
41954 * disk/lvm.c (grub_lvm_init): Likewise.
41955
42ce5170 419562008-08-15 Bean <bean123ch@gmail.com>
41957
41958 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41959 and datehook.mod.
41960 (datetime_mod_SOURCES): New macro.
41961 (datetime_mod_CFLAGS): Likewise.
41962 (datetime_mod_LDFLAGS): Likewise.
41963 (date_mod_SOURCES): Likewise.
41964 (date_mod_CFLAGS): Likewise.
41965 (date_mod_LDFLAGS): Likewise.
41966 (datehook_mod_SOURCES): Likewise.
41967 (datehook_mod_CFLAGS): Likewise.
41968 (datehook_mod_LDFLAGS): Likewise.
41969
41970 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41971 and datehook.mod.
41972 (datetime_mod_SOURCES): New macro.
41973 (datetime_mod_CFLAGS): Likewise.
41974 (datetime_mod_LDFLAGS): Likewise.
41975 (date_mod_SOURCES): Likewise.
41976 (date_mod_CFLAGS): Likewise.
41977 (date_mod_LDFLAGS): Likewise.
41978 (datehook_mod_SOURCES): Likewise.
41979 (datehook_mod_CFLAGS): Likewise.
41980 (datehook_mod_LDFLAGS): Likewise.
41981
41982 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41983 and datehook.mod.
41984 (datetime_mod_SOURCES): New macro.
41985 (datetime_mod_CFLAGS): Likewise.
41986 (datetime_mod_LDFLAGS): Likewise.
41987 (date_mod_SOURCES): Likewise.
41988 (date_mod_CFLAGS): Likewise.
41989 (date_mod_LDFLAGS): Likewise.
41990 (datehook_mod_SOURCES): Likewise.
41991 (datehook_mod_CFLAGS): Likewise.
41992 (datehook_mod_LDFLAGS): Likewise.
41993
41994 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41995 and datehook.mod.
41996 (datetime_mod_SOURCES): New macro.
41997 (datetime_mod_CFLAGS): Likewise.
41998 (datetime_mod_LDFLAGS): Likewise.
41999 (date_mod_SOURCES): Likewise.
42000 (date_mod_CFLAGS): Likewise.
42001 (date_mod_LDFLAGS): Likewise.
42002 (datehook_mod_SOURCES): Likewise.
42003 (datehook_mod_CFLAGS): Likewise.
42004 (datehook_mod_LDFLAGS): Likewise.
42005
42006 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42007 and datehook.mod.
42008 (datetime_mod_SOURCES): New macro.
42009 (datetime_mod_CFLAGS): Likewise.
42010 (datetime_mod_LDFLAGS): Likewise.
42011 (date_mod_SOURCES): Likewise.
42012 (date_mod_CFLAGS): Likewise.
42013 (date_mod_LDFLAGS): Likewise.
42014 (datehook_mod_SOURCES): Likewise.
42015 (datehook_mod_CFLAGS): Likewise.
42016 (datehook_mod_LDFLAGS): Likewise.
42017
42018 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42019
42020 * commands/date.c: New file.
42021
42022 * hook/datehook.c: Likewise.
42023
42024 * include/grub/lib/datetime.h: Likewise.
42025
42026 * include/grub/i386/cmos.h: Likewise.
42027
42028 * lib/datetime.c: Likewise.
42029
42030 * lib/i386/datetime.c: Likewise.
42031
42032 * lib/efi/datetime.c: Likewise.
42033
0e9242da 420342008-08-14 Robert Millan <rmh@aybabtu.com>
42035
42036 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42037 (grub_mkelfimage_SOURCES): New variable.
42038 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42039
42040 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42041 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42042 * conf/powerpc-ieee1275.rmk: Likewise.
42043 * conf/i386-ieee1275.rmk: Likewise.
42044
42045 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42046 * kern/i386/coreboot/init.c: Likewise.
42047
42048 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42049 with `<grub/cpu/kernel.h>'.
42050 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42051 to ...
42052 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42053 * kern/i386/coreboot/startup.S: Likewise.
42054
42055 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42056 (GRUB_MOD_GAP): Remove.
42057 * include/grub/powerpc/kernel.h: New file.
42058 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42059 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42060 * include/grub/i386/kernel.h: New file.
42061 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42062 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42063 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42064
42065 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42066 `grub-mkelfimage'.
42067 Use --directory when invoking grub_mkimage.
42068
42069 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42070 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42071 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42072 and GRUB_KERNEL_CPU_PREFIX.
42073
b86408f8 420742008-08-14 Felix Zielcke <fzielcke@z-51.de>
42075
d5e619ca 42076 * include/grub/err.h (grub_err_printf): New function prototype.
42077 * util/misc.c (grub_err_printf): New function.
42078 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42079 grub_printf.
42080 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 42081
7161f0e0 420822008-08-13 Robert Millan <rmh@aybabtu.com>
42083
42084 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42085
a1967522 420862008-08-13 Robert Millan <rmh@aybabtu.com>
42087
42088 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42089 boot entry.
42090
371458b5 420912008-08-12 Robert Millan <rmh@aybabtu.com>
42092
42093 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42094 of the relocation code from here ...
42095 (grub_multiboot): ... to here.
42096 (forward_relocator, backward_relocator): Move from here ...
42097 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42098 (grub_multiboot_backward_relocator): ... to here.
42099 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42100 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42101 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42102 (grub_multiboot_forward_relocator_end)
42103 (grub_multiboot_backward_relocator)
42104 (grub_multiboot_backward_relocator_end): New variables.
42105
05f9452b 421062008-08-12 Bean <bean123ch@gmail.com>
42107
42108 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42109
20024ab0 421102008-08-11 Robert Millan <rmh@aybabtu.com>
42111
42112 * kern/i386/linuxbios/startup.S: Move from here ...
42113 * kern/i386/coreboot/startup.S: ... to here.
42114
42115 * kern/i386/linuxbios/init.c: Move from here ...
42116 * kern/i386/coreboot/init.c: ... to here.
42117
42118 * kern/i386/linuxbios/table.c: Move from here ...
42119 * kern/i386/coreboot/mmap.c: ... to here.
42120
42121 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42122
e352e9cd 421232008-08-11 Robert Millan <rmh@aybabtu.com>
42124
42125 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42126 errors. Leave it to the upper layer to handle them.
42127
2d05bc6a 421282008-08-09 Christian Franke <franke@computer.org>
42129
42130 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42131 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42132 Install `grub.d/10_windows' only on Cygwin.
42133 * configure.ac: Add subst of `target_os'.
42134 Check `target_os' also before setting TARGET_OBJ2ELF.
42135 Add `--enable-grub-pe2elf'.
42136
042bd419 421372008-08-08 Robert Millan <rmh@aybabtu.com>
42138
42139 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42140 (grub_last_time): Change type to grub_uint64_t.
42141 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42142 (grub_disk_close): Likewise.
42143
42144 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42145 (run_menu): Migrate code from to using grub_get_time_ms().
42146
42147 * util/misc.c (grub_get_time_ms): New function.
42148
7f280db5 421492008-08-08 Marco Gerards <marco@gnu.org>
42150
42151 * disk/ata.c (grub_ata_regget): Change return type to
42152 `grub_uint8_t'.
42153 (grub_ata_regget2): Likewise.
42154 (grub_ata_wait_status): New function.
42155 (grub_ata_wait_busy): Removed function, updated all users to use
42156 `grub_ata_wait_status'.
42157 (grub_ata_wait_drq): Likewise.
42158 (grub_ata_cmd): New function.
42159 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42160 error handling.
42161 (grub_ata_pio_write): Add error handling.
42162 (grub_atapi_identify): Likewise.
42163 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42164 handling.
42165 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42166 handling. Actually use the detected registers. Reorder the
42167 detection logic such that it is easier to read.
42168 (grub_ata_pciinit): Do not assign the same ID to each controller.
42169 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42170 handling.
42171 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42172
42173 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42174
1fbc5e66 421752008-08-08 Marco Gerards <marco@gnu.org>
42176
42177 * NEWS: Update.
42178
819ce6c0 421792008-08-07 Bean <bean123ch@gmail.com>
42180
42181 * include/grub/x86_64/pci.h: New file.
42182
5c41d44d 421832008-08-07 Christian Franke <franke@computer.org>
42184
42185 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42186 (TIMER2_GATE): Likewise.
42187 (grub_pit_wait): Add enable/disable of the timer2 gate
42188 bit of port 0x61. This fixes a possible infinite loop.
42189
5ebc275d 421902008-08-07 Bean <bean123ch@gmail.com>
42191
42192 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42193 kern/i386/tsc.c and kern/i386/pit.c.
42194
42195 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42196 x86_64 platform.
42197
42198 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42199 <grub/i386/tsc.h>.
42200
42201 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42202
e383b3d0 422032008-08-07 Bean <bean123ch@gmail.com>
42204
42205 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42206
42207 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42208
42209 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42210 multiple inclusion. Add #include <grub/types.h>.
42211
1cbb58ac 422122008-08-06 Christian Franke <franke@computer.org>
42213
42214 * conf/common.rmk: Build and install `10_windows'.
42215 * util/grub.d/10_windows.in: New script.
42216
337f5a1e 422172008-08-06 Pavel Roskin <proski@gnu.org>
42218
42219 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42220
057bc4ac 422212008-08-06 Robert Millan <rmh@aybabtu.com>
42222
42223 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42224 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42225
2b99f123 422262008-08-06 Bean <bean123ch@gmail.com>
42227
42228 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42229 (grub_pxefs_fs_int): Remove dummy definition.
42230 (grub_pxefs_open): Use data->block_size to store the current block
42231 size setting.
42232 (grub_pxefs_read): Use block size stored in data->block_size. As the
42233 value of grub_pxe_blksize can be changed after the file is opened.
42234
9f0234cb 422352008-08-06 Bean <bean123ch@gmail.com>
42236
42237 * fs/i386/pc/pxe.c (curr_file): new variable.
42238 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42239 require the dummy internal file system anymore.
42240 (grub_pxefs_read): Removed.
42241 (grub_pxefs_close): Likewise.
42242 (grub_pxefs_fs_int): Likewise.
42243 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42244 connection when we switch file.
42245 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42246
a55d42e0 422472008-08-06 Robert Millan <rmh@aybabtu.com>
42248
42249 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42250 `halt.mod'.
42251 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42252 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42253
42254 * kern/i386/halt.c: New file.
42255 * kern/i386/reboot.c: Likewise.
42256 * include/grub/i386/reboot.h: Likewise.
42257 * include/grub/i386/halt.h: Likewise.
42258
42259 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42260 Include `<grub/cpu/halt.h>'.
42261 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42262 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42263
42264 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42265 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42266 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42267 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42268 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42269 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42270 from here ...
42271 * include/grub/i386/at_keyboard.h: ... to here.
42272
24371d26 422732008-08-05 Robert Millan <rmh@aybabtu.com>
42274
42275 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42276 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42277 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42278 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42279 `kern/generic/millisleep.c'.
42280
42281 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42282 instead of grub_get_rtc().
42283 (grub_tsc_init): Initialize `tsc_boot_time'.
42284
42285 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42286 (grub_machine_init): Use grub_tsc_init() rather than
42287 installing an RTC-based handler via grub_install_get_time_ms().
42288
42289 * kern/i386/pit.c: New file.
42290 * include/grub/i386/pit.h: Likewise.
42291
9e7007b3 422922008-08-05 Bean <bean123ch@gmail.com>
42293
42294 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42295
42296 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42297 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42298 (pxe_mod_SOURCES): New macro.
42299 (pxe_mod_CFLAGS): Likewise.
42300 (pxe_mod_LDFLAGS): Likewise.
42301 (pxecmd_mod_SOURCES): Likewise.
42302 (pxecmd_mod_CFLAGS): Likewise.
42303 (pxecmd_mod_LDFLAGS): Likewise.
42304
42305 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42306 (grub_pxe_call): Likewise.
42307
42308 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42309
42310 * commands/i386/pc/pxecmd.c: New file.
42311
9f0234cb 42312 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 42313
42314 * include/grub/i386/pc/pxe.h: Likewise.
42315
6977d49f 423162008-08-05 Bean <bean123ch@gmail.com>
42317
42318 * util/console.c (grub_console_cur_color): New variable.
42319 (grub_console_standard_color): Likewise.
42320 (grub_console_normal_color): Likewise.
42321 (grub_console_highlight_color): Likewise.
42322 (color_map): Likewise.
42323 (use_color): Likewise.
42324 (NUM_COLORS): New macro.
42325 (grub_ncurses_setcolorstate): Handle color properly.
42326 (grub_ncurses_setcolor): Don't change color here, just remember the
42327 settings, color will be set in grub_ncurses_setcolorstate.
42328 (grub_ncurses_getcolor): New function.
42329 (grub_ncurses_init): Initialize color pairs.
42330 (grub_ncurses_term): New member grub_ncurses_getcolor.
42331
9c2ff3ee 423322008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 42333
9c2ff3ee 42334 High resolution timer support. Implemented for x86 CPUs using TSC.
42335 Extracted generic grub_millisleep() so it's linked in only as needed.
42336 This requires a Pentium compatible CPU; if the RDTSC instruction is
42337 not supported, then it falls back on the generic grub_get_time_ms()
42338 implementation that uses the machine's RTC.
42339
42340 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42341 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42342 `kern/generic/millisleep.c'.
42343
42344 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42345 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42346
42347 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42348 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42349
42350 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42351
42352 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42353 `kern/generic/millisleep.c'.
42354
42355 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42356
42357 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42358
42359 * kern/generic/rtc_get_time_ms.c: New file.
42360
42361 * kern/generic/millisleep.c: New file.
337f5a1e 42362
9c2ff3ee 42363 * kern/misc.c: Don't include
42364 <kern/time.h> anymore.
42365 (grub_millisleep_generic): Removed.
42366
42367 * commands/sleep.c (grub_interruptible_millisleep): Uses
42368 grub_get_time_ms() instead of grub_get_rtc().
42369
42370 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
42371 function.
42372 (grub_cpu_is_cpuid_supported): New inline function.
42373 (grub_cpu_is_tsc_supported): New inline function.
42374 (grub_tsc_init): New function prototype.
42375 (grub_tsc_get_time_ms): New function prototype.
42376
42377 * kern/i386/tsc.c (grub_get_time_ms): New file.
42378
42379 * include/grub/time.h: Include <grub/types.h.
42380 (grub_millisleep_generic): Removed.
42381 (grub_get_time_ms): New prototype.
42382 (grub_install_get_time_ms): New prototype.
42383 (grub_rtc_get_time_ms): New prototype.
42384
42385 * kern/time.c (grub_get_time_ms): New function.
42386 (grub_install_get_time_ms): New function.
42387
42388 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
42389 <grub/time.h> anymore.
42390 (grub_millisleep): Removed.
42391 (grub_machine_init): Call grub_tsc_init.
42392
42393 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
42394 get_time_ms() implementation.
42395
42396 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
42397 (ieee1275_get_time_ms): New function.
42398 (grub_machine_init): Install get_time_ms() implementation.
42399
42400 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
42401 (grub_machine_init): Call grub_tsc_init().
42402 (grub_millisleep): Removed.
bf06a93f 42403
9c2ff3ee 42404 * kern/ieee1275/init.c (grub_millisleep): Removed.
42405 (grub_machine_init): Install ieee1275_get_time_ms()
42406 implementation.
42407 (ieee1275_get_time_ms): New function.
42408 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
42409 real work.
42410
9ec92aaf 424112008-08-05 Marco Gerards <marco@gnu.org>
42412
42413 * disk/ata.c: Include <grub/pci.h>.
42414 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
42415 (grub_ata_initialize): Rewritten.
42416 (grub_ata_device_initialize): New function.
42417
8d23f507 424182008-08-04 Pavel Roskin <proski@gnu.org>
42419
42420 * kern/main.c: Include grub/mm.h.
42421
5e15ee3d 424222008-08-04 Robert Millan <rmh@aybabtu.com>
42423
42424 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
42425 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
42426 corruption problem).
42427
a9053f8f 424282008-08-04 Robert Millan <rmh@aybabtu.com>
42429
42430 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
42431 warnings introduced in my last commit.
42432
dd19c7d7 424332008-08-03 Robert Millan <rmh@aybabtu.com>
42434
42435 Make PCI available on all i386 architectures.
42436
42437 * include/grub/i386/pc/pci.h: Move from here ...
42438 * include/grub/i386/pci.h: ... to here.
42439
42440 * include/grub/i386/pc/pci.h: Remove.
42441 * include/grub/i386/efi/pci.h: Remove.
42442 * include/grub/x86_64/efi/pci.h: Remove.
42443
42444 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
42445 `<grub/cpu/pci.h>'.
42446
42447 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42448 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42449 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42450
42451 * conf/i386-ieee1275.rmk: Likewise.
42452
e14a6184 424532008-08-03 Robert Millan <rmh@aybabtu.com>
42454
42455 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42456 (grub_console_setcursor): Make it possible to set cursor off.
42457
52768e37 424582008-08-03 Robert Millan <rmh@aybabtu.com>
42459
42460 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42461 of modules instead of assuming which platform provides what.
42462 * util/update-grub.in: Likewise.
42463
2d52f57f 424642008-08-03 Robert Millan <rmh@aybabtu.com>
42465
42466 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42467 instead of `grub_install_dos_part' to determine whether a drive needs
42468 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 42469 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 42470
2a5cd121 424712008-08-02 Robert Millan <rmh@aybabtu.com>
42472
42473 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42474
93808428 424752008-08-02 Robert Millan <rmh@aybabtu.com>
42476
42477 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42478 of informational grub_dprintf() calls.
42479
3bd0a12a 424802008-08-02 Robert Millan <rmh@aybabtu.com>
42481
42482 * disk/memdisk.c (memdisk_size): Don't initialize.
42483 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42484
42485 * include/grub/i386/pc/kernel.h
42486 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42487 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42488 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42489 (grub_arch_memdisk_size): Remove.
42490
42491 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42492 field (was only used to transfer a constant). Add `type' field to
42493 support multiple module types.
42494 (grub_module_iterate): New function.
42495
42496 * kern/device.c (grub_device_open): Do not hide error messages
42497 when grub_disk_open() fails. Use grub_print_error() instead.
42498
42499 * kern/i386/pc/init.c (grub_arch_modules_addr)
42500 (grub_arch_memdisk_size): Remove functions.
42501 (grub_arch_modules_addr): Return the module address in high memory
42502 (now that it isn't copied anymore).
42503
42504 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42505 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42506 decompression routine (grub_total_module_size already includes that
42507 now). Don't copy modules back to low memory.
42508
42509 * kern/main.c: Include `<grub/mm.h>'.
42510 (grub_load_modules): Split out (and use) ...
42511 (grub_module_iterate): ... this function, which iterates through
42512 module objects and runs a hook.
42513 Comment out grub_mm_init_region() call, as it would cause non-ELF
42514 modules to be overwritten.
42515
42516 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42517 the memdisk image in its own region, make it part of the module list.
42518 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42519 (main): Parse --memdisk|-m option, and pass user-provided path as
42520 parameter to generate_image().
42521 (add_segments): Pass `memdisk_path' down to load_modules().
42522 (load_modules): Embed memdisk image in module section when requested.
42523 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42524 `header.type' instead of `header.offset'.
42525
42526 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42527 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42528 (memdisk_mod_LDFLAGS): New variables.
42529 * conf/i386-coreboot.rmk: Likewise.
42530 * conf/i386-ieee1275.rmk: Likewise.
42531
a927cc73 425322008-08-02 Robert Millan <rmh@aybabtu.com>
42533
42534 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42535 (backward_relocator): New variables. Used to allocate and relocate
42536 the payload, respectively.
42537 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42538 address, install the appropriate relocator code in each bound of
a927cc73 42539 the payload, and set the entry point such that
42540 grub_multiboot_real_boot() will jump to one of them.
42541
42542 * kern/i386/loader.S (grub_multiboot_payload_size)
42543 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42544 (grub_multiboot_payload_entry_offset): New variables.
42545 (grub_multiboot_real_boot): Set cpu context to what the relocator
42546 expects, and jump to the relocator instead of the payload.
42547
42548 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42549 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42550 (grub_multiboot_payload_entry_offset): Export.
42551
b15d8a0c 425522008-08-01 Bean <bean123ch@gmail.com>
42553
42554 * normal/menu_entry.c (editor_getline): Don't return the original
42555 string as result, as it will be released by lexer once it has done
42556 using it.
42557
cdfb3d22 425582008-08-01 Robert Millan <rmh@aybabtu.com>
42559
42560 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42561 within menuentries, not before them.
42562 util/grub.d/10_hurd.in: Likewise.
42563
9175e93d 425642008-08-01 Bean <bean123ch@gmail.com>
42565
42566 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42567 (bufio_mod_SOURCES): New macro.
42568 (bufio_mod_CFLAGS): Likewise.
42569 (bufio_mod_LDFLAGS): Likewise.
42570
42571 * include/grub/bufio.h: New file.
42572
42573 * io/bufio.c: Likewise.
42574
42575 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42576 (grub_video_reader_png): Use grub_buffile_open to open file.
42577
42578 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42579 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42580
42581 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42582 (grub_video_reader_tga): Use grub_buffile_open to open file.
42583
42584 * font/manager.c: Include <grub/bufio.h>.
42585 (add_font): Use grub_buffile_open to open file.
42586
3d8383e7 425872008-07-31 Robert Millan <rmh@aybabtu.com>
42588
42589 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42590 ELF segments, use a macro for arbitrarily accessing any of them instead
42591 of preparing a pointer that allows access to one at a time.
42592 (grub_multiboot_load_elf64): Likewise.
42593
16e641b6 425942008-07-31 Bean <bean123ch@gmail.com>
42595
42596 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42597 GRUB_KERNEL_MACHINE_DATA_END.
42598
59198b72 425992008-07-30 Robert Millan <rmh@aybabtu.com>
42600
42601 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42602 Increase from 0x50 to 0x60.
42603 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42604 use UUIDs to identify the root drive for them. If that's not
42605 possible, abort.
42606 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42607 check, for cross-disk installs.
42608
ae88bca3 426092008-07-30 Robert Millan <rmh@aybabtu.com>
42610
42611 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42612 is non-empty, use it to set the `prefix' environment variable instead
42613 of the usual approach.
42614 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42615 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42616 environment variable instead of dummy make_install_device().
42617
42618 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42619 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42620 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42621
42622 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42623 New variable reference.
42624 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42625 New macro. Defines offset of `grub_prefix' within startup.S (relative
42626 to `start').
42627 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42628 section within startup.S (relative to `start').
42629 * include/grub/i386/coreboot/kernel.h: Likewise.
42630
42631 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42632 Overwrite grub_prefix with its contents, at the beginning of the
42633 first segment.
42634 (main): Understand -p|--prefix.
42635
14f41dd1 426362008-07-30 Robert Millan <rmh@aybabtu.com>
42637
42638 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42639
4ca049a3 426402008-07-30 Robert Millan <rmh@aybabtu.com>
42641
42642 * term/i386/pc/vga_text.c (grub_console_cls): Use
42643 grub_console_gotoxy() to go back to beginning of the screen.
42644 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42645
2921d337 426462008-07-29 Christian Franke <franke@computer.org>
42647
42648 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42649 Add conversion of emulated mount points on Cygwin.
42650
b609876d 426512008-07-29 Christian Franke <franke@computer.org>
42652
42653 * util/update-grub.in: Add a check for admin
42654 group on Cygwin.
42655 Remove old `grub.cfg.new' before creation.
42656 Add `-f' to `mv' to handle the different filesystem
42657 semantics of Windows.
42658
e93e4679 426592008-07-29 Bean <bean123ch@gmail.com>
42660
42661 * normal/main.c (get_line): Fix buffer overflow bug.
42662
41694fd0 426632008-07-28 Robert Millan <rmh@aybabtu.com>
42664
42665 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42666 (struct grub_apple_header): New struct. Describes the layout of
42667 the partmap header.
42668 (apple_partition_map_iterate): Check the header magic as well as the
42669 partition magic (which was already being checked).
42670
cfd0b4e6 426712008-07-28 Pavel Roskin <proski@gnu.org>
42672
42673 * genmk.rb: Add a warning to the beginning of the output that
42674 it's a generated file and should not be edited.
42675
93cce016 426762008-07-28 Robert Millan <rmh@aybabtu.com>
42677
42678 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42679 with the same number are found, just use issue a warning with
42680 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42681
cd1df915 426822008-07-27 Robert Millan <rmh@aybabtu.com>
42683
42684 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42685 information.
42686
b70a8427 426872008-07-27 Bean <bean123ch@gmail.com>
42688
42689 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42690 (grub_fat_find_dir): Ignore case when comparing filename.
42691
8f5e379f 426922008-07-27 Bean <bean123ch@gmail.com>
42693
42694 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42695 smallino, as it's more descriptive, and i8count can be confused with
42696 the other field count.
42697 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42698 inode type.
42699
a85cd5a0 427002008-07-27 Bean <bean123ch@gmail.com>
42701
42702 * commands/crc.c: New file.
42703
42704 * lib/crc.c: Likewise.
42705
42706 * include/grub/lib/crc.h: Likewise.
42707
42708 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42709
42710 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42711 (hexdump): Move this function to ...
42712
42713 * lib/hexdump.c: ... here.
42714
42715 * include/grub/hexdump.h: Renamed to ...
42716
42717 * include/grub/lib/hexdump.h: ... this.
42718
42719 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42720
42721 * util/grub-editenv.c: Likewise.
42722
42723 * include/envblk.h: Renamed to ...
42724
42725 * include/lib/envblk.h: ... this.
42726
42727 * util/envblk.c: Renamed to ...
42728
42729 * lib/envblk.c: ... this.
42730
42731 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42732 lib/hexdump.c.
42733 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42734 (pkglib_MODULES): Add crc.mod.
42735 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42736 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42737 (crc_mod_SOURCES): New macro.
42738 (crc_mod_CFLAGS): Likewise.
42739 (crc_mod_LDFLAGS): Likewise.
42740
42741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42742
42743 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42744
42745 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42746
42747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42748
42749 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42750
c298def0 427512008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42752
42753 * commands/help.c: Include <grub/term.h>.
42754 (TERM_WIDTH): Removed. Updated all users.
42755
cc349fb3 427562008-07-27 Pavel Roskin <proski@gnu.org>
42757
42758 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42759 spurious warnings about a comment within a comment.
42760
9051607e 427612008-07-25 Robert Millan <rmh@aybabtu.com>
42762
42763 * util/getroot.c (find_root_device): Skip devices that match
42764 /dev/dm-[0-9]. This lets the real device be found for any type of
42765 abstraction (LVM, EVMS, RAID..).
42766 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42767 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42768 device is found first, find_root_device() will now skip it.
42769
01453bfc 427702008-07-24 Pavel Roskin <proski@gnu.org>
42771
42772 * include/grub/types.h: Use __builtin_bswap32() and
42773 __builtin_bswap64() with gcc 4.3 and newer.
42774
6af9849f 427752008-07-24 Christian Franke <franke@computer.org>
42776
3a0fa256 42777 * util/i386/pc/grub-install.in: If `--debug' is specified,
42778 pass `--verbose' to grub-setup.
42779 Abort script if make_system_path_relative_to_its_root() fails.
42780
7810e747 427812008-07-24 Bean <bean123ch@gmail.com>
42782
42783 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42784 variable `target_platform' should be `platform'.
42785
42290e17 427862008-07-24 Bean <bean123ch@gmail.com>
42787
51cc5193 42788 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42789 (grub_png_init_fixed_block): New function.
42790 (grub_png_decode_image_data): Handle fixed huffman code compression.
42791
2a8a80e4 427922008-07-24 Bean <bean123ch@gmail.com>
42793
42794 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42795 (grub_pe2elf_SOURCES): New macro.
42796 (CLEANFILES): Add grub-pe2elf.
42797
42798 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42799 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42800 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42801 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42802 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42803 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42804 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42805 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42806 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42807 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42808 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42809 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42810 (GRUB_PE32_DT_FUNCTION): Likewise.
42811 (GRUB_PE32_REL_I386_DIR32): Likewise.
42812 (GRUB_PE32_REL_I386_REL32): Likewise.
42813 (grub_pe32_symbol): New structure.
42814 (grub_pe32_reloc): Likewise.
42815
42816 * util/grub-pe2elf.c: New file.
42817
42818 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42819 start symbol in non pc platform.
42820
42821 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42822
42823 The following patches are from Christian Franke.
42824
42825 * include/grub/dl.h: Remove .previous, gas supports this only
42826 for ELF format.
42827
42828 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42829 Remove .type, gas supports this only for ELF format.
42830
42831 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42832 nullbytes in symbol table. This fixes an infinite loop if table is
42833 zero filled.
42834
42835 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42836 TARGET_IMG_LDFLAGS and EXEEXT.
42837
42838 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42839 TARGET_IMG_LDFLAGS_AC.
42840 (grub_CHECK_STACK_ARG_PROBE): New function.
42841
42842 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42843
42844 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42845
42846 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42847 to set TARGET_IMG_LD* accordingly.
42848 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42849 Add call to grub_CHECK_STACK_ARG_PROBE.
42850 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42851
42852 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42853
42854 * genmk.rb: Add EXEEXT to CLEANFILES.
42855
12ccdb75 428562008-07-23 Robert Millan <rmh@aybabtu.com>
42857
42858 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42859 define the codes for arrows and lines used for the menu).
42860 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42861 as well.
42862
42863 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42864 fonts, because the latter are too slow.
42865
18eeaf04 428662008-07-21 Bean <bean123ch@gmail.com>
42867
42868 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42869 a20. Run keyboard test last, as it will cause macbook to halt.
42870
b095e2ad 428712008-07-18 Pavel Roskin <proski@gnu.org>
42872
42873 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42874 load foreign architecture modules correctly anyway. Keep
42875 support for loading host architecture modules, whether we
42876 compile them or not.
42877
737feb35 428782008-07-17 Pavel Roskin <proski@gnu.org>
42879
3f4ce737 42880 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42881 change target_cpu. The compiler default can mismatch target_cpu
42882 in any case.
42883
4ad2d049 42884 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42885 * kern/efi/efi.c: Likewise.
42886
f6130a12 42887 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42888 target compiler is functional.
42889 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42890 are set up.
42891
58393a2d 42892 * configure.ac: Default to efi platform for x86_64-apple. Allow
42893 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42894 adjustments from the rest, only do them if target is not
42895 explicitly given. Merge other adjustments with the final sanity
42896 check. Remove an extraneous check for supported CPU. Be
42897 specific which CPU and which platform is not supported.
42898
737feb35 42899 * configure.ac: Default to pc platform for x86_64.
42900
546f966a 429012008-07-17 Robert Millan <rmh@aybabtu.com>
42902
42903 Partial LinuxBIOS -> Coreboot rename.
42904
42905 * conf/i386-linuxbios.rmk: Renamed to ...
42906 * conf/i386-coreboot.rmk: ... this.
42907 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42908 * configure.ac: Accept "coreboot" as input platform (but maintain
42909 compatibility with "linuxbios").
42910 * include/grub/i386/linuxbios: Renamed to ...
42911 * include/grub/i386/coreboot: ... this.
42912
20011694 429132008-07-17 Bean <bean123ch@gmail.com>
42914
42915 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42916 (appleldr_mod_SOURCE): New variable.
20011694 42917 (appleldr_mod_CFLAGS): Likewise.
42918 (appleldr_mod_LDFLAGS): Likewise.
42919 (pci_mod_SOURCES): Likewise.
42920 (pci_mod_CFLAGS): Likewise.
42921 (pci_mod_LDFLAGS): Likewise.
42922 (lspci_mod_SOURCES): Likewise.
42923 (lspci_mod_CFLAGS): Likewise.
42924 (lspci_mod_LDFLAGS): Likewise.
42925
42926 * conf/x86_64-efi.rmk: New file.
42927
42928 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42929 macro.
42930 (grub_efidisk_write): Likewise.
42931
42932 * include/efi/api.h (efi_call_0): New macro.
42933 (efi_call_1): Likewise.
42934 (efi_call_2): Likewise.
42935 (efi_call_3): Likewise.
42936 (efi_call_4): Likewise.
42937 (efi_call_5): Likewise.
42938 (efi_call_6): Likewise.
42939
42940 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42941 grub_rescue_cmd_chainloader.
42942
42943 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42944 (grub_pe32_optional_header): Change some fields based on i386 or
42945 x86_64 platform.
42946 (GRUB_PE32_PE32_MAGIC): Likewise.
42947
42948 * include/grub/efi/uga_draw.h: New file.
42949
42950 * include/grub/elf.h (STN_ABS): New constant.
42951 (R_X86_64_NONE): Relocation constant for x86_64.
42952 (R_X86_64_64): Likewise.
42953 (R_X86_64_PC32): Likewise.
42954 (R_X86_64_GOT32): Likewise.
42955 (R_X86_64_PLT32): Likewise.
42956 (R_X86_64_COPY): Likewise.
42957 (R_X86_64_GLOB_DAT): Likewise.
42958 (R_X86_64_JUMP_SLOT): Likewise.
42959 (R_X86_64_RELATIVE): Likewise.
42960 (R_X86_64_GOTPCREL): Likewise.
42961 (R_X86_64_32): Likewise.
42962 (R_X86_64_32S): Likewise.
42963 (R_X86_64_16): Likewise.
42964 (R_X86_64_PC16): Likewise.
42965 (R_X86_64_8): Likewise.
42966 (R_X86_64_PC8): Likewise.
42967
42968 * include/grub/i386/efi/pci.h: New file.
42969
42970 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42971 Change it value based on platform.
42972 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42973 (GRUB_E820_RAM): Likewise.
42974 (GRUB_E820_RESERVED): Likewise.
42975 (GRUB_E820_ACPI): Likewise.
42976 (GRUB_E820_NVS): Likewise.
42977 (GRUB_E820_EXEC_CODE): Likewise.
42978 (GRUB_E820_MAX_ENTRY): Likewise.
42979 (grub_e820_mmap): New structure.
42980 (linux_kernel_header): Change the efi field according to different
42981 kernel version, also field from linux_kernel_header.
42982
42983 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42984
42985 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42986 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42987 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42988 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42989 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42990 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42991 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42992 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42993 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42994 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42995
42996 * include/grub/x86_64/efi/kernel.h: New file.
42997
42998 * include/grub/x86_64/efi/loader.h: Likewise.
42999
43000 * include/grub/x86_64/efi/machine.h: Likewise.
43001
43002 * include/grub/x86_64/efi/pci.h: Likewise.
43003
43004 * include/grub/x86_64/efi/time.h: Likewise.
43005
43006 * include/grub/x86_64/linux.h: Likewise.
43007
43008 * include/grub/x86_64/setjmp.h: Likewise.
43009
43010 * include/grub/x86_64/time.h: Likewise.
43011
43012 * include/grub/x86_64/types.h: Likewise.
43013
43014 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43015 GRUB_TARGET_SIZEOF_VOID_P.
43016
43017 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43018 (grub_efi_locate_handle): Likewise.
43019 (grub_efi_open_protocol): Likewise.
43020 (grub_efi_set_text_mode): Likewise.
43021 (grub_efi_stall): Likewise.
43022 (grub_exit): Likewise.
43023 (grub_reboot): Likewise.
43024 (grub_halt): Likewise.
43025 (grub_efi_exit_boot_services): Likewise.
43026 (grub_get_rtc): Likewise.
43027
43028 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43029 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43030 (grub_efi_allocate_pages): Wrap efi calls.
43031 (grub_efi_free_pages): Wrap efi calls.
43032 (grub_efi_get_memory_map): Wrap efi calls.
43033
43034 * kern/x86_64/dl.c: New file.
43035
43036 * kern/x86_64/efi/callwrap.S: Likewise.
43037
43038 * kern/x86_64/efi/startup.S: Likewise.
43039
43040 * loader/efi/appleloader.c: Likewise.
43041
43042 * loader/efi/chainloader.c (cmdline): New variable.
43043 (grub_chainloader_unload): Wrap efi calls.
43044 (grub_chainloader_boot): Likewise.
43045 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43046 command line.
43047
43048 * loader/efi/chainloader_normal.c (chainloader_command):
43049 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43050 command line.
43051
43052 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43053 method.
43054 (grub_e820_add_region): New function.
43055 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43056 booting.
43057 (grub_find_video_card): New function.
43058 (grub_linux_setup_video): New function.
43059 (grub_rescue_cmd_linux): Probe for video information.
43060
43061 * normal/x86_64/setjmp.S: New file.
43062
43063 * term/efi/console.c (map_char): New function.
43064 (grub_console_putchar): Map unicode char.
43065 (grub_console_checkkey): Wrap efi calls.
43066 (grub_console_getkey): Likewise.
43067 (grub_console_getwh): Likewise.
43068 (grub_console_gotoxy): Likewise.
43069 (grub_console_cls): Likewise.
43070 (grub_console_setcolorstate): Likewise.
43071 (grub_console_setcursor): Likewise.
43072
43073 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43074
59652a20 430752008-07-16 Pavel Roskin <proski@gnu.org>
43076
ef294055 43077 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43078 format strings.
43079
59652a20 43080 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43081 pointer, not an integer. This fixes a warning and prevents
43082 precision loss on 64-bit systems.
43083 (relocate_addresses): Remove unneeded cast.
43084
afc3b5d7 430852008-07-15 Pavel Roskin <proski@gnu.org>
43086
506b2b3e 43087 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43088
62ead89c 43089 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43090
c4cd51d7 43091 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43092 Fix comparison between signed and unsigned.
43093
0d3d8f28 43094 * include/grub/i386/ieee1275/console.h: Declare
43095 grub_console_init() and grub_console_fini().
43096
8804b286 43097 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43098 It's empty and unused.
43099
ee01cf35 43100 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43101 beginning to avoid warnings with some compilers.
43102
afc3b5d7 43103 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43104 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43105
e4e8eaa5 431062008-07-14 Pavel Roskin <proski@gnu.org>
43107
407aceb4 43108 * kern/env.c (grub_register_variable_hook): Don't copy empty
43109 string, it leaks memory. Pass "" to grub_env_set(), it should
43110 handle constant strings.
43111
e4e8eaa5 43112 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43113 * commands/cmp.c (grub_cmd_cmp): Likewise.
43114 * kern/dl.c (grub_dl_flush_cache): Likewise.
43115 (grub_dl_load_core): Likewise.
43116 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43117 (grub_elf64_load_phdrs): Likewise.
43118
d4e2dad3 431192008-07-13 Pavel Roskin <proski@gnu.org>
43120
43121 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43122 between signed and unsigned.
43123 (LzmaEnc_Finish): Fix warning about an unused parameter.
43124
aa24b516 431252008-07-13 Bean <bean123ch@gmail.com>
43126
43127 * Makefile.in (enable_lzo): New rule.
43128
43129 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43130
43131 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43132
43133 * boot/i386/pc/lnxboot.S: #include <config.h>.
43134
43135 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 43136 its value according to the compression algorithm used, lzo or lzma.
aa24b516 43137
43138 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43139 compression algorithm according to configure macro.
43140
43141 * kern/i386/pc/startup.S (codestart): Likewise.
43142
43143 * kern/i386/pc/lzma_decode.S: New file.
43144
43145 * include/grub/lib/LzFind.h: Likewise.
43146
43147 * include/grub/lib/LzHash.h: Likewise.
43148
43149 * include/grub/lib/LzmaDec.h: Likewise.
43150
43151 * include/grub/lib/LzmaEnc.h: Likewise.
43152
43153 * include/grub/lib/LzmaTypes.h: Likewise.
43154
43155 * lib/LzFind.c: Likewise.
43156
43157 * lib/LzmaDec.c: Likewise.
43158
43159 * lib/LzmaEnc.c: Likewise.
43160
4ae821ac 431612008-07-13 Bean <bean123ch@gmail.com>
43162
43163 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43164 (grub_ext4_extent_header): New structure.
43165 (grub_ext4_extent): Likewise.
43166 (grub_ext4_extent_idx): Likewise.
43167 (grub_ext4_find_leaf): New function.
43168 (grub_ext2_read_block): Handle extents.
43169
9a745147 431702008-07-12 Robert Millan <rmh@aybabtu.com>
43171
43172 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43173
d49a4cf6 431742008-07-11 Robert Millan <rmh@aybabtu.com>
43175
43176 * util/grub.d/40_custom.in: New file. Example on how to add custom
43177 entries to /etc/grub.d.
43178 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43179 40_custom (implicitly, by merging all the grub.d rules).
43180
947414b4 431812008-07-11 Pavel Roskin <proski@gnu.org>
43182
0059cf6f 43183 * commands/read.c (grub_getline): Fix invalid memory access.
43184 Don't add newline to the variable value.
43185
947414b4 43186 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43187 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43188 (serial_hw_get_port): Check validity of the port number.
43189 (grub_cmd_serial): Check return value of serial_hw_get_port().
43190
62a02d00 431912008-07-07 Pavel Roskin <proski@gnu.org>
43192
43193 * boot/i386/pc/diskboot.S (notification_string): Replace
43194 "Loading kernel" with just "loading". This is shorter, less
43195 confusing and saves a few bytes for possible future changes.
43196
3e5581b0 431972008-07-05 Pavel Roskin <proski@gnu.org>
43198
ea387a48 43199 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43200 size for ATAPI devices, they are undefined. Output sector
43201 number in decimal form.
43202
3e5581b0 43203 * disk/ata.c: Use named constants for status bits.
43204
fdecb8fd 432052008-07-04 Pavel Roskin <proski@gnu.org>
43206
bcd35b90 43207 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43208 grub_addr_t before casting it to the void pointer to fix a
43209 warning. Non-addressable regions are discarded earlier.
43210 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43211 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43212 (check_signature): Don't shadow table_header.
43213 (grub_linuxbios_table_iterate): Cast numeric constants to
43214 grub_linuxbios_table_header_t.
43215 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43216 grub_stop().
43217
af58ab3d 43218 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43219 prevent warnings.
43220
1759aa57 43221 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43222 pointer, which can cause warnings. Support 64-bit addresses.
43223
fdecb8fd 43224 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43225 of sizeof(long). This fixes PowerPC image generation on x86_64.
43226
8516d2a8 432272008-07-04 Robert Millan <rmh@aybabtu.com>
43228
43229 This fixes a performance issue when pc & gpt partmap iterators
43230 didn't abort iteration even after our hook found what it was
fe987087 43231 looking for (often causing expensive probes of non-existent drives).
8516d2a8 43232
43233 Some callers relied on previous buggy behaviour, since they would
34c44600 43234 raise an error when their own hooks caused early abortion of its
8516d2a8 43235 iteration.
43236
43237 * kern/device.c (grub_device_open): Improve error message.
43238 * disk/lvm.c (grub_lvm_open): Likewise.
43239 * disk/raid.c (grub_raid_open): Likewise.
43240
43241 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43242 when hook requests it, independently of grub_errno.
43243 (pc_partition_map_probe): Do not fail when find_func() caused
43244 early abortion of pc_partition_map_iterate().
43245
43246 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43247 when hook requests it, independently of grub_errno.
43248 (gpt_partition_map_probe): Do not fail when find_func() caused
43249 early abortion of gpt_partition_map_iterate().
43250
43251 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43252 when hook requests it, independently of grub_errno. Do not fail when
43253 part_map_iterate_hook() caused early abortion of p->iterate().
43254
43255 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43256 when grub_partition_iterate() returned with non-zero.
43257
277d0de9 432582008-07-03 Pavel Roskin <proski@gnu.org>
43259
43260 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43261 like we do in grub_ata_pio_read().
43262 (grub_ata_readwrite): Always write individual sectors. Fix the
43263 sector count for the remainder.
43264 (grub_ata_write): Enable writing to ATA devices. Correctly
43265 report error for ATAPI devices.
43266
d4c9b428 432672008-07-02 Pavel Roskin <proski@gnu.org>
43268
e43fc690 43269 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43270 warning.
43271
f707af42 43272 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43273 for every read sector, we already increment it for the whole
43274 batch. This fixes reading more than 256 sectors at once.
43275
11e16b15 43276 * util/grub-editenv.c (cmd_info): Cast argument to long
43277 explicitly. ptrdiff_t reduces to int on i386.
43278
cbabfdd4 43279 * util/grub-editenv.c (main): Be specific which parameter is
43280 missing.
43281
b8fbce0a 43282 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43283 (memdisk): Make memdisk_orig_addr a pointer.
43284
c9c8e606 43285 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43286 for file offsets, use grub_off_t instead. Fix printf format
43287 warnings.
43288
ca62e598 43289 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43290 there. Real unexpected warnings should not drown in the noise
43291 about known problems.
43292
ce8d1766 43293 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43294 grub_disk_addr_t for memory addresses.
43295
00c7a56a 43296 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43297 explicitly to fix a warning.
43298
08d3ef09 43299 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43300
cb71ba20 43301 * Makefile.in (MODULE_LDFLAGS): New variable.
43302 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43303 the linker accepts --build-id=none.
43304 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43305 MODULE_LDFLAGS.
43306 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43307
d4c9b428 43308 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43309 those in Linux XFS code. Provide a way to access 64-bit parent
43310 inode.
43311 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43312 the end of struct grub_xfs_dir_header.
43313
d4156eee 433142008-07-02 Bean <bean123ch@gmail.com>
43315
43316 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43317 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43318 and GRUB_IEEE1275_FLAG_NO_ANSI.
43319
43320 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43321 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43322 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43323
43324 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
43325 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
43326
43327 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
43328 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
43329
43330 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
43331 esc sequence on non ANSI terminal.
43332 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
43333
43334 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
43335 beginning of file.
43336
2270f77b 433372008-07-02 Bean <bean123ch@gmail.com>
43338
43339 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43340 (grub_editenv_SOURCES): New variable.
43341 (pkglib_MODULES): Add loadenv.mod.
43342 (loadenv_mod_SOURCES): New variable.
43343 (loadenv_mod_CFLAGS): Likewise.
43344 (loadenv_mod_LDFLAGS): Likewise.
43345
43346 * include/grub/envblk.h: New file.
43347
43348 * util/envblk.c: New file.
43349
43350 * util/grub-editenv.c: New file.
43351
43352 * commands/loadenv.c: New file.
43353
0e9e51ec 433542008-07-01 Pavel Roskin <proski@gnu.org>
43355
d89b7634 43356 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43357 not unsigned char. This fixes warnings and is consistent with
43358 other tags.
43359
bf1835b1 43360 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
43361
8222a04b 43362 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
43363
6a42d99d 43364 * term/tparm.c (analyze): Always set *popcount.
43365
10b159d1 43366 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
43367 cast to fix a warning.
43368
b8789f6c 43369 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
43370 cast to suppress a warning.
43371
29d7e38a 43372 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
43373 grub_fshelp_read_file() expects.
43374
f341f669 43375 * fs/fat.c: Fix UUID calculation on big-endian systems. We
43376 write uuid as a 32-bit value in CPU byte order, so declare and
43377 use it as such.
43378
0e9e51ec 43379 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
43380 long if the format specifier expects it.
43381 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
43382 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43383 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
43384 long to fix a warning.
43385 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
43386 grub_dprintf() arguments to fix warnings.
43387
3aefa857 433882008-06-30 Pavel Roskin <proski@gnu.org>
43389
56c7668b 43390 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
43391 install_bsd_part immediately before core.img is embedded or
43392 modified on disk. This fixes core.img verification if core.img
43393 cannot be embedded.
43394
3aefa857 43395 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
43396 core_path to calculate the blocklist.
43397 Patch from Javier Martín <lordhabbit@gmail.com>
43398
5444088d 433992008-06-29 Robert Millan <rmh@aybabtu.com>
43400
43401 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
43402 block to disk block.
43403 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
43404 Patch from Niels Böhm <bitbucket@arcor.de>
43405
674835c8 434062008-06-29 Robert Millan <rmh@aybabtu.com>
43407
43408 * util/update-grub_lib.in (font_path): Search for fonts in
43409 /boot/grub first, which is more likely to be readable (we aren't
43410 deciding where fonts live, just looking for them).
43411
f527dbc8 434122008-06-26 Pavel Roskin <proski@gnu.org>
43413
6c2d8df6 43414 * util/biosdisk.c (read_device_map): Don't leave dead map
43415 entries for devices failing stat() check.
43416
f527dbc8 43417 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
43418 core_path_dev for the core.img path on the target device.
43419
aebe3d13 434202008-06-26 Robert Millan <rmh@aybabtu.com>
43421
43422 * disk/fs_uuid.c: New file.
43423 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
43424 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
43425 (fs_uuid_mod_LDFLAGS): New variables.
43426 * include/grub/disk.h (grub_disk_dev_id): Add
43427 `GRUB_DISK_DEVICE_UUID_ID'.
43428 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
43429 implement iterate().
43430
37aaf354 434312008-06-26 Robert Millan <rmh@aybabtu.com>
43432
43433 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
43434 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
43435 Linux image includes no initrd.
43436
25ff262a 434372008-06-21 Javier Martín <lordhabbit@gmail.com>
43438
43439 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
43440 call to resolve the core image location that effectively appended the
43441 name twice.
43442
76a2bd44 434432008-06-21 Robert Millan <rmh@aybabtu.com>
43444
43445 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43446 call from here ...
43447
43448 * util/grub.d/10_hurd.in: ... to here ...
43449 * util/grub.d/10_linux.in: ... and here.
43450
650e1c79 434512008-06-19 Robert Millan <rmh@aybabtu.com>
43452
fe987087 43453 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 43454 after it has been set by grub_machine_set_prefix().
43455
6ce63911 434562008-06-19 Robert Millan <rmh@aybabtu.com>
43457
43458 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43459 search result when not saving to variable, not the other way around.
43460 When saving to variable, abort iteration as soon as a match is found.
43461
73940cec 434622008-06-19 Robert Millan <rmh@aybabtu.com>
43463
43464 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43465 check for partition that provides /boot/grub. Its logic is flawed,
43466 as it prevents prepare_grub_to_access_device() from being called
43467 multiple times.
43468
3c62a39d 434692008-06-19 Robert Millan <rmh@aybabtu.com>
43470
43471 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43472 "insmod" command directly when abstraction modules are needed,
fe987087 43473 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 43474 since it had already been processed).
43475
47395a42 434762008-06-19 Pavel Roskin <proski@gnu.org>
43477
43478 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43479 changed. This is needed in case GRUB_LIBDIR changes.
43480 * conf/i386-ieee1275.rmk: Likewise.
43481 * conf/i386-linuxbios.rmk: Likewise.
43482 * conf/i386-pc.rmk: Likewise.
43483 * conf/powerpc-ieee1275.rmk: Likewise.
43484
a145ac2d 434852008-06-18 Pavel Roskin <proski@gnu.org>
43486
43487 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43488 kernel_elf_symlist.c to symlist.c for consistency with other
43489 architectures. Update all users.
43490 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43491
7847c51e 434922008-06-18 Robert Millan <rmh@aybabtu.com>
43493
43494 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43495 it in prefix.
43496
43497 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43498 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43499 a RAID device, run setup() for all members independently on whether
43500 LVM abstraction is being used.
43501 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43502 If grub-mkimage has set `*install_dos_part == -2', don't override this
43503 value.
43504 Perform *install_dos_part adjustments independently on whether
43505 we're embedding or not.
43506 Clarify error message when image is too big for embedding.
43507 Remove duplicate *install_dos_part stanza.
43508
b23e5644 435092008-06-17 Robert Millan <rmh@aybabtu.com>
43510
43511 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43512 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43513 variables.
43514 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43515 values in grub_ofconsole_normal_color and
43516 grub_ofconsole_highlight_color (they're not directly related to
43517 background and foreground).
43518 (grub_ofconsole_setcolorstate): Extract background and foreground
43519 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43520
0aac2f79 435212008-06-17 Robert Millan <rmh@aybabtu.com>
43522
43523 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43524 /boot/grub for the check in last commit, not /boot (they could be
43525 different partitions).
43526
3cca7ef3 435272008-06-16 Robert Millan <rmh@aybabtu.com>
43528
43529 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43530 asked to setup access for the same partition that provides /boot,
43531 don't bother using UUIDs since our root already has the value we
43532 want.
43533
347396d8 435342008-06-16 Robert Millan <rmh@aybabtu.com>
43535
43536 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43537 I2O devices.
43538 Patch from Sven Mueller <sven@debian.org>.
43539
991477f8 435402008-06-16 Robert Millan <rmh@aybabtu.com>
43541
43542 * util/update-grub.in: Check for $EUID instead of $UID.
43543 Reported by Vincent Zweije.
43544
d31a32a1 435452008-06-16 Bean <bean123ch@gmail.com>
43546
fe987087 43547 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43548 (grub_ext2_read_block): Likewise.
43549 (grub_ext2_read_inode): Likewise.
43550 (grub_ext2_mount): Likewise.
43551 (grub_ext2_close): Likewise.
43552 (grub_ext3_get_journal): Removed.
43553
fe987087 43554 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43555 (grub_reiserfs_read_symlink): Likewise.
43556 (grub_reiserfs_mount): Likewise.
43557 (grub_reiserfs_open): Likewise.
43558 (grub_reiserfs_read): Likewise.
43559 (grub_reiserfs_close): Likewise.
43560 (grub_reiserfs_get_journal): Removed.
43561
43562 * fs/fshelp.c (grub_fshelp_read): Removed.
43563 (grub_fshelp_map_block): Likewise.
43564
43565 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43566 (grub_fshelp_journal): Likewise.
43567 (grub_fshelp_read): Likewise.
43568 (grub_fshelp_map_block): Likewise.
43569
3540a760 435702008-06-16 Pavel Roskin <proski@gnu.org>
43571
43572 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43573 floating point anymore.
43574 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43575
95614c84 435762008-06-15 Pavel Roskin <proski@gnu.org>
43577
43578 * commands/ls.c (grub_ls_list_files): Use integer calculations
43579 for human readable format, avoid floating point use.
43580 * kern/misc.c (grub_ftoa): Remove.
43581 (grub_vsprintf): Remove floating point support.
43582
50465dd6 435832008-06-15 Robert Millan <rmh@aybabtu.com>
43584
fe6b695a 43585 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43586 devices.
43587 Reported by Max Vozeler.
43588
a9207284 435892008-06-15 Robert Millan <rmh@aybabtu.com>
43590
43591 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43592 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43593 skipped later.
43594 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43595 the beginning of the prefix.
43596
43597 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43598 It is assumed that if we have a memdisk, grub-mkimage has set
43599 grub_prefix to include the "(memdisk)" drive in it.
43600
a7cbd45a 436012008-06-15 Robert Millan <rmh@aybabtu.com>
43602
43603 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43604 Initialize keyboard controller after registering the terminal, so that
43605 grub_printf() can be called from grub_keyboard_controller_init().
43606
21cf716a 436072008-06-15 Robert Millan <rmh@aybabtu.com>
43608
43609 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43610 extent-btree which is written as big endian on disk.
43611 Reported by Alain Greppin <al@chilibi.org>.
43612
23a64d8e 436132008-06-14 Robert Millan <rmh@aybabtu.com>
43614
43615 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43616 * util/i386/pc/grub-install.in (modules): Likewise.
43617
d687651c 436182008-06-13 Pavel Roskin <proski@gnu.org>
43619
43620 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43621
dfe9ddd4 436222008-06-13 Bean <bean123ch@gmail.com>
43623
43624 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43625
43626 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43627
43628 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43629 to indicate sparse block.
43630
16ae7781 436312008-06-12 Pavel Roskin <proski@gnu.org>
43632
e6d1a308 43633 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43634 number, grub_fshelp_read() does it for us.
43635
16ae7781 43636 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43637 linear disk read with journal translation.
43638 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43639 * include/grub/fshelp.h: Declare grub_fshelp_read().
43640
40fd3a2b 436412008-06-09 Pavel Roskin <proski@gnu.org>
43642
43643 * fs/minix.c (grub_minix_mount): Handle error reading
43644 superblock.
43645
f5679726 436462008-06-08 Robert Millan <rmh@aybabtu.com>
43647
43648 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43649 don't append the RAID prefix afterwards.
43650 Reported by Clint Adams.
43651
ce525529 436522008-06-08 Robert Millan <rmh@aybabtu.com>
43653
43654 Based on description from Pavel:
43655 * kern/disk.c (grub_disk_check_range): Rename to ...
43656 (grub_disk_adjust_range): ... this. Add a comment explaining the
43657 tasks performed by this function.
43658
ad4936a0 436592008-06-08 Robert Millan <rmh@aybabtu.com>
43660
43661 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43662 `num_serial' (for consistency with other variables).
43663 (struct grub_ntfs_data): Add `uuid' member.
43664 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43665 (grub_ntfs_uuid): New function.
43666 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43667
dc20b0f9 436682008-06-07 Pavel Roskin <proski@gnu.org>
43669
43670 * util/biosdisk.c (open_device): Revert last change to the
43671 function, it broke installation. The sector needs to be
43672 different dependent on which device is opened.
43673
c5e3cfba 436742008-06-06 Robert Millan <rmh@aybabtu.com>
43675
43676 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43677 rest of GRUB, and breakage doesn't happen if its value were modified.
43678
43679 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43680 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43681 a constant (same value).
43682 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43683 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43684
26a1f8c4 436852008-06-06 Robert Millan <rmh@aybabtu.com>
43686
43687 * util/biosdisk.c (open_device): Do not modify sector offset when
43688 accessing a partition. kern/disk.c already handles this for us.
43689
25d6b327 436902008-06-06 Robert Millan <rmh@aybabtu.com>
43691
43692 * util/grub-emu.c (grub_machine_init): Move code in this function from
43693 here ...
43694 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43695 segfault in case grub_printf() is called).
43696
43697 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43698 grub_probe. Update all users not to explicitly add it again.
43699 (grub_device): New variable; contains corresponding device for grubdir.
43700 (fs_module, partmap_module, devabstraction_module): Pass
43701 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43702 every time.
43703
9ece62fb 437042008-06-05 Robert Millan <rmh@aybabtu.com>
43705
43706 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43707 is found, print it (same layout as with labels).
43708
1ad36d37 437092008-06-04 Robert Millan <rmh@aybabtu.com>
43710
43711 * util/biosdisk.c (get_drive): Rename to ...
43712 (find_grub_drive): ... this. Update all users.
43713
43714 (get_os_disk): Rename to ...
43715 (convert_system_partition_to_system_disk): ... this. Update all users.
43716
43717 (find_drive): Rename to ...
43718 (find_system_device): ... this. Update all users.
43719
e6a30859 437202008-06-04 Robert Millan <rmh@aybabtu.com>
43721
43722 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43723 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43724 (make_device_map): Likewise.
43725
00c108a4 437262008-06-01 Robert Millan <rmh@aybabtu.com>
43727
43728 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43729 before dereferencing it.
43730
43731 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43732 union with fat12/fat16-specific ones. Add some new fields, including
43733 `num_serial' for both versions.
43734 (struct grub_fat_data): Add `uuid' member.
43735 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43736 names. Initialize `data->uuid' using `num_serial'.
43737 (grub_fat_uuid): New function.
43738 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43739
43740 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43741 (grub_reiserfs_uuid): New function.
43742 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43743 member.
43744
43745 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43746 (grub_xfs_uuid): New function.
43747 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43748
1385c5bb 437492008-06-01 Robert Millan <rmh@aybabtu.com>
43750
43751 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43752 code that is backward compatible with pre-uuid search command.
43753
c682dfd7 437542008-05-31 Robert Millan <rmh@aybabtu.com>
43755
43756 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43757 floppies after everything else, to ensure floppy drive isn't accessed
43758 unnecessarily (patch from Bean).
43759
b7db5d47 437602008-05-31 Robert Millan <rmh@aybabtu.com>
43761
43762 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43763 not print device names when we were asked to set a variable.
43764
6e037aa9 437652008-05-31 Robert Millan <rmh@aybabtu.com>
43766
43767 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43768 using "cursor-on" and "cursor-off" commands (understood at least by
43769 the Open Firmware flavour on OLPC).
43770
41305bc8 437712008-05-31 Michael Gorven <michael@gorven.za.net>
43772
43773 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43774 on and off sequences.
43775
69ba137e 437762008-05-31 Robert Millan <rmh@aybabtu.com>
43777
43778 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43779 * util/update-grub.in: Likewise.
43780
520ae21b 437812008-05-30 Pavel Roskin <proski@gnu.org>
43782
43783 * util/biosdisk.c (linux_find_partition): Simplify logic and
43784 make the code more universal. Keep special processing for
43785 devfs, but use a simple rule for all other devices. If the
43786 device ends with a number, append 'p' and the partition number.
43787 Otherwise, append only the partition number.
43788
5786569b 437892008-05-30 Robert Millan <rmh@aybabtu.com>
43790
43791 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43792 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43793 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43794 the `root' parameter to Linux.
43795
51500452 437962008-05-30 Robert Millan <rmh@aybabtu.com>
43797
43798 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43799 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43800 --fs_uuid with --fs-uuid.
43801 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43802 all filesystems support them).
43803
811d3878 438042008-05-30 Robert Millan <rmh@aybabtu.com>
43805
43806 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43807 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43808
cab63c95 438092008-05-30 Robert Millan <rmh@aybabtu.com>
43810
43811 * util/grub.d/00_header.in: Remove obsolete comment referencing
43812 convert_system_path_to_grub_path().
43813 * util/update-grub.in: Likewise.
43814 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43815 (convert_system_path_to_grub_path): Add a warning message explaining
43816 that this function is deprecated. Rely on is_path_readable_by_grub()
43817 for the readability checks.
43818 (font_path): Use is_path_readable_by_grub() for the readability
43819 check rather than convert_system_path_to_grub_path().
43820
972e2f7a 438212008-05-30 Robert Millan <rmh@aybabtu.com>
43822
43823 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43824 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43825 converting it first.
43826 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43827 grub.cfg for access to font file, and afterwards call it again to set
43828 the root device.
43829
62191274 438302008-05-30 Robert Millan <rmh@aybabtu.com>
43831
43832 * commands/search.c (options): Add --fs_uuid option.
43833 (search_fs_uuid): New function.
43834 (grub_cmd_search): Fix --set argument passing.
43835 Use search_fs_uuid() when requested via --fs_uuid.
43836 (grub_search_init): Update help message.
43837 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43838 and redeclare it as an array of 16-bit words.
43839 (grub_ext2_uuid): New function.
43840 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43841 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43842 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43843 (GRUB_DEVICE_BOOT_UUID): New variables.
43844 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43845 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43846 whenever possible.
43847 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43848 just assume `root' variable has the right value.
43849 * util/grub.d/10_linux.in: Likewise.
43850 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43851 via PRINT_FS_UUID.
43852 (main): Recognise `-t fs_uuid' argument.
43853
01b73ec8 438542008-05-30 Robert Millan <rmh@aybabtu.com>
43855
43856 * util/biosdisk.c (map): Redefine structure to hold information
43857 about GRUB drive name.
fe6b695a 43858 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43859 drive names.
43860 (call_hook): Remove.
43861 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43862 member. Assume drive has partitions.
43863 (grub_util_biosdisk_open): Access device names via `.device' struct
43864 member.
43865 (open_device): Likewise.
43866 (find_drive): Likewise.
43867 (read_device_map): Adjust map[] usage to match the new struct
43868 definition. Don't check for duplicates (still possible, but not cheap
43869 anymore).
43870 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43871 (make_device_name): Remove assumption of BIOS-like drive names.
43872
22f16596 438732008-05-30 Pavel Roskin <proski@gnu.org>
43874
43875 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43876 compiling execute.c doesn't need grub_script.tab.h anymore.
43877 (normal/command.c_DEPENDENCIES): Likewise.
43878 (normal/function.c_DEPENDENCIES): Likewise.
43879 * conf/i386-ieee1275.rmk: Likewise.
43880 * conf/i386-linuxbios.rmk: Likewise.
43881 * conf/i386-pc.rmk: Likewise.
43882 * conf/powerpc-ieee1275.rmk: Likewise.
43883 * conf/sparc64-ieee1275.rmk: Likewise.
43884
528ad8f2 438852008-05-29 Pavel Roskin <proski@gnu.org>
43886
d1dff95d 43887 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43888 when scanning metadata for volume group name.
43889
528ad8f2 43890 * include/grub/script.h: Don't include grub_script.tab.h. It's
43891 a generated file, which may only be included from the files with
43892 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43893 use union YYSTYPE, as the later allows forward declaration.
43894 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43895
47248e08 438962008-05-29 Robert Millan <rmh@aybabtu.com>
43897
43898 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43899 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43900 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43901 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43902 scan codes.
43903
ee632529 439042008-05-29 Robert Millan <rmh@aybabtu.com>
43905
43906 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43907 control key combinations.
43908
eee96e08 439092008-05-29 Robert Millan <rmh@aybabtu.com>
43910
43911 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43912 * util/ieee1275/grub-install.in: ... to here.
43913 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43914 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43915 (grub_install_SOURCES): Likewise.
43916
da9a6a94 439172008-05-29 Robert Millan <rmh@aybabtu.com>
43918
43919 * fs/affs.c: Update copyright year.
43920 * fs/ext2.c: Likewise.
43921 * fs/fshelp.c: Likewise.
43922 * fs/hfsplus.c: Likewise.
43923 * fs/ntfs.c: Likewise.
43924 * fs/xfs.c: Likewise.
43925 * include/grub/fshelp.h: Likewise.
43926 * util/grub-mkdevicemap.c: Likewise.
43927
12e65f3a 439282008-05-28 Robert Millan <rmh@aybabtu.com>
43929
43930 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43931 might need to be fatfs to support some firmware implementations
43932 (e.g. OFW or EFI).
43933
23023641 439342008-05-28 Robert Millan <rmh@aybabtu.com>
43935
43936 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43937 devices.
43938 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43939 (make_device_map): Likewise.
43940
887d2619 439412008-05-20 Bean <bean123ch@gmail.com>
43942
43943 * fs/fshelp.c (grub_fshelp_map_block): New function.
43944 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43945 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43946
43947 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43948 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43949 (grub_fshelp_journal): New structure.
43950 (grub_fshelp_map_block): New function prototype.
43951 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43952 (grub_fshelp_map_block): Likewise.
43953
43954 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43955 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43956 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43957 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43958 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43959 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43960 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43961 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43962 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43963 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43964 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43965 (grub_ext2_sblock): New members for journal support.
43966 (grub_ext3_journal_header): New structure.
43967 (grub_ext3_journal_revoke_header): Likewise.
43968 (grub_ext3_journal_block_tag): Likewise.
43969 (grub_ext3_journal_sblock): Likewise.
43970 (grub_fshelp_node): New members logfile and journal.
43971 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43972 grub_fshelp_map_block to get real block number.
43973 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43974 number.
43975 (grub_ext2_read_inode): Likewise.
43976 (grub_ext3_get_journal): New function.
43977 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43978 (grub_ext2_close): Release memory used by journal.
43979
43980 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43981 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43982 (grub_reiserfs_transaction_header): Renamed to
43983 grub_reiserfs_description_block, replace field data with real_blocks.
43984 (grub_reiserfs_commit_block): New structure.
43985 (grub_reiserfs_data): New member journal.
43986 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43987 number.
43988 (grub_reiserfs_read_symlink): Likewise.
43989 (grub_reiserfs_iterate_dir): Likewise.
43990 (grub_reiserfs_open): Likewise.
43991 (grub_reiserfs_read): Likewise.
43992 (grub_reiserfs_get_journal): New function.
43993 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43994 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43995 using grub_reiserfs_get_journal.
43996 (grub_reiserfs_close): Release memory used by journal.
43997
43998 * fs/affs.c (grub_affs_read_block): Change block type to
43999 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44000
44001 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44002
44003 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44004
44005 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44006
44007 * fs/udf.c (grub_udf_read_block): Change block type to
44008 grub_disk_addr_t. Use type cast to avoid warning.
44009
44010 * fs/xfs.c (grub_xfs_read_block): Likewise.
44011
b7c6bed5 440122008-05-16 Christian Franke <franke@computer.org>
44013
44014 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44015 to ensure that break with ESC will always work.
44016 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44017 Remove ESC from keyboard queue.
44018
eedf167f 440192008-05-16 Christian Franke <franke@computer.org>
44020
44021 * util/biosdisk.c: [__CYGWIN__] Add includes.
44022 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44023 (get_os_disk): Move variable declarations to OS specific
44024 parts to avoid warning.
44025 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44026 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44027 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44028 Cygwin.
44029 * util/getroot.c: [__CYGWIN__] Add includes.
44030 (strip_extra_slashes): Fix "/" case.
44031 [__CYGWIN__] (get_win32_path): New function.
44032 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44033 [__CYGWIN__] (find_root_device): Disable.
44034 [__CYGWIN__] (get_bootsec_serial): New function.
44035 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44036 [__linux__] (grub_guess_root_device): Add early returns to simplify
44037 structure.
44038 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44039 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44040 check for Linux only.
44041
a079699e 440422008-05-15 Bean <bean123ch@gmail.com>
44043
44044 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44045 keyboard hang problem in apple's intel mac.
44046
1cf4059a 440472008-05-09 Robert Millan <rmh@aybabtu.com>
44048
44049 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44050 devices.
44051 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44052 (make_device_map): Likewise.
44053 Reported by Aurelien Jarno <aurel32@debian.org>
44054
ed759390 440552008-05-07 Ian Campbell <ijc@hellion.org.uk>
44056
44057 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44058 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44059 (make_device_map): Output entries for xvd type disks.
44060
b56c4eaa 440612008-05-07 Robert Millan <rmh@aybabtu.com>
44062
44063 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44064 devices.
44065 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44066 (make_device_map): Likewise.
44067 Reported by Roland Dreier <rdreier@cisco.com>
44068
7f8866ed 440692008-05-07 Robert Millan <rmh@aybabtu.com>
44070
44071 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44072 grub_strstr() call. Correct a few mistakes in failure path handling.
44073
b0346e0f 440742008-05-06 Robert Millan <rmh@aybabtu.com>
44075
44076 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44077 Do not print a trailing slash (therefore, the root directory is an
44078 empty string).
44079 (convert_system_path_to_grub_path): Do not remove trailing slash
44080 from make_system_path_relative_to_its_root() output.
44081
44082 * util/i386/pc/grub-install.in: Add trailing slash to output from
44083 make_system_path_relative_to_its_root().
44084
6cf12cbd 440852008-05-06 Robert Millan <rmh@aybabtu.com>
44086
44087 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44088 ensures that output lines aren't intermangled with those sent to
44089 stderr (via grub_util_info()).
44090 * util/grub-probe.c (grub_refresh): Likewise.
44091 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44092
0fbb3117 440932008-05-05 Christian Franke <franke@computer.org>
44094
44095 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44096 Add Cygwin device names.
44097 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44098 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44099 (check_device): Return error instead of success on empty name.
44100 (make_device_map): Move label inside linux specific code to
44101 prevent compiler warning.
44102
8124cdb7 441032008-04-30 Robert Millan <rmh@aybabtu.com>
44104
44105 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44106 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44107 first boot option.
44108 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44109
094c01d0 441102008-04-29 Robert Millan <rmh@aybabtu.com>
44111
44112 * docs/grub.cfg: New file (example GRUB configuration).
44113
f4b1fc02 441142008-04-26 Robert Millan <rmh@aybabtu.com>
44115
329ce2a5 44116 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44117 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44118 and `disk/ieee1275/nand.c'.
f4b1fc02 44119
25f16ec1 441202008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 44121
25f16ec1 44122 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44123 i386-linuxbios.
44124
44125 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44126 change the buffer size to 4096 for cdrom device.
44127
44128 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44129 and nand.mod.
44130 (_linux_mod_SOURCES): New variable.
44131 (_linux_mod_CFLAGS): Likewise.
44132 (_linux_mod_LDFLAGS): Likewise.
44133 (linux_mod_SOURCES): Likewise.
44134 (linux_mod_CFLAGS): Likewise.
44135 (linux_mod_LDFLAGS): Likewise.
44136 (nand_mod_SOURCES): Likewise.
44137 (nand_mod_CFLAGS): Likewise.
44138 (nand_mod_LDFLAGS): Likewise.
44139
44140 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44141 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44142 type property. (nand device in olpc don't have this property)
44143
44144 * include/grub/disk.h (grub_disk_dev_id): New macro
44145 GRUB_DISK_DEVICE_NAND_ID.
44146
44147 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44148 function prototype.
44149 (grub_rescue_cmd_initrd): Likewise.
44150
44151 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44152 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44153 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 44154
25f16ec1 44155 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44156 GRUB_MACHINE_IEEE1275 is defined.
44157
44158 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44159 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44160
44161 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44162 on nested function heap_init.
44163 (grub_upper_mem): New variable for i386-ieee1275.
44164 (grub_get_extended_memory): New function for i386-ieee1275.
44165 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44166
44167 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44168 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44169 property.
f19dbdb7 44170
25f16ec1 44171 * loader/i386/ieee1275/linux.c: New file.
44172
44173 * loader/i386/ieee1275/linux_normal.c: New file.
44174
44175 * disk/ieee1275/nand.c: New file.
44176
e89d61e9 441772008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44178
44179 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44180 value.
44181 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44182
602566f6 441832008-04-18 Robert Millan <rmh@aybabtu.com>
44184
44185 Restructures early code path on ieee1275 to unify grub_main() as
44186 the first C function that is executed in every platform.
44187
44188 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44189 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44190 cmain().
44191 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44192 * kern/ieee1275/cmain.c (cmain): Rename to ...
44193 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44194 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44195 at the beginning.
44196
57490c2b 441972008-04-18 Robert Millan <rmh@aybabtu.com>
44198
44199 * util/update-grub.in: Fix syntax error when setting
44200 `GRUB_PRELOAD_MODULES'.
44201 Reported by Stephane Chazelas <stephane@artesyncp.com>
44202
1977517d 442032008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44204
44205 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44206 section into account, newer toolchains generate unique build ids
44207 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 44208 we want build ids to be preserved
1977517d 44209 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44210 far from other sections don't cause the raw binary images grow
44211 size
44212
bfb1f1a2 442132008-04-15 Robert Millan <rmh@aybabtu.com>
44214
44215 * disk/lvm.c: Update copyright year.
44216 * kern/misc.c: Likewise.
44217
01979850 442182008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44219
44220 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 44221 there is no memory left for physical volume name.
01979850 44222
0a1150e2 442232008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44224
44225 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44226 volume name mapping to support bigger than 9 character names properly.
44227
82ead3fe 442282008-04-13 Robert Millan <rmh@aybabtu.com>
44229
44230 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44231 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44232
e54a72f5 442332008-04-13 Christian Franke <franke@computer.org>
44234
44235 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44236 to create a floppy emulation boot CD when non emulation mode
44237 does not work.
44238 Enable Joliet CD filesystem extension.
44239
9fe86034 442402008-04-13 Robert Millan <rmh@aybabtu.com>
44241
44242 * kern/misc.c (grub_strncat): Fix off-by-one error.
44243 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44244
44245 * kern/env.c (grub_env_context_close): Clear current context, not
44246 previous one.
44247 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44248
44249 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44250
7ceeee39 442512008-04-13 Robert Millan <rmh@aybabtu.com>
44252
44253 Improve robustness when handling LVM.
44254
44255 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 44256 (and leave `*p' unmodified).
7ceeee39 44257 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44258 through it.
44259 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44260 iterating through it.
44261 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44262 through it.
fe6b695a 44263 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 44264 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44265 Don't assume `vg->pvs != NULL' when iterating through it.
44266
58cd3d85 442672008-04-13 Robert Millan <rmh@aybabtu.com>
44268
44269 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44270 * genmk.rb (partmap): New variable.
44271 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44272 (#{partmap}): New target rule.
44273 * genpartmaplist.sh: New file.
44274 * Makefile.in (pkglib_DATA): Add partmap.lst.
44275 (partmap.lst): New target rule.
44276 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44277 modules (including all partition maps), instead of preloading them.
44278
78b51059 442792007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44280
44281 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44282 `linux-boot-prober' (if installed) to detect other operating
44283 systems which are installed on the computer and add them to
44284 the boot menu.
44285 * conf/common.rmk: Build and install 30_os-prober.
44286
a91627b4 442872008-04-12 Robert Millan <rmh@aybabtu.com>
44288
44289 * kern/powerpc/ieee1275/init.c: Move from here ...
44290 * kern/ieee1275/init.c: ... to here. Update all users.
44291
44292 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44293 * kern/ieee1275/cmain.c: ... to here. Update all users.
44294
44295 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44296 * kern/ieee1275/openfw.c: ... to here. Update all users.
44297
44298 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44299 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44300
322562ea 443012008-04-10 Pavel Roskin <proski@gnu.org>
44302
44303 * configure.ac: Always use "_cv_" in cache variables for
44304 compatibility with Autoconf 2.62.
44305
a02a73c5 443062008-04-07 Robert Millan <rmh@aybabtu.com>
44307
44308 Revert grub/machine/init.h addition by Pavel (since it breaks on
44309 i386-ieee1275 and others):
44310 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44311 * util/powerpc/ieee1275/misc.c: Likewise.
44312
25c024b1 443132008-04-07 Robert Millan <rmh@aybabtu.com>
44314
44315 * util/grub-probe.c (probe): Improve error message.
44316
3cbd2f98 443172008-04-07 Robert Millan <rmh@aybabtu.com>
44318
44319 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44320 (this prevents the presence of a bogus entry from ruining the whole
44321 thing).
44322
87a297bf 443232008-04-06 Pavel Roskin <proski@gnu.org>
44324
36747a62 44325 * util/biosdisk.c: Include grub/util/biosdisk.h.
44326 * util/grub-fstest.c (execute_command): Make static.
44327 * util/grub-mkdevicemap.c (check_device): Likewise.
44328 * util/i386/pc/misc.c: Include grub/machine/init.h.
44329 * util/powerpc/ieee1275/misc.c: Likewise.
44330 * util/lvm.c: Include grub/util/lvm.h.
44331 * util/misc.c: Include grub/kernel.h, grub/misc.h and
44332 grub/cache.h.
44333 * util/raid.c: Include grub/util/raid.h.
44334 (grub_util_getdiskname): Make static.
44335
87a297bf 44336 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44337 grub_hostfs_fini(), as they are called from grub_init_all() and
44338 grub_fini_all() respectively. This fixes an infinite loop in
44339 grub-fstest due to double registration of hostfs.
44340 Reported by Christian Franke <Christian.Franke@t-online.de>
44341
f6ce7629 443422008-04-05 Pavel Roskin <proski@gnu.org>
44343
44344 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44345 all 8 functions. Otherwise, probe function 0 only.
44346
070e49e4 443472008-04-04 Pavel Roskin <proski@gnu.org>
44348
8b088a4c 44349 * commands/lspci.c (grub_lspci_iter): Print the bus number
44350 correctly.
44351
4f657021 44352 * commands/lspci.c (grub_pci_classes): Fix typos.
44353 (grub_lspci_iter): Don't print func twice. Print vendor ID
44354 before device ID, as it's normally done.
44355
070e49e4 44356 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44357 Fix signedness warnings.
44358 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44359 Likewise.
44360 * util/ieee1275/get_disk_name.c: Include config.h so that
44361 _GNU_SOURCE is defined and getline() is declared. Mark an
44362 unused argument as such. Fix a signedness warning.
44363
ba7328dc 443642008-04-02 Pavel Roskin <proski@gnu.org>
44365
26887f22 44366 * genkernsyms.sh.in: Use more robust assignments for CC and
44367 srcdir. Quote srcdir.
44368 * gensymlist.sh.in: Likewise. Assert at the compile time that
44369 the symbol table is not empty.
44370
ba7328dc 44371 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
44372 * fs/cpio.c (grub_cpio_read): Likewise.
44373
0f582c6b 443742008-04-01 Pavel Roskin <proski@gnu.org>
44375
4b6e1995 44376 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
44377 * disk/host.c (grub_host_open): Likewise.
44378 * disk/loopback.c (grub_loopback_open): Likewise.
44379 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
44380 disk->id as in disk/host.c, not a multi-character constant.
44381
828a2768 44382 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
44383 later is obsolete, potentially dangerous and sets a bad example.
44384 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
44385 * util/misc.c (grub_util_get_image_size): Likewise.
44386
2bb4fb47 44387 * disk/loopback.c (options): Improve help for "--partitions".
44388
0f582c6b 44389 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
44390 options to align them with the short options, e.g. "echo -e".
44391
a33224e0 443922008-03-31 Bean <bean123ch@gmail.com>
44393
44394 * video/reader/png.c (grub_png_data): New member is_16bit and
44395 image_data.
44396 (grub_png_decode_image_header): Detect 16 bit png image.
44397 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
44398 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
44399 (grub_video_reader_png): Release memory occupied by image_data.
44400
44401 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
44402 4096 bytes.
44403 (grub_nfs_mount): Skip the test for sector per cluster.
44404
44405 * include/grub/ntfs.h (MAX_SPC): Removed.
44406
86cb4f54 444072008-03-31 Bean <bean123ch@gmail.com>
44408
44409 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
44410 (grub_probe_SOURCES): Add fs/afs.c.
44411 (grub_fstest_SOURCES): Likewise.
44412 (afs_mod_SOURCES): New variable.
44413 (afs_mod_CFLAGS): Likewise.
44414 (afs_mod_LDFLAGS): Likewise.
44415
44416 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
44417 (grub_emu_SOURCES): Likewise.
44418
44419 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44420
44421 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44422
44423 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44424
44425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44426
44427 * fs/afs.c: New file.
44428
17c74c21 444292008-03-30 Pavel Roskin <proski@gnu.org>
44430
4cb68e89 44431 * disk/host.c: Include grub/misc.h to fix a warning.
44432 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
44433 warnings about implicit declarations.
44434
8790bb04 44435 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
44436 variable.
44437 * include/grub/i386/loader.h: Change declaration of
44438 grub_linux_boot() to match what grub_loader_set() expects.
44439 * util/getroot.c (grub_guess_root_device): Return const char* to
44440 fix a warning.
44441 * util/grub-probe.c (probe): Fix a warning about uninitialized
44442 abstraction_name variable.
44443 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
44444 second argument as unused to fix a warning.
44445
9a3f3296 44446 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44447 missing grub_error() call.
44448
0ecef90d 44449 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44450 2.60 and newer uses it to define datadir.
44451
0bf6d401 44452 * commands/sleep.c: Fix warning about implicit declaration.
44453 * disk/memdisk.c: Likewise.
44454 * loader/aout.c: Likewise.
44455 * loader/i386/bsd_normal.c: Likewise.
44456 * util/grub-probe.c: Likewise.
44457
7cdacf97 44458 * commands/i386/cpuid.c (has_longmode): Make static.
44459 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44460 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44461
17c74c21 44462 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44463 GDT. This is more robust, as %ds can change.
44464 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44465 calling real_to_prot().
44466 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44467
80a3e68b 444682008-03-28 Pavel Roskin <proski@gnu.org>
44469
44470 * kern/i386/pc/startup.S: Assert that uncompressed functions
44471 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44472 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44473 code, as they push parts of the code (error handlers) beyond
44474 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44475 code as correctness and size.
44476
77bcd272 444772008-03-28 Pavel Roskin <proski@gnu.org>
44478
44479 * kern/i386/pc/startup.S
44480 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44481 data block address to the real mode, keep offset minimal. This
44482 works around a bug in AWARD BIOS on old Athlon systems, which
44483 makes CD detection hang.
44484
c5dfd43b 444852008-03-26 Pavel Roskin <proski@gnu.org>
44486
44487 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44488 const.
44489 * include/grub/normal.h: Add grub_parse_color_name_pair()
44490 declaration.
44491
bf962df2 444922008-03-24 Bean <bean123ch@gmail.com>
44493
44494 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44495 (cd_count): Removed.
44496 (cd_drive): New variable.
44497 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44498 (grub_biosdisk_call_hook): Likewise.
44499 (grub_biosdisk_iterate): Change cdrom detection method.
44500 (grub_biosdisk_open): Replace cd_start with cd_drive.
44501 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44502 detect cdrom device.
44503
44504 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44505 Removed.
44506 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44507 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44508 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44509 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44510 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44511 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44512 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44513 (grub_biosdisk_cdrp): New structure.
44514 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44515
44516 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44517
44518 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44519 device.
44520
44521 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44522 New function.
44523
68e7fc7a 445242008-03-20 Robert Millan <rmh@aybabtu.com>
44525
44526 Remove 2 TiB limit in ata.mod.
44527 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44528 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44529 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44530 grub_uint64_t instead of grub_uint32_t.
44531
38ad2cf5 445322008-03-05 Bean <bean123ch@gmail.com>
44533
44534 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44535 (grub_multiboot): Set boot device.
44536
44537 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44538
2b89344e 445392008-03-02 Bean <bean123ch@gmail.com>
44540
44541 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44542 symlink_buffer.
44543
87a95d1f 445442008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44545
44546 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44547 texinfo.tex.
44548
44549 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44550 modified.
44551
44552 * docs/fdl.texi: New file.
f19dbdb7 44553
87a95d1f 44554 * docs/mdate-sh: New file. Copied from gnulib.
44555 * docs/texinfo.tex: Likewise.
44556
44557 * config.guess: Updated from gnulib.
44558 * install-sh: Likewise.
44559
7dc15d8e 445602008-02-28 Robert Millan <rmh@aybabtu.com>
44561
44562 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44563 (aout_mod_SOURCES): New variable.
44564 (aout_mod_CFLAGS): Likewise.
44565 (aout_mod_LDFLAGS): Likewise.
44566
44567 * conf/i386-ieee1275.rmk: Likewise.
44568
b00ab696 445692008-02-28 Robert Millan <rmh@aybabtu.com>
44570
44571 * util/update-grub.in: Reorganise terminal validity check. Accept
44572 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44573 Based on suggestion by Franklin PIAT.
44574
79ca2d78 445752008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44576
44577 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44578 function.
44579 * util/getroot.c (grub_util_check_block_device): New function that
44580 returns the given argument if it is a block device and returns NULL else.
44581 * util/grub-probe.c (argument_is_device): New variable.
44582 (probe): Promote device_name from a variable to an argument. Receive
44583 device_name from grub_util_check_block_device() if path is NULL and from
44584 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44585 (options): Introduce new parameter '-d, --device'.
79ca2d78 44586 (main): Add description of the new parameter to the help screen.
44587 Rename path variable to argument. Set argument_is_device if the '-d'
44588 option is given. Pass argument to probe() depending on
44589 argument_is_device.
44590
0d16e571 445912008-02-24 Bean <bean123ch@gmail.com>
44592
44593 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44594 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44595 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44596 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44597 (GRUB_ISO9660_VOLDESC_END): Likewise.
44598 (grub_iso9660_primary_voldesc): New member escape.
44599 (grub_iso9660_data): New member joliet.
44600 (grub_iso9660_convert_string): New function.
44601 (grub_iso9660_mount): Detect joliet extension.
44602 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44603 (grub_iso9660_iso9660_label): Likewise.
44604
44605 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44606 (grub_setup_SOURCES): Add fs/udf.c.
44607 (grub_fstest_SOURCES): Likewise.
44608 (udf_mod_SOURCES): New variable.
44609 (udf_mod_CFLAGS): Likewise.
44610 (udf_mod_LDFLAGS): Likewise.
44611
44612 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44613 (grub_emu_SOURCES): Likewise.
44614
44615 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44616
44617 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44618
44619 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44620
44621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44622
44623 * fs/udf.c: New file.
44624
8a594a17 446252008-02-24 Robert Millan <rmh@aybabtu.com>
44626
44627 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44628 (normal/lexer.c_DEPENDENCIES): New variables.
44629 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44630 (normal/lexer.c_DEPENDENCIES): Likewise.
44631 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44632 (normal/lexer.c_DEPENDENCIES): Likewise.
44633 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44634 (normal/lexer.c_DEPENDENCIES): Likewise.
44635 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44636 (normal/lexer.c_DEPENDENCIES): Likewise.
44637 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44638 (normal/lexer.c_DEPENDENCIES): Likewise.
44639
2dc33c03 446402008-02-23 Robert Millan <rmh@aybabtu.com>
44641
44642 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44643 since they were intended to be in hex. This didn't break previously
44644 because of a bug in gpt_partition_map_iterate() (see below).
44645
44646 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44647 when checking the validity of GPT header.
44648 Remove `partno', since it always provides the same information as `i'.
44649
f6f4cfb0 446502008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44651
44652 * include/grub/efi/time.h: Fix a wrong comment.
44653
79ff665f 446542008-02-19 Pavel Roskin <proski@gnu.org>
44655
44656 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44657 message.
44658
d38e24c2 446592008-02-19 Bean <bean123ch@gmail.com>
44660
44661 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44662 (aout_mod_SOURCES): New variable.
44663 (aout_mod_CFLAGS): Likewise.
44664 (aout_mod_LDFLAGS): Likewise.
44665 (_bsd_mod_SOURCES): New variable.
44666 (_bsd_mod_CFLAGS): Likewise.
44667 (_bsd_mod_LDFLAGS): Likewise.
44668 (bsd_mod_SOURCES): New variable.
44669 (bsd_mod_CFLAGS): Likewise.
44670 (bsd_mod_LDFLAGS): Likewise.
44671
44672 * include/grub/aout.h: New file.
44673
44674 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44675
44676 * include/grub/i386/bsd.h: New file.
44677
44678 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44679 to make it public.
44680
44681 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44682 function is called, so that it's possible to change it inside the hook.
44683 (grub_elf64_load): Likewise.
44684 (grub_elf_file): Don't close the file if elf header is not found.
44685 (grub_elf_close): Close the file if grub_elf_file fails (The new
44686 grub_elf_file won't close it).
44687 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44688 (grub_elf64_size): Likewise.
44689
44690 * kern/i386/loader.S (grub_unix_real_boot): New function.
44691
44692 * loader/aout.c: New file.
44693
44694 * loader/i386/bsd.c: New file.
44695
44696 * loader/i386/bsd_normal.c: New file.
44697
44698 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44699
44700 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44701 can test other formats.
d38e24c2 44702
b93bdb0f 447032008-02-19 Robert Millan <rmh@aybabtu.com>
44704
44705 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44706 (grub_gpt_partition_type_empty): Redefine with macro from
44707 `<grub/gpt_partition.h>'.
44708 (gpt_partition_map_iterate): Adjust partition type comparison.
44709
44710 Export `entry' as partmap-specific `part.data' struct.
44711 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44712
44713 * include/grub/gpt_partition.h (grub_gpt_header)
44714 (grub_gpt_partentry): ... to here (new file).
44715
44716 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44717
44718 (grub_gpt_partition_type_bios_boot): New const variable, defined
44719 with macro from `<grub/gpt_partition.h>'.
44720
44721 (setup): Replace `first_start' with `embed_region', which keeps
44722 track of the embed region (and is partmap-agnostic).
44723
44724 Replace find_first_partition_start() with find_usable_region(),
44725 which finds a usable region for embedding using partmap-specific
44726 knowledge (supports PC/MSDOS and GPT).
44727
44728 Fix all assumptions that the embed region start at sector 1, using
44729 `embed_region.start' from now on. Similarly, use `embed_region.end'
44730 rather than `first_start' to calculate available size.
44731
44732 In grub_util_info() message, replace "into after the MBR" with an
44733 indication of the specific sector our embed region starts at.
44734
66cb40f6 447352008-02-19 Robert Millan <rmh@aybabtu.com>
44736
44737 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44738 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44739 `commands/reboot.c'.
44740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44741 (halt_mod_SOURCES): Likewise.
44742 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44743 (halt_mod_SOURCES): Likewise.
44744
b7202015 447452008-02-17 Christian Franke <franke@computer.org>
44746
44747 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44748
32b0fc49 447492008-02-17 Robert Millan <rmh@aybabtu.com>
44750
44751 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44752 set `first_start' to 0 for non-PC/MSDOS partition maps.
44753
aca63502 447542008-02-16 Robert Millan <rmh@aybabtu.com>
44755
44756 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44757 do not assume partition map is PC/MSDOS before performing checks that
44758 are specific to that layout.
44759
0de8be86 447602008-02-13 Robert Millan <rmh@aybabtu.com>
44761
44762 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44763 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44764 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44765
c3db8364 447662008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44767
44768 * configure.ac: Only a cosmetic change on the handling of
44769 -fno-stack-protector.
44770
f714229e 447712008-02-12 Alexandre Boeglin <alex@boeglin.org>
44772
c3db8364 44773 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44774 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44775 reboot.c.
f714229e 44776 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44777 (halt_mod_SOURCES): New variable.
44778 (halt_mod_CFLAGS): Likewise.
44779 (halt_mod_LDFLAGS): Likewise.
44780 (reboot_mod_SOURCES): Likewise.
44781 (reboot_mod_CFLAGS): Likewise.
44782 (reboot_mod_LDFLAGS): Likewise.
44783
c3db8364 44784 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44785 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44786 reboot.c.
f714229e 44787 (halt_mod_SOURCES): Likewise.
44788 (reboot_mod_SOURCES): Likewise.
44789
c3db8364 44790 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44791 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44792 (reboot_mod_SOURCES): Likewise.
44793
44794 * commands/i386/pc/reboot.c: merge this file ...
44795
44796 * commands/ieee1275/reboot.c: ... and this file ...
44797
44798 * commands/reboot.c: ... to this file.
c3db8364 44799 Add some precompiler directive to include the correct header for
44800 each machine.
f714229e 44801
44802 * commands/ieee1275/halt.c: move this file ...
44803
44804 * commands/halt.c: ... to here.
c3db8364 44805 Add some precompiler directive to include the correct header for
44806 each machine.
f714229e 44807
44808 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44809 (grub_halt): Likewise.
44810
44811 * kern/efi/efi.c (grub_reboot): New function.
44812 (grub_halt): Likewise.
44813
c74493e0 448142008-02-12 Robert Millan <rmh@aybabtu.com>
44815
44816 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44817 /dev (like it is done for /dev/mapper). This doesn't provide support
44818 for EVMS, but at least it is now easy to identify the problem when it
44819 arises.
44820
d0db4b04 448212008-02-11 Robert Millan <rmh@aybabtu.com>
44822
44823 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44824 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44825 comparing it with -1, not 0.
44826
bf748642 448272008-02-10 Robert Millan <rmh@aybabtu.com>
44828
44829 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44830 `disk/lvm.c'.
44831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44832 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44833
44834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44835 `disk/lvm.c' to the end of the list.
44836 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44837 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44838
b5db202a 448392008-02-10 Robert Millan <rmh@aybabtu.com>
44840
44841 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44842 grub_print_error() instead. This will let user know why we're entering
44843 rescue mode.
44844 Based on suggestions from Sam Morris.
44845
83abee31 448462008-02-10 Alexandre Boeglin <alex@boeglin.org>
44847
44848 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44849 on remaining N args, instead of "--" arg N times.
44850
78d5a08b 448512008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44852
44853 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44854 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44855 pattern for unknown glyphs.
44856
68807e5f 448572008-02-09 Robert Millan <rmh@aybabtu.com>
44858
44859 * configure.ac: Probe for `help2man'.
44860 * Makefile.in (builddir): New variable.
44861 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44862 or otherwise add a few flags/options to it.
44863 (install-local): For every executable utility or script that is
44864 installed, invoke $(HELP2MAN) to install a manpage based on --help
44865 output.
44866
44867 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44868 that it doesn't prevent --help from working in build tree.
44869
44870 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44871 with `bug-grub@gnu.org'.
44872 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44873 * util/update-grub.in (usage): New function.
44874 Implement proper argument check, with support for --help and --version
44875 (as well as existing -y).
44876
448772008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44878
44879 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44880 avoid overwriting previous output.
44881 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44882
c1962162 448832008-02-09 Robert Millan <rmh@aybabtu.com>
44884
44885 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44886 drawing the menu.
44887
3dac2e3f 448882008-02-09 Robert Millan <rmh@aybabtu.com>
44889
44890 * commands/sleep.c: New file.
44891 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44892 (sleep_mod_SOURCES): New variable.
44893 (sleep_mod_CFLAGS): Likewise.
44894 (sleep_mod_LDFLAGS): Likewise.
44895
7a634e08 448962008-02-09 Robert Millan <rmh@aybabtu.com>
44897
44898 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44899 situations in which we can deduce the RAID size and the superblock
44900 doesn't match it.
44901
b92f0c18 449022008-02-09 Robert Millan <rmh@aybabtu.com>
44903
44904 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44905 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44906 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44907
44908 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44909 and return a grub_diskmemberlist_t composed of physical array members.
44910 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44911
44912 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44913 prototype.
44914 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44915 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44916 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44917
44918 * util/grub-probe.c (probe): Move partmap probing code from here ...
44919 (probe_partmap): ... to here.
44920 (probe): Use probe_partmap() once for the disk we're probing, and
44921 additionally, when such disk contains a memberlist() struct member,
44922 once for each disk that is contained in the structure returned by
44923 memberlist().
44924
91a4bf68 449252008-02-09 Robert Millan <rmh@aybabtu.com>
44926
44927 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44928 environment variable to 'all' in order to obtain debug output from
44929 non-util/ code.
44930 * util/i386/pc/grub-setup.c (main): Likewise.
44931
a96f9caa 449322008-02-08 Robert Millan <rmh@aybabtu.com>
44933
44934 * disk/raid.c (grub_raid_scan_device): Check for
44935 `array->device[sb.this_disk.number]' rather than for
44936 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44937 guaranteed to be accessible.
a96f9caa 44938
b37a9222 449392008-02-08 Robert Millan <rmh@aybabtu.com>
44940
44941 * disk/raid.c: Update copyright.
44942 * fs/cpio.c: Likewise.
44943 * include/grub/raid.h: Likewise.
44944 * loader/i386/pc/multiboot.c: Likewise.
44945 * util/hostfs.c: Likewise.
44946
5626aee1 449472008-02-08 Robert Millan <rmh@aybabtu.com>
44948
44949 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44950 to a grub_disk_t array.
44951 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44952 `device[x]'.
44953 (grub_raid_scan_device): Replace `device[x].name' accesses with
44954 `device[x]->name'. Simplify initialization of `array->device[x]'.
44955
554f0187 449562008-02-08 Robert Millan <rmh@aybabtu.com>
44957
44958 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44959 grub_dprintf() calls.
44960 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44961 error message.
44962
1ec8425d 449632008-02-07 Christian Franke <franke@computer.org>
44964
44965 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44966 instead of fseek and ftell to support large files.
44967 (grub_hostfs_read): Likewise.
44968
f2156fda 449692008-02-07 Robert Millan <rmh@aybabtu.com>
44970
44971 Patch from Jeroen Dekkers.
44972 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44973 failure, since successfully reading all array members might not be
f2156fda 44974 required.
44975
9216e0e7 449762008-02-06 Robert Millan <rmh@aybabtu.com>
44977
44978 * util/grub-probe.c (probe): Simplify partmap probing (with the
44979 assumption that the first word up to the underscore equals to
44980 the module name).
44981
b0dfd29a 449822008-02-06 Christian Franke <franke@computer.org>
44983
44984 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44985 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44986 last block of a cpio or tar stream.
44987 Check for "TRAILER!!!" instead of any empty data
44988 block to detect last block of a cpio stream.
44989 (grub_cpio_dir): Fix constness of variable np.
44990 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44991 cpio or tar trailer is detected. This fixes a crash
44992 on open of a non existing file.
44993
c32865bf 449942008-02-05 Bean <bean123ch@gmail.com>
44995
44996 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44997 address of entry.
44998 (grub_multiboot_load_elf64): Likewise.
44999 (grub_multiboot): Initialize mbi structure.
45000
45001 * util/grub-fstest.c: Don't include unused header file script.h.
45002
fe6b695a 45003 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 45004 of file.
45005 (grub_fstest_SOURCES): Likewise.
45006
409480b7 450072008-02-05 Robert Millan <rmh@aybabtu.com>
45008
45009 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45010 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45011 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45012 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45013
45014 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45015 (translation_table): Replace hardcoded values with macros
45016 provided by `<grub/term.h>'.
45017
45018 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45019 (keyboard_map): Correct/add a few values, with macros provided
45020 by `<grub/term.h>'.
45021 (keyboard_map_shift): Zero values that don't differ from their
45022 `keyboard_map' equivalents.
45023 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45024 Discard the second scan code that is always sent by Caps lock.
45025 Only use `keyboard_map_shift' when it provides a non-zero value,
45026 otherwise fallback to `keyboard_map'.
45027
99fadbaa 450282008-02-04 Bean <bean123ch@gmail.com>
45029
45030 * Makefile.in (enable_grub_fstest): New variable.
45031
45032 * conf/common.rmk (grub_fstest_init.lst): New rule.
45033 (grub_fstest_init.h): Likewise.
45034 (grub_fstest_init.c): Likewise.
45035 (util/grub-fstest.c_DEPENDENCIES): New variable.
45036 (grub_fstest_SOURCES): Likewise.
45037
45038 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45039
45040 * util/grub-fstest.c: New file.
45041
bf567c50 450422008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45043
45044 Make grub-setup handle a separate root device.
f19dbdb7 45045
bf567c50 45046 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45047 so that the root device can be compared with the destination
45048 device.
45049 When embedding the core image, if the root and destination devices
45050 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45051 0xFF.
45052 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 45053
9be6b98b 450542008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45055
45056 Add support for having a grub directory in a different drive. This
45057 is still only the data handling part.
f19dbdb7 45058
9be6b98b 45059 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45060 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45061 (grub_root_drive): New variable.
45062
45063 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45064 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45065 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45066 as it was.
45067
45068 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45069
45070 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45071 macro.
45072 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45073
45074 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45075 is bogus, because PXE booting does not specify any drive
45076 correctly.
45077
45078 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45079 am not sure if this is really correct.
45080
45081 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45082 is always identical to the boot drive when booting from a CD.
45083
45084 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45085 longer.
45086 (root_drive): New variable.
45087 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45088 (setup_sectors): Push %dx right after popping it, because %dh will
45089 be modified later.
45090 (copy_buffer): Restore %dx.
45091
e0ca0677 450922008-02-03 Robert Millan <rmh@aybabtu.com>
45093
45094 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45095 use `cdboot.img' for cdrom images.
45096
3b3f6629 450972008-02-03 Robert Millan <rmh@aybabtu.com>
45098
45099 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45100 only setup gfxterm when `font' command has succeeded.
45101
d42b3672 451022008-02-03 Robert Millan <rmh@aybabtu.com>
45103
45104 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45105 (grub_rescue_cmd_multiboot_loader)
45106 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45107
fa370ea6 451082008-02-03 Pavel Roskin <proski@gnu.org>
45109
e0c5dacb 45110 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 45111 %edx and %esi from stack only after grub_gate_a20() is called.
45112 grub_gate_a20() clobbers %edx.
45113
f2a76e1d 451142008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45115
45116 * configure.ac (AC_INIT): Bumped to 1.96.
45117
45118 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45119 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45120 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45121 video/readers/png.c.
45122
90fd32d1 451232008-02-03 Bean <bean123ch@gmail.com>
9be665dd 45124
45125 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45126 (cdboot_img_SOURCES): New variable.
45127 (cdboot_img_ASFLAGS): New variable.
45128 (cdboot_img_LDFLAGS): New variable.
45129
45130 * boot/i386/pc/cdboot.S: New file.
45131
45132 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45133 (cd_count): Likewise.
45134 (grub_biosdisk_get_drive): Add support for cd device.
45135 (grub_biosdisk_call_hook): Likewise.
45136 (grub_biosdisk_iterate): Likewise.
45137 (grub_biosdisk_open): Likewise.
45138 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45139 (grub_biosdisk_rw): Support reading from cd device.
45140 (GRUB_MOD_INIT): Iterate cd devices.
45141
45142 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45143 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45144 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45145
45146 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45147
4020aa53 451482008-02-02 Robert Millan <rmh@aybabtu.com>
45149
45150 * commands/read.c: New file.
45151 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45152 (read_mod_SOURCES): New variable.
45153 (read_mod_CFLAGS): Likewise.
45154 (read_mod_LDFLAGS): Likewise.
45155
e03a1132 451562008-02-02 Robert Millan <rmh@aybabtu.com>
45157
45158 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45159 determining whether menu has to be displayed.
45160
58c69220 451612008-02-02 Marco Gerards <marco@gnu.org>
45162
45163 * bus/pci.c: New file.
45164
45165 * include/grub/pci.h: Likewise.
45166
45167 * include/grub/i386/pc/pci.h: Likewise.
45168
45169 * commands/lspci.c: Likewise.
45170
45171 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45172 `lspci.mod'.
45173 (pci_mod_SOURCES): New variable.
45174 (pci_mod_CFLAGS): Likewise.
45175 (pci_mod_LDFLAGS): Likewise.
45176 (lspci_mod_SOURCES): Likewise.
45177 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 45178 (lspci_mod_LDFLAGS): Likewise.
58c69220 45179
c004e1b4 451802008-02-02 Bean <bean123ch@gmail.com>
45181
45182 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45183 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45184
45185 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45186 (grub_xfs_btree_node): New structure.
45187 (grub_xfs_btree_root): New structure.
45188 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45189 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45190 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45191 (GRUB_XFS_EXTENT_SIZE): Likewise.
45192 (grub_xfs_read_block): Support btree format type.
45193 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45194 Use directory block as basic unit.
45195
45196 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45197
45198 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45199 __attribute__ ((__regparm__ (1))).
45200
f95562bf 452012008-02-01 Robert Millan <rmh@aybabtu.com>
45202
45203 Correct a mistake in previous commit.
45204
45205 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45206 top.
45207 (normal/command.c_DEPENDENCIES): New variable.
45208
7d31f41f 452092008-02-01 Robert Millan <rmh@aybabtu.com>
45210
45211 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45212 top.
45213 (normal/command.c_DEPENDENCIES): New variable.
45214 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45215 * conf/i386-ieee1275.rmk: Likewise.
45216 * conf/i386-linuxbios.rmk: Likewise.
45217 * conf/i386-pc.rmk: Likewise.
45218 * conf/sparc64-ieee1275.rmk: Likewise.
45219 * conf/powerpc-ieee1275.rmk: Likewise.
45220 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45221
45222 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45223
60b6be74 452242008-02-01 Robert Millan <rmh@aybabtu.com>
45225
45226 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45227 call at beginning of function.
45228
078522ab 452292008-01-31 Pavel Roskin <proski@gnu.org>
45230
45231 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 45232 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45233 (grub_mkrescue_SOURCES): Likewise.
078522ab 45234 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45235
ccaa8a5f 452362008-01-30 Robert Millan <rmh@aybabtu.com>
45237
45238 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45239 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45240 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45241 (grub_probe_SOURCES): ... to here.
45242
45243 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45244 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45245 * conf/i386-ieee1275.rmk: Likewise.
45246 * conf/i386-linuxbios.rmk: Likewise.
45247 * conf/powerpc-ieee1275.rmk: Likewise.
45248
ae5a9cd7 452492008-01-30 Tristan Gingold <gingold@free.fr>
45250
45251 * kern/rescue.c: Silently accept empty lines.
45252
70bc2ef2 452532008-01-29 Bean <bean123ch@gmail.com>
45254
45255 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45256 (real_code_2): Code cleanup and change comment style.
45257 (move_memory): Avoid using 32-bit address mode.
45258
6a4d50ea 452592008-01-29 Bean <bean123ch@gmail.com>
45260
45261 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45262 (png_mod_SOURCES): New variable.
45263 (png_mod_CFLAGS): Likewise.
45264 (png_mod_LDFLAGS): Likewise.
45265
45266 * video/readers/png.c: New file.
45267
11cc30ac 452682008-01-28 Robert Millan <rmh@aybabtu.com>
45269
45270 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45271 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45272 `ifndef GRUB_MOD_GAP' hack.
45273 * util/elf/grub-mkimage.c (add_segments): Likewise.
45274
3abc589f 452752008-01-27 Robert Millan <rmh@aybabtu.com>
45276
45277 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45278 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 45279 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 45280
e1907778 452812008-01-27 Robert Millan <rmh@aybabtu.com>
45282
45283 Get grub-emu to build again (including parallel builds).
45284
45285 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45286 Split into ...
45287 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45288 (normal/execute.c_DEPENDENCIES): ... this, ...
45289 (grub-emu_DEPENDENCIES): ... and this.
45290
45291 * conf/i386-efi.rmk: Likewise.
45292 * conf/i386-linuxbios.rmk: Likewise.
45293 * conf/i386-ieee1275.rmk: Likewise.
45294 * conf/powerpc-ieee1275.rmk: Likewise.
45295 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45296
2216b101 452972008-01-27 Robert Millan <rmh@aybabtu.com>
45298
45299 * NEWS: Add a few items.
45300
f75172d9 453012008-01-27 Robert Millan <rmh@aybabtu.com>
45302
45303 Fix parallel builds with grub-emu. Based on earlier commit for
45304 grub-probe and grub-setup.
45305
45306 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45307 (util/grub-emu.c_DEPENDENCIES): ... this.
45308 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45309 (util/grub-emu.c_DEPENDENCIES): ... this.
45310 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45311 (util/grub-emu.c_DEPENDENCIES): ... this.
45312 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45313 (util/grub-emu.c_DEPENDENCIES): ... this.
45314 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45315 (util/grub-emu.c_DEPENDENCIES): ... this.
45316
3f51de77 453172008-01-27 Pavel Roskin <proski@gnu.org>
45318
45319 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45320 to create a gap between _end and the modules added to the image
45321 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45322 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45323 * util/elf/grub-mkimage.c (add_segments): Likewise.
45324
2033f53e 453252008-01-26 Pavel Roskin <proski@gnu.org>
45326
45327 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
45328 just return an error.
45329
22da1f6f 453302008-01-26 Bean <bean123ch@gmail.com>
45331
45332 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
45333 (grub_reiserfs_get_item): Save offset of the next item.
45334 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
45335
2a9525e6 453362008-01-25 Robert Millan <rmh@aybabtu.com>
45337
45338 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45339 make all filesystem sources appear together (possibly fixing omissions
45340 while at it).
45341 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45342 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45343 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45345
45346 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45347 add `kern/file.c'.
45348 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45349 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45350 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45351 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45352
45353 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45354 (probe): Add a sanity check to make sure of our ability to read
45355 requested files when probing for filesystem type.
45356
45357 * genmk.rb: Update copyright year (2007).
45358
45359 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
45360 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
45361 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
45362 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
45363 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
45364 : Remove function prototypes.
45365
b95f71b5 453662008-01-25 Robert Millan <rmh@aybabtu.com>
45367
45368 Revert my previous commits (based on wrong assumption of how grub_errno
45369 works).
45370
fe6b695a 45371 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 45372 * kern/file.c (grub_file_open): Likewise.
45373
d08bbb49 453742008-01-24 Pavel Roskin <proski@gnu.org>
45375
45376 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
45377 that hang if GRUB tries to setup colors.
45378 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
45379 colors for firmwares that don't support it.
45380 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
45381 Recognize Open Hack'Ware, set flags to work around its
45382 limitations.
45383
605e36ed 453842008-01-24 Robert Millan <rmh@aybabtu.com>
45385
45386 * kern/file.c (grub_file_open): Do not account previous failures of
45387 unrelated functions when grub_errno is checked for.
45388 Reported by Oleg Strikov.
45389
bac332a1 453902008-01-24 Bean <bean123ch@gmail.com>
45391
45392 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
45393 (grub_ufs_sblock): New member volume name.
45394 (grub_ufs_find_file): Fix string copy bug.
45395 (grub_ufs_label): Implement this function properly.
45396
45397 * fs/hfs.c (grub_hfs_cnid_type): New enum.
45398 (grub_hfs_iterate_records): Use the correct file number for extents
45399 and catalog file. Fix problem in next index calculation.
45400 (grub_hfs_find_node): Replace recursive function call with loop.
45401 (grub_hfs_iterate_dir): Replace recursive function call with loop.
45402
15c80c09 454032008-01-23 Robert Millan <rmh@aybabtu.com>
45404
45405 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
45406 `<grub/symbol.h>' and `<grub/multiboot.h>'.
45407 (grub_multiboot2_real_boot): New function prototype.
45408
45409 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
45410 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
45411
45412 * kern/i386/ieee1275/init.c (grub_os_area_addr)
45413 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
45414
305338fd 454152008-01-23 Robert Millan <rmh@aybabtu.com>
45416
45417 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
45418 #ifdef'ed out grub_printf().
45419
3ea52685 454202008-01-23 Robert Millan <rmh@aybabtu.com>
45421
45422 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
45423 grub_dprintf calls, since they make "debug=all" mode unusable.
45424 (grub_console_checkkey): Likewise.
45425
5882ae4b 454262008-01-23 Robert Millan <rmh@aybabtu.com>
45427
45428 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
45429 `term/i386/pc/at_keyboard.c'.
45430 (pkglib_MODULES): Add `serial.mod'.
45431 (serial_mod_SOURCES): New variable.
45432 (serial_mod_CFLAGS): Likewise.
45433 (serial_mod_LDFLAGS): Likewise.
45434
45435 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
45436 `<grub/powerpc/ieee1275/console.h>'.
45437 (grub_keyboard_controller_init): New function prototype.
45438 (grub_console_checkkey): Likewise.
45439 (grub_console_getkey): Likewise.
45440
45441 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
45442 keyboard on i386.
45443
45444 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
45445 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45446
06ab5303 454472008-01-23 Robert Millan <rmh@aybabtu.com>
45448
45449 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45450 present, "(memdisk)/boot/grub" becomes the default prefix.
45451
45452 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45453 a memdisk tarball with all the modules. Add --overlay=DIR option that
45454 allows users to overlay additional files into the image.
45455
dbb475a4 454562008-01-23 Robert Millan <rmh@aybabtu.com>
45457
45458 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45459 and `machine/memory.h'.
45460 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45461 (_multiboot_mod_SOURCES): New variable.
45462 (_multiboot_mod_CFLAGS): Likewise.
45463 (_multiboot_mod_LDFLAGS): Likewise.
45464 (multiboot_mod_SOURCES): Likewise.
45465 (multiboot_mod_CFLAGS): Likewise.
45466 (multiboot_mod_LDFLAGS): Likewise.
45467
45468 * include/grub/i386/ieee1275/loader.h: New file.
45469
45470 * include/grub/i386/ieee1275/machine.h: Likewise.
45471
45472 * include/grub/i386/ieee1275/memory.h: Likewise.
45473
45474 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45475 variable declaration.
45476 (grub_os_area_size): Likewise.
45477
45478 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45479 (grub_lower_mem, grub_upper_mem): New variables.
45480 (grub_stop_floppy): New function (just to make
45481 grub_multiboot2_real_boot() happy).
45482
45483 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45484 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45485 (grub_stop): New function.
45486 Include `"../realmode.S"' and `"../loader.S"'.
45487
45488 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45489 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45490
45491 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45492 rely on grub_multiboot2_real_boot() for final boot.
45493
25638629 454942008-01-22 Robert Millan <rmh@aybabtu.com>
45495
45496 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45497 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45498 device that doesn't look like an SD card.
45499 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45500 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45501 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45502 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45503 found.
45504
9dad816d 455052008-01-22 Robert Millan <rmh@aybabtu.com>
45506
45507 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45508 avoid claiming over our own code.
45509
34842f2d 455102008-01-22 Bean <bean123ch@gmail.com>
45511
45512 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45513 (jpeg_mod_SOURCES): New variable.
45514 (jpeg_mod_CFLAGS): Likewise.
45515 (jpeg_mod_LDFLAGS): Likewise.
45516
45517 * video/readers/jpeg.c : New file.
45518
44023a28 455192008-01-22 Bean <bean123ch@gmail.com>
45520
45521 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45522 there are no more items.
45523
bc2d8ac6 455242008-01-21 Robert Millan <rmh@aybabtu.com>
45525
45526 * kern/mm.c (grub_mm_init_region): Improve debug message.
45527
261bd4bc 455282008-01-21 Robert Millan <rmh@aybabtu.com>
45529
45530 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45531 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45532 address.
45533 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45534 a C macro.
45535 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45536 Indicates start of upper memory.
45537 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45538 (generate_image): Abort when image size is big enough to corrupt
45539 upper memory.
45540
45541 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45542 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45543 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45544 instead of hardcoding 0xA0000.
45545 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45546 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45547 instead of hardcoding 0xA0000.
45548
f970b55e 455492008-01-21 Robert Millan <rmh@aybabtu.com>
45550
45551 * disk/memdisk.c (memdisk_size): New variable.
45552 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45553 `memdisk_size'.
45554 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45555 image to dynamic memory.
45556 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45557 `memdisk_size'. Free memdisk block.
45558
1a8b0526 455592008-01-21 Robert Millan <rmh@aybabtu.com>
45560
45561 Fix detection of very small filesystems (like tar).
45562
45563 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45564 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45565 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45566 a problem with this disk).
45567
6e9b4aab 455682008-01-21 Robert Millan <rmh@aybabtu.com>
45569
45570 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45571 on grub_biosdisk_rw_standard() error.
45572
0d8837b2 455732008-01-21 Robert Millan <rmh@aybabtu.com>
45574
45575 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45576 recent changes.
45577 * kern/elf.c: Likewise.
45578 * kern/ieee1275/ieee1275.c: Likewise.
45579 * kern/powerpc/ieee1275/openfw.c: Likewise.
45580 * term/ieee1275/ofconsole.c: Likewise.
45581
ffd36e34 455822008-01-21 Robert Millan <rmh@aybabtu.com>
45583
45584 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45585
3f0093d0 45586 * include/grub/kernel.h (grub_arch_memdisk_addr)
45587 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45588
3f0093d0 45589 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45590 (grub_arch_memdisk_size): ... to here.
ffd36e34 45591
6c391b21 455922008-01-21 Robert Millan <rmh@aybabtu.com>
45593
45594 Mostly based on bugfix from Bean.
45595
45596 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45597 attribute with hook() parameter.
45598 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45599 declaration.
45600 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45601 attribute with hook() parameter.
45602 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45603 declaration.
45604
55a581dc 456052008-01-21 Robert Millan <rmh@aybabtu.com>
45606
45607 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45608 (pkglib_MODULES): Add `memdisk.mod'.
45609 (memdisk_mod_SOURCES): New variable.
45610 (memdisk_mod_CFLAGS): Likewise.
45611 (memdisk_mod_LDFLAGS): Likewise.
45612
45613 * disk/memdisk.c: New file.
45614
45615 * include/grub/disk.h (grub_disk_dev_id): Add
45616 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45617
45618 * include/grub/i386/pc/kernel.h
45619 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45620 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45621 (grub_kernel_image_size): New variable declaration.
45622 (grub_total_module_size): Likewise.
45623 (grub_memdisk_image_size): Likewise.
45624
45625 * include/grub/i386/pc/memory.h
45626 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45627
45628 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45629 (grub_arch_memdisk_addr): New variable declaration.
45630 (grub_arch_memdisk_size): Likewise.
45631
45632 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45633 (grub_arch_memdisk_size): Likewise.
45634
45635 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45636 (codestart): Replace hardcoded `0x100000' with
45637 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45638
45639 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45640 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45641 not NULL, append the contents of the file it refers to, at the end of
45642 the compressed kernel image. Initialize `grub_memdisk_image_size'
45643 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45644 (options): Add "memdisk"|'m' option.
45645 (main): Parse --memdisk|-m option, and pass user-provided path as
45646 parameter to generate_image().
45647
3d7f54c9 456482008-01-20 Robert Millan <rmh@aybabtu.com>
45649
45650 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45651 grub_dprintf() calls from here ...
45652 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45653
0bf74728 456542008-01-20 Robert Millan <rmh@aybabtu.com>
45655
45656 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45657
45658 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45659 declaration.
45660 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45661 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45662 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45663 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45664 property).
45665 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45666 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45667
33bf70a7 456682008-01-19 Robert Millan <rmh@aybabtu.com>
45669
fe6b695a 45670 Get rid of confusing function (superseded by
33bf70a7 45671 `grub_ieee1275_get_integer_property')
45672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45673 prototype.
45674 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45675 function.
45676 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45677 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45678 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45679
e2da7d26 456802008-01-19 Robert Millan <rmh@aybabtu.com>
45681
45682 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45683 command after "shut-down", since implementations differ on which
45684 the command for halt is.
45685
59f1fd8d 456862008-01-19 Robert Millan <rmh@aybabtu.com>
45687
45688 * include/grub/i386/linuxbios/console.h: Add header protection.
45689 (grub_keyboard_controller_init): New function prototype.
45690 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45691 (KEYBOARD_COMMAND_READ): Likewise.
45692 (KEYBOARD_COMMAND_WRITE): Likewise.
45693 (KEYBOARD_SCANCODE_SET1): Likewise.
45694 (grub_keyboard_controller_write): New function.
45695 (grub_keyboard_controller_read): Likewise.
45696 (grub_keyboard_controller_init): Likewise.
45697
45698 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45699 (grub_console_init): On coreboot/LinuxBIOS, call
45700 grub_keyboard_controller_init().
45701
5f5a7c15 457022008-01-19 Robert Millan <rmh@aybabtu.com>
45703
45704 PowerPC changes provided by Pavel Roskin.
45705
45706 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45707 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45708 don't rely on cmain() doing it.
45709 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45710 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45711
1210e168 457122008-01-16 Robert Millan <rmh@aybabtu.com>
45713
45714 * include/grub/i386/linuxbios/memory.h
45715 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45716 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45717 receive `table_header' as argument. Instead, probe for it in the
45718 known memory ranges where it can be present.
45719 (grub_available_iterate): Do not pass a fixed `table_header' address
45720 to grub_linuxbios_table_iterate().
45721
3d04eab8 457222008-01-15 Robert Millan <rmh@aybabtu.com>
45723
45724 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45725 * conf/i386-ieee1275.rmk: New file.
45726 * include/grub/i386/ieee1275/console.h: Likewise.
45727 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45728 * include/grub/i386/ieee1275/kernel.h: Likewise.
45729 * include/grub/i386/ieee1275/time.h: Likewise.
45730 * kern/i386/ieee1275/init.c: Likewise.
45731 * kern/i386/ieee1275/startup.S: Likewise.
45732
d1bc1b73 457332008-01-15 Robert Millan <rmh@aybabtu.com>
45734
45735 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45736 when pointers are 32-bit (but still do set it to one when they are
45737 64-bit).
45738
66a65807 457392008-01-15 Robert Millan <rmh@aybabtu.com>
45740
45741 * include/grub/ieee1275/ieee1275.h
45742 (grub_ieee1275_get_integer_property): New function prototype.
45743
45744 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45745 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45746 grub_ieee1275_get_property() to handle endianness.
66a65807 45747
45748 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45749 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45750 where appropriate.
66a65807 45751 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45752 (grub_map): Likewise.
45753 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45754
a83ccafd 457552008-01-15 Bean <bean123ch@gmail.com>
45756
45757 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45758 (grub_script_execute_cmdline): Reset grub_errno.
45759
45760 * normal/main.c (read_config_file): Reset grub_errno.
45761
45762 * normal/parse.y (script_init): New.
45763 (script): Move function and menuentry here.
45764 (delimiter): New.
45765 (command): Add delimiter at the end of command.
45766 (commands): Adjust to match the new command.
45767 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45768 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45769 (if): Use the new commands.
45770
45771 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45772
df6ecfc6 457732008-01-15 Robert Millan <rmh@aybabtu.com>
45774
45775 * normal/menu.c (run_menu): Move timeout message from here ...
45776 (print_timeout): ... to here.
45777 (run_menu): Use print_timeout() once during initial draw to print
45778 the whole message, and again in every clock tick to update only
45779 the number of seconds.
45780
87ae25eb 457812008-01-15 Robert Millan <rmh@aybabtu.com>
45782
45783 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45784 actual size of `available' from grub_ieee1275_get_property(), and
45785 restrict parsing to that bound.
45786
47bf09a4 457872008-01-15 Christian Franke <franke@computer.org>
45788
45789 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45790 (argp_program_version): Remove variable.
45791 (argp_program_bug_address): Likewise.
45792 (options): Convert from struct argp_option to struct option.
45793 (struct arguments): Remove.
45794 (parse_opt): Remove.
45795 (usage): New function.
45796 (main): Replace struct args members by simple variables.
45797 Replace argp_parse() by getopt_long().
45798 Add switch to evaluate options.
45799 Add missing "(...)" around root_dev in prefix string.
45800
c86f1469 458012008-01-14 Robert Millan <rmh@aybabtu.com>
45802
45803 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45804 for grub_ieee1275_exit(), in order to improve portability.
45805
e622c559 458062008-01-14 Robert Millan <rmh@aybabtu.com>
45807
45808 * util/grub.d/10_linux.in (prefix): Define.
45809 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45810
44cb1ec8 458112008-01-13 Pavel Roskin <proski@gnu.org>
45812
45813 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45814 grub_errno if no errors have been detected.
45815
1eb8c802 458162008-01-12 Robert Millan <rmh@aybabtu.com>
45817
45818 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45819 (grub_util_get_dev_abstraction): New function prototype.
45820
45821 * util/getroot.c: Include `<grub/util/getroot.h>'
45822 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45823 (grub_util_get_dev_abstraction): ... here (new function).
45824
45825 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45826 `PRINT_ABSTRACTION'.
45827 (probe): Probe for abstraction type when requested.
45828 (main): Understand `--target=abstraction'.
45829
45830 * util/i386/efi/grub-install.in: Add abstraction module to core
45831 image when it is found to be necessary.
45832 * util/i386/pc/grub-install.in: Likewise.
45833 * util/powerpc/ieee1275/grub-install.in: Likewise.
45834
45835 * util/update-grub_lib.in (font_path): Return system path without
45836 converting to GRUB path.
45837 * util/update-grub.in: Convert system path returned by font_path()
45838 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45839 abstraction module is needed for loading fonts (if any). Export
45840 that as `GRUB_PRELOAD_MODULES'.
45841 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45842 insmod commands).
45843
52bd3de9 458442008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45845
45846 Remove some unused code from reiserfs.
f19dbdb7 45847
52bd3de9 45848 * fs/reiserfs.c (struct grub_reiserfs_key)
45849 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45850 (struct grub_reiserfs_node_body): Removed.
45851 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45852 Likewise.
45853 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45854 Likewise.
45855 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45856 Likewise.
45857 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45858 Likewise.
45859 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45860 Likewise.
45861 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45862 Likewise.
45863 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45864 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45865 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45866
2f80039d 458672008-01-10 Robert Millan <rmh@aybabtu.com>
45868
45869 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45870 Determines if a file is garbage left by packaging systems, etc.
45871 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45872 for processing /etc/grub.d scripts.
45873 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45874 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45875 as a condition for processing Linux images.
45876
87888032 458772008-01-10 Pavel Roskin <proski@gnu.org>
45878
45879 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45880 to compile reiserfs.c on PowerPC.
45881
7e54fced 458822008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45883
45884 * kern/device.c (grub_device_iterate): Do not abort device iteration
45885 when one of the devices cannot be opened.
45886 * kern/disk.c (grub_disk_open): Do not account previous failures of
45887 unrelated functions when grub_errno is checked for.
45888
5aa541e6 458892008-01-08 Robert Millan <rmh@aybabtu.com>
45890
45891 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45892 `! grub_linux_is_bzimage', change order of address comparison to make
45893 it more intuitive, and improve "too big zImage" error message.
45894
7076340d 458952008-01-08 Robert Millan <rmh@aybabtu.com>
45896
45897 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45898 `$(update-grub_DATA)'.
45899 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45900 targets.
45901
9ca70333 459022008-01-07 Robert Millan <rmh@aybabtu.com>
45903
45904 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45905 which instruction is modified by grub-setup during installation
45906 (since it wasn't obvious by only looking at this file).
45907
38ccf575 459082008-01-07 Robert Millan <rmh@aybabtu.com>
45909
45910 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45911 listing actual TODO items.
45912
f5db4291 459132008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45914
868967cf 45915 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45916 correctly.
45917 (grub_reiserfs_get_key_offset): Likewise.
45918 (grub_reiserfs_set_key_offset): Likewise.
45919 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45920 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45921
45922 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45923 better to remove the bitfield version completely.
f19dbdb7 45924
868967cf 459252008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45926
f5db4291 45927 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45928 allocated from the heap, due to the fshelp implementation.
45929 (grub_reiserfs_dir): Free NODE, due to the same reason.
45930
492e6d9d 459312008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45932
45933 Mostly from Vincent Pelletier:
f19dbdb7 45934
492e6d9d 45935 * fs/reiserfs.c: New file.
f19dbdb7 45936
492e6d9d 45937 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45938 (reiserfs_mod_SOURCES): New variable.
45939 (reiserfs_mod_CFLAGS): Likewise.
45940 (reiserfs_mod_LDFLAGS): Likewise.
45941
45942 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45943 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45944 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45945 normal/color.c.
45946
9ce3e7c1 459472008-01-06 Robert Millan <rmh@aybabtu.com>
45948
45949 * normal/color.c: Remove `<grub/env.h>'.
45950
f3b58148 459512008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45952
45953 * include/grub/normal.h: Include <grub/env.h>.
45954
7ac3bcfa 459552008-01-05 Robert Millan <rmh@aybabtu.com>
45956
45957 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45958 usage example with `(hd0,1)'.
fb358190 45959 Reported by Samuel Thibault.
7ac3bcfa 45960
c8ee99d7 459612008-01-05 Robert Millan <rmh@aybabtu.com>
45962
45963 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45964 (grub_linux_boot_zimage): Rename to ...
45965 (grub_linux_boot): ... this.
45966 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45967 (grub_linux_boot_zimage): Conditionalize zImage copy.
45968
45969 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45970 (grub_linux_boot_bzimage): Remove prototype.
45971 (grub_linux_boot_zimage): Rename to ...
45972 (grub_linux_boot): ... this.
45973
45974 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45975 (grub_linux_boot): Remove function.
45976
0ece25b1 459772008-01-05 Robert Millan <rmh@aybabtu.com>
45978
45979 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45980 (grub_env_write_color_highlight): Likewise.
45981 (grub_wait_after_message): Likewise.
45982
45983 * normal/color.c: New file.
45984
45985 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45986 (normal_mod_DEPENDENCIES): Likewise.
45987
45988 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45989 (normal_mod_DEPENDENCIES): Likewise.
45990
45991 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45992 (normal_mod_DEPENDENCIES): Likewise.
45993
45994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45995 (normal_mod_DEPENDENCIES): Likewise.
45996
45997 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45998 for waiting after a message is printed.
45999 * normal/main.c (read_config_file): Likewise.
46000 (grub_normal_init): Register grub_env_write_color_normal() and
46001 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46002 `color_highlight' variables as global.
46003
46004 * normal/menu.c (grub_wait_after_message): New function.
46005 (grub_color_menu_normal): New variable. Replaces ...
46006 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46007 (grub_color_menu_highlight): New variable. Replaces ...
46008 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46009 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46010 `GRUB_TERM_COLOR_STANDARD'.
46011 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46012 `normal_code' and `highlight_code' to `old_color_normal' and
46013 `old_color_highlight', respectively.
46014 (grub_menu_init_page): Update colors when drawing the menu, based on
46015 `menu_color_normal' and `menu_color_highlight' variables.
46016 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46017 a message is printed.
46018
182dd4e5 460192008-01-05 Robert Millan <rmh@aybabtu.com>
46020
46021 * kern/env.c (grub_env_context_open): Propagate hooks for global
46022 variables to new context.
46023
46024 * kern/main.c (grub_set_root_dev): Export `root' variable.
46025
ddf8f6ad 460262008-01-05 Robert Millan <rmh@aybabtu.com>
46027
46028 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 46029 discs unconditionally, since udev and others have options to provide
ddf8f6ad 46030 them.
46031
d8b43d9b 460322008-01-05 Robert Millan <rmh@aybabtu.com>
46033
46034 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46035
2bff2de3 460362008-01-04 Christian Franke <franke@computer.org>
46037
46038 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46039 of eisa_mmap.
46040
97eab917 460412008-01-03 Pavel Roskin <proski@gnu.org>
46042
46043 * kern/i386/linuxbios/init.c: Put "void" to all function
46044 declarations with no arguments.
46045 * kern/powerpc/ieee1275/init.c: Likewise.
46046 * term/i386/pc/at_keyboard.c: Likewise.
46047 * term/i386/pc/vga_text.c: Likewise.
46048 * util/grub-mkdevicemap.c: Likewise.
46049
b9416d00 460502008-01-02 Robert Millan <rmh@aybabtu.com>
46051
46052 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46053 message when loaded image is out of bounds.
46054 (grub_multiboot_load_elf64): Likewise.
46055
92695df9 460562008-01-02 Pavel Roskin <proski@gnu.org>
46057
46058 * util/grub.d/10_linux.in: Try version without ".old" when
46059 looking for initrd. It's better to use initrd from the newer
46060 kernel of the same version than no initrd at all.
46061
d98d9cad 460622008-01-01 Robert Millan <rmh@aybabtu.com>
46063
46064 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46065
dbfdce36 460662008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46067
f19dbdb7 46068 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 46069 grub_video_get_active_render_target.
46070 (grub_video_adapter): Added unmap_color and get_active_render_target.
46071
f19dbdb7 46072 * video/video.c: Added grub_video_unmap_color and
dbfdce36 46073 grub_video_get_active_render_target.
46074 (grub_video_get_info): Changed method to accept NULL pointer as an
46075 argument to allow detection of active video adapter.
46076
46077 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46078 grub_video_vbe_unmap_color_int.
46079 Added grub_video_vbe_unmap_color and
46080 grub_video_vbe_get_active_render_target.
46081 (grub_video_vbe_adapter): Added unmap_color and
46082 get_active_render_target.
46083
f19dbdb7 46084 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 46085 with grub_video_vbe_unmap_color_int.
46086
46087 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46088 (DEFAULT_NORMAL_COLOR): Likewise.
46089 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46090 (DEFAULT_FG_COLOR): Removed.
46091 (DEFAULT_BG_COLOR): Likewise.
46092 (DEFAULT_CURSOR_COLOR): Changed value.
46093 (grub_virtual_screen): Added standard_color_setting,
46094 normal_color_setting, highlight_color_setting and term_color.
46095 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46096 (bitmap_width): Added.
46097 (bitmap_height): Likewise.
46098 (bitmap): Likewise.
46099 (set_term_color): Likewise.
46100 (grub_virtual_screen_setup): Changed to use new terminal coloring
46101 settings.
46102 (grub_gfxterm_init): Added init for bitmap.
46103 (grub_gfxterm_fini): Added destroy for bitmap.
46104 (redraw_screen_rect): Updated to use background bitmap and new
46105 terminal coloring.
46106 (scroll_up): Added optimization for case when there is no bitmap.
46107 (grub_gfxterm_cls): Fixed to use correct background color.
46108 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46109 coloring.
46110 (grub_virtual_screen_setcolor): Likewise.
46111 (grub_virtual_screen_getcolor): Added.
46112 (grub_gfxterm_background_image_cmd): Likewise.
46113 (grub_video_term): Added setcolor and getcolor.
46114 (MOD_INIT): Added registration of background_image command.
46115 (MOD_TERM): Added unregistration for background_image command.
46116
c3c20931 461172007-12-30 Pavel Roskin <proski@gnu.org>
46118
46119 * loader/multiboot_loader.c: Fix multiboot command
46120 unregistration. Fix all typos in the word "multiboot".
46121
df266716 461222007-12-29 Pavel Roskin <proski@gnu.org>
94239199 46123
46124 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46125 support for initrd names used in Fedora.
46126
fc6e896c 461272007-12-26 Bean <bean123ch@gmail.com>
46128
46129 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46130 (cpio_mod_SOURCES): New variable.
46131 (cpio_mod_CFLAGS): Likewise.
46132 (cpio_mod_LDFLAGS): Likewise.
46133
46134 * fs/cpio.c: New file.
46135
46136 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46137
46138 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46139
46140 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46141
46142 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46143
533110ad 461442007-12-25 Robert Millan <rmh@aybabtu.com>
46145
46146 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46147 (grub_getcolor): New function.
46148
46149 * kern/term.c (grub_getcolor): New function.
46150 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46151 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46152 (print_entry): Set normal and highlight colors to
46153 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46154 respectively, before printing and restore them to old
46155 values afterwards.
46156 (grub_menu_init_page): Likewise. Fill an additional colored space
46157 that would otherwise be left blank.
46158
46159 * term/efi/console.c (grub_console_getcolor): New function.
46160 (struct grub_console_term.getcolor): New variable.
46161 * term/i386/pc/console.c (grub_console_getcolor): New function.
46162 (struct grub_console_term.getcolor): New variable.
46163 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46164 (struct grub_console_term.getcolor): New variable.
46165
46166 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46167 (struct grub_console_term.setcolor): Remove variable.
46168 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46169 (struct grub_console_term.setcolor): Remove variable.
46170 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46171 (struct grub_console_term.setcolor): Remove variable.
46172 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46173 (struct grub_console_term.setcolor): Remove variable.
46174
4931827f 461752007-12-25 Robert Millan <rmh@aybabtu.com>
46176
46177 * configure.ac: Search for possible unifont.hex locations, and
46178 define UNIFONT_HEX if found.
46179
46180 * Makefile.in (UNIFONT_HEX): Define variable.
46181 (DATA): Rename to ...
46182 (PKGLIB): ... this. Update all users.
46183 (PKGDATA): New variable.
46184 (pkgdata_IMAGES): Rename to ...
46185 (pkglib_IMAGES): ... this. Update all users.
46186 (pkgdata_MODULES): Rename to ...
46187 (pkglib_MODULES): ... this. Update all users.
46188 (pkgdata_PROGRAMS): Rename to ...
46189 (pkglib_PROGRAMS): ... this. Update all users.
46190 (pkgdata_DATA): Rename to ...
46191 (pkglib_DATA): ... this. Update all users.
46192 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46193 (unicode.pff, ascii.pff): New rules.
46194 (all-local): Add `$(PKGDATA)' dependency.
46195 (install-local): Process `$(PKGDATA)'.
46196
46197 * util/update-grub_lib.in (font_path): Search for *.pff files in
46198 a few more locations, including `${pkgdata}'.
46199
57e57e31 462002007-12-23 Robert Millan <rmh@aybabtu.com>
46201
46202 Patch from Bean <bean123ch@gmail.com>:
46203 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46204 `size'.
46205
4bc72aa9 462062007-12-21 Bean <bean123ch@gmail.com>
46207
46208 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46209 (ntfscomp_mod_SOURCES): New variable.
46210 (ntfscomp_mod_CFLAGS): Likewise.
46211 (ntfscomp_mod_LDFLAGS): Likewise.
46212
46213 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46214 (grub_probe_SOURCES): Likewise.
46215 (grub_emu_SOURCES): Likewise.
46216
46217 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46218 (grub_emu_SOURCES): Likewise.
46219
46220 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46221 (grub_emu_SOURCES): Likewise.
46222
46223 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46224 (grub_emu_SOURCES): Likewise.
46225
46226 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46227 (read_run_list): Renamed to grub_ntfs_read_run_list.
46228 (decomp_nextvcn): Moved to ntfscomp.c.
46229 (decomp_getch): Likewise.
46230 (decomp_get16): Likewise.
46231 (decomp_block): Likewise.
46232 (read_block): Likewise.
46233 (read_data): Partially moved to ntfscomp.c.
46234 (fixup): Change unsigned to grub_uint16_t.
46235 (read_mft): Change unsigned long to grub_uint32_t.
46236 (read_attr): Likewise.
46237 (read_data): Likewise.
46238 (read_run_data): Likewise.
46239 (read_run_list): Likewise.
46240 (read_mft): Likewise.
46241
46242 * fs/ntfscomp.c: New file.
46243
46244 * include/grub/ntfs.h: New file.
46245
af680a87 462462007-12-16 Robert Millan <rmh@aybabtu.com>
46247
46248 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46249 IDE disk check, since Linux is known to support 20 IDE disks.
46250 Reported by Colin Watson.
46251
84be7599 462522007-12-15 Bean <bean123ch@gmail.com>
46253
46254 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46255 (lnxboot_img_SOURCES): New variable.
46256 (lnxboot_img_ASFLAGS): Likewise.
46257 (lnxboot_img_LDFLAGS): Likewise.
46258
46259 * boot/i386/pc/lnxboot.S: New file.
46260
6af9db01 462612007-11-24 Pavel Roskin <proski@gnu.org>
46262
46263 * configure.ac: Test if '--build-id=none' is supported by the
46264 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46265 objcopy to generate incorrect binary files (binutils
46266 2.17.50.0.18-1 as shipped by Fedora 8).
46267 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46268 linking, so that build ID doesn't break the test.
46269
7361cfe6 462702007-11-24 Pavel Roskin <proski@gnu.org>
46271
46272 * include/grub/i386/time.h: use "void" in the argument list
46273 of grub_cpu_idle().
46274 * include/grub/powerpc/time.h: Likewise.
46275 * include/grub/sparc64/time.h: Likewise.
46276
1593e10c 462772007-11-18 Christian Franke <franke@computer.org>
46278
46279 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46280 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46281 This fixes the problem that function keys did not work in grub-emu.
46282
3b8db1a8 462832007-11-18 Christian Franke <franke@computer.org>
46284
46285 * disk/host.c (grub_host_open): Remove attribute unused from
46286 name parameter. Add check for "host". This fixes the problem
46287 that grub-emu does not find partitions.
46288
2e29408d 462892007-11-18 Christian Franke <franke@computer.org>
46290
46291 * util/hostfs.c (is_dir): New function.
46292 (grub_hostfs_dir): Handle missing dirent.d_type case.
46293 (grub_hostfs_read): Add missing fseek().
46294 (grub_hostfs_label): Clear label pointer. This fixes a crash
46295 of grub-emu on "ls (host)".
46296
398cd047 462972007-11-18 Christian Franke <franke@computer.org>
46298
46299 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46300 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46301 to 64 bit boundary by default.
46302
c405c391 463032007-11-18 Bean <bean123ch@gmail.com>
46304
46305 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46306 (hexdump_mod_SOURCES): New variable.
46307 (hexdump_mod_CFLAGS): Likewise.
46308 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 46309
c405c391 46310 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46311
46312 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46313
46314 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46315
46316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46317
46318 * include/grub/hexdump.h: New file.
46319
46320 * commands/hexdump.c: New file.
46321
5cced7fd 463222007-11-10 Robert Millan <rmh@aybabtu.com>
46323
46324 * commands/i386/pc/play.c (beep_off): Switch order of arguments
46325 in grub_outb() calls.
46326 (beep_on): Likewise.
46327
8b714eb0 463282007-11-10 Christian Franke <franke@computer.org>
46329
46330 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
46331 (grub_menu_run): Likewise.
46332
ce0f1839 463332007-11-10 Robert Millan <rmh@aybabtu.com>
46334
46335 * include/grub/i386/efi/machine.h: New file.
46336 * include/grub/i386/linuxbios/machine.h: Likewise.
46337 * include/grub/i386/pc/machine.h: Likewise.
46338 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46339 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46340
46341 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46342 (serial_hw_io_addr): New variable.
46343 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46344 instead of `(unsigned short *) 0x400'.
46345
270c237d 463462007-11-10 Bean <bean123ch@gmail.com>
46347
46348 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46349
a87783bf 463502007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46351
46352 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46353 (vga_mod_SOURCES): Added.
46354 (vga_mod_CFLAGS): Likewise.
46355 (vga_mod_LDFLAGS): Likewise.
46356
46357 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46358 grub_outb() calls.
46359 (set_map_mask): Likewise.
46360 (set_read_map): Likewise.
46361 (set_read_address): Likewise.
46362 (vga_font): Removed variable.
46363 (get_vga_glyph): Removed function.
46364 (invalidate_char): Likewise.
46365 (write_char): Changed to use grub_font_get_glyph() for font
46366 information.
46367 (grub_vga_putchar): Likewise.
46368 (grub_vga_getcharwidth): Likewise.
46369
6433b448 463702007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46371
46372 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
46373 flags.
46374 (pxeboot_img_LDFLAGS): Likewise.
46375 (diskboot_img_LDFLAGS): Likewise.
46376 (kernel_img_LDFLAGS): Likewise.
46377
49178511 463782007-11-06 Robert Millan <rmh@aybabtu.com>
46379
46380 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
46381 in grub_outb() calls.
46382 (serial_hw_init): Likewise.
46383
53b052de 463842007-11-05 Robert Millan <rmh@aybabtu.com>
46385
46386 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
46387 spaces. Skip non-regular files.
46388
5ab33bba 463892007-11-05 Robert Millan <rmh@aybabtu.com>
46390
46391 * kern/disk.c (grub_disk_firmware_fini)
46392 (grub_disk_firmware_is_tainted): New variables.
46393
46394 * include/grub/disk.h (grub_disk_firmware_fini)
46395 (grub_disk_firmware_is_tainted): Likewise.
46396
46397 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
46398 (grub_disk_biosdisk_fini): ... to here.
46399 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
46400 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
46401 is set. Register grub_disk_biosdisk_fini() in
46402 `grub_disk_firmware_fini'.
46403
46404 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
46405 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
46406 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
46407 to finish existing firmware disk interface.
46408
46409 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
46410 (ata_mod_SOURCES): New variable.
46411 (ata_mod_CFLAGS): Likewise.
46412 (ata_mod_LDFLAGS): Likewise.
46413
0149ab7c 464142007-11-05 Robert Millan <rmh@aybabtu.com>
46415
46416 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
46417 (grub_ata_wait): Reimplement using grub_millisleep().
46418
46419 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
46420 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
46421
be7ac41e 464222007-11-03 Marco Gerards <marco@gnu.org>
46423
46424 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
46425 (CRTC_ADDR_PORT): New macro.
46426 (CRTC_DATA_PORT): Likewise.
46427 (CRTC_CURSOR): Likewise.
46428 (CRTC_CURSOR_ADDR_HIGH): Likewise.
46429 (CRTC_CURSOR_ADDR_LOW): Likewise.
46430 (update_cursor): New function.
46431 (grub_console_real_putchar): Call `update_cursor'.
46432 (grub_console_gotoxy): Likewise.
46433 (grub_console_cls): Set the default color when clearing the
46434 screen.
46435 (grub_console_setcursor): Implemented.
46436
bb06ab2e 464372007-11-03 Marco Gerards <marco@gnu.org>
46438
46439 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
46440 become activate.
46441 (grub_ata_pio_write): Likewise.
46442
46443 (grub_atapi_identify): Wait after issuing an ATA command.
46444 (grub_atapi_packet): Likewise.
46445 (grub_ata_identify): Likewise.
46446 (grub_ata_readwrite): Likewise.
46447
cf8f780b 464482007-11-03 Marco Gerards <marco@gnu.org>
46449
46450 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46451 (grub_ata_pio_write): Likewise.
46452 (grub_ata_readwrite): Use `grub_error', instead of
46453 returning `grub_errno'.
46454
ed649e54 464552007-11-03 Marco Gerards <marco@gnu.org>
46456
46457 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46458 grub_ata_pio_write once for every single sector, instead of for
46459 multiple sectors.
46460
ca25d8f0 464612007-10-31 Robert Millan <rmh@aybabtu.com>
46462
46463 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46464
46465 * conf/i386-linuxbios.rmk: New file.
46466
46467 * kern/i386/pc/hardware.c: Likewise.
46468 * term/i386/pc/at_keyboard.c: Likewise.
46469 * term/i386/pc/vga_text.c: Likewise.
46470
46471 * include/grub/i386/linuxbios/boot.h: Likewise.
46472 * include/grub/i386/linuxbios/console.h: Likewise.
46473 * include/grub/i386/linuxbios/init.h: Likewise.
46474 * include/grub/i386/linuxbios/kernel.h: Likewise.
46475 * include/grub/i386/linuxbios/loader.h: Likewise.
46476 * include/grub/i386/linuxbios/memory.h: Likewise.
46477 * include/grub/i386/linuxbios/serial.h: Likewise.
46478 * include/grub/i386/linuxbios/time.h: Likewise.
46479
46480 * kern/i386/linuxbios/init.c: Likewise.
46481 * kern/i386/linuxbios/startup.S: Likewise.
46482 * kern/i386/linuxbios/table.c: Likewise.
46483
e911ecc1 464842007-10-31 Marco Gerards <marco@gnu.org>
46485
46486 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46487 (ata_mod_SOURCES): New variable.
46488 (ata_mod_CFLAGS): Likewise.
46489 (ata_mod_LDFLAGS): Likewise.
46490
46491 * disk/ata.c: New file.
46492
46493 * include/grub/disk.h (grub_disk_dev_id): Add
46494 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 46495
7f66d0e0 464962007-10-31 Robert Millan <rmh@aybabtu.com>
46497
46498 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46499 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46500
46501 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46502 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46503
46504 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46505 `<grub/types.h>'.
46506
46507 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46508
5cd7dd46 465092007-10-27 Robert Millan <rmh@aybabtu.com>
46510
3236ca65 46511 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 46512
2ebfc90f 465132007-10-22 Robert Millan <rmh@aybabtu.com>
46514
46515 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46516 `"../realmode.S"'.
46517 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46518
73fcb0f3 465192007-10-22 Robert Millan <rmh@aybabtu.com>
46520
46521 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46522 (pkgdata_MODULES): Add `biosdisk.mod'.
46523 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46524 variables.
46525
46526 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46527 (grub_biosdisk_init): Replace with ...
46528 (GRUB_MOD_INIT(biosdisk)): ... this.
46529 (grub_biosdisk_fini): Replace with ...
46530 (GRUB_MOD_FINI(biosdisk)): ... this.
46531
46532 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46533 (grub_machine_init): Remove call to grub_biosdisk_init().
46534 (grub_machine_fini): Remove call to grub_machine_fini().
46535
46536 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46537
3381d274 465382007-10-22 Robert Millan <rmh@aybabtu.com>
46539
46540 * include/grub/time.h: New file.
46541 * include/grub/i386/time.h: Likewise.
46542 * include/grub/powerpc/time.h: Likewise.
46543 * include/grub/sparc64/time.h: Likewise.
46544
46545 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46546 instances to ...
46547 (KERNEL_MACHINE_TIME_HEADER): ... this.
46548 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46549 instances to ...
46550 (KERNEL_MACHINE_TIME_HEADER): ... this.
46551 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46552 instances to ...
46553 (KERNEL_MACHINE_TIME_HEADER): ... this.
46554
46555 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46556 (grub_millisleep): New function.
46557 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46558 (grub_millisleep): New function.
46559 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46560 Remove `grub/machine/time.h' include.
46561 (grub_millisleep): New function.
46562 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46563 Remove `grub/machine/time.h' include.
46564 (grub_millisleep): New function.
46565
46566 * include/grub/misc.h (grub_div_roundup): New function.
46567
46568 * kern/misc.c: Include `<grub/time.h>'.
46569 (grub_millisleep_generic): New function.
46570
46571 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46572 Add `time.h'.
46573 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46574 Add `time.h'.
46575 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46576 `machine/time.h'. Add `time.h'.
46577 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46578
a39a0312 465792007-10-21 Robert Millan <rmh@aybabtu.com>
46580
46581 * include/grub/misc.h (grub_max): New function.
46582
2aad70e2 465832007-10-21 Robert Millan <rmh@aybabtu.com>
46584
46585 * util/misc.c (grub_util_info): Call fflush() before returning.
46586
54b71c4b 465872007-10-20 Robert Millan <rmh@aybabtu.com>
46588
46589 * genmk.rb (Image): Copy `extra_flags' from here ...
46590 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46591
46592 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46593 to `argc' and `args' arguments.
46594
a979f513 465952007-10-17 Robert Millan <rmh@aybabtu.com>
46596
46597 * kern/i386/loader.S: New file.
46598
46599 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46600 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46601 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46602 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46603 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46604 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46605 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46606 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46607 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46608 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46609 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46610 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46611 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46612 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46613
46614 * kern/i386/realmode.S: New file.
46615
46616 * kern/i386/pc/startup.S (protstack): Moved from here ...
46617 * kern/i386/realmode.S (protstack)... to here.
46618 * kern/i386/pc/startup.S (gdt): Moved from here ...
46619 * kern/i386/realmode.S (gdt)... to here.
46620 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46621 * kern/i386/realmode.S (prot_to_real)... to here.
46622
46623 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46624 `kern/i386/realmode.S'.
46625
825fc8fd 466262007-10-17 Robert Millan <rmh@aybabtu.com>
46627
46628 * include/grub/i386/loader.h: New file.
46629
46630 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46631 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46632 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46633 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46634 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46635 * include/grub/i386/loader.h (grub_linux_prot_size)
46636 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46637 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46638 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46639 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46640
46641 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46642
e179b2f4 466432007-10-15 Robert Millan <rmh@aybabtu.com>
46644
46645 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46646 filesystem when dev->disk is unset.
46647 Do probe for filesystem even when dev->disk->has_partitions is set.
46648 In case a filesystem is found, always report it.
46649 In case it isn't, if dev->disk->has_partitions is set, report that
46650 a partition table was found instead of reporting that no filesystem
46651 could be identified.
46652
5db82af6 466532007-10-12 Robert Millan <rmh@aybabtu.com>
46654
46655 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46656 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46657
68f6ac74 46658 * include/grub/types.h (grub_host_to_target16): New macro.
46659 (grub_host_to_target32): Likewise.
46660 (grub_host_to_target64): Likewise.
46661 (grub_target_to_host16): Likewise.
46662 (grub_target_to_host32): Likewise.
46663 (grub_target_to_host64): Likewise.
5db82af6 46664
46665 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46666 Renamed from to ...
46667 (GRUB_MOD_ALIGN): ...this. Update all users.
46668
68f6ac74 46669 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46670 grub_host_to_target32.
46671 Replace grub_be_to_cpu32 with grub_target_to_host32.
46672 (load_modules): Likewise.
46673 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46674 Replace grub_be_to_cpu32 with grub_target_to_host32.
46675 Replace grub_cpu_to_be16 with grub_host_to_target16.
46676 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46677
3cf497cc 466782007-10-12 Robert Millan <rmh@aybabtu.com>
46679
46680 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46681 * util/elf/grub-mkimage.c: ... here.
46682
46683 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46684 `util/powerpc/ieee1275/grub-mkimage.c'.
46685
c8cc3692 466862007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46687
c8cc3692 46688 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46689 and make it easier to figure out.
46690 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46691 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46692 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46693 leave us with less than HEAP_MIN_SIZE total heap.
46694 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46695
5c58b791 466962007-10-03 Robert Millan <rmh@aybabtu.com>
46697
46698 * include/grub/i386/io.h: New file.
46699 * commands/i386/pc/play.c (inb): Removed.
46700 (outb): Removed.
46701 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46702 with grub_outb().
afcd2ef8 46703 * term/i386/pc/serial.c (inb): Removed.
46704 (outb): Removed.
46705 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46706 with grub_outb().
46707 * term/i386/pc/vga.c (inb): Removed.
46708 (outb): Removed.
46709 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46710 with grub_outb().
5c58b791 46711
1a477ed6 467122007-10-02 Robert Millan <rmh@aybabtu.com>
46713
46714 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46716 Reported by Marcin Kurek.
46717
6b5d80fa 467182007-09-07 Robert Millan <rmh@aybabtu.com>
46719
46720 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46721 SmartFirmware version updates (as released by Sven Luther), and avoid
46722 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46723 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46724 known broken.
46725
5618afbf 467262007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46727
46728 From Hitoshi Ozeki:
46729 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46730 when merging two regions.
46731
6139dcd9 467322007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46733
508e39ee 46734 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46735 * normal/completion.c (grub_normal_do_completion): Likewise.
46736 Reported by Hitoshi Ozeki.
46737
467382007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46739
6139dcd9 46740 Do not use devices at boot in chainloading.
f19dbdb7 46741
6139dcd9 46742 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46743 (boot_part_addr): Likewise.
46744 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46745 with BOOT_DRIVE and BOOT_PART_ADDR.
46746 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46747 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46748
38da6516 467492007-08-29 Robert Millan <rmh@aybabtu.com>
46750
46751 Patch from Simon Peter <dn.tlp@gmx.net>:
46752 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46753 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46754 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46755 util/i386/pc/grub-setup.c_DEPENDENCIES.
46756 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46757 util/grub-probe.c_DEPENDENCIES.
46758 * conf/powerpc-ieee1275.rmk: Likewise.
46759
29d0928c 467602007-08-28 Robert Millan <rmh@aybabtu.com>
46761
46762 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46763 to tell grub-mkdevicemap how to name devices.
46764 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46765 feature).
46766
46767 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46768 util/i386/get_disk_name.c.
46769 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46770 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46771 util/ieee1275/get_disk_name.c.
46772
46773 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46774
46775 * DISTLIST: Add util/i386/get_disk_name.c and
46776 util/ieee1275/get_disk_name.c.
46777
46778 * util/grub-mkdevicemap.c: Replace device naming logic with
46779 grub_util_get_disk_name() calls.
46780
5a0d3cca 467812007-08-20 Robert Millan <rmh@aybabtu.com>
46782
46783 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46784 (so that it works for both plural and singular quantities).
46785
8b72db2f 467862007-08-05 Robert Millan <rmh@aybabtu.com>
46787
46788 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46789 so that [xz] isn't taken into account when determining order.
46790
352466bf 467912007-08-02 Marco Gerards <marco@gnu.org>
46792
46793 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46794 `include/multiboot2.h', `include/grub/elfload.h',
46795 `include/multiboot.h', `include/grub/multiboot.h',
46796 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46797 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46798 `kern/elf.c', `loader/multiboot_loader.c',
46799 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46800 `loader/i386/pc/multiboot2.c',
46801 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46802 `util/i386/pc/grub-mkrescue.in'. Remove
46803 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46804 `include/grub/i386/pc/util/biosdisk.h' and
46805 `include/grub/powerpc/ieee1275/multiboot.h'.
46806
8f096014 468072007-08-02 Bean <bean123ch@gmail.com>
46808
46809 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46810 (ntfs_mod_SOURCES): New variable.
46811 (ntfs_mod_CFLAGS): Likewise.
46812 (ntfs_mod_LDFLAGS): Likewise.
46813
46814 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46815 (grub_probe_SOURCES): Likewise.
46816 (grub_emu_SOURCES): Likewise.
46817
46818 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46819 (grub_emu_SOURCES): Likewise.
46820
46821 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46822 (grub_emu_SOURCES): Likewise.
f19dbdb7 46823
8f096014 46824 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46825
46826 * fs/ntfs.c: New file.
46827
9959f7db 468282007-08-02 Bean <bean123ch@gmail.com>
46829
46830 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46831
46832 * file.h (grub_file): Likewise.
46833
46834 * fshelp.h (grub_fshelp_read_file): Likewise.
46835
46836 * util/i386/pc/grub-setup.c (setup): Likewise.
46837 (save_first_sector): Likewise.
46838 (save_blocklists): Likewise.
f19dbdb7 46839
9959f7db 46840 * fs/affs.c (grub_affs_read_file): Likewise.
46841
46842 * fs/ext2.c (grub_ext2_read_file): Likewise.
46843
46844 * fs/fat.c (grub_fat_read_data): Likewise.
46845
46846 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46847
46848 * fs/hfs.c (grub_hfs_read_file): Likewise.
46849
46850 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46851
46852 * fs/jfs.c (grub_jfs_read_file): Likewise.
46853
46854 * fs/minix.c (grub_minix_read_file): Likewise.
46855
46856 * fs/sfs.c (grub_sfs_read_file): Likewise.
46857
46858 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46859
9959f7db 46860 * fs/xfs.c (grub_xfs_read_file): Likewise.
46861
46862 * command/blocklist.c (read_blocklist): Likewise.
46863 (print_blocklist): Likewise.
46864
0a203f83 468652007-08-02 Marco Gerards <marco@gnu.org>
46866
46867 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46868 `util/hostfs.c'.
46869
46870 * disk/host.c: New file.
46871
46872 * util/hostfs.c: Likewise.
46873
46874 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46875 return `GRUB_ERR_BAD_FS'.
46876 * fs/sfs.c (grub_sfs_mount): Likewise.
46877 * fs/xfs.c (grub_xfs_mount): Likewise.
46878
46879 * include/grub/disk.h (enum grub_disk_dev_id): Add
46880 `GRUB_DISK_DEVICE_HOST_ID'.
46881
46882 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46883
e5dfe777 468842007-07-24 Jerone Young <jerone@gmail.com>
46885
f19dbdb7 46886 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46887 modules for compilation.
46888 * conf/powerpc-ieee1275.rmk: Likewise.
46889
46890 * include/multiboot.h: Move multiboot definitions to one file. Rename
46891 many definitions to not get grub specific.
46892 * include/multiboot2.h: Create header with multiboot 2 definitions.
46893 * include/grub/multiboot.h: Header for grub specific function
46894 prototypes and definitions.
46895 * include/grub/multiboot2.h: Likewise.
46896 * include/grub/multiboot_loader.h: Likewise.
46897 * include/grub/i386/pc/multiboot.h: Removed.
46898 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46899
46900 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46901 and 2 to allow for one multiboot and module commands.
46902 * loader/multiboot2.c: Add multiboot2 functionality.
46903 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46904 and definition names.
46905 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46906 2 functions.
46907 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46908 ieee1275 specific multiboot2 code.
46909
46910 * kern/i386/pc/startup.S: Change headers and definition names for
46911 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46912
daf0f0ba 469132007-07-22 Robert Millan <rmh@aybabtu.com>
46914
46915 * geninitheader.sh: Process file specified in first parameter rather
46916 than hardcoding grub_modules_init.lst.
fe6b695a 46917 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46918 than hardcoding grub_modules_init.h.
46919
46920 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46921 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46922 grub_probe_init.[ch] and grub_setup_init.[ch].
46923
46924 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46925 grub_modules_init.h with grub_emu_init.h.
46926 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46927 grub_probe_init.[ch] files.
46928 * conf/i386-efi.rmk: Likewise.
46929 * conf/i386-pc.rmk: Likewise.
46930 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46931 grub_setup_init.[ch] files.
46932
46933 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46934 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46935 to initialize modules rather than a list of hardcoded functions.
46936 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46937 grub_init_all() to initialize modules rather than a list of hardcoded
46938 functions.
46939
54cdc1cc 469402007-07-22 Robert Millan <rmh@aybabtu.com>
46941
46942 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46943 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46944
ad0686cc 469452007-07-22 Robert Millan <rmh@aybabtu.com>
46946
46947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46948 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46949 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46950 flag when running on SmartFirmware.
46951 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46952 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46953 was set.
46954
46955 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46956 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46957 rather than decreasing it.
46958
46959 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46960 there's not enough space to do it, fail in the same way as when it
46961 can't be done because there are no partitions.
46962
46963 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46964 when nvsetenv failed.
46965
969c02ec 469662007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46967
46968 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46969 because this rule is automatically generated.
46970 (grub-mkrescue): Removed for the same reason as above.
46971
5a79f472 469722007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46973
46974 Migrate to GNU General Public License Version 3.
f19dbdb7 46975
5a79f472 46976 * COPYING: Replaced with the plain text version of GPLv3.
46977
46978 * config.guess: Updated from gnulib.
46979 * config.sub: Likewise.
46980
46981 * geninit.sh: Output a GPLv3 copyright notice.
46982 * geninitheader.sh: Likewise.
46983 * genmodsrc.sh: Likewise.
46984 * gensymlist.sh.in: Likewise.
46985
46986 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46987 * boot/i386/pc/diskboot.S: Likewise.
46988 * boot/i386/pc/pxeboot.S: Likewise.
46989 * commands/blocklist.c: Likewise.
46990 * commands/boot.c: Likewise.
46991 * commands/cat.c: Likewise.
46992 * commands/cmp.c: Likewise.
46993 * commands/configfile.c: Likewise.
46994 * commands/echo.c: Likewise.
46995 * commands/help.c: Likewise.
46996 * commands/ls.c: Likewise.
46997 * commands/search.c: Likewise.
46998 * commands/terminal.c: Likewise.
46999 * commands/test.c: Likewise.
47000 * commands/videotest.c: Likewise.
47001 * commands/i386/cpuid.c: Likewise.
47002 * commands/i386/pc/halt.c: Likewise.
47003 * commands/i386/pc/play.c: Likewise.
47004 * commands/i386/pc/reboot.c: Likewise.
47005 * commands/i386/pc/vbeinfo.c: Likewise.
47006 * commands/i386/pc/vbetest.c: Likewise.
47007 * commands/ieee1275/halt.c: Likewise.
47008 * commands/ieee1275/reboot.c: Likewise.
47009 * commands/ieee1275/suspend.c: Likewise.
47010 * disk/loopback.c: Likewise.
47011 * disk/lvm.c: Likewise.
47012 * disk/raid.c: Likewise.
47013 * disk/efi/efidisk.c: Likewise.
47014 * disk/i386/pc/biosdisk.c: Likewise.
47015 * disk/ieee1275/ofdisk.c: Likewise.
47016 * font/manager.c: Likewise.
47017 * fs/affs.c: Likewise.
47018 * fs/ext2.c: Likewise.
47019 * fs/fat.c: Likewise.
47020 * fs/fshelp.c: Likewise.
47021 * fs/hfs.c: Likewise.
47022 * fs/hfsplus.c: Likewise.
47023 * fs/iso9660.c: Likewise.
47024 * fs/jfs.c: Likewise.
47025 * fs/minix.c: Likewise.
47026 * fs/sfs.c: Likewise.
47027 * fs/ufs.c: Likewise.
47028 * fs/xfs.c: Likewise.
47029 * hello/hello.c: Likewise.
47030 * include/grub/acorn_filecore.h: Likewise.
47031 * include/grub/arg.h: Likewise.
47032 * include/grub/bitmap.h: Likewise.
47033 * include/grub/boot.h: Likewise.
47034 * include/grub/cache.h: Likewise.
47035 * include/grub/device.h: Likewise.
47036 * include/grub/disk.h: Likewise.
47037 * include/grub/dl.h: Likewise.
47038 * include/grub/elfload.h: Likewise.
47039 * include/grub/env.h: Likewise.
47040 * include/grub/err.h: Likewise.
47041 * include/grub/file.h: Likewise.
47042 * include/grub/font.h: Likewise.
47043 * include/grub/fs.h: Likewise.
47044 * include/grub/fshelp.h: Likewise.
47045 * include/grub/gzio.h: Likewise.
47046 * include/grub/hfs.h: Likewise.
47047 * include/grub/kernel.h: Likewise.
47048 * include/grub/loader.h: Likewise.
47049 * include/grub/lvm.h: Likewise.
47050 * include/grub/misc.h: Likewise.
47051 * include/grub/mm.h: Likewise.
47052 * include/grub/net.h: Likewise.
47053 * include/grub/normal.h: Likewise.
47054 * include/grub/parser.h: Likewise.
47055 * include/grub/partition.h: Likewise.
47056 * include/grub/pc_partition.h: Likewise.
47057 * include/grub/raid.h: Likewise.
47058 * include/grub/rescue.h: Likewise.
47059 * include/grub/script.h: Likewise.
47060 * include/grub/setjmp.h: Likewise.
47061 * include/grub/symbol.h: Likewise.
47062 * include/grub/term.h: Likewise.
47063 * include/grub/terminfo.h: Likewise.
47064 * include/grub/tparm.h: Likewise.
47065 * include/grub/types.h: Likewise.
47066 * include/grub/video.h: Likewise.
47067 * include/grub/efi/api.h: Likewise.
47068 * include/grub/efi/chainloader.h: Likewise.
47069 * include/grub/efi/console.h: Likewise.
47070 * include/grub/efi/console_control.h: Likewise.
47071 * include/grub/efi/disk.h: Likewise.
47072 * include/grub/efi/efi.h: Likewise.
47073 * include/grub/efi/pe32.h: Likewise.
47074 * include/grub/efi/time.h: Likewise.
47075 * include/grub/i386/linux.h: Likewise.
47076 * include/grub/i386/setjmp.h: Likewise.
47077 * include/grub/i386/types.h: Likewise.
47078 * include/grub/i386/efi/kernel.h: Likewise.
47079 * include/grub/i386/efi/loader.h: Likewise.
47080 * include/grub/i386/efi/time.h: Likewise.
47081 * include/grub/i386/pc/biosdisk.h: Likewise.
47082 * include/grub/i386/pc/boot.h: Likewise.
47083 * include/grub/i386/pc/chainloader.h: Likewise.
47084 * include/grub/i386/pc/console.h: Likewise.
47085 * include/grub/i386/pc/init.h: Likewise.
47086 * include/grub/i386/pc/kernel.h: Likewise.
47087 * include/grub/i386/pc/loader.h: Likewise.
47088 * include/grub/i386/pc/memory.h: Likewise.
47089 * include/grub/i386/pc/multiboot.h: Likewise.
47090 * include/grub/i386/pc/serial.h: Likewise.
47091 * include/grub/i386/pc/time.h: Likewise.
47092 * include/grub/i386/pc/vbe.h: Likewise.
47093 * include/grub/i386/pc/vbeblit.h: Likewise.
47094 * include/grub/i386/pc/vbefill.h: Likewise.
47095 * include/grub/i386/pc/vbeutil.h: Likewise.
47096 * include/grub/i386/pc/vga.h: Likewise.
47097 * include/grub/ieee1275/ieee1275.h: Likewise.
47098 * include/grub/ieee1275/ofdisk.h: Likewise.
47099 * include/grub/powerpc/libgcc.h: Likewise.
47100 * include/grub/powerpc/setjmp.h: Likewise.
47101 * include/grub/powerpc/types.h: Likewise.
47102 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47103 * include/grub/powerpc/ieee1275/console.h: Likewise.
47104 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47105 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47106 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47107 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47108 * include/grub/powerpc/ieee1275/time.h: Likewise.
47109 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47110 * include/grub/sparc64/libgcc.h: Likewise.
47111 * include/grub/sparc64/setjmp.h: Likewise.
47112 * include/grub/sparc64/types.h: Likewise.
47113 * include/grub/sparc64/ieee1275/console.h: Likewise.
47114 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47115 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47116 * include/grub/sparc64/ieee1275/time.h: Likewise.
47117 * include/grub/util/biosdisk.h: Likewise.
47118 * include/grub/util/getroot.h: Likewise.
47119 * include/grub/util/lvm.h: Likewise.
47120 * include/grub/util/misc.h: Likewise.
47121 * include/grub/util/raid.h: Likewise.
47122 * include/grub/util/resolve.h: Likewise.
47123 * io/gzio.c: Likewise.
47124 * kern/device.c: Likewise.
47125 * kern/disk.c: Likewise.
47126 * kern/dl.c: Likewise.
47127 * kern/elf.c: Likewise.
47128 * kern/env.c: Likewise.
47129 * kern/err.c: Likewise.
47130 * kern/file.c: Likewise.
47131 * kern/fs.c: Likewise.
47132 * kern/loader.c: Likewise.
47133 * kern/main.c: Likewise.
47134 * kern/misc.c: Likewise.
47135 * kern/mm.c: Likewise.
47136 * kern/parser.c: Likewise.
47137 * kern/partition.c: Likewise.
47138 * kern/rescue.c: Likewise.
47139 * kern/term.c: Likewise.
47140 * kern/efi/efi.c: Likewise.
47141 * kern/efi/init.c: Likewise.
47142 * kern/efi/mm.c: Likewise.
47143 * kern/i386/dl.c: Likewise.
47144 * kern/i386/efi/init.c: Likewise.
47145 * kern/i386/efi/startup.S: Likewise.
47146 * kern/i386/pc/init.c: Likewise.
47147 * kern/i386/pc/lzo1x.S: Likewise.
47148 * kern/i386/pc/startup.S: Likewise.
47149 * kern/ieee1275/ieee1275.c: Likewise.
47150 * kern/powerpc/cache.S: Likewise.
47151 * kern/powerpc/dl.c: Likewise.
47152 * kern/powerpc/ieee1275/cmain.c: Likewise.
47153 * kern/powerpc/ieee1275/crt0.S: Likewise.
47154 * kern/powerpc/ieee1275/init.c: Likewise.
47155 * kern/powerpc/ieee1275/openfw.c: Likewise.
47156 * kern/sparc64/cache.S: Likewise.
47157 * kern/sparc64/dl.c: Likewise.
47158 * kern/sparc64/ieee1275/init.c: Likewise.
47159 * kern/sparc64/ieee1275/openfw.c: Likewise.
47160 * loader/efi/chainloader.c: Likewise.
47161 * loader/efi/chainloader_normal.c: Likewise.
47162 * loader/i386/efi/linux.c: Likewise.
47163 * loader/i386/efi/linux_normal.c: Likewise.
47164 * loader/i386/pc/chainloader.c: Likewise.
47165 * loader/i386/pc/chainloader_normal.c: Likewise.
47166 * loader/i386/pc/linux.c: Likewise.
47167 * loader/i386/pc/linux_normal.c: Likewise.
47168 * loader/i386/pc/multiboot.c: Likewise.
47169 * loader/i386/pc/multiboot_normal.c: Likewise.
47170 * loader/powerpc/ieee1275/linux.c: Likewise.
47171 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47172 * normal/arg.c: Likewise.
47173 * normal/cmdline.c: Likewise.
47174 * normal/command.c: Likewise.
47175 * normal/completion.c: Likewise.
47176 * normal/execute.c: Likewise.
47177 * normal/function.c: Likewise.
47178 * normal/lexer.c: Likewise.
47179 * normal/main.c: Likewise.
47180 * normal/menu.c: Likewise.
47181 * normal/menu_entry.c: Likewise.
47182 * normal/misc.c: Likewise.
47183 * normal/parser.y: Likewise.
47184 * normal/script.c: Likewise.
47185 * normal/i386/setjmp.S: Likewise.
47186 * normal/powerpc/setjmp.S: Likewise.
47187 * normal/sparc64/setjmp.S: Likewise.
47188 * partmap/acorn.c: Likewise.
47189 * partmap/amiga.c: Likewise.
47190 * partmap/apple.c: Likewise.
47191 * partmap/gpt.c: Likewise.
47192 * partmap/pc.c: Likewise.
47193 * partmap/sun.c: Likewise.
47194 * term/gfxterm.c: Likewise.
47195 * term/terminfo.c: Likewise.
47196 * term/efi/console.c: Likewise.
47197 * term/i386/pc/console.c: Likewise.
47198 * term/i386/pc/serial.c: Likewise.
47199 * term/i386/pc/vesafb.c: Likewise.
47200 * term/i386/pc/vga.c: Likewise.
47201 * term/ieee1275/ofconsole.c: Likewise.
47202 * util/biosdisk.c: Likewise.
47203 * util/console.c: Likewise.
47204 * util/genmoddep.c: Likewise.
47205 * util/getroot.c: Likewise.
47206 * util/grub-emu.c: Likewise.
47207 * util/grub-mkdevicemap.c: Likewise.
47208 * util/grub-probe.c: Likewise.
47209 * util/lvm.c: Likewise.
47210 * util/misc.c: Likewise.
47211 * util/raid.c: Likewise.
47212 * util/resolve.c: Likewise.
47213 * util/update-grub.in: Likewise.
47214 * util/update-grub_lib.in: Likewise.
47215 * util/grub.d/00_header.in: Likewise.
47216 * util/grub.d/10_hurd.in: Likewise.
47217 * util/grub.d/10_linux.in: Likewise.
47218 * util/i386/efi/grub-install.in: Likewise.
47219 * util/i386/efi/grub-mkimage.c: Likewise.
47220 * util/i386/pc/grub-install.in: Likewise.
47221 * util/i386/pc/grub-mkimage.c: Likewise.
47222 * util/i386/pc/grub-mkrescue.in: Likewise.
47223 * util/i386/pc/grub-setup.c: Likewise.
47224 * util/i386/pc/misc.c: Likewise.
47225 * util/powerpc/ieee1275/grub-install.in: Likewise.
47226 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47227 * util/powerpc/ieee1275/misc.c: Likewise.
47228 * video/bitmap.c: Likewise.
47229 * video/video.c: Likewise.
47230 * video/i386/pc/vbe.c: Likewise.
47231 * video/i386/pc/vbeblit.c: Likewise.
47232 * video/i386/pc/vbefill.c: Likewise.
47233 * video/i386/pc/vbeutil.c: Likewise.
47234 * video/readers/tga.c: Likewise.
47235
3572d015 472362007-07-02 Robert Millan <rmh@aybabtu.com>
47237
47238 * conf/i386-efi.rmk: Replace obsolete reference to
47239 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47240 with util/getroot.c.
47241 * conf/powerpc-ieee1275.rmk: Likewise.
47242 * conf/sparc64-ieee1275.rmk: Likewise.
47243
47244 * util/grub-emu.c (main): Fix unchecked pointer handling.
47245
2c2a681b 472462007-07-02 Robert Millan <rmh@aybabtu.com>
47247
47248 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47249 invocation to fail, in order to support partition-less media.
47250
47251 * util/i386/pc/grub-install.in: Likewise.
47252
47253 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47254 which fs or partmap modules are needed (akin to its sister scripts).
47255
47256 Also use grub-probe to get rid of unportable /proc/mounts check.
47257
47258 Print the same informational message that the other scripts do, before
fe6b695a 47259 exiting.
2c2a681b 47260
6193defe 472612007-06-23 Robert Millan <rmh@aybabtu.com>
47262
fe6b695a 47263 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 47264 a font file can be found and, if so, echo the GRUB path to it.
47265
47266 * util/update-grub.in: Handle multiple terminals depending on user
47267 input, platform availability and font file presence. Propagate
47268 variables of our findings to /etc/grub.d/ children.
47269
47270 * util/grub.d/00_header.in: Handle multiple terminals, based on
47271 environment setup by update-grub.
47272
eface1dc 472732007-06-23 Robert Millan <rmh@aybabtu.com>
47274
ba50d28f 47275 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 47276
bf697e28 472772007-06-21 Robert Millan <rmh@aybabtu.com>
47278
47279 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47280 indicate end of data section in kernel image.
47281 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47282 GRUB_KERNEL_MACHINE_DATA_END.
47283
47284 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47285 space for it.
47286 * kern/i386/efi/startup.S: Likewise.
47287
47288 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47289 during image generation. Implement --prefix option to override this
47290 patch.
47291 * util/i386/efi/grub-mkimage.c: Likewise.
47292
47293 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47294 code to make path relative to its root into a separate function.
47295
47296 * util/i386/pc/grub-install.in: Use newly provided
47297 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47298 pass the result to grub-install --prefix.
47299
baa574b4 473002007-06-13 Robert Millan <rmh@aybabtu.com>
47301
47302 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47303 DEFAULT_DEVICE_MAP.
47304 * util/grub-emu.c: Use above definitions from misc.h instead of
47305 defining them.
47306 * util/grub-mkdevicemap.c: Likewise.
47307 * util/i386/pc/grub-setup.c: Likewise.
47308 * util/grub-probe.c: Likewise.
47309 (probe): Abort with grub_util_error() when either
47310 grub_guess_root_device or grub_util_get_grub_dev fails.
47311
0215dcbf 473122007-06-12 Robert Millan <rmh@aybabtu.com>
47313
47314 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47315 "pager" assignment.
47316 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47317 "pcdata".
47318 * util/grub-probe.c (probe): Likewise for "drive_name".
47319
8af2ab7b 473202007-06-11 Robert Millan <rmh@aybabtu.com>
47321
47322 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47323 not just the cdrom one.
47324
59d31694 473252007-06-11 Robert Millan <rmh@aybabtu.com>
47326
47327 * util/i386/pc/grub-mkrescue.in: Add "set -e".
47328 Add --pkglibdir=DIR option to override pkglibdir.
47329 Mention --image-type=TYPE in help output.
47330 Fix --grub-mkimage (it was a no-op).
fe6b695a 47331 Abort gracefully when no parameter is given.
59d31694 47332
7ee367e4 473332007-06-11 Robert Millan <rmh@aybabtu.com>
47334
47335 * util/i386/pc/grub-mkrescue.in: New file.
47336 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47337 * Makefile.in: Handle bin_SCRIPTS.
47338
29b0ed46 473392007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47340
47341 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47342 list of video modes.
47343
c0f90770 473442007-06-06 Robert Millan <rmh@aybabtu.com>
47345
47346 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47347 file doesn't exist, or if it is in a filesystem grub can't read.
47348
47349 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47350 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47351 header comment to fit in 80 columns when the variables are resolved.
47352
47353 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47354 could be identified by update-grub. Remove redundant check for
fe6b695a 47355 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 47356 handles that).
47357
fb36dc26 473582007-06-04 Robert Millan <rmh@aybabtu.com>
47359
47360 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
47361
47362 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
47363
47364 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
47365
0c68c93e 473662007-06-04 Robert Millan <rmh@aybabtu.com>
47367
47368 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
47369
47370 * include/grub/partition.h: Declare grub_apple_partition_map_init and
47371 grub_apple_partition_map_fini.
47372
47373 * util/biosdisk.c
47374 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
47375 to access >2 TiB disks).
47376
47377 Print disk->total_sectors with %llu instead of %lu, since this
47378 variable is always 64-bit (prevents wrong disk size from being displayed
47379 on either >2 TiB disk or big-endian CPU).
47380
47381 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
47382 into a generic case that supports all (sane) partition maps.
47383
47384 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
47385 breaks big-endian.
47386
47387 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
47388 and grub_apple_partition_map_fini() after that.
47389
0f23eb74 473902007-06-01 Robert Millan <rmh@aybabtu.com>
47391
47392 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
47393
47394 * util/grub.d/00_header.in: Only enable gfxterm when
47395 convert_system_path_to_grub_path() succeeds.
47396
42c71976 473972007-05-20 Robert Millan <rmh@aybabtu.com>
47398
47399 * util/update-grub_lib.in: New file.
47400 * DISTLIST: Add update-grub_lib.in.
47401 * conf/common.rmk: Generate update-grub_lib and install it in
47402 $(lib_DATA).
47403 * Makefile.in: Add install routine for $(lib_DATA).
47404
47405 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
47406 function provided by update-grub_lib to support arbitrary paths of
47407 unifont.pff.
47408 * util/update-grub.in: Use convert_system_path_to_grub_path() to
47409 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
47410
5beb2291 474112007-05-19 Robert Millan <rmh@aybabtu.com>
47412
47413 * commands/i386/cpuid.c: New module.
47414 * DISTLIST: Add it.
47415 * conf/i386-efi.rmk: Enable cpuid.mod.
47416 * conf/i386-pc.rmk: Likewise.
47417
7262eca1 474182007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47419
47420 * kern/disk.c (grub_disk_read): Check return value of
47421 grub_realloc().
47422
260ba823 474232007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47424
47425 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
47426 arrays.
47427 * disk/raid.c (grub_raid_open): Likewise.
47428
1ecb6cf2 474292007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47430
47431 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
47432 stack instead of on the heap.
47433
47434 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
47435 before doing a read on it.
47436
47437 * configure.ac: Only use -fno-stack-protector for the target
47438 environment.
f19dbdb7 47439
21c8cbb1 474402007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47441
47442 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
47443 __attribute_ ((unused)) to mode_type argument.
47444
47445 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 47446
21c8cbb1 47447 * kern/misc.c (memcmp): Fix prototype.
47448
47449 * include/grub/partition.h [GRUB_UTIL]
47450 (grub_gpt_partition_map_init): Add prototype.
47451 (grub_gpt_partition_map_fini): Likewise.
47452
47453 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47454 at the right place.
47455
47456 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47457 (grub_fat_read_data): Likewise.
47458 (grub_fat_find_dir): Likewise.
47459
47460 * font/manager.c (find_glyph): Make table a const.
47461 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 47462
849d55d3 474632007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47464
47465 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47466 code, first search for device in /dev/mapper, then in /dev.
47467 (grub_util_get_grub_dev): New function.
47468 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47469 prototype.
47470 * util/grub-probe.c (probe): Remove check for RAID, call
47471 grub_util_get_grub_dev() instead of
47472 grub_util_biosdisk_get_grub_dev().
47473 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47474 grub_util_biosdisk_get_grub_dev().
47475 * util/i386/pc/grub-setup.c (main): Likewise.
47476
8fff7c2f 474772007-05-16 Robert Millan <rmh@aybabtu.com>
47478
47479 * DISTLIST: Update for the latest changes.
47480 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47481 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47482 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47483 grub/util/biosdisk.h.
47484 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47485 grub/util/biosdisk.h.
47486
48e12b52 474872007-05-16 Robert Millan <rmh@aybabtu.com>
47488
47489 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47490
46b9d128 474912007-05-16 Robert Millan <rmh@aybabtu.com>
47492
47493 * util/i386/efi/grub-install.in: New.
47494 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47495 newly added grub-install.
47496 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47497 include.
47498 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47499 grub/util/biosdisk.h.
47500 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47501 grub/util/biosdisk.h.
47502
2d1a40a9 475032007-05-16 Robert Millan <rmh@aybabtu.com>
47504
47505 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47506 * include/grub/util/biosdisk.h: ... here.
47507 * util/i386/pc/biosdisk.c: Moved to ...
47508 * util/biosdisk.c: ... here.
47509 * util/i386/pc/getroot.c: Moved to ...
47510 * util/getroot.c: ... here.
47511 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47512 * util/grub-mkdevicemap.c: ... here.
47513 * util/i386/pc/grub-probe.c: Moved to ...
47514 * util/grub-probe.c: ... here.
47515
9e26e3bc 475162007-05-15 Robert Millan <rmh@aybabtu.com>
47517
47518 * util/update-grub.in: Remove duplicated line in grub.cfg header
47519 message.
47520
57f96397 475212007-05-13 Robert Millan <rmh@aybabtu.com>
47522
47523 * util/update-grub.in: Fix a few assumptions about the devices holding
47524 /, /boot and /boot/grub being the same.
47525 * util/grub.d/00_header.in: Likewise.
47526 * util/grub.d/10_hurd.in: Likewise.
47527 * util/grub.d/10_linux.in: Likewise.
47528
47529 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47530 patterns. Use that to define the `.old' suffix as older than `'.
47531
47532 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47533
47534 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47535 the grub.cfg header message.
47536
2e610d62 475372007-05-11 Robert Millan <rmh@aybabtu.com>
47538
47539 * util/update-grub.in: Create device.map if it doesn't already exist,
47540 before attempting to run grub-probe.
47541 Check for grub-probe and grub-mkdevicemap with the same code
47542 grub-install is using.
47543 Remove test mode.
47544
3f6a10ef 475452007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47546
47547 * Makefile.in: Add the datarootdir autoconf variable.
47548
02e7b75e 475492007-05-09 Robert Millan <rmh@aybabtu.com>
47550
47551 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47552 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47553
75f396cc 475542007-05-07 Robert Millan <rmh@aybabtu.com>
47555
47556 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47557 determine partition map module.
47558 * util/i386/pc/grub-install.in: Use this feature to decide which
47559 partition module to load, instead of hardcoding pc and gpt.
47560
da65cb36 475612007-05-07 Robert Millan <rmh@aybabtu.com>
47562
47563 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47564 source directory differs from build directory.
47565
b57d6a91 475662007-05-05 Robert Millan <rmh@aybabtu.com>
47567
47568 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47569 initialisation.
47570
509d00f1 475712007-05-05 Robert Millan <rmh@aybabtu.com>
47572
47573 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47574
c48f23ef 475752007-05-05 Robert Millan <rmh@aybabtu.com>
47576
47577 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47578 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47579
20b97658 475802007-05-05 Robert Millan <rmh@aybabtu.com>
47581
47582 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47583 (grub_probe_SOURCES): Likewise.
47584 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47585 GPT and initialize dos_part and bsd_part accordingly.
47586 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47587 install_bsd_part.
47588 (main): Activate gpt module for use during partition identification,
47589 and deactivate it afterwards.
47590 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47591 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47592 partition identification, and deactivate it afterwards.
47593
99123174 475942007-05-05 Robert Millan <rmh@aybabtu.com>
47595
47596 * term/i386/pc/console.c (grub_console_fini): Call
47597 grub_term_set_current() before grub_term_unregister().
47598
ebd97f6e 475992007-05-04 Robert Millan <rmh@aybabtu.com>
47600
47601 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47602 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47603 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47604 and update-grub_DATA.
47605 * conf/common.rmk: Build and install update-grub components.
47606 * conf/common.mk: Regenerate.
47607 * util/update-grub.in: New. Core of update-grub.
47608 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47609 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47610 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47611 * util/grub.d/README: New. Document grub.d directory layout.
47612
b06a264d 476132007-05-01 Robert Millan <rmh@aybabtu.com>
47614
47615 * util/grub-emu.c: Move initialization functions
47616 grub_util_biosdisk_init() and grub_init_all() before
47617 grub_util_biosdisk_get_grub_dev(), which relies on them.
47618
41f0050e 476192007-04-19 Robert Millan <rmh@aybabtu.com>
47620
47621 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47622 it is used later.
47623
04582bb3 476242007-04-18 Jerone Young <jerone@gmail.com>
47625
f19dbdb7 47626 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47627 stanza.
47628
08db4632 476292007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47630
08db4632 47631 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47632 continue on and look for device node with real device name.
47633
801b76be 476342007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47635
fe6b695a 47636 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47637 ability.
47638 * Makefile.in: Add autoconf package transformation code.
47639 * util/i386/pc/grub-install.in: Likewise.
47640 * util/powerpc/ieee1275/grub-install.in: Likewise.
47641
6795c4e1 476422007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47643
47644 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47645 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47646 (EXT2_REVISION): Likewise.
47647 (EXT2_INODE_SIZE): Likewise.
47648 (struct grub_ext2_block_group): Added a missing member
47649 "used_dirs".
47650 (grub_ext2_read_inode): Divide by the inode size in a superblock
47651 instead of 128 to obtain INODES_PER_BLOCK.
47652 Use the macro EXT2_INODE_SIZE instead of directly using
47653 SBLOCK->INODE_SIZE.
47654
d70af616 476552007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47656
47657 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47658 superblock instead of the structure size to compute an
47659 offset. This fixes the problem that GRUB could not read a
47660 filesystem when inode size is different from 128-byte.
47661
3b801603 476622007-03-05 Marco Gerards <marco@gnu.org>
47663
47664 * normal/main.c (read_config_file): When "menu" is not set, create
47665 an initial context.
47666
4785bfe4 476672007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47668
47669 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47670 (HEAP_LIMIT): New macro.
47671 (grub_claim_heap): Claim memory up to `heaplimit'.
47672
a0cbb023 476732007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47674
47675 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47676 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47677 (_start): Likewise.
47678 (grub_arch_modules_addr): Return address after `_end'.
47679 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47680 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47681 (add_segments): Calculate `_end' from phdr size and location.
47682 (ALIGN_UP): Moved to ...
47683 * include/grub/misc.h: here.
47684 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47685 New macro.
47686 (GRUB_IEEE1275_MODULE_BASE): Removed.
47687
fd7d8eba 476882007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47689
47690 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47691 loop boundary.
47692
9b09e6fc 476932007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47694
47695 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47696 All users updated.
47697 (grub_elf64_load_hook_t): Likewise.
47698 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47699 debug output.
47700
3ce27299 477012007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47702
47703 * kern/mm.c: Update copyright.
47704 (grub_mm_debug): Correct syntax error.
47705 (grub_mm_dump_free): New function.
47706 (grub_debug_free): Call `grub_free'.
47707 * include/grub/mm.h: Update copyright.
47708 (grub_mm_dump_free): Add declaration.
47709
077d5fee 477102007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47711
47712 * include/grub/ieee1275/ieee1275.h: Update copyright.
47713 * kern/powerpc/ieee1275/init.c: Likewise.
47714 * kern/powerpc/ieee1275/openfw.c: Likewise.
47715
47716 * loader/powerpc/ieee1275/linux.c: Likewise.
47717 * include/grub/elfload.h: Likewise.
47718 * kern/elf.c: Likewise.
47719 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47720 callers.
47721 (grub_elf64_load): Likewise.
47722 (grub_elf32_load_segment): Move to a nested function.
47723 (grub_elf64_load_segment): Likewise.
47724
dc946850 477252007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47726
47727 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47728 prototype.
47729 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47730 (grub_heap_len): Likewise.
47731 (HEAP_SIZE): New macro.
47732 (grub_claim_heap): New function.
47733 (grub_machine_init): Don't claim heap directly. Call
47734 `grub_claim_heap'.
47735 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47736 (grub_available_iterate): New function.
47737
baa2a121 477382007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47739
47740 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47741 * configure.ac: Use it for testing the HOST and TARGET compilers.
47742
4fe9862e 477432006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47744
47745 * Makefile.in (enable_grub_emu): New variable.
47746 * configure.ac (--enable-grub-emu): New option.
47747 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47748 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47749 * conf/i386-pc.rmk: Likewise.
47750 * conf/powerpc-ieee1275.rmk: Likewise.
47751 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47752
a8aa5762 477532006-12-12 Marco Gerards <marco@gnu.org>
47754
47755 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47756
47757 * kern/env.c (grub_env_unset): Don't free the member `value' when
47758 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47759 pointer.
47760
47761 * normal/main.c (current_menu): Removed.
47762 (free_menu): Unset the `menu' environment variable.
47763 (grub_normal_menu_addentry): Make use of the environment variable
47764 `menu', instead of using the global `current_menu'. Allocate
47765 memory for the sourcecode of this entry.
47766 (read_config_file): New argument `nested', changed all callers.
47767 Only in the case of a new context, initialize a new menu. Set the
47768 `menu' environment variable.
47769 (grub_normal_execute): Don't set and unset the environment
47770 variable `menu' here anymore. Only free the menu when leaving the
47771 context.
47772
47773 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47774 leak.
47775
957b3a3e 477762006-12-11 Marco Gerards <marco@gnu.org>
47777
47778 * normal/menu_entry.c (run): Fix off by one bug so the last line
47779 is executed. Move the loader check to outside the loop.
47780
ef875714 477812006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47782
47783 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47784
4e739985 477852006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47786
47787 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47788 the number of sectors. Reported by Andrey Shuvikov
47789 <mr_hyro@yahoo.com>.
f19dbdb7 47790
790707f2 477912006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47792
47793 * kern/disk.c (grub_disk_read): When there is a read error, always
47794 try to read only the necessary data.
f19dbdb7 47795
790707f2 47796 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47797 disk/raid.c.
47798 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47799 prototype.
47800 [GRUB_UTIL] (grub_raid_fini): Likewise.
47801 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47802 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47803 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47804 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47805 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47806 and grub_raid_fini().
f19dbdb7 47807
03e58196 478082006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47809
47810 * include/grub/types.h (__unused): Rename to UNUSED.
47811 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47812 (grub_elf64_size): Likewise.
f19dbdb7 47813
ae4f23bf 478142006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47815
47816 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47817 grub_error_push and grub_error_pop in the error-handling path.
47818 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47819 length.
47820
2166cc83 478212006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47822
47823 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47824 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47826 (kernel_elf_SOURCES): Likewise.
47827 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47828 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47829 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47830 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47831 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47832 (elf_mod_SOURCES): New variable.
47833 (elf_mod_CFLAGS): Likewise.
47834 (elf_mod_LDFLAGS): Likewise.
47835 * include/grub/types.h (__unused): New macro.
47836 * include/grub/elfload.h: New file.
47837 * kern/elf.c: Likewise.
47838 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47839 (ELF32_LOADMASK): New macro.
47840 (ELF64_LOADMASK): Likewise.
47841 (vmlinux): Removed.
47842 (grub_linux_load32): New function.
47843 (grub_linux_load64): Likewise.
47844 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47845 Use grub_elf_t instead of grub_file_t.
47846
a09d5aa5 478472006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47848
47849 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47850 `catch_result' to struct set_color_args.
47851
d976fc51 478522006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47853
47854 * normal/menu.c: Include grub/script.h.
47855 * normal/menu_entry.c: Likewise.
47856 * include/grub/normal.h: Do not include grub/script.h.
47857
67507549 478582006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47859
47860 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47861
69203a99 478622006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47863
47864 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47865 disk.
47866 (grub_disk_close): Print debug messages when closing a disk.
47867 (grub_disk_read): Print debug messages when disk read fails.
47868 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47869 filesystem type.
47870 * kern/partition.c: Include misc.h.
47871 (grub_partition_iterate): Print debug messages when detecting
47872 partition type.
47873
e2b8278c 478742006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47875
47876 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47877 is negative.
47878 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47879
97b2f2ff 478802006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47881
47882 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47883 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47884
6555d655 478852006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47886
47887 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47888 instead of sizeof(lv). Patch by Michael Guntsche.
47889
4d42b77f 478902006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47891
47892 * disk/lvm.c: Rename VGS to VG_LIST.
47893 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47894 (grub_lvm_open): Likewise.
47895 Thanks to Michael Guntsche for finding this bug.
47896
5d74d927 478972006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47898
47899 * configure.ac (AC_INIT): Bumped to 1.95.
47900
a1bb27e4 479012006-10-14 Robert Millan <rmh@aybabtu.com>
47902
47903 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47904 with "/dev/.static/dev/md".
47905
e0994b8b 479062006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47907
47908 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47909 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47910 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47911 DRIVE_NAME are always freed.
47912
47913 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47914 DOS_PART, as a DOS partition is counted from one instead of zero
47915 now. Reported by Robert Millan.
47916
ddd5cee9 479172006-10-14 Robert Millan <rmh@aybabtu.com>
47918
47919 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47920 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47921 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47922 string returned by grub_guess_root_device.
47923 * util/i386/pc/grub-setup.c: Likewise.
47924 * util/i386/pc/grub-probefs.c: Likewise.
47925
47926 * util/i386/pc/grub-probefs.c: Rename to ...
47927 * util/i386/pc/grub-probe.c: ... this.
47928 * DISTLIST: Remove grub-probefs, add grub-probe.
47929 * conf/i386-efi.rmk: Likewise.
47930 * conf/i386-pc.rmk: Likewise.
47931 * util/i386/pc/grub-install.in: Likewise.
47932
47933 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47934 choose which information we want to print.
47935
2b002173 479362006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47937
47938 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47939 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47940 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47941 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47942 video/readers/tga.c and video/i386/pc/vbeutil.c.
47943
479442006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47945
47946 Added support for RAID and LVM.
f19dbdb7 47947
2b002173 47948 * disk/lvm.c: New file.
47949 * disk/raid.c: Likewise.
47950 * include/grub/lvm.h: Likewise.
f19dbdb7 47951 * include/grub/raid.h: Likewise.
2b002173 47952 * include/grub/util/lvm.h: Likewise.
47953 * include/grub/util/raid.h: Likewise.
47954 * util/lvm.c: Likewise.
47955 * util/raid.c: Likewise.
47956
47957 * include/grub/disk.h (grub_disk_dev_id): Add
47958 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47959 (grub_disk_get_size): New prototype.
47960 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47961 returns a partition.
47962 (grub_disk_get_size): New function.
f19dbdb7 47963
2b002173 47964 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47965 verbatim if grub_install_dos_part is -2.
47966
47967 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47968 and LVM devices.
47969
47970 * util/i386/pc/grub-setup.c (setup): New argument
47971 MUST_EMBED. Force embedding of GRUB when the argument is
47972 true. Close FILE before returning.
47973 (main): Add support for RAID and LVM.
f19dbdb7 47974
2b002173 47975 * conf/common.rmk: Add RAID and LVM modules.
47976 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47977 util/lvm.c.
47978 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47979
47980 * kern/misc.c (grub_strstr): New function.
47981 * include/grub/misc.h (grub_strstr): New prototype.
47982
050548d0 479832006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47984
47985 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47986
da849d2d 479872006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47988
47989 * kern/misc.c (grub_strtoull): Guess the base only if not
47990 specified.
47991
97b2f2ff 479922006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47993
47994 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47995 PowerMac support.
47996
97b2f2ff 479972006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47998
47999 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48000
48001 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48002 Remove `flags' argument. All callers changed.
48003 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48004 (IEEE1275_IHANDLE_INVALID): New variable.
48005 (IEEE1275_CELL_INVALID): New variable.
48006 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48007 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48008 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48009 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48010 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48011 codes from Open Firmware. All callers updated.
48012 (grub_ieee1275_next_property): Directly return Open Firmware return
48013 code.
48014 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48015 Standardize error checking from `grub_ieee1275_get_property'.
48016 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48017 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48018
97b2f2ff 480192006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 48020
48021 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48022 `instance_to_package_args' to `instance_to_path_args'.
48023
48024 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48025 `grub_ieee1275_chosen'.
48026
48027 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48028 `grub_ieee1275_interpret'.
48029
97b2f2ff 480302006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 48031
48032 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48033
97b2f2ff 480342006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 48035
48036 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48037 (__cmpdi): Likewise.
48038
48039 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48040 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48041 `grub_ssize_t'.
48042
02bb8acc 48043 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 48044
48045 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48046 to type `grub_ssize_t'.
48047 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48048
7f9a8531 480492006-09-22 Marco Gerards <marco@gnu.org>
48050
48051 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48052 newlines.
48053
b5ef1102 480542006-09-22 Marco Gerards <marco@gnu.org>
48055
48056 * commands/echo.c: New file.
48057
48058 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48059
48060 * conf/common.rmk (echo_mod_SOURCES): New variable.
48061 (echo_mod_CFLAGS): Likewise.
48062 (echo_mod_LDFLAGS): Likewise.
48063
2cff3677 480642006-09-22 Marco Gerards <marco@gnu.org>
48065
48066 * normal/main.c (get_line): Malloc memory instead of using
48067 preallocated memory. Removed the arguments `cmdline' and
48068 `max_len'. Updated all callers.
48069
6ba4688b 480702006-09-22 Marco Gerards <marco@gnu.org>
48071
48072 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48073 (normal_mod_DEPENDENCIES): Likewise.
48074
48075 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48076 (normal_mod_DEPENDENCIES): Likewise.
48077
48078 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48079
e02ac02c 480802006-09-22 Johan Rydberg <jrydberg@gnu.org>
48081
48082 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48083 programs.
48084 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48085 (normal_mod_DEPENDENCIES): Likewise.
48086 * conf/i386-pc.mk: Regenerate.
48087 * conf/i386-efi.mk: Likewise
48088 * conf/common.mk: Likewise.
48089 * conf/powerpc-ieee1275.mk: Likewise.
48090 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48091
8d252e44 480922006-09-22 Robert Millan <rmh@aybabtu.com>
48093
48094 Sync with i386 version.
48095 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48096 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48097
209bf7ac 480982006-09-21 Robert Millan <rmh@aybabtu.com>
48099
48100 Import from GRUB Legacy (lib/device.c):
48101 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48102 (init_device_map) [__linux__]: Add support for I2O devices.
48103
6b146090 481042006-09-14 Marco Gerards <marco@gnu.org>
48105
48106 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48107 `-melf_i386'.
48108
e38600a8 481092006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 48110
48111 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48112 /boot/grub/*.lst.
78fa1790 48113
2952da5d 48114 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 48115
2952da5d 48116 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48117 before adding it to device.map.
48118
01b82a64 481192006-08-15 Johan Rydberg <jrydberg@gnu.org>
48120
fe6b695a 48121 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 48122 compiles a file; using the -MD option.
48123 * conf/common.mk: Regenerate.
48124 * conf/i386-pc.mk: Likewise.
48125 * conf/i386-efi.mk: Likewise.
48126 * conf/powerpc-ieee1275.mk: Likewise.
48127 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48128
1064790d 481292006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48130
48131 Move the prototypes of grub_setjmp and grub_longjmp to
48132 cpu/setjmp.h, so that each architecture may specify different
48133 attributes.
f19dbdb7 48134
1064790d 48135 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48136 (grub_longjmp): Likewise.
48137 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48138 (grub_longjmp): Likewise.
48139 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48140 (grub_longjmp): Likewise.
48141
48142 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48143 [!GRUB_UTIL] (grub_longjmp): Removed.
48144
29dda3ed 481452006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48146
48147 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48148 "color!" method does not return any value.
48149
ad2a06ed 481502006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48151
48152 * include/grub/bitmap.h: New file.
48153
48154 * include/grub/i386/pc/vbeutil.h: Likewise.
48155
48156 * video/bitmap.c: Likewise.
48157
48158 * video/readers/tga.c: Likewise.
48159
48160 * video/i386/pc/vbeutil.c: Likewise.
48161
48162 * commands/videotest.c: Code cleanup and updated to reflect to new
48163 video API.
48164
48165 * term/gfxterm.c: Likewise.
48166
48167 * video/video.c: Likewise.
48168
48169 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48170 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48171 (bitmap_mod_SOURCES): New entry.
48172 (bitmap_mod_CFLAGS): Likewise.
48173 (bitmap_mod_LDFLAGS): Likewise.
48174 (tga_mod_SOURCES): Likewise.
48175 (tga_mod_CFLAGS): Likewise.
48176 (tga_mod_LDFLAGS): Likewise.
48177
48178 * include/grub/video.h (grub_video_blit_operators): New enum type.
48179 (grub_video_render_target): Changed as forward declaration and moved
48180 actual definition to be video driver specific.
48181 (grub_video_adapter.blit_bitmap): Added blitting operator.
48182 (grub_video_adapter.blit_render_target): Likewise.
48183 (grub_video_blit_bitmap): Likewise.
48184 (grub_video_blit_render_target): Likewise.
48185
48186 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48187 driver specific render target definition.
48188 (grub_video_vbe_map_rgba): Added driver internal helper.
48189 (grub_video_vbe_unmap_color): Updated to use
48190 grub_video_i386_vbeblit_info.
48191 (grub_video_vbe_get_video_ptr): Likewise.
48192
48193 * include/grub/i386/pc/vbeblit.h
48194 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48195 grub_video_i386_vbeblit_info.
48196 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48197 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48198 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48199 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48200 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48201 (grub_video_i386_vbeblit_index_index): Likewise.
48202 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48203 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48204 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48205 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48206 operator.
48207 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48208 operator.
48209
48210 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48211 include/grub/i386/pc/vbeblit.h.
48212
48213 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48214 Updated to use grub_video_i386_vbeblit_info.
48215 (grub_video_i386_vbefill_R8G8B8): Likewise.
48216 (grub_video_i386_vbefill_index): Likewise.
48217 (grub_video_i386_vbefill): Added generic filler.
48218
48219 * video/i386/pc/vbefill.c: Updated to reflect changes on
48220 include/grub/i386/pc/vbefill.h.
48221
48222 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48223 grub_video_i386_vbeblit_info.
48224 (grub_video_vbe_unmap_color): Likewise.
48225 (grub_video_vbe_blit_glyph): Likewise.
48226 (grub_video_vbe_scroll): Likewise.
48227 (grub_video_vbe_draw_pixel): Removed function.
48228 (grub_video_vbe_get_pixel): Likewise.
48229 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48230 updated code to use it.
48231 (common_blitter): Added common blitter for render target and bitmap.
48232 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48233 (grub_video_vbe_blit_render_target): Likewise.
48234
bc8c036d 482352006-07-30 Johan Rydberg <jrydberg@gnu.org>
48236
48237 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48238 is in text mode if there is no console control protocol instance
48239 available.
48240
684a8eff 482412006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48242
48243 * include/grub/video.h: Code cleanup.
48244
48245 * include/grub/i386/pc/vbe.h: Likewise.
48246
48247 * video/i386/pc/vbe.c: Likewise.
48248
48249 * video/i386/pc/vbeblit.c: Likewise.
48250
48251 * video/i386/pc/vbefill.c: Likewise.
48252
48253 * video/video.c: Likewise. Also added more comments.
48254
5915059b 482552006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48256
48257 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48258 (struct grub_biosdisk_dap): Likewise.
48259
48260 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48261 linkage settings for all functions.
48262
90ce5d56 482632006-07-12 Marco Gerards <marco@gnu.org>
48264
48265 * configure.ac (--enable-mm-debug): Fix typo.
48266
48267 * genkernsyms.sh.in: Use proper quoting for `CC'.
48268
43e7f879 482692006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48270
48271 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48272 (normal_mod_ASFLAGS): Remove "-m32".
48273
4889bdec 482742006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
48275
48276 * util/misc.c: Include config.h.
48277 [!HAVE_MEMALIGN]: Do not include malloc.h.
48278 (grub_memalign): Use posix_memalign, if present. Then, use
48279 memalign, if present. Otherwise, emit an error.
48280
48281 * util/grub-emu.c: Do not include malloc.h.
48282
48283 * include/grub/util/misc.h: Include unistd.h. This is required for
48284 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48285 D. Eades III <hde@foobar-qux.org>.
48286
48287 * configure.ac (AC_GNU_SOURCE): Added.
48288 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48289 type.
48290
fd39d4da 482912006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48292
48293 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48294 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48295
b786f3b5 482962006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48297
48298 * include/grub/types.h (grub_host_addr_t): Rename to
48299 grub_target_addr_t.
48300 (grub_host_off_t): Rename to grub_target_off_t.
48301 (grub_host_size_t): Rename to grub_target_size_t.
48302 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48303 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48304
48305 * include/grub/kernel.h (struct grub_module_header): Change type
48306 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48307 (grub_module_info): Likewise.
f19dbdb7 48308
051988bb 483092006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48310
48311 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48312 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48313 Velazquez <jesus.velazquez@gmail.com>.
48314
deae281b 483152006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48316
48317 Count partitions from 1 instead of 0 in the string representation
48318 of partitions. Still use 0-based internally.
f19dbdb7 48319
deae281b 48320 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48321 (sun_partition_map_iterate): Use grub_partition_t instead of
48322 struct grub_partition *. Cast DESC->START_CYLINDER to
48323 grub_uint64_t after converting the endian.
48324 (sun_partition_map_probe): Subtract 1 for PARTNUM.
48325 (sun_partition_map_get_name): Add 1 to P->INDEX.
48326
48327 * partmap/pc.c (grub_partition_parse): Subtract 1 for
48328 PCDATA->DOS_PART.
48329 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
48330
48331 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
48332 zero instead of one.
48333 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
48334 (gpt_partition_map_get_name): Add 1 into P->INDEX.
48335
48336 * partmap/apple.c (apple_partition_map_iterate): Change the type
48337 of POS to unsigned.
48338 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48339 (apple_partition_map_get_name): Add 1 into P->INDEX.
48340
48341 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48342 of POS to unsigned.
48343 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48344 calculate the offset of a partition.
48345 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48346 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48347
48348 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48349 SECTOR to grub_disk_addr_t.
48350 (acorn_partition_map_iterate): Likewise.
48351 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48352 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48353 top.
48354 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48355
48356 * kern/i386/pc/init.c (make_install_device): Add 1 into
48357 GRUB_INSTALL_DOS_PART.
48358
48359 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
48360 conditional.
48361
524a1e6a 483622006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48363
48364 Clean up the code to support 64-bit addressing in disks and
48365 files. This change is not enough for filesystems yet.
f19dbdb7 48366
524a1e6a 48367 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
48368 type of "start" to grub_uint64_t.
48369 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
48370 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
48371 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
48372 convert addresses.
48373
48374 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
48375 to grub_disk_addr_t.
48376
48377 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
48378 string.
48379
48380 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48381
48382 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
48383 to char *.
48384
48385 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
48386
48387 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
48388
48389 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
48390
48391 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
48392 to grub_off_t, to detect an error from grub_file_seek.
48393 (grub_multiboot_load_elf32): Likewise.
48394
48395 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
48396 maximum unsigned long value when an overflow is detected.
48397 (grub_strtoull): New function.
48398 (grub_divmod64): Likewise.
48399 (grub_lltoa): use grub_divmod64.
48400
48401 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
48402 grub_disk_addr_t.
48403 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
48404 the pointer to next character. Use grub_strtoull instead of
48405 grub_strtoul.
48406 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
48407 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
48408 respectively.
48409
fe6b695a 48410 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 48411 return value is signed.
48412 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
48413 test if OFFSET is less than zero, as OFFSET is unsigned now.
48414
48415 * kern/disk.c (struct grub_disk_cache): Change the type of
48416 "sector" to grub_disk_addr_t.
48417 (grub_disk_cache_get_index): Change the type of SECTOR to
48418 grub_disk_addr_t. Calculate the hash with SECTOR casted to
48419 unsigned after shifting.
48420 (grub_disk_cache_invalidate): Change the type of SECTOR to
48421 grub_disk_addr_t.
48422 (grub_disk_cache_unlock): Likewise.
48423 (grub_disk_cache_store): Likewise.
48424 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
48425 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
48426 grub_disk_addr_t and grub_uint64_t, respectively.
48427 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
48428 body, as the value of OFFSET is tweaked by
48429 grub_disk_check_range. Change the types of START_SECTOR, LEN and
48430 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
48431 respectively.
48432 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
48433 body, as the value of OFFSET is tweaked by
48434 grub_disk_check_range. Change the types of LEN and N to
48435 grub_size_t.
48436
48437 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
48438 and "saved_offset" to grub_off_t.
48439 (test_header): Cast BUF to char *.
48440 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
48441 to char *.
48442 (grub_gzio_read): Change the types of OFFSET and SIZE to
48443 grub_off_t and grub_size_t, respectively.
48444
48445 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48446 Removed.
48447 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48448 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48449 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48450 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48451 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48452
48453 * include/grub/types.h (grub_off_t): Unconditionally set to
48454 grub_uint64_t.
48455 (grub_disk_addr_t): Changed to grub_uint64_t.
48456
48457 * include/grub/partition.h (struct grub_partition): Change the
48458 types of "start", "len" and "offset" to grub_disk_addr_t,
48459 grub_uint64_t and grub_disk_addr_t, respectively.
48460 (grub_partition_get_start): Return grub_disk_addr_t.
48461 (grub_partition_get_len): Return grub_uint64_t.
48462
48463 * include/grub/misc.h (grub_strtoull): New prototype.
48464 (grub_divmod64): Likewise.
48465
48466 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48467 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48468 grub_off_t, respectively.
48469 All callers and references changed.
48470
48471 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48472 grub_size_t in "read".
48473 All callers and references changed.
48474
48475 * include/grub/file.h (struct grub_file): Change the types of
48476 "offset" and "size" to grub_off_t and grub_off_t,
48477 respectively. Change the type of SECTOR to grub_disk_addr_t in
48478 "read_hook".
48479 (grub_file_read): Change the type of LEN to grub_size_t.
48480 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48481 grub_off_t.
48482 (grub_file_size): Return grub_off_t.
48483 (grub_file_tell): Likewise.
48484 All callers and references changed.
48485
48486 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48487 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48488 "write".
48489 (struct grub_disk): Change the type of "total_sectors" to
48490 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 48491 "read_hook".
524a1e6a 48492 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48493 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48494 (grub_disk_write): Likewise.
48495 All callers and references changed.
48496
48497 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48498 char * for grub_strncmp to silence gcc.
48499 (grub_iso9660_mount): Likewise.
48500 (grub_iso9660_mount): Likewise.
48501 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48502 return statement.
48503 (grub_iso9660_iterate_dir): Likewise.
48504 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48505
48506 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48507 LEN to grub_disk_addr_t and grub_size_t, respectively.
48508
48509 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48510
48511 * fs/jfs.c (grub_jfs_read_file): Likewise.
48512
48513 * fs/minix.c (grub_jfs_read_file): Likewise.
48514
48515 * fs/sfs.c (grub_jfs_read_file): Likewise.
48516
48517 * fs/ufs.c (grub_jfs_read_file): Likewise.
48518
48519 * fs/xfs.c (grub_jfs_read_file): Likewise.
48520
48521 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48522 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48523 respectively.
48524
48525 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48526 BLKNR to -1 instead of returning GRUB_ERRNO.
48527 (grub_ext2_read_file): Change the types of SECTOR and
48528 LEN to grub_disk_addr_t and grub_size_t, respectively.
48529
48530 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48531 LEN to grub_disk_addr_t and grub_size_t, respectively.
48532
48533 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48534 grub_file_read.
48535
48536 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48537 string. Do not cast SECTOR explicitly.
48538
48539 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48540 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48541 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48542 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48543 over 2TB and LBA mode is not supported, raise an error.
48544 (get_safe_sectors): New function.
48545 (grub_biosdisk_read): Use get_safe_sectors.
48546 (grub_biosdisk_write): Likewise.
48547
48548 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48549 (grub_efidisk_write): Likewise.
48550
48551 * disk/loopback.c (delete_loopback): Cosmetic changes.
48552 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48553 correctly.
48554 (grub_loopback_open): Likewise.
48555 (grub_loopback_read): Likewise. Also, change the type of POS to
48556 grub_off_t, and fix the usage of grub_memset.
48557
48558 * commands/i386/pc/play.c: Include grub/machine/time.h.
48559
48560 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48561 print FILE->SIZE.
48562
48563 * commands/configfile.c: Include grub/env.h.
48564
48565 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48566 GRUB_ERRNO directly instead. Change the type of POS to
48567 grub_off_t. Follow the coding standard.
48568
48569 * commands/blocklist.c: Include grub/partition.h.
48570 (grub_cmd_blocklist): Return an error if the underlying device is
48571 not a disk. Take the starting sector of a partition into account,
48572 if a partition is used.
48573
48574 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48575 a length field.
48576 (lba_mode): Support 64-bit addresses.
48577 (chs_mode): Likewise.
48578 (copy_buffer): Adapted to the new offsets of a length field and a
48579 segment field.
48580 (blocklist_default_start): Allocate 64-bit space.
48581
48582 * boot/i386/pc/boot.S (force_lba): Removed.
48583 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48584 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48585 space.
48586 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48587 is useless.
48588 (lba_mode): Refactored to support a 64-bit address. More size
48589 optimization.
48590 (setup_sectors): Likewise.
48591
53af98ad 485922006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48593
48594 * DISTLIST: Added include/grub/i386/linux.h. Removed
48595 include/grub/i386/pc/linux.h
48596
48597 * configure.ac (AC_INIT): Bumped to 1.94.
48598
48599 * config.guess: Updated from gnulib.
48600 * config.sub: Likewise.
48601 * install-sh: Likewise.
48602 * mkinstalldirs: Likewise.
48603
b4c1940a 486042006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48605
48606 * conf/common.rmk (grub_modules_init.lst): Depended on
48607 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48608 MODSRCFILES.
48609
48610 * genmk.rb (PModule::rule): Reverted the previous change.
48611
cfca1cfd 486122006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48613
48614 * conf/common.rmk (grub_modules_init.lst): Depends on
48615 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48616 that the target does not exist before producing.
48617 (grub_modules_init.h): Remove the target before generating.
48618 (grub_emu_init.c): Likewise.
48619
48620 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48621
aa6d7826 486222006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48623
48624 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48625 for the target-specific tests. Make sure that we also have the
48626 up-to-date target variables for those tests.
48627
26c607b9 486282006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48629
48630 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48631 (PModule::rule): Likewise.
48632
0162321a 486332006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48634
48635 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48636 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48637 target-specific flags should be prefixed.
48638 (PModule::rule): Likewise.
48639
6c826348 486402006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48641
48642 * configure.ac (CMP): Check if cmp is available explicitly.
48643
b977bf01 486442006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48645
48646 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48647 (target_cpu): New variable.
48648 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48649
b977bf01 48650 * util/i386/pc/grub-install.in (host_cpu): Removed.
48651 (target_cpu): New variable.
48652 (pkglibdir): Use target_cpu instead of host_cpu.
48653
48654 * util/genmoddep.c: Removed.
f19dbdb7 48655
b977bf01 48656 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48657 instead of GRUB_HOST_SIZEOF_VOID_P.
48658 * kern/dl.c: Likewise.
48659
48660 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48661 ...
48662 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48663 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48664 (GRUB_TARGET_SIZEOF_LONG): ... this.
48665 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48666 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48667 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48668 to ...
48669 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48670 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48671 (GRUB_TARGET_SIZEOF_LONG): ... this.
48672 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48673 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48674 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48675 to ...
48676 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48677 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48678 (GRUB_TARGET_SIZEOF_LONG): ... this.
48679 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48680 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48681
48682 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48683 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48684 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48685 instead of GRUB_HOST_SIZEOF_LONG.
48686 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48687 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48688 GRUB_CPU_WORDS_BIGENDIAN.
48689 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48690 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48691 grub_host_ssize_t.
48692
48693 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48694 (genmoddep_SOURCES): Likewise.
48695 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48696 (genmoddep_SOURCES): Likewise.
48697 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48698 (genmoddep_SOURCES): Likewise.
48699 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48700 Likewise.
48701 (genmoddep_SOURCES): Likewise.
48702
48703 * genmoddep.awk: New file.
48704
48705 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48706 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48707 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48708 (PModule::rule): Likewise.
48709 (Program::rule): Likewise.
48710 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48711 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48712 respectively.
48713
48714 * configure.ac: Rewritten intensively to use host and target
48715 instead of build and host, respectively.
48716
48717 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48718 (host_cpu): Removed.
48719 (target_cpu): New variable.
48720 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48721 (BUILD_CC): Removed.
48722 (BUILD_CFLAGS): Likewise.
48723 (BUILD_CPPFLAGS): Likewise.
48724 (TARGET_CC): New variable.
48725 (TARGET_CFLAGS): Likewise.
48726 (TARGET_CPPFLAGS): Likewise.
48727 (TARGET_LDFLAGS): Likewise.
48728 (AWK): Likewise.
48729 (include): Use target_cpu instead of host_cpu.
48730 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48731
b977bf01 48732 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48733
f09771a1 487342006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48735
48736 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48737 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48738 field 'false' to 'exec_on_false'.
48739 (grub_script_create_cmdif): Renamed argument names to reflect above
48740 changes.
48741
48742 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48743
48744 * normal/script.c (grub_script_create_cmdif): Likewise.
48745
118f4fb3 487462006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48747
48748 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48749 top.
48750 (grub_hfsplus_btree_recptr): Likewise.
48751 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48752 FILEBLOCK both to pass a block number and store next block
48753 number.
48754 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48755 overflow file correctly. Specify errors appropriately, because
48756 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48757 grub_hfsplus_btree_recptr to get the pointer to a found key.
48758 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48759 is found.
48760
48761 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48762 linux.mod.
48763 (_linux_mod_SOURCES): New variable.
48764 (_linux_mod_CFLAGS): Likewise.
48765 (_linux_mod_LDFLAGS): Likewise.
48766 (linux_mod_SOURCES): Likewise.
48767 (linux_mod_CFLAGS): Likewise.
48768 (linux_mod_LDFLAGS): Likewise.
48769
48770 * DISTLIST: Added loader/i386/efi/linux.c,
48771 loader/i386/efi/linux_normal.c and
48772 include/grub/i386/efi/loader.h.
48773
48774 * loader/i386/efi/linux.c: New file.
48775 * loader/i386/efi/linux_normal.c: Likewise.
48776 * include/grub/i386/efi/loader.h: Likewise.
48777
89a7d726 487782006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48779
48780 * commands/blocklist.c: New file.
48781
48782 * DISTLIST: Added commands/blocklist.c.
48783
48784 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48785 color for the background, and a darker color for the foreground.
89a7d726 48786 (grub_console_checkkey): Return READ_KEY.
48787 (grub_console_cls): Set the background to
48788 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48789
48790 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48791
48792 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48793 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48794
48795 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48796 prototype.
48797
48798 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48799 BG. The spec is wrong again.
48800
48801 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48802 prototype.
48803 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48804
48805 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48806 commands/blocklist.c.
48807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48808
89a7d726 48809 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48810 (blocklist_mod_SOURCES): New variable.
48811 (blocklist_mod_CFLAGS): Likewise.
48812 (blocklist_mod_LDFLAGS): Likewise.
48813
75c8f258 488142006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48815
48816 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48817 duplication.
48818 (lba_mode): Use %eax more intensively to reduce the code size.
48819
da2eb181 488202006-05-20 Marco Gerards <marco@gnu.org>
48821
48822 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48823
48824 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48825 for `menuentry'.
48826 (script): Accept leading newlines.
48827 (newlines): New rule to describe 0 or more newlines.
48828 (commands): Accept `command' with trailing newline. Fixed the
48829 order in which arguments were passed to `grub_script_add_cmd'.
48830 Accept commands separated by newlines.
48831 (function): Changed to accept newlines.
48832 (menuentry) Rewritten.
48833
48834 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48835 front of the list, instead of to the end.
48836
577b4050 488372006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48838
48839 * util/i386/pc/grub-install.in (bindir): New variable.
48840 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48841 Shaver <lbgwjl@gmail.com>.
48842
0d6e1189 488432006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48844
48845 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48846 grub/machine/linux.h
48847 * loader/i386/pc/linux.c: Likewise.
48848
48849 * include/grub/i386/pc/linux.h: Moved to ...
48850 * include/grub/i386/linux.h: ... here.
48851
48852 * include/grub/i386/linux.h (struct linux_kernel_params): New
48853 struct.
f19dbdb7 48854
31b86e9f 488552006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48856
48857 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48858 checking.
48859 (grub_video_vbe_blit_glyph): Likewise.
48860 (grub_video_vbe_blit_bitmap): Likewise.
48861 (grub_video_vbe_blit_render_target): Likewise.
48862
83b984de 488632006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48864
48865 * configure.ac (--with-platform): Properly quote the square
48866 brackets.
48867
5f0413bd 488682006-05-08 Marco Gerards <marco@gnu.org>
48869
48870 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48871 this...
48872 (kernel_elf_HEADERS): ...to this. Updated all users.
48873 (grubof_symlist.c): Renamed from this...
48874 (kernel_elf_symlist.c): ...to this. Updated all users.
48875 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48876 (grubof_SOURCES): Renamed from this...
48877 (kernel_elf_SOURCES): ...to this.
48878 (grubof_HEADERS): Renamed from this...
48879 (kernel_elf_HEADERS): ...to this.
48880 (grubof_CFLAGS): Renamed from this...
48881 (kernel_elf_CFLAGS): ...to this.
48882 (grubof_ASFLAGS): Renamed from this...
48883 (kernel_elf_ASFLAGS): ...to this.
48884 (grubof_LDFLAGS): Renamed from this...
48885 (kernel_elf_LDFLAGS): ...to this.
48886
48887 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48888 this...
48889 (kernel_elf_HEADERS): ...to this. Updated all users.
48890 (grubof_symlist.c): Renamed from this...
48891 (kernel_elf_symlist.c): ...to this. Updated all users.
48892 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48893 (grubof_SOURCES): Renamed from this...
48894 (kernel_elf_SOURCES): ...to this.
48895 (grubof_HEADERS): Renamed from this...
48896 (kernel_elf_HEADERS): ...to this.
48897 (grubof_CFLAGS): Renamed from this...
48898 (kernel_elf_CFLAGS): ...to this.
48899 (grubof_ASFLAGS): Renamed from this...
48900 (kernel_elf_ASFLAGS): ...to this.
48901 (grubof_LDFLAGS): Renamed from this...
48902 (kernel_elf_LDFLAGS): ...to this.
48903
48904 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48905 `kernel.elf' instead of `grubof'.
48906
05568c2e 489072006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48908
48909 Add --with-platform to configure. Use pkglibdir instead of
48910 pkgdatadir. This is reported by Roger Leigh.
48911
48912 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48913 (host_vendor): Likewise.
48914 (host_os): Likewise.
48915 (pkgdatadir): Likewise.
48916 (platform): New variable.
48917 (pkglibdir): Likewise.
48918 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48919
05568c2e 48920 * util/i386/pc/grub-install.in (datadir): Removed.
48921 (host_vendor): Likewise.
48922 (host_os): Likewise.
48923 (pkgdatadir): Likewise.
48924 (platform): New variable.
48925 (pkglibdir): Likewise.
48926 Use PKGLIBDIR instead of PKGDATADIR.
48927
48928 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48929 instead of GRUB_DATADIR.
48930 (main): Likewise.
48931 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48932 (main): Likewise.
48933 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48934 (main): Likewise.
48935
48936 * configure.ac (--with-platform): New option.
48937 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48938
48939 * Makefile.in: Include a makefile based on PLATFORM instead of
48940 HOST_VENDOR.
48941 (pkgdatadir): Not appended by the machine type.
48942 (pkglibdir): Appended by the machine type.
48943 (host_vendor): Removed.
48944 (platform): New variable.
48945 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48946 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48947 (uninstall): Likewise.
48948
4e93851c 489492006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48950
48951 Use the environment context in the menu. Remove the commands
48952 "default" and "timeout", and use variables instead.
f19dbdb7 48953
4e93851c 48954 * normal/menu.c: Include grub/env.h.
48955 (print_entry): Cast TITLE to silence gcc.
48956 (get_timeout): New function.
48957 (set_timeout): Likewise.
48958 (get_entry_number): Likewise.
48959 (run_menu): Use a default entry, a fallback entry and a timeout
48960 in the environment variables "default", "fallback" and
48961 "timeout". Also, tweak the default entry if it is not within the
48962 current menu entries.
48963 (grub_menu_run): Use a fallback entry in the environment variable
48964 "fallback".
48965
48966 * normal/main.c (read_config_file): Do not initialize
48967 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48968 NEWMENU->TIMEOUT.
48969 (grub_normal_execute): Use a data slot to store the menu.
48970
48971 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48972 fallback_entry and timeout.
48973 (struct grub_menu_list): Removed.
48974 (grub_menu_list_t): Likewise.
48975 (struct grub_context): Likewise.
48976 (grub_context_t): Likewise.
48977 (grub_context_get): Likewise.
48978 (grub_context_get_current_menu): Likewise.
48979 (grub_context_push_menu): Likewise.
48980 (grub_context_pop_menu): Likewise.
48981 (grub_default_init): Likewise.
48982 (grub_default_fini): Likewise.
48983 (grub_timeout_init): Likewise.
48984 (grub_timeout_fini): Likewise.
48985
48986 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48987 and timeout.mod.
48988 (normal_mod_SOURCES): Removed normal/context.c.
48989
48990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48991 commands/default.c, commands/timeout.c and normal/context.c.
48992 (normal_mod_SOURCES): Removed normal/context.c.
48993
48994 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48995 commands/timeout.c and normal/context.c.
48996 (normal_mod_SOURCES): Removed normal/context.c.
48997
48998 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48999 commands/default.c, commands/timeout.c and normal/context.c.
49000 (normal_mod_SOURCES): Removed normal/context.c.
49001
49002 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49003 timeout.mod.
49004 (default_mod_SOURCES): Removed.
49005 (default_mod_CFLAGS): Likewise.
49006 (default_mod_LDFLAGS): Likewise.
49007 (timeout_mod_SOURCES): Removed.
49008 (timeout_mod_CFLAGS): Likewise.
49009 (timeout_mod_LDFLAGS): Likewise.
49010
49011 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49012 normal/context.c.
49013
49014 * commands/default.c: Removed.
49015 * commands/timeout.c: Likewise.
49016 * normal/context.c: Likewise.
49017
1eb9cc1d 490182006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49019
49020 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49021
385bd9c1 490222006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49023
49024 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49025 "next" to "prev" for readability.
49026 (struct grub_env_sorted_var): New struct.
49027 (grub_env_context): Renamed to ...
49028 (initial_context): ... this.
49029 (grub_env_var_context): Renamed to ...
49030 (current_context): ... this.
49031 (grub_env_find): Look only at CURRENT_CONTEXT.
49032 (grub_env_context_open): Rewritten to copy exported variables from
49033 previous context.
49034 (grub_env_context_close): Rewritten according to the new
49035 scheme. Also, add an assertion to prevent the initial context from
49036 removed.
49037 (grub_env_insert): Removed the code for the sorted list.
49038 (grub_env_remove): Likewise.
49039 (grub_env_export): Simply mark the variable with
49040 GRUB_ENV_VAR_GLOBAL.
49041 (grub_env_set): A cosmetic change for naming consistency.
49042 (grub_env_get): Likewise.
49043 (grub_env_unset): Likewise.
49044 (grub_env_iterate): Rewritten to sort variables within this
49045 function.
49046 (grub_register_variable_hook): Fixed for naming consistency. Call
49047 grub_env_find again, only if NAME is not found at the first time.
49048 (mangle_data_slot_name): New function.
49049 (grub_env_set_data_slot): Likewise.
49050 (grub_env_get_data_slot): Likewise.
49051 (grub_env_unset_data_slot): Likewise.
49052
49053 * include/grub/env.h (grub_env_var_type): New enum.
49054 (GRUB_ENV_VAR_LOCAL): New constant.
49055 (GRUB_ENV_VAR_GLOBAL): Likewise.
49056 (GRUB_ENV_VAR_DATA): Likewise.
49057 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49058 "type".
49059 (grub_env_set): Replace VAR with NAME for consistency.
49060 (grub_register_variable_hook): Likewise.
49061 (grub_env_export): Specify the name of the argument.
49062 (grub_env_set_data_slot): New prototype.
49063 (grub_env_get_data_slot): Likewise.
49064 (grub_env_unset_data_slot): Likewise.
49065
7f362539 490662006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49067
49068 Extend the loader so that GRUB can accept a loader which comes
49069 back to GRUB when a loaded image exits. Also, this change adds
49070 support for a chainloader on EFI.
f19dbdb7 49071
7f362539 49072 * term/efi/console.c: Include grub/misc.h.
49073 (grub_console_checkkey): Display a scan code on the top for
49074 debugging. This will be removed once the EFI port gets stable.
49075 Correct the scan code mapping.
49076
49077 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49078 allocate memory from larger regions, in order to reduce the number
49079 of allocated regions. Otherwise, the MacOSX loader panics.
49080 (filter_memory_map): Avoid less than 1MB for compatibility with
49081 other loaders.
49082 (add_memory_regions): Allocate from the tail of a region, if
49083 possible, to avoid allocating a region near to 1MB, for the MacOSX
49084 loader.
49085
49086 * kern/efi/init.c (grub_efi_set_prefix): Specify
49087 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49088
49089 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49090 argument IMAGE_HANDLE and specify it to get a loaded image.
49091 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49092 grub_efi_get_loaded_image.
fe6b695a 49093 (grub_efi_get_filename): Divide the length by the size of
7f362539 49094 grub_efi_char16_t.
49095 (grub_efi_get_device_path): New function.
49096 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49097 the length by the size of grub_efi_char16_t for a file path device
49098 path node.
49099
49100 * kern/loader.c (grub_loader_noreturn): New variable.
49101 (grub_loader_set): Accept a new argument NORETURN. Set
49102 GRUB_LOADER_NORETURN to NORETURN.
49103 All callers changed.
49104 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49105 grub_machine_fini.
49106
49107 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49108 prototype.
49109 (grub_efi_get_loaded_image): Take an argument to specify an image
49110 handle.
49111
49112 * include/grub/loader.h (grub_loader_set): Added one more argument
49113 NORETURN.
49114
49115 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49116 instead of grub_efi_open_protocol.
49117 (grub_efidisk_get_device_name): Likewise.
49118 (grub_efidisk_close): Print a newline.
49119 (grub_efidisk_get_device_handle): Fixed to use
49120 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49121 GRUB_EFI_DEVICE_PATH_TYPE.
49122
49123 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49124 * kern/efi/efi.c (device_path_guid): ... here.
49125
49126 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49127 chain.mod.
49128 (kernel_mod_HEADERS): Added efi/disk.h.
49129 (_chain_mod_SOURCES): New variable.
49130 (_chain_mod_CFLAGS): Likewise.
49131 (_chain_mod_LDFLAGS): Likewise.
49132 (chain_mod_SOURCES): Likewise.
49133 (chain_mod_CFLAGS): Likewise.
49134 (chain_mod_LDFLAGS): Likewise.
49135
49136 * DISTLIST: Added include/grub/efi/chainloader.h,
49137 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49138
49139 * include/grub/efi/chainloader.h: New file.
49140 * loader/efi/chainloader.c: Likewise.
49141 * loader/efi/chainloader_normal.c: Likewise.
49142
c0111d6e 491432006-04-30 Marco Gerards <marco@gnu.org>
49144
49145 * commands/configfile.c (grub_cmd_source): New function.
49146 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49147 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49148
df5341da 491492006-04-30 Marco Gerards <marco@gnu.org>
49150
49151 * normal/execute.c (grub_script_execute_cmd): Change the return
49152 type to `grub_err_t'. Correctly return the error.
49153 (grub_script_execute_cmdline): In case a command line is not a
49154 command or a function, try to interpret it as an assignment.
49155
f85934bd 491562006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49157
49158 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49159 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49160 skip a node whose name is obviously invalid as UTF-16,
49161 i.e. contains a NUL character. Stop the iteration when the last
49162 directory entry is found. Instead of using the return value of
49163 grub_hfsplus_btree_iterate_node, store the value in RET and use
49164 it, because the iterator can be stopped by the last directory
49165 entry.
49166
8f8a2cf8 491672006-04-30 Marco Gerards <marco@gnu.org>
49168
49169 * include/grub/env.h (grub_env_export): New prototype. Reported
49170 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49171
a27e84ce 491722006-04-30 Marco Gerards <marco@gnu.org>
49173
49174 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49175 size of the extents in a catalog file record.
49176
eaef0553 491772006-04-29 Marco Gerards <marco@gnu.org>
49178
49179 * commands/configfile.c (grub_cmd_configfile): Execute the
49180 configfile within its own context.
49181
49182 * include/grub/env.h (grub_env_context_open): New prototype.
49183 (grub_env_context_close): Likewise.
49184
49185 * kern/env.c (grub_env): Removed.
49186 (grub_env_sorted): Likewise.
49187 (grub_env_context): New variable.
49188 (grub_env_var_context): Likewise.
49189 (grub_env_find): Search both the active context and the global
49190 context.
49191 (grub_env_context_open): New function.
49192 (grub_env_context_close): Likewise.
49193 (grub_env_insert): Likewise.
49194 (grub_env_remove): Likewise.
49195 (grub_env_export): Likewise.
49196 (grub_env_set): Changed to use helper functions to avoid code
49197 duplication.
49198 (grub_env_iterate): Rewritten so both the current context and the
49199 global context are being used.
49200
49201 * normal/command.c (export_command): New function.
49202 (grub_command_init): Register the `export' function.
49203
7b455f4d 492042006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49205
49206 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49207 explicitly to suppress gcc's warnings.
49208 * fs/fat.c (grub_fat_find_dir): Likewise.
49209 (grub_fat_label): Likewise.
49210 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49211 (grub_xfs_mount): Likewise.
49212 (grub_xfs_label): Likewise.
49213 * fs/affs.c (grub_affs_mount): Likewise.
49214 (grub_affs_label): Likewise.
49215 (grub_affs_iterate_dir): Likewise.
49216 * fs/sfs.c (grub_sfs_mount): Likewise.
49217 (grub_sfs_iterate_dir): Likewise.
49218 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49219 * fs/hfs.c (grub_hfs_mount): Likewise.
49220 (grub_hfs_cmp_catkeys): Likewise.
49221 (grub_hfs_find_dir): Likewise.
49222 (grub_hfs_dir): Likewise.
49223 (grub_hfs_label): Likewise.
49224 * fs/jfs.c (grub_jfs_mount): Likewise.
49225 (grub_jfs_opendir): Likewise.
49226 (grub_jfs_getent): Likewise.
49227 (grub_jfs_lookup_symlink): Likewise.
49228 (grub_jfs_label): Likewise.
49229 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49230 (grub_hfsplus_iterate_dir): Likewise.
49231 (grub_hfsplus_btree_iterate_node): Made static.
49232
49233 * util/grub-emu.c (prefix): New variable.
49234 (grub_machine_set_prefix): New function.
49235 (main): Do not set the environment variable "prefix" here. Only
49236 set PREFIX, which is used later by grub_machine_set_prefix.
49237
49238 * include/grub/video.h: Do not include grub/symbol.h.
49239 (grub_video_register): Not exported. This symbol is not defined in
49240 the kernel.
49241 (grub_video_unregister): Likewise.
49242 (grub_video_iterate): Likewise.
49243 (grub_video_setup): Likewise.
49244 (grub_video_restore): Likewise.
49245 (grub_video_get_info): Likewise.
49246 (grub_video_get_blit_format): Likewise.
49247 (grub_video_set_palette): Likewise.
49248 (grub_video_get_palette): Likewise.
49249 (grub_video_set_viewport): Likewise.
49250 (grub_video_get_viewport): Likewise.
49251 (grub_video_map_color): Likewise.
49252 (grub_video_map_rgb): Likewise.
49253 (grub_video_map_rgba): Likewise.
49254 (grub_video_fill_rect): Likewise.
49255 (grub_video_blit_glyph): Likewise.
49256 (grub_video_blit_bitmap): Likewise.
49257 (grub_video_blit_render_target): Likewise.
49258 (grub_video_scroll): Likewise.
49259 (grub_video_swap_buffers): Likewise.
49260 (grub_video_create_render_target): Likewise.
49261 (grub_video_delete_render_target): Likewise.
49262 (grub_video_set_active_render_target): Likewise.
49263
49264 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49265 Undefined.
49266 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49267
49268 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49269 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49270 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49271 instead of $(srcdir)/genkernsyms.sh.
49272
49273 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49274 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49275 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49276 instead of $(srcdir)/genkernsyms.sh.
49277
49278 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49279 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49280 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49281 instead of $(srcdir)/genkernsyms.sh.
49282
49283 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49284 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49285 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49286 instead of $(srcdir)/genkernsyms.sh.
49287
49288 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49289 genkernsyms.sh.
49290
49291 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49292 genkernsyms.sh.
49293 (gensymlist.sh): New target.
49294 (genkernsyms.sh): Likewise.
49295
49296 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49297 genkernsyms.sh.in and gensymlist.sh.in.
49298
49299 * genkernsyms.sh: Removed.
49300 * gensymlist.sh: Likewise.
f19dbdb7 49301
7b455f4d 49302 * genkernsyms.sh.in: New file.
49303 * gensymlist.sh.in: Likewise.
49304
1885bb27 493052006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49306
49307 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49308 clobber "prefix", since we may have already set it manually.
49309
71538dff 493102006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49311
49312 * kern/misc.c (abort): New alias for grub_abort.
49313
2965c7cc 493142006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49315
49316 A new machine-specific function "grub_machine_set_prefix" is
49317 defined. This is called after loading modules, so that a prefix
49318 initialization can use modules. Also, this change adds an
49319 intensive debugging feature for the memory manager via the
49320 configure option "--enable-mm-debug".
f19dbdb7 49321
2965c7cc 49322 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49323 PART.LEN.
49324
49325 * kern/sparc64/ieee1275/init.c (abort): Removed.
49326 (grub_stop): Likewise.
49327 (grub_exit): New function.
49328 (grub_set_prefix): Renamed to ...
49329 (grub_machine_set_prefix): ... this.
49330 (grub_machine_init): Do not call grub_set_prefix.
49331
49332 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
49333 (grub_machine_set_prefix): ... this.
49334 (grub_machine_init): Do not call grub_set_prefix.
49335
49336 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49337 (grub_machine_init): Do not set the prefix here.
49338
49339 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49340
49341 * kern/efi/init.c: Include grub/mm.h.
49342 (grub_efi_set_prefix): New function.
49343
49344 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49345 (grub_efi_get_filename): New function.
49346 (grub_print_device_path): Renamed to ...
49347 (grub_efi_print_device_path): ... this.
49348
49349 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49350 [MM_DEBUG] (grub_realloc): Likewise.
49351 [MM_DEBUG] (grub_free): Likewise.
49352 [MM_DEBUG] (grub_memalign): Likewise.
49353 [MM_DEBUG] (grub_mm_debug): New variable.
49354 [MM_DEBUG] (grub_debug_malloc): New function.
49355 [MM_DEBUG] (grub_debug_free): New function.
49356 [MM_DEBUG] (grub_debug_realloc): New function.
49357 [MM_DEBUG] (grub_debug_memalign): New function.
49358
49359 * kern/misc.c (grub_abort): Print a newline to distinguish
49360 the message.
49361
49362 * kern/main.c (grub_main): Call grub_machine_set_prefix and
49363 grub_set_root_dev after loading modules. This is necessary when
49364 setting a prefix depends on modules.
49365
49366 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
49367 (grub_efi_print_device_path): ... this.
49368 (grub_efi_get_filename): New prototype.
49369 (grub_efi_set_prefix): Likewise.
49370
49371 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
49372 and grub/disk.h.
49373 (grub_efidisk_get_device_handle): New prototype.
49374 (grub_efidisk_get_device_name): Likewise.
49375
49376 * include/grub/mm.h: Include config.h.
49377 (MM_DEBUG): Removed.
49378 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
49379 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
49380 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
49381 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
49382 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
49383 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
49384 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
49385 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
49386 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
49387
49388 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
49389
49390 * disk/efi/efidisk.c: Include grub/partition.h.
49391 (iterate_child_devices): New function.
49392 (add_device): First, compare only last device path nodes, so that
49393 devices are sorted by the types.
49394 (grub_efidisk_get_device_handle): New function.
49395 (grub_efidisk_get_device_name): Likewise.
49396
49397 * configure.ac (--enable-mm-debug): New option to enable the
49398 memory manager debugging feature. This makes the binary much
49399 bigger, so is disabled by default.
49400
9cacaa17 494012006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
49402
49403 Use grub_abort instead of grub_stop, and grub_exit must be
49404 define in each architecture now. Also, this change adds support
49405 for EFI disks.
f19dbdb7 49406
9cacaa17 49407 * util/i386/pc/grub-probefs.c: Include grub/term.h.
49408 (grub_getkey): New function.
49409 (grub_term_get_current): Likewise.
49410
49411 * util/i386/pc/grub-setup.c: Include grub/term.h.
49412 (grub_getkey): New function.
49413 (grub_term_get_current): Likewise.
49414
49415 * util/misc.c (grub_stop): Renamed to ...
49416 (grub_exit): ... this.
49417
49418 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
49419 (grub_exit): ... this.
49420 (grub_machine_init): Use grub_abort instead of abort.
49421 (grub_stop): Removed.
49422
49423 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
49424 abort.
49425
49426 * kern/i386/pc/startup.S (grub_exit): New function.
49427 (cold_reboot): New label.
49428
49429 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
49430 (grub_efi_init): Call grub_efidisk_init.
49431 (grub_efi_fini): Call grub_efidisk_fini.
49432
49433 * kern/efi/efi.c: Include grub/mm.h.
49434 (grub_efi_console_control_guid): Renamed to ...
49435 (console_control_guid): ... this.
49436 (grub_efi_loaded_image_guid): Renamed to ...
49437 (loaded_image_guid): ... this.
49438 (grub_efi_locate_handle): New function.
49439 (grub_efi_open_protocol): Likewise.
49440 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
49441 GRUB_EFI_CONSOLE_CONTROL_GUID.
49442 (grub_efi_exit): Removed.
49443 (grub_stop): Likewise.
49444 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
49445 (grub_exit): New function.
49446 (grub_print_device_path): Likewise.
49447
49448 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49449 (grub_enter_rescue_mode): Register "exit".
49450
49451 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49452 (grub_abort): New function.
49453
49454 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49455
49456 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49457
49458 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49459
49460 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49461 (grub_print_device_path): New prototype.
49462 (grub_efi_locate_handle): Likewise.
49463 (grub_efi_open_protocol): Likewise.
49464
49465 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49466 * disk/efi/efidisk.c: Likewise.
49467
49468 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49469
49470 * include/grub/efi/console_control.h
49471 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49472
49473 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49474 last 8 bytes as an array.
49475 (GRUB_EFI_DISK_IO_GUID): New macro.
49476 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49477 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49478 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49479 grub_uint8_t.
49480 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49481 (struct grub_efi_device_path): Rename the member "sub_type" to
49482 "subtype".
49483 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49484 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49485 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49486 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49487 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49488 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49489 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49490 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49491 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49492 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49493 (struct grub_efi_pci_device_path): New structure.
49494 (grub_efi_pci_device_path_t): New type.
49495 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49496 (struct grub_efi_pccard_device_path): New structure.
49497 (grub_efi_pccard_device_path_t): New type.
49498 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49499 (struct grub_efi_memory_mapped_device_path): New structure.
49500 (grub_efi_memory_mapped_device_path_t): New type.
49501 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49502 (struct grub_efi_vendor_device_path): New structure.
49503 (grub_efi_vendor_device_path_t): New type.
49504 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49505 (struct grub_efi_controller_device_path): New structure.
49506 (grub_efi_controller_device_path_t): New type.
49507 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49508 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49509 (struct grub_efi_acpi_device_path): New structure.
49510 (grub_efi_acpi_device_path_t): New type.
49511 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49512 (struct grub_efi_expanded_acpi_device_path): New structure.
49513 (grub_efi_expanded_acpi_device_path_t): New type.
49514 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49515 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49516 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49517 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49518 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49519 (struct grub_efi_atapi_device_path): New structure.
49520 (grub_efi_atapi_device_path_t): New type.
49521 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49522 (struct grub_efi_fibre_channel_device_path): New structure.
49523 (grub_efi_fibre_channel_device_path_t): New type.
49524 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49525 (struct grub_efi_1394_device_path): New structure.
49526 (grub_efi_1394_device_path_t): New type.
49527 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49528 (struct grub_efi_usb_device_path): New structure.
49529 (grub_efi_usb_device_path_t): New type.
49530 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49531 (struct grub_efi_usb_class_device_path): New structure.
49532 (grub_efi_usb_class_device_path_t): New type.
49533 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49534 (struct grub_efi_i2o_device_path): New structure.
49535 (grub_efi_i2o_device_path_t): New type.
49536 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49537 (struct grub_efi_mac_address_device_path): New structure.
49538 (grub_efi_mac_address_device_path_t): New type.
49539 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49540 (struct grub_efi_ipv4_device_path): New structure.
49541 (grub_efi_ipv4_device_path_t): New type.
49542 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49543 (struct grub_efi_ipv6_device_path): New structure.
49544 (grub_efi_ipv6_device_path_t): New type.
49545 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49546 (struct grub_efi_infiniband_device_path): New structure.
49547 (grub_efi_infiniband_device_path_t): New type.
49548 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49549 (struct grub_efi_uart_device_path): New structure.
49550 (grub_efi_uart_device_path_t): New type.
49551 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49552 (struct grub_efi_vendor_messaging_device_path): New structure.
49553 (grub_efi_vendor_messaging_device_path_t): New type.
49554 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49555 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49556 (struct grub_efi_hard_drive_device_path): New structure.
49557 (grub_efi_hard_drive_device_path_t): New type.
49558 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49559 (struct grub_efi_cdrom_device_path): New structure.
49560 (grub_efi_cdrom_device_path_t): New type.
49561 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49562 (struct grub_efi_vendor_media_device_path): New structure.
49563 (grub_efi_vendor_media_device_path_t): New type.
49564 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49565 (struct grub_efi_file_path_device_path): New structure.
49566 (grub_efi_file_path_device_path_t): New type.
49567 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49568 (struct grub_efi_protocol_device_path): New structure.
49569 (grub_efi_protocol_device_path_t): New type.
49570 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49571 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49572 (struct grub_efi_bios_device_path): New structure.
49573 (grub_efi_bios_device_path_t): New type.
49574 (struct grub_efi_disk_io): New structure.
49575 (grub_efi_disk_io_t): New type.
49576 (struct grub_efi_block_io_media): New structure.
49577 (grub_efi_block_io_media_t): New type.
49578 (struct grub_efi_block_io): New structure.
49579 (grub_efi_block_io_t): New type.
49580
49581 * include/grub/misc.h (grub_stop): Removed.
49582 (grub_exit): New prototype.
49583 (grub_abort): Likewise.
49584
49585 * include/grub/disk.h (enum grub_disk_dev_id): Added
49586 GRUB_DISK_DEVICE_EFIDISK_ID.
49587
49588 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49589 disk/efi/efidisk.c.
49590 (kernel_syms.lst): Remove the target if an error occurs.
49591
49986a9f 495922006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49593
49594 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49595 as it was simply too buggy.
49596
970d3b8a 495972006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49598
49599 * kern/misc.c (grub_lltoa): New function.
49600 (grub_vsprintf): Added support for the long long suffix,
49601 i.e. "ll".
49602
ff04ec24 496032006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49604
49605 * Makefile.in (LDFLAGS): Add variable.
49606 (LD): Remove variable.
49607 * configure.ac: Add -m32 to LDFLAGS.
49608 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49609 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49610 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49611 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49612 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49613 variables.
49614 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49615 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49616 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49617
37e5e1a4 496182006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49619
49620 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49621 length for unknown glyph.
49622
c352d8dd 496232006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49624
2eab1c0d 49625 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49626
2eab1c0d 49627 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49628 completely. Accept one more argument DIR. The caller has changed.
49629
49630 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49631
49632 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49633 (grub_efi_loaded_image_guid): New variable.
49634 (grub_efi_get_loaded_image): New function.
49635 (grub_arch_modules_addr): Likewise.
49636
49637 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49638 prototype.
49639
49640 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49641 (struct grub_efi_loaded_image): New structure.
49642 (grub_efi_loaded_image_t): New type.
49643
496442006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49645
c352d8dd 49646 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49647 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49648 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49649
6d01d6b4 496502006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49651
49652 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49653
976a4ea0 496542006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49655
49656 * DISTLIST: Added include/grub/efi/console.h,
49657 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49658 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49659
49660 * include/grub/efi/console.h: New file.
49661 * include/grub/efi/time.h: Likewise.
49662 * include/grub/i386/efi/kernel.h: Likewise.
49663 * kern/efi/init.c: Likewise.
49664 * kern/efi/mm.c: Likewise.
49665 * term/efi/console.c: Likewise.
f19dbdb7 49666
976a4ea0 49667 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49668 (grub_stop): Removed.
49669 (grub_get_rtc): Likewise.
49670 (grub_machine_init): Simply call grub_efi_init.
49671 (grub_machine_fini): Call grub_efi_fini.
49672
49673 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49674 (grub_efi_output_string): Removed.
49675 (grub_efi_stall): New function.
49676 (grub_stop): Likewise.
49677 (grub_get_rtc): Likewise.
49678
49679 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49680 (grub_efi_stall): New prototype.
49681 (grub_efi_allocate_pages): Likewise.
49682 (grub_efi_free_pages): Likewise.
49683 (grub_efi_get_memory_map): Likewise.
49684 (grub_efi_mm_init): Likewise.
49685 (grub_efi_mm_fini): Likewise.
49686 (grub_efi_init): Likewise.
49687 (grub_efi_fini): Likewise.
49688
49689 * include/grub/i386/efi/time.h: Do not include
49690 grub/symbol.h. Include grub/efi/time.h.
49691 (GRUB_TICKS_PER_SECOND): Removed.
49692 (grub_get_rtc): Likewise.
49693
49694 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49695 Added padding. The EFI spec is buggy.
49696 (GRUB_EFI_BLACK): New macro.
49697 (GRUB_EFI_BLUE): Likewise.
49698 (GRUB_EFI_GREEN): Likewise.
49699 (GRUB_EFI_CYAN): Likewise.
49700 (GRUB_EFI_RED): Likewise.
49701 (GRUB_EFI_MAGENTA): Likewise.
49702 (GRUB_EFI_BROWN): Likewise.
49703 (GRUB_EFI_LIGHTGRAY): Likewise.
49704 (GRUB_EFI_BRIGHT): Likewise.
49705 (GRUB_EFI_DARKGRAY): Likewise.
49706 (GRUB_EFI_LIGHTBLUE): Likewise.
49707 (GRUB_EFI_LIGHTGREEN): Likewise.
49708 (GRUB_EFI_LIGHTCYAN): Likewise.
49709 (GRUB_EFI_LIGHTRED): Likewise.
49710 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49711 (GRUB_EFI_YELLOW): Likewise.
49712 (GRUB_EFI_WHITE): Likewise.
49713 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49714 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49715 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49716 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49717 (GRUB_EFI_BACKGROUND_RED): Likewise.
49718 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49719 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49720 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49721 (GRUB_EFI_TEXT_ATTR): Likewise.
49722
49723 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49724 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49725 (kernel_mod_HEADERS): Added efi/time.h.
49726
83709125 497272006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49728
49729 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49730 include/grub/efi/api.h, include/grub/efi/console_control.h,
49731 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49732 include/grub/i386/efi/time.h, kern/efi/efi.c,
49733 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49734 and util/i386/efi/grub-mkimage.c.
49735
49736 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49737
49738 * genmk.rb (PModule#rule): Do not export symbols if
49739 #{prefix}_EXPORTS is set to "no".
49740
49741 * conf/i386-efi.mk: New file.
49742 * conf/i386-efi.rmk: Likewise.
49743 * include/grub/efi/api.h: Likewise.
49744 * include/grub/efi/console_control.h: Likewise.
49745 * include/grub/efi/efi.h: Likewise.
49746 * include/grub/efi/pe32.h: Likewise.
49747 * include/grub/i386/efi/time.h: Likewise.
49748 * kern/efi/efi.c: Likewise.
49749 * kern/i386/efi/init.c: Likewise.
49750 * kern/i386/efi/startup.S: Likewise.
49751 * util/i386/efi/grub-mkimage.c: Likewise.
49752
497532006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49754
49755 * include/grub/script.h: Include <grub/parser.h> and
49756 "grub_script.tab.h".
49757 (struct grub_lexer_param): New struct.
49758 (struct grub_parser_param): Likewise.
49759 (grub_script_create_arglist): Pass the state in an argument.
49760 (grub_script_add_arglist): Likewise.
49761 (grub_script_create_cmdline): Likewise.
49762 (grub_script_create_cmdblock): Likewise.
49763 (grub_script_create_cmdif): Likewise.
49764 (grub_script_create_cmdmenu): Likewise.
49765 (grub_script_add_cmd): Likewise.
49766 (grub_script_arg_add): Likewise.
49767 (grub_script_lexer_ref): Likewise.
49768 (grub_script_lexer_deref): Likewise.
49769 (grub_script_lexer_record_start): Likewise.
49770 (grub_script_lexer_record_stop): Likewise.
49771 (grub_script_mem_record): Likewise.
49772 (grub_script_mem_record_stop): Likewise.
49773 (grub_script_malloc): Likewise.
49774 (grub_script_yylex): Likewise.
49775 (grub_script_yyparse): Likewise.
49776 (grub_script_yyerror): Likewise.
49777 (grub_script_yylex): Likewise.
49778 (grub_script_lexer_init): Return the state.
49779
49780 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49781 (grub_script_lexer_done): Likewise.
49782 (grub_script_lexer_getline): Likewise.
49783 (grub_script_lexer_refs): Likewise.
49784 (script): Likewise.
49785 (newscript): Likewise.
49786 (record): Likewise.
49787 (recording): Likewise.
49788 (recordpos): Likewise.
49789 (recordlen): Likewise.
49790 (grub_script_lexer_init): Return the state instead of setting
49791 global variables.
49792 (grub_script_lexer_ref): Use the newly added argument for state
49793 instead of globals.
49794 (grub_script_lexer_deref): Likewise.
49795 (grub_script_lexer_record_start): Likewise.
49796 (grub_script_lexer_record_stop): Likewise.
49797 (recordchar): Likewise.
49798 (nextchar): Likewise.
49799 (grub_script_yylex2): Likewise.
49800 (grub_script_yylex): Likewise.
49801 (grub_script_yyerror): Likewise.
49802
49803 * normal/parser.y (func_mem): Removed variable.
49804 (menu_entry): Likewise.
49805 (err): Likewise.
49806 (%lex-param): New parser option.
49807 (%parse-param): Likewise.
49808 (script): Always return the AST.
49809 (argument): Pass the state around.
49810 (arguments): Likewise.
49811 (grubcmd): Likewise.
49812 (commands): Likewise.
49813 (function): Likewise.
49814 (menuentry): Likewise.
49815 (if_statement): Likewise.
49816 (if): Likewise.
49817
49818 * normal/script.c (grub_script_memused): Removed variable.
49819 (grub_script_parsed): Likewise.
49820 (grub_script_malloc): Added a state argument. Use that instead of
49821 global variables.
49822 (grub_script_mem_record): Likewise.
49823 (grub_script_mem_record_stop): Likewise.
49824 (grub_script_arg_add): Likewise.
49825 (grub_script_add_arglist): Likewise.
49826 (grub_script_create_cmdline): Likewise.
49827 (grub_script_create_cmdif): Likewise.
49828 (grub_script_create_cmdmenu): Likewise.
49829 (grub_script_add_cmd): Likewise.
49830 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49831
e2a8c904 498322006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49833
49834 * normal/command.c (grub_command_init): Remove the title command.
49835
49836 * normal/lexer.c (grub_script_yylex): Renamed from this...
49837 (grub_script_yylex2): ... to this.
49838 (grub_script_yylex): New function. Temporary
49839 introduced to filter some tokens.
49840 (grub_script_yyerror): Print a newline.
49841
49842 * normal/main.c (read_config_file): Output information about the
49843 lines that contain errors. Wait for a key after all lines have
49844 been processed. Don't return an empty menu.
49845
49846 * normal/parser.y (func_mem): Don't initialize.
49847 (menu_entry): Likewise.
49848 (err): New variable.
49849 (script): Don't return anything when an error was encountered.
49850 (ws, returns): Removed rules.
49851 (argument): Disabled concatenated variable support.
49852 (arguments): Remove explicit separators.
49853 (grubcmd): Likewise.
49854 (function): Likewise.
49855 (menuentry): Likewise.
49856 (if): Likewise.
49857 (commands): Likewise. Add error handling.
49858
49859 * normal/script.c (grub_script_create_cmdline): If
49860 `grub_script_parsed' is 0, assume the parser encountered an error.
49861
c9a86192 498622006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49863
49864 * configure.ac: Add support for EFI. Fix the typo
49865 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49866
70f3b243 498672006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49868
49869 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49870 foreign multibyte characters should be shown correctly.
49871
65f201ad 498722006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49873
49874 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49875 calculation.
49876 (read_config_file): Made it to close file before returning.
49877
b4b93674 498782006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49879
49880 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49881 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49882 video/i386/pc/vbefill.c.
49883
49884 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49885 video/i386/pc/vbefill.c.
49886
49887 * include/grub/video.h (grub_video_blit_format): New enum.
49888 (grub_video_mode_info): Added new member blit_format.
49889 (grub_video_get_blit_format): New function prototype.
49890
49891 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49892 function prototype.
49893 (grub_video_vbe_map_rgb): Likewise.
49894 (grub_video_vbe_unmap_color): Likewise.
49895
49896 * include/grub/i386/pc/vbeblit.h: New file.
49897
49898 * include/grub/i386/pc/vbefill.h: New file.
49899
49900 * video/video.c (grub_video_get_blit_format): New function.
49901 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49902 (grub_video_vbe_map_rgb): Likewise.
49903 (grub_video_vbe_unmap_color): Likewise.
49904
49905 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49906 optimized fills.
49907 (grub_video_vbe_blit_render_target): Changed to use more optimized
49908 blits.
49909 (grub_video_vbe_setup): Added detection for optimized settings.
49910 (grub_video_vbe_create_render_target): Likewise.
49911
49912 * video/i386/pc/vbeblit.c: New file.
49913
49914 * video/i386/pc/vbefill.c: New file.
49915
c2379b9c 499162006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49917
49918 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49919 here...
49920
49921 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49922 parsing to support both hex and dec ranges. If filename was missing
49923 show usage information.
49924
bd0d7896 499252006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49926
49927 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49928 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49929
49930 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49931 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49932 (video_mod_SOURCES): Added.
49933 (video_mod_CFLAGS): Likewise.
49934 (video_mod_LDFLAGS): Likewise.
49935 (gfxterm_mod_SOURCES): Likewise.
49936 (gfxterm_mod_CFLAGS): Likewise.
49937 (gfxterm_mod_LDFLAGS): Likewise.
49938 (videotest_mod_SOURCES): Likewise.
49939 (videotest_mod_CFLAGS): Likewise.
49940 (videotest_mod_LDFLAGS): Likewise.
49941 (vesafb_mod_SOURCES): Removed.
49942 (vesafb_mod_CFLAGS): Likewise.
49943 (vesafb_mod_LDFLAGS): Likewise.
49944 (vga_mod_SOURCES): Likewise.
49945 (vga_mod_CFLAGS): Likewise.
49946 (vga_mod_LDFLAGS): Likewise.
49947
49948 * commands/videotest.c: New file.
49949
49950 * font/manager.c (fill_with_default_glyph): Modified to use
49951 grub_font_glyph.
49952 (grub_font_get_glyph): Likewise.
49953 (fontmanager): Renamed from this...
49954 (font_manager): ... to this.
49955
49956 * include/grub/font.h (grub_font_glyph): Added new structure.
49957 (grub_font_get_glyph): Modified to use grub_font_glyph.
49958
49959 * include/grub/misc.h (grub_abs): Added as inline function.
49960
49961 * include/grub/video.h: New file.
49962
49963 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49964 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49965 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49966 (grub_vbe_get_controller_info): Renamed from this...
49967 (grub_vbe_bios_get_controller_info): ... to this.
49968 (grub_vbe_get_mode_info): Renamed from this...
49969 (grub_vbe_bios_get_mode_info): ... to this.
49970 (grub_vbe_set_mode): Renamed from this...
49971 (grub_vbe_bios_set_mode): ... to this.
49972 (grub_vbe_get_mode): Renamed from this...
49973 (grub_vbe_bios_get_mode): ... to this.
49974 (grub_vbe_set_memory_window): Renamed from this...
49975 (grub_vbe_bios_set_memory_window): ... to this.
49976 (grub_vbe_get_memory_window): Renamed from this...
49977 (grub_vbe_bios_get_memory_window): ... to this.
49978 (grub_vbe_set_scanline_length): Renamed from this...
49979 (grub_vbe_set_scanline_length): ... to this.
49980 (grub_vbe_get_scanline_length): Renamed from this...
49981 (grub_vbe_bios_get_scanline_length): ... to this.
49982 (grub_vbe_set_display_start): Renamed from this...
49983 (grub_vbe_bios_set_display_start): ... to this.
49984 (grub_vbe_get_display_start): Renamed from this...
49985 (grub_vbe_bios_get_display_start): ... to this.
49986 (grub_vbe_set_palette_data): Renamed from this...
49987 (grub_vbe_bios_set_palette_data): ... to this.
49988 (grub_vbe_set_pixel_rgb): Removed.
49989 (grub_vbe_set_pixel_index): Likewise.
49990
49991 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49992 from this...
49993 (grub_vbe_bios_get_controller_info): ... to this.
49994 (grub_vbe_get_mode_info): Renamed from this...
49995 (grub_vbe_bios_get_mode_info): ... to this.
49996 (grub_vbe_set_mode): Renamed from this...
49997 (grub_vbe_bios_set_mode): ... to this.
49998 (grub_vbe_get_mode): Renamed from this...
49999 (grub_vbe_bios_get_mode): ... to this.
50000 (grub_vbe_set_memory_window): Renamed from this...
50001 (grub_vbe_bios_set_memory_window): ... to this.
50002 (grub_vbe_get_memory_window): Renamed from this...
50003 (grub_vbe_bios_get_memory_window): ... to this.
50004 (grub_vbe_set_scanline_length): Renamed from this...
50005 (grub_vbe_set_scanline_length): ... to this.
50006 (grub_vbe_get_scanline_length): Renamed from this...
50007 (grub_vbe_bios_get_scanline_length): ... to this.
50008 (grub_vbe_set_display_start): Renamed from this...
50009 (grub_vbe_bios_set_display_start): ... to this.
50010 (grub_vbe_get_display_start): Renamed from this...
50011 (grub_vbe_bios_get_display_start): ... to this.
50012 (grub_vbe_set_palette_data): Renamed from this...
50013 (grub_vbe_bios_set_palette_data): ... to this.
50014 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50015 getting corrupted after calling it. Added more pushes and pops.
50016 (grub_vbe_bios_set_mode): Likewise.
50017 (grub_vbe_bios_get_mode): Likewise.
50018 (grub_vbe_bios_get_memory_window): Likewise.
50019 (grub_vbe_bios_set_scanline_length): Likewise.
50020 (grub_vbe_bios_get_scanline_length): Likewise.
50021 (grub_vbe_bios_get_display_start): Likewise.
50022 (grub_vbe_bios_set_palette_data): Likewise.
50023
50024 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50025 (cl_insert): Likewise.
50026 (cl_delete): Likewise.
50027
50028 * term/gfxterm.c: New file.
50029
50030 * term/i386/pc/vesafb.c: Removed file.
50031
50032 * video/video.c: New file.
50033
50034 * video/i386/pc/vbe.c (real2pm): Added new function.
50035 (grub_video_vbe_draw_pixel): Likewise.
50036 (grub_video_vbe_get_video_ptr): Likewise.
50037 (grub_video_vbe_get_pixel): Likewise
50038 (grub_video_vbe_init): Likewise.
50039 (grub_video_vbe_fini): Likewise.
50040 (grub_video_vbe_setup): Likewise.
50041 (grub_video_vbe_get_info): Likewise.
50042 (grub_video_vbe_set_palette): Likewise.
50043 (grub_video_vbe_get_palette): Likewise.
50044 (grub_video_vbe_set_viewport): Likewise.
50045 (grub_video_vbe_get_viewport): Likewise.
50046 (grub_video_vbe_map_color): Likewise.
50047 (grub_video_vbe_map_rgb): Likewise.
50048 (grub_video_vbe_map_rgba): Likewise.
50049 (grub_video_vbe_unmap_color): Likewise.
50050 (grub_video_vbe_fill_rect): Likewise.
50051 (grub_video_vbe_blit_glyph): Likewise.
50052 (grub_video_vbe_blit_bitmap): Likewise.
50053 (grub_video_vbe_blit_render_target): Likewise.
50054 (grub_video_vbe_scroll): Likewise.
50055 (grub_video_vbe_swap_buffers): Likewise.
50056 (grub_video_vbe_create_render_target): Likewise.
50057 (grub_video_vbe_delete_render_target): Likewise.
50058 (grub_video_vbe_set_active_render_target): Likewise.
50059 (grub_vbe_set_pixel_rgb): Remove function.
50060 (grub_vbe_set_pixel_index): Likewise.
50061 (index_color_mode): Remove static variable.
50062 (active_mode): Likewise.
50063 (framebuffer): Likewise.
50064 (bytes_per_scan_line): Likewise.
50065 (grub_video_vbe_adapter): Added new static variable.
50066 (framebuffer): Likewise.
50067 (render_target): Likewise.
50068 (initial_mode): Likewise.
50069 (mode_in_use): Likewise.
50070 (mode_list): Likewise.
50071
5f97350b 500722006-03-10 Marco Gerards <marco@gnu.org>
50073
50074 * configure.ac (AC_INIT): Bumped to 1.93.
50075
50076 * DISTLIST: Added `include/grub/hfs.h'.
50077
a3c5c6f8 500782006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50079
50080 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50081 18H, which might help the BIOS falling back to next boot media.
50082
6de53d26 500832006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50084
50085 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50086 Poe Chen <poe.poechen@gmail.com>.
50087
77c4a393 500882006-01-17 Marco Gerards <marco@gnu.org>
50089
50090 * include/grub/normal.h: Include <grub/script.h>.
50091 (grub_command_list): Removed struct.
50092 (grub_command_list_t): Removed type.
50093 (grub_menu_entry): Remove members `num' and `command_list'. Add
50094 members `commands' and `sourcecode'.
50095 * include/grub/script.h: Add inclusion guards.
50096 (grub_script_cmd_menuentry): New struct.
50097 (grub_script_execute_menuentry): New prototype.
50098 (grub_script_lexer_record_start): Likewise.
50099 (grub_script_lexer_record_stop): Likewise.
50100 * normal/execute.c (grub_script_execute_menuentry): New function.
50101 * normal/lexer.c (record, recording, recordpos, recordlen): New
50102 variables.
50103 (grub_script_lexer_record_start): New function.
50104 (grub_script_lexer_record_stop): Likewise.
50105 (recordchar): Likewise.
50106 (nextchar): Likewise.
50107 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50108 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50109 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50110 (current_menu): New variable.
50111 (free_menu): Mainly rewritten.
50112 (grub_normal_menu_addentry): New function.
50113 (read_config_file): Rewritten.
50114 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 50115 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 50116 the menu entry.
50117 (run): Mainly rewritten.
50118 * normal/parser.y (menu_entry): New variable.
50119 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50120 (menuentry): New rule.
50121 (command): Add `menuentry'.
50122 (if_statement): Allow additional returns before `fi'.
50123 * normal/script.c (grub_script_create_cmdmenu): New function.
50124
144f1f98 501252006-01-03 Marco Gerards <marco@gnu.org>
50126
50127 * INSTALL: GNU Bison is required.
50128 * configure.ac: Rewritten the test to detect Bison.
50129 * Makefile.in (YACC): New variable. Reported by Xun Sun
50130 <xun.sun.cn@gmail.com>.
50131
af4b2d89 501322006-01-03 Marco Gerards <marco@gnu.org>
50133
50134 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50135 the HFS+ filesystem to filesystem blocks.
50136 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50137 GCC warning is silenced.
50138
15643b71 501392006-01-03 Marco Gerards <marco@gnu.org>
50140
50141 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50142 read from disk from big endian to host byte order.
50143
00905879 501442006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50145
50146 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50147 documentation.
50148 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50149 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50150 embedded HFS+ filesystem.
50151 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50152 (grub_hfs_sblock): Move from here...
50153 * include/grub/hfs.h: To here... New file.
50154 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50155 documentation.
50156 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50157 New macros.
50158 (grub_hfsplus_volheader): Change type of member `magic' to
50159 `grub_uint16_t'.
50160 (grub_hfsplus_data): Add new member `embedded_offset'.
50161 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50162 returned block.
50163 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50164 Calculate the offset.
50165
8899bc3e 501662005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50167
50168 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50169 Removed.
50170 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50171
ae8c0277 501722005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50173
50174 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50175 ENV->NAME is NULL after allocating ENV->VALUE.
50176
07084456 501772005-12-25 Marco Gerards <marco@gnu.org>
50178
50179 * kern/env.c (grub_env_set): Rewritten the error handling code.
50180
4750f5f1 501812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50182
50183 * geninit.sh: Made more robust, and more portable.
50184
50214199 501852005-12-25 Marco Gerards <marco@gnu.org>
50186
50187 Add support for Apple HFS+ filesystems.
f19dbdb7 50188
50214199 50189 * fs/hfsplus.c: New file.
50190
50191 * DISTLIST: Added `fs/hfsplus.c'.
50192
50193 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50194 (hfsplus_mod_SOURCES): New variable.
50195 (hfsplus_mod_CFLAGS): Likewise.
50196 (hfsplus_mod_LDFLAGS): Likewise.
50197 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50198 (grub_setup_SOURCES): Likewise.
50199 (grub_mkdevicemap_SOURCES): Likewise.
50200 (grub_emu_SOURCES): Likewise.
50201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50202
50203 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50204
50205 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50206
befaed6c 502072005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50208
50209 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50210 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50211 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50212 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50213 normal/lexer.c, normal/parser.y, normal/script.c, and
50214 partmap/gpt.c.
50215 Removed kern/sparc64/cache.c.
50216
50217 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50218 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50219 grub_emu_init.c.
50220
50221 * configure.ac (AC_INIT): Bumped to 1.92.
50222
6a124103 502232005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50224
50225 * kern/err.c (grub_error_push): Added new function to support error
50226 stacks.
50227 (grub_error_pop): Likewise.
50228 (grub_error_stack_items): New local variable to support error stacks.
50229 (grub_error_stack_pos): Likewise.
50230 (grub_error_stack_assert): Likewise.
50231 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50232 stack depth.
50233 (grub_print_error): Added support to print errors from error stack.
50234
50235 * include/grub/err.h (grub_error_push): Added function prototype.
50236 (grub_error_pop): Likewise.
50237
be973c1b 502382005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50239
50240 * configure.ac: Accept `powerpc64' as host_cpu.
50241 (amd64): Rename to `biarch32'.
50242
50243 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50244 non-cacheline-aligned addresses.
50245
50246 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50247 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50248 if `size' is non-zero.
50249
b04216ab 502502005-12-03 Marco Gerards <mgerards@xs4all.nl>
50251
50252 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50253 and `cd' to make sure the filename is not prefixed with a
50254 directory name.
50255 (pkgdata_MODULES): Add `gpt.mod'.
50256 (gpt_mod_SOURCES): New variable.
50257 (gpt_mod_CFLAGS): Likewise.
50258 (gpt_mod_LDFLAGS): Likewise.
50259
50260 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50261
50262 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50263 New macro.
50264
50265 * partmap/gpt.c: New file.
50266
50267 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50268 GPT partition map is detected.
50269
41730ed9 502702005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50271
50272 * commands/i386/pc/play.c: New file.
50273 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50274 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
50275 macros.
f19dbdb7 50276
95dc3643 502772005-11-27 Marco Gerards <mgerards@xs4all.nl>
50278
50279 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50280 ((unused))' to silence gcc warning.
50281
1569ec51 502822005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50283
50284 * configure.ac: Correct `AC_PROG_YACC' test.
50285
9abde152 502862005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50287
50288 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50289 check before installing files.
50290
44b83271 502912005-11-22 Mike Small <smallm@panix.com>
50292
50293 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50294 number regex so multidigit numbers are recognized correctly.
50295
502962005-11-22 Mike Small <smallm@panix.com>
50297
50298 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50299 debugging message before attempting to claim memory.
50300 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50301 multiple addresses in case of failure.
50302
9c12956b 503032005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50304
50305 * term/tparm.c (get_space): Remove empty `if' statement.
50306
50307 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50308
50309 * kern/parser.c (check_varstate): Rename `state' to 's'.
50310
aeaf81d9 503112005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50312
50313 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50314 variable definitions to the beginning of each function. Sort stack
50315 variables by size.
50316 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50317 `buf' argument to `char *'.
50318
79bbb63f 503192005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50320
50321 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50322 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50323 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 50324 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50325 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50326 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50327 configfile.mod, search.mod, gzio.mod and test.mod.
50328 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50329 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50330 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50331 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50332 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50333 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50334 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50335 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50336 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50337 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50338 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50339 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50340 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50341 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50342 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50343 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50344 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50345 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50346 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50347 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50348 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50349 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50350 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50351
50352 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50353 `grep --include'.
50354 (pkgdata_MODULES): Add test.mod.
50355
233b1628 503562005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50357
50358 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50359 appending to variables with "+=".
50360 (PModule): Use full pathname to generate *.lst filenames.
50361
50362 * Makefile.in: Fixed list rules moved from genmk.rb.
50363 (.DELETE_ON_ERROR): New special target.
50364 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
50365
50366 * conf/i386-pc.rmk: Include conf/common.mk.
50367 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50368 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 50369 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50370 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50371 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50372 configfile.mod, search.mod, gzio.mod and test.mod.
50373 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50374 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50375 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50376 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50377 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50378 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50379 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50380 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50381 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50382 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50383 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50384 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50385 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50386 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50387 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50388 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50389 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50390 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50391 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50392 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50393 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50394 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50395 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
50396 here...
50397 * conf/common.rmk: ... to here. New file.
50398
50399 * conf/common.mk: New file.
50400
16f820c8 504012005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
50402
50403 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
50404 (grub_script.tab.c): ... here.
50405
50406 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
50407 (grub_script.tab.c): ... here.
50408
50409 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
50410 (grub_script.tab.c): ... here.
50411
50412 * normal/command.c (grub_command_find): Fixed a memory leak of
50413 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
50414
63ba1554 504152005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50416
50417 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
50418 "@" which marks the start of a comment on ARM.
50419 (VARIABLE): Likewise.
50420
7f67dc13 504212005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50422
79bbb63f 50423 Add support for Linux/ADFS partition tables.
7f67dc13 50424
50425 * partmap/acorn.c: New file.
50426
50427 * include/grub/acorn_filecore.h: Likewise.
50428
50429 * DISTLIST: Added `partmap/acorn.c' and
50430 `include/grub/acorn_filecore.h'.
f19dbdb7 50431
7f67dc13 50432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50433 `partmap/acorn.c'.
50434 (pkgdata_MODULES): Add `acorn.mod'.
50435 (acorn_mod_SOURCES): New variable.
50436 (acorn_mod_CFLAGS): Likewise.
50437
50438 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50439 `partmap/acorn.c'.
50440 (pkgdata_MODULES): Add `acorn.mod'.
50441 (acorn_mod_SOURCES): New variable.
50442 (acorn_mod_CFLAGS): Likewise.
50443
50444 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
50445 (pkgdata_MODULES): Add `acorn.mod'.
50446 (acorn_mod_SOURCES): New variable.
50447 (acorn_mod_CFLAGS): Likewise.
50448 (acorn_mod_LDFLAGS): Likewise.
50449
50450 * include/types.h (grub_disk_addr_t): New typedef.
50451
6d099807 504522005-11-13 Marco Gerards <mgerards@xs4all.nl>
50453
50454 * geninit.sh: New file.
50455
50456 * geninitheader.sh: Likewise.
50457
50458 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50459 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50460 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50461 * commands/configfile.c (grub_configfile_init)
50462 (grub_configfile_fini): Likewise.
50463 * commands/default.c (grub_default_init, grub_default_fini):
50464 Likewise.
50465 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50466 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50467 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50468 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50469 Likewise.
50470 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50471 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50472 Likewise.
50473 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 50474 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 50475 Likewise.
50476 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50477 Likewise.
fe6b695a 50478 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 50479 Likewise.
50480 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50481 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50482 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50483 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50484 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50485 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50486 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50487 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50488 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50489 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50490 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50491 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50492 * partmap/amiga.c (grub_amiga_partition_map_init)
50493 (grub_amiga_partition_map_fini): Likewise.
50494 * partmap/apple.c (grub_apple_partition_map_init)
50495 (grub_apple_partition_map_fini): Likewise.
50496 * partmap/pc.c (grub_pc_partition_map_init)
50497 (grub_pc_partition_map_fini): Likewise.
50498 * partmap/sun.c (grub_sun_partition_map_init,
50499 grub_sun_partition_map_fini): Likewise.
50500 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50501 Likewise.
50502
50503 * util/grub-emu.c: Include <grub_modules_init.h>.
50504 (main): Don't initialize and de-initialize any modules directly,
50505 use `grub_init_all' and `grub_fini_all' instead.
50506
50507 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50508 `grub_vesafb_mod_init'.
50509 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50510 all users.
50511 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50512 `grub_vga_mod_init'. Updated all users.
50513 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 50514
6d099807 50515 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50516 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50517 rules.
50518
50519 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50520 Generate a function to initialize the module in utilities.
50521 Updated all callers.
50522 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50523 initialize the module in utilities. Updated all callers.
50524
9046bcf0 505252005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50526
50527 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50528 escape sequence and a literal ^L to clear the screen.
50529
50530 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50531 when returning from Open Firmware.
50532
d13ea639 505332005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50534
50535 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50536 (grub_ofconsole_height): Likewise.
50537 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50538 manually insert a '\n'.
50539 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50540 `grub_ofconsole_height'. Return early if these are already set.
50541
a8fcf206 505422005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50543
50544 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50545 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50546 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50547 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50548 and `normal/script.c'.
50549 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50550 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50551 (test_mod_SOURCES): New variable.
50552 (test_mod_CFLAGS): Likewise.
50553 (test_mod_LDFLAGS): Likewise.
50554 (pkgdata_MODULES): Add `test.mod'.
50555 (grub_script.tab.c): New rule.
50556 (grub_script.tab.h): Likewise.
50557
b6b32745 505582005-11-07 Marco Gerards <mgerards@xs4all.nl>
50559
50560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50561 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50562 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50563 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50564 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50565 (test_mod_SOURCES): New variable.
50566 (test_mod_CFLAGS): Likewise.
50567 (pkgdata_MODULES): Add `test.mod'.
50568 (grub_script.tab.c): New rule.
50569 (grub_script.tab.h): Likewise.
50570
daac212a 505712005-11-06 Marco Gerards <mgerards@xs4all.nl>
50572
50573 Add initial scripting support.
50574
50575 * commands/test.c: New file.
50576 * include/grub/script.h: Likewise.
50577 * normal/execute.c: Likewise.
50578 * normal/function.c: Likewise.
50579 * normal/lexer.c: Likewise.
50580 * normal/parser.y: Likewise.
50581 * normal/script.c: Likewise.
50582
50583 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50584
daac212a 50585 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50586 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50587 `normal/function.c' and `normal/script.c'.
50588 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50589 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50590 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50591 variables.
daac212a 50592 (pkgdata_MODULES): Add `test.mod'.
50593 (grub_script.tab.c): New rule.
50594 (grub_script.tab.h): Likewise.
50595
50596 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50597
50598 * include/grub/normal.h (grub_test_init): New prototype.
50599 (grub_test_fini): Likewise.
f19dbdb7 50600
daac212a 50601 * normal/command.c: Include <grub/script.h>.
50602 (grub_command_execute): Rewritten.
f19dbdb7 50603
daac212a 50604 * util/grub-emu.c (main): Call `grub_test_init' and
50605 `grub_test_fini'.
50606
77500b2b 506072005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50608
50609 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50610 to 0.
50611 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50612 there are no pending characters.
50613
e45deb9e 506142005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50615
50616 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50617 `grub_strndup' to drop device arguments. Replace unnecessary
50618 `grub_strndup' with `grub_strdup'.
50619
4ce32619 506202005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50621
50622 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50623 `debug' environment variable has been set.
50624
506252005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50626
4ce32619 50627 * Makefile.in (install-local): Use $(DATA).
50628 (uninstall): Likewise.
50629 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50630 (sbin_UTILITIES): ... to here.
50631 (sbin_SCRIPTS): New variable.
50632 (grub_install_SOURCES): New variable.
50633 * util/powerpc/ieee1275/grub-install.in: New file.
50634 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50635 variable.
50636 (add_segments): Call `grub_util_get_path'.
50637
25fe6f03 506382005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50639
50640 From Timothy Baldwin:
50641 * commands/ls.c (grub_ls_list_files): Close FILE with
50642 grub_file_close.
50643 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50644
04ccf3ec 506452005-10-24 Marco Gerards <mgerards@xs4all.nl>
50646
50647 * include/grub/parser.h: New file.
50648
50649 * kern/parser.c: Likewise.
50650
50651 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50652 (grub_setup_SOURCES): Likewise.
50653 (grub_probefs_SOURCES): Likewise.
50654 (grub_emu_SOURCES): Likewise.
50655 (kernel_img_HEADERS): Add `parser.h'.
50656
50657 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50658 (grub_emu_SOURCES): Add `kern/parser.c'.
50659 (grubof_SOURCES): Likewise.
50660
50661 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50662 (grubof_SOURCES): Add `kern/parser.c'.
50663
50664 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50665
50666 * kern/misc.c (grub_split_cmdline): Removed function.
50667
50668 * kern/rescue.c: Include <grub/parser.h>.
50669 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50670 of `grub_split_cmdline'.
50671
50672 * normal/command.c: Include <grub/parser.h>.
50673 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50674 of `grub_split_cmdline'.
50675
50676 * normal/completion.c: Include <grub/parser.h>.
50677 (cmdline_state): New variable.
50678 (iterate_dir): End the filename with a quote depending on the
50679 command line state.
50680 (get_state): new function.
50681 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50682 split the arguments and determine the current argument. When the
50683 argument string is not quoted, escape all spaces.
50684
6d8f4b0e 506852005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50686
50687 * normal/sparc64/setjmp.S: New file.
50688
15cf03ed 506892005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50690
50691 * include/grub/sparc64/libgcc.h: New file.
50692 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50693 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50694 normal/sparc64/setjmp.c.
50695
03e8661a 506962005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50697
50698 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50699 * kern/sparc64/cache.S: New file.
50700 * kern/sparc64/cache.c: Removed.
50701 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50702 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50703 -mtune=ultrasparc.
50704 (COMMON_LDFLAGS): Add -melf64_sparc.
50705 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50706 (grubof_SOURCES): Use cache.S instead of cache.c.
50707 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50708 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50709 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50710 commented though.
50711 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50712 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50713 (linux_mod_CFLAGS): Commented out.
50714 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50715 out because module isn't built.
50716 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50717 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50718 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50719 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50720 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50721 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50722 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50723 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50724 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50725 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50726 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50727 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50728 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50729 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50730
34eeec8a 507312005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50732
50733 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50734 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50735 longer, because HFS should not be used on PC.
50736
708367a3 507372005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50738
50739 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50740 consistently within the loop.
50741
6fa1251a 507422005-10-15 Marco Gerards <mgerards@xs4all.nl>
50743
50744 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50745 directory can not be read.
50746
4801580b 507472005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50748
50749 * configure.ac (AC_INIT): Increase the version number to 1.91.
50750
50751 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50752 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50753 term/i386/pc/serial.c.
50754
219ad426 507552005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50756
50757 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50758 file size must be permitted.
50759
50760 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50761 between %ah and %al.
50762
688e5699 507632005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50764
50765 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50766 grub_uint64_t.
50767 Call the hook with a NUL-terminated filename.
50768 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50769 grub_cpu_to_be32.
50770
50771 * kern/term.c (cursor_state): New variable.
50772 (grub_term_set_current): Reset the cursor state on a new
50773 terminal.
50774 (grub_setcursor): Rewritten to use CURSOR_STATE.
50775 (grub_getcursor): New function.
50776
50777 * include/grub/term.h (grub_getcursor): New prototype.
50778
50779 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50780 integers on ARM. Reported by Timothy Baldwin
50781 <T.E.Baldwin99@members.leeds.ac.uk>.
50782
bb34586c 507832005-10-11 Marco Gerards <mgerards@xs4all.nl>
50784
50785 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50786 allocated.
50787 (grub_sfs_dir): Likewise.
50788
9a909877 507892005-10-09 Marco Gerards <mgerards@xs4all.nl>
50790
50791 Add support for the SFS filesystem.
50792
50793 * fs/sfs.c: New file.
50794
50795 * DISTLIST: Added `fs/sfs.c'.
50796
50797 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50798 (grub_probefs_SOURCES): Likewise.
50799 (grub_emu_SOURCES): Likewise.
50800 (pkgdata_MODULES): Add `sfs.mod'.
50801 (sfs_mod_SOURCES): New variable.
50802 (sfs_mod_CFLAGS): Likewise.
50803 (sfs_mod_LDFLAGS): Likewise.
50804
50805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50806 (pkgdata_MODULES): Add `sfs.mod'.
50807 (sfs_mod_SOURCES): New variable.
50808 (sfs_mod_CFLAGS): Likewise.
50809
50810 * util/grub-emu.c (main): Call `grub_sfs_init' and
50811 `grub_sfs_fini'.
50812
50813 * include/grub/fs.h (grub_sfs_init): New prototype.
50814 (grub_sfs_fini): Likewise.
50815
57bdbde3 508162005-10-07 Marco Gerards <mgerards@xs4all.nl>
50817
50818 Add support for the AFFS filesystem.
50819
50820 * fs/affs.c: New file.
50821
50822 * DISTLIST: Added `fs/affs.c'.
50823
50824 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50825 (grub_probefs_SOURCES): Likewise.
50826 (grub_emu_SOURCES): Likewise.
50827 (pkgdata_MODULES): Add `affs.mod'.
50828 (affs_mod_SOURCES): New variable.
50829 (affs_mod_CFLAGS): Likewise.
50830 (affs_mod_LDFLAGS): Likewise.
50831
50832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50833 (pkgdata_MODULES): Add `affs.mod'.
50834 (affs_mod_SOURCES): New variable.
50835 (affs_mod_CFLAGS): Likewise.
50836
50837 * util/grub-emu.c (main): Call `grub_affs_init' and
50838 `grub_affs_fini'.
50839
50840 * include/grub/fs.h (grub_affs_init): New prototype.
50841 (grub_affs_fini): Likewise.
50842
047b67e0 508432005-10-01 Marco Gerards <mgerards@xs4all.nl>
50844
50845 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50846
59b8208a 508472005-10-01 Marco Gerards <mgerards@xs4all.nl>
50848
50849 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50850 `-m32' to CFLAGS.
50851
50852 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50853 linking.
f19dbdb7 50854
59b8208a 50855 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50856 (COMMON_LDFLAGS): New variable.
50857 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50858 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50859 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50860 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50861 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50862 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50863 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50864 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50865 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50866 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50867 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50868 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50869 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50870 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50871 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50872 variables.
50873 (normal_mod_ASFLAGS): Add `-m32'.
50874
50875 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50876 (grub_host_size_t, grub_host_ssize_t): New types.
50877 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50878 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50879 `GRUB_HOST_SIZEOF_VOID_P'.
50880
50881 * include/grub/kernel.h (struct grub_module_header): Type of
50882 member offset changed to `grub_host_off_t'. Type of member size
50883 changed to `grub_host_size_t'.
50884 (struct grub_module_info): Type of member offset changed to
50885 `grub_host_off_t'. Type of member size changed to
50886 `grub_host_size_t'.
50887
b4093103 508882005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50889
50890 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50891
b4093103 50892 * kern/i386/pc/startup.S (multiboot_header): New label.
50893 (multiboot_entry): Likewise.
50894 (multiboot_trampoline): Likewise.
50895
50896 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50897 Increased to 0x4A0.
50898
50899 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50900 put parentheses after a question mark.
50901 [!GRUB_UTIL] (my_mod): New variable.
50902
50903 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50904
b2499b29 509052005-09-28 Marco Gerards <mgerards@xs4all.nl>
50906
50907 Adds support for the XFS filesystem. Btrees are not supported
50908 yet.
50909
50910 * fs/xfs.c: New file.
50911
50912 * DISTLIST: Added `fs/xfs.c'.
50913
50914 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50915 (grub_probefs_SOURCES): Likewise.
50916 (grub_emu_SOURCES): Likewise.
50917 (pkgdata_MODULES): Add `xfs.mod'.
50918 (xfs_mod_SOURCES): New variable.
50919 (xfs_mod_CFLAGS): Likewise.
50920
50921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50922 (pkgdata_MODULES): Add `xfs.mod'.
50923 (xfs_mod_SOURCES): New variable.
50924 (xfs_mod_CFLAGS): Likewise.
50925
50926 * util/grub-emu.c (main): Call `grub_xfs_init' and
50927 `grub_xfs_fini'.
50928
50929 * include/grub/fs.h (grub_xfs_init): New prototype.
50930 (grub_xfs_fini): Likewise.
50931
f19dbdb7 50932
83d37a62 509332005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50934
50935 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50936 color modes, allow greater than 16 colors to be configured as
50937 a default palette.
50938
47d2d65e 509392005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50940
50941 * normal/completion.c (complete_arguments): Add the qualifier
50942 const into OPTIONS.
50943
50944 From Omniflux <omniflux+lists@omniflux.com>:
50945 * include/grub/terminfo.h: New file.
50946 * include/grub/tparm.h: Likewise.
50947 * include/grub/i386/pc/serial.h: Likewise.
50948 * term/terminfo.c: Likewise.
50949 * term/tparm.c: Likewise.
50950 * term/i386/pc/serial.c: Likewise.
50951 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50952 serial.mod.
50953 (terminfo_mod_SOURCES): New variable.
50954 (terminfo_mod_CFLAGS): Likewise.
50955 (serial_mod_SOURCES): Likewise.
50956 (serial_mod_CFLAGS): Likewise.
50957
48b671ff 509582005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50959
50960 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50961 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50962 and kern/powerpc/ieee1275/cmain.c, respectively.
50963
50964 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50965 * kern/powerpc/ieee1275/crt0.S: ... here.
50966
50967 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50968 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 50969
48b671ff 50970 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50971 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50972 instead of boot/powerpc/ieee1275/crt0.S and
50973 boot/powerpc/ieee1275/cmain.c, respectively.
50974
50975 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50976 sectors. It was not used anyway.
50977
09fc77a7 509782005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50979
50980 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50981 `unused parameter' warning.
50982
003789c7 509832005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50984
50985 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50986 function.
50987 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50988 getcharwidth.
50989
67f44c86 509902005-08-28 Marco Gerards <metgerards@student.han.nl>
50991
50992 * include/grub/normal.h (enum grub_completion_type): Added
50993 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50994
50995 * normal/cmdline.c (print_completion): Handle
50996 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50997 * normal/menu_entry.c (store_completion): Likewise.
50998
50999 * normal/completion.c (complete_arguments): New function.
51000 (grub_normal_do_completion): Call `complete_arguments' when the
51001 current words start with a dash.
51002
0b5abe02 510032005-08-27 Marco Gerards <metgerards@student.han.nl>
51004
51005 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51006 `gzio.mod' instead of `io.mod').
51007
d9864ee1 510082005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51009
51010 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51011 (DISTDIRS): Added io and video.
51012 Rewrite the search routine to make an output consistently.
51013
51014 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51015 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51016 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51017 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51018 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51019 util/powerpc/ieee1275/misc.c.
f19dbdb7 51020
d9864ee1 51021 * include/grub/gzio.h: New file.
51022 * io/gzio.c: Likewise.
f19dbdb7 51023
d9864ee1 51024 * kern/file.c (grub_file_close): Call grub_device_close only if
51025 FILE->DEVICE is not NULL.
51026
51027 * include/grub/mm.h [!NULL] (NULL): New macro.
51028
51029 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51030
51031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51032 (pkgdata_MODULES): Added gzio.mod.
51033 (gzio_mod_SOURCES): New variable.
51034 (gzio_mod_CFLAGS): Likewise.
51035
51036 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51037 (pkgdata_MODULES): Added gzio.mod.
51038 (gzio_mod_SOURCES): New variable.
51039 (gzio_mod_CFLAGS): Likewise.
51040
51041 * commands/cat.c: Include grub/gzio.h.
51042 (grub_cmd_cat): Use grub_gzfile_open instead of
51043 grub_file_open.
f19dbdb7 51044
d9864ee1 51045 * commands/cmp.c: Include grub/gzio.h.
51046 (grub_cmd_cmp): Use grub_gzfile_open instead of
51047 grub_file_open.
51048
51049 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51050 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51051 grub_file_open.
51052 (grub_rescue_cmd_module): Likewise.
51053
fa46f4b5 510542005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51055
51056 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51057 kern/sparc64/ieee1275/init.c because it contains _start.
51058 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51059
e9211b5d 510602005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51061
51062 * configure.ac: Add support for sparc64 host with ieee1275
51063 firmware.
51064 * configure: Generated from configure.ac.
51065 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51066 instead of int.
51067 (grub_ofdisk_read): Likewise.
51068 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51069 pointers as (void *) to remove a warning.
51070 (grub_ofdisk_close): Likewise.
51071 (grub_ofdisk_read): Likewise.
51072 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51073 returns, so make it return void to remove a warning.
51074 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51075 Corresponding prototype change.
51076 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51077 values, and cast the pointers as (void *) to remove a warning.
51078 (grub_mm_dump): Likewise.
51079 * conf/sparc64-ieee1275.mk: New file.
51080 * conf/sparc64-ieee1275.rmk: Likewise.
51081 * include/grub/sparc64/setjmp.h: Likewise.
51082 * include/grub/sparc64/types.h: Likewise.
51083 * include/grub/sparc64/ieee1275/console.h: Likewise.
51084 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51085 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51086 * include/grub/sparc64/ieee1275/time.h: Likewise.
51087 * kern/sparc64/cache.c: Likewise.
51088 * kern/sparc64/dl.c: Likewise.
51089 * kern/sparc64/ieee1275/init.c: Likewise.
51090 * kern/sparc64/ieee1275/openfw.c: Likewise.
51091
385c6a92 510922005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51093
51094 * util/console.c (grub_ncurses_putchar): If C is greater than
51095 0x7f, set C to a question mark.
51096 (grub_ncurses_getcharwidth): New function.
51097 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51098 getcharwidth.
51099
51100 * normal/menu.c (print_entry): Made aware of Unicode. First,
51101 convert TITLE to UCS-4, and predict the cursor position by
51102 grub_getcharwidth.
51103
51104 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51105 const to SRC.
51106 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51107
16ccb8b1 511082005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51109
51110 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51111 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51112 grub_strcat.
51113
51114 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51115 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51116 grub_strcpy and grub_strlen. Take it into account that a space
51117 character is inserted as a delimiter.
51118
6a85ce79 511192005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51120
51121 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 51122 invalid magic in the error.
6a85ce79 51123
51124 * commands/search.c: New file.
f19dbdb7 51125
6a85ce79 51126 * util/grub-emu.c (main): Call grub_search_init and
51127 grub_search_fini.
51128
51129 * kern/rescue.c (grub_rescue_print_disks): Removed.
51130 (grub_rescue_print_devices): New function.
51131 (grub_rescue_cmd_ls): Use grub_device_iterate with
51132 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51133 grub_rescue_print_disks.
51134
51135 * kern/partition.c (grub_partition_iterate): Return the result of
51136 PARTMAP->ITERATE instead of GRUB_ERRNO.
51137
51138 * kern/device.c: Include grub/partition.h.
51139 (grub_device_iterate): New function.
51140
51141 * include/grub/partition.h (grub_partition_iterate): Return int
51142 instead of grub_err_t.
51143
51144 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51145 prototype.
51146 [GRUB_UTIL] (grub_search_fini): Likewise.
51147
51148 * include/grub/device.h (grub_device_iterate): New prototype.
51149
51150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51151 commands/search.c.
51152 (pkgdata_MODULES): Added search.mod.
51153 (search_mod_SOURCES): New variable.
51154 (search_mod_CFLAGS): Likewise.
51155
51156 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51157 (pkgdata_MODULES): Added search.mod.
51158 (search_mod_SOURCES): New variable.
51159 (search_mod_CFLAGS): Likewise.
51160
51161 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51162 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51163 All callers changed.
51164
51165 * DISTLIST: Added commands/search.c.
51166
ef095434 511672005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51168
51169 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51170 conversion.
51171 (grub_getcharwidth): New function.
51172
51173 * kern/misc.c (grub_utf8_to_ucs4): New function.
51174
51175 * include/grub/term.h (struct grub_term): Added a new member
51176 "getcharwidth".
51177 (grub_getcharwidth): New prototype.
51178
51179 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51180
51181 * term/i386/pc/console.c (map_char): New function. Segregated from
51182 grub_console_putchar.
51183 (grub_console_putchar): Use map_char.
51184 (grub_console_getcharwidth): New function.
51185 (grub_console_term): Specified grub_console_getcharwidth as
51186 getcharwidth.
51187
51188 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51189 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51190
51191 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51192 GRUB_ERRNO.
51193 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51194 on grub_strtoul completely.
51195 (write_char): Declare local variables in the beginning of the
51196 function.
51197 (grub_vesafb_getcharwidth): New function.
51198 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51199 getcharwidth.
51200
1f0a95e4 512012005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51202
51203 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51204 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51205 commands/i386/pc/vbetest.c.
51206
51207 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51208 call grub_vbe_get_controller_info again, because the returned
51209 information is volatile.
51210 (grub_vbe_set_video_mode): Mostly rewritten.
51211 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51212 grub_vbe_status_t correctly.
51213 (grub_vbe_get_video_mode_info): Likewise.
51214 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51215 several if statements.
51216
51217 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51218 * commands/i386/pc/vbeinfo.c: ... this.
51219
51220 * commands/i386/pc/vbe_test.c: Renamed to ...
51221 * commands/i386/pc/vbetest.c: ... this.
51222
51223 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51224 ...
51225 (grub_cmd_vbeinfo): ... this. Save video modes before
51226 iterating. Skip a video mode, if it is not available, not enough
51227 information is given or it is monochrome. Show the memory
51228 model. Leave the interpretation of MODEVAR to grub_strtoul
51229 completely.
51230 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51231 (GRUB_MOD_FINI): Likewise.
51232
51233 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51234 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51235 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51236 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51237 grub_strtoul completely.
51238 (real2pm): Removed.
51239 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51240 (GRUB_MOD_FINI): Likewise.
51241
51242 * normal/misc.c: Include grub/mm.h.
51243
51244 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51245 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51246 (vbe_list_modes_mod_SOURCES): Removed.
51247 (vbe_list_modes_mod_CFLAGS): Likewise.
51248 (vbe_test_mod_SOURCES): Likewise.
51249 (vbe_test_mod_CFLAGS): Likewise.
51250 (vbeinfo_mod_SOURCES): New variable.
51251 (vbeinfo_mod_CFLAGS): Likewise.
51252 (vbetest_mod_SOURCES): Likewise.
51253 (vbetest_mod_CFLAGS): Likewise.
51254
992ffbbe 512552005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51256
51257 * normal/misc.c: New file.
51258
51259 * DISTLIST: Added normal/misc.c.
f19dbdb7 51260
992ffbbe 51261 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51262 DISK to HOOK. Call HOOK with DISK.
51263 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51264 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51265 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51266
51267 * normal/menu_entry.c (struct screen): Added a new member
51268 "completion_shown".
51269 (completion_buffer): New global variable.
51270 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51271 (store_completion): New function.
51272 (complete): Likewise.
51273 (clear_completions): Likewise.
51274 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
51275 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51276 a tab, call complete.
51277
51278 * normal/completion.c (disk_dev): Removed.
51279 (print_simple_completion): Likewise.
51280 (print_partition_completion): Likewise.
51281 (print_func): New global variable.
51282 (add_completion): Do not take the arguments WHAT or PRINT any
51283 longer. Added a new argument TYPE. Instead of printing directly,
51284 call PRINT_FUNC if not NULL.
51285 All callers changed.
51286 (complete_device): Use a local variable DEV instead of
51287 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51288 (grub_normal_do_completion): Take a new argument HOOK. Do not
51289 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51290 empty string, return NULL instead.
51291 All callers changed.
51292
51293 * normal/cmdline.c (print_completion): New function.
51294
51295 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51296 to HOOK.
51297 All callers changed.
51298
51299 * kern/disk.c (grub_print_partinfo): Removed.
51300
51301 * include/grub/partition.h (struct grub_partition_map): Add a new
51302 argument DISK into HOOK of ITERATE.
51303 (grub_partition_iterate): Add a new argument DISK to HOOK.
51304
51305 * include/grub/normal.h (enum grub_completion_type): New enum.
51306 (grub_completion_type_t): New type.
51307 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51308 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51309 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51310 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51311 (grub_normal_do_completion): Added a new argument HOOK.
51312 (grub_normal_print_device_info): New prototype.
51313
51314 * include/grub/disk.h (grub_print_partinfo): Removed.
51315
51316 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51317 (normal_mod_SOURCES): Likewise.
51318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51319 (normal_mod_SOURCES): Likewise.
51320
51321 * commands/ls.c (grub_ls_list_disks): Use
51322 grub_normal_print_device_info instead of grub_print_partinfo. Free
51323 PNAME.
51324 (grub_ls_list_files): Use grub_normal_print_device_info instead of
51325 duplicating the code.
51326
0bd41162 513272005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51328
51329 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 51330 follow GCS more precisely.
51331 * commands/i386/pc/vbe_test.c: Likewise.
51332 * include/grub/i386/pc/vbe.h: Likewise.
51333 * term/i386/pc/vesafb.c: Likewise.
51334 * video/i386/pc/vbe.c: Likewise.
0bd41162 51335
6323696a 513362005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51337
51338 * DISTLIST: Added term/i386/pc/vesafb.c
51339 DISTLIST: Added video/i386/pc/vbe.c
51340 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51341 DISTLIST: Added commands/i386/pc/vbe_test.c.
51342 * commands/i386/pc/vbe_list_modes.c: New file.
51343 * commands/i386/pc/vbe_test.c: Likewise.
51344 * term/i386/pc/vesafb.c: Likewise.
51345 * video/i386/pc/vbe.c: Likewise.
51346 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51347 (grub_vbe_probe) Added prototype.
51348 (grub_vbe_set_video_mode) Likewise.
51349 (grub_vbe_get_video_mode) Likewise.
51350 (grub_vbe_get_video_mode_info) Likewise.
51351 (grub_vbe_set_pixel_rgb) Likewise.
51352 (grub_vbe_set_pixel_index) Likewise.
51353 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51354 (pkgdata_MODULES): Added vesafb.mod.
51355 (pkgdata_MODULES): Added vbe_list_modes.mod.
51356 (pkgdata_MODULES): Added vbe_test.mod.
51357 (vbe_mod_SOURCES): Added.
51358 (vbe_mod_CFLAGS): Likewise.
51359 (vesafb_mod_SOURCES): Likewise.
51360 (vesafb_mod_CFLAGS): Likewise.
51361 (vbe_list_modes_mod_SOURCES): Likewise.
51362 (vbe_list_modes_mod_CFLAGS): Likewise.
51363 (vbe_test_mod_SOURCES): Likewise.
51364 (vbe_test_mod_CFLAGS): Likewise.
51365
0a74e62f 513662005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
51367
0a74e62f 51368 * normal/command.c (grub_command_execute): If INTERACTIVE is
51369 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
51370 CMDLINE. Disable the pager if INTERACTIVE is true.
51371 All callers are changed.
51372
51373 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
51374 before reading a config file.
51375 * normal/main.c (read_config_file): Even if a command is not
51376 found, register it if it is within an entry.
51377
51378 * util/grub-emu.c: Include sys/types.h and unistd.h.
51379 (options): Added --hold.
51380 (struct arguments): Added a new member "hold".
51381 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
51382 missing.
51383 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
51384 cleared by a debugger, if it is not zero.
51385
51386 * include/grub/normal.h (grub_command_execute): Add an argument
51387 INTERACTIVE.
51388
e51f85ae 513892005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
51390
51391 * DISTLIST: Added include/grub/i386/pc/vbe.h.
51392
e9c6f39b 513932005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
51394
51395 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
51396 program with another one, because the old one didn't detect a bug
51397 in gcc-3.4. Always use regparm 2, because the new test is still
51398 not enough for gcc-4.0. Someone must investigate a simple test
51399 case which detects a bug in gcc-4.0.
51400
8de3495c 514012005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
51402
51403 * DISTLIST: Added normal/completion.c.
51404
51405 * normal/completion.c: New file.
f19dbdb7 51406
8de3495c 51407 * term/i386/pc/console.c (grub_console_getwh): New function.
51408 (grub_console_term): Assign grub_console_getwh to getwh.
51409
51410 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
51411 function is defined in normal/completion.c as
51412 grub_normal_do_completion.
51413 (grub_cmdline_get): Use grub_normal_do_completion instead of
51414 grub_tab_complete.
51415
51416 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
51417 returns non-zero, otherwise return 0.
51418 (grub_partition_iterate): First, probe the partition map. Then,
51419 call ITERATE only for this partition map.
51420
51421 * kern/misc.c (grub_strncmp): Rewritten.
51422
51423 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
51424 returns non-zero. Otherwise return 0.
51425
51426 * include/grub/partition.h (grub_partition_map_iterate): Return
51427 int instead of void.
51428
51429 * include/grub/normal.h (grub_normal_do_completion): New prototype.
51430
51431 * include/grub/misc.h (grub_strncmp): Change the type of N to
51432 grub_size_t.
51433
51434 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
51435 of void.
51436
51437 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 51438 unsigned explicitly before comparing it with I.
8de3495c 51439
51440 * kern/main.c (grub_env_write_root): Add the attribute unused into
51441 VAR.
51442
51443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51444 normal/completion.c.
51445 (normal_mod_SOURCES): Likewise.
51446 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51447 (normal_mod_SOURCES): Likewise.
51448
51449 * normal/command.c (grub_iterate_commands): If ITERATE returns
51450 non-zero, return one immediately.
51451
e85e144b 514522005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51453
51454 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51455 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51456 descriptions.
51457 (grub_vbe_get_controller_info): New function.
51458 (grub_vbe_get_mode_info): Likewise.
51459 (grub_vbe_set_mode): Likewise.
51460 (grub_vbe_get_mode): Likewise.
51461 (grub_vbe_set_memory_window): Likewise.
51462 (grub_vbe_get_memory_window): Likewise.
51463 (grub_vbe_set_scanline_length): Likewise.
51464 (grub_vbe_get_scanline_length): Likewise.
51465 (grub_vbe_set_display_start): Likewise.
51466 (grub_vbe_get_display_start): Likewise.
51467 (grub_vbe_set_palette_data): Likewise.
51468 * include/grub/i386/pc/vbe.h: New file.
51469
c46153d2 514702005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51471
51472 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51473 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51474 * DISTLIST: Likewise.
51475 * kern/ieee1275/of.c: Moved to ...
51476 * kern/ieee1275/ieee1275.c: ... here.
51477
0cb90c45 514782005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51479
51480 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51481 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51482 Pass 0 as `end' parameter to grub_strtoul().
51483
a19fb360 514842005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51485
51486 * include/grub/powerpc/ieee1275/console.h: Do not include
51487 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51488 ifdef.
51489 (grub_console_cur_color): Remove i386-specific prototype.
51490 (grub_console_real_putchar): Likewise.
51491 (grub_console_checkkey): Likewise.
51492 (grub_console_getkey): Likewise.
51493 (grub_console_getxy): Likewise.
51494 (grub_console_gotoxy): Likewise.
51495 (grub_console_cls): Likewise.
51496 (grub_console_setcursor): Likewise.
51497 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51498 Include <grub/machine/console.h>.
51499 * term/ieee1275/ofconsole.c: Likewise.
51500
4ac9bd04 515012005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51502
51503 * Makefile.in (LIBLZO): New variable.
51504
51505 * configure.ac: Check for LZO version 2.
51506
51507 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51508 lzo/lzo1x.h instead of lzo1x.h.
51509
51510 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51511 of -llzo.
51512
51513 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51514 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51515
51516 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51517 copying the data from PARTITION to P.
51518
f4917dfd 515192005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51520
51521 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51522 negative, unload the module.
51523
51524 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51525 map is "pc_partition_map" but not "pc".
51526 (usage): Fix the description. The options are --boot-image and
51527 --core-image but not --boot-file or --core-file.
51528 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51529 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51530 DEFAULT_DIRECTORY.
51531
51532 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51533 --core-file. Specify INSTALL_DEVICE as an argument.
51534
51535 * util/console.c: Include config.h.
51536 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51537 [HAVE_NCURSES_H]: Include ncurses.h.
51538 [HAVE_CURSES_H]: Include curses.h.
51539 [!A_NORMAL] (A_NORMAL): Defined as zero.
51540 [!A_STANDOUT] (A_STANDOUT): Likewise.
51541
51542 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51543 -lncurses.
51544 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51545
51546 * configure.ac: Check for curses libraries and headers.
51547
51548 * Makefile.in (LIBCURSES): New variable.
51549
51550 * genmk.rb (Script::rule): Set the executable bits.
51551
51552 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51553 name of the PC partition map is "pc_partition_map" but not "pc".
51554
0e143073 515552005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51556
51557 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51558 (modules): Likewise.
51559 (usage): Added descriptions for --modules and --grub-probefs.
51560 Handle --modules and --grub-probefs. Save the arguments in MODULES
51561 and GRUB_PROBEFS, respectively.
51562 Auto-detect a filesystem module against GRUBDIR. If the result is
51563 empty and modules are not specified explicitly, abort the
51564 installation. Add the result to MODULES.
51565
51566 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51567 disk/powerpc/ieee1275/ofdisk.c,
51568 include/grub/powerpc/ieee1275/init.h and
51569 term/powerpc/ieee1275/ofconsole.c.
51570 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51571 term/ieee1275/ofconsole.c.
51572
51573 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51574
51575 * COPYING: Upgraded to the latest version. Only the address of the
51576 FSF office has changed.
f19dbdb7 51577
efd6e6d5 515782005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51579
51580 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51581 kern/ieee1275.c with kern/ieee1275/of.c.
51582
51583 * kern/ieee1275.c: Moved to ...
51584 * kern/ieee1275/of.c: ... here.
51585
8ceafda2 515862005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51587
51588 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51589 readability.
8ceafda2 51590
51591 * config.guess: Updated to the latest version from gnulib.
51592 * config.sub: Likewise.
51593 * install.sh: Likewise.
51594 * mkinstalldirs: Likewise.
51595
51596 * include/grub/console.h: Removed. This file is arch-specific. Do
51597 not put this in include/grub.
51598
51599 * include/grub/i386/pc/console.h: Resurrected.
51600
51601 * util/console.c: Include grub/machine/console.h instead of
51602 grub/console.h.
51603 * util/grub-emu.c: Likewise.
51604
267f6cd9 516052005-08-04 Marco Gerards <metgerards@student.han.nl>
51606
51607 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51608 hardcoded value.
f19dbdb7 51609
267f6cd9 51610 From Vincent Pelletier <subdino2004@yahoo.fr>
51611 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51612 Redefined to use grub_getwh.
51613 (grub_term): New member named getwh.
51614 (grub_getwh): New prototype.
51615 * kern/term.c (grub_getwh): New function.
51616 * term/i386/pc/console.c (grub_console_getwh): New function.
51617 (grub_console_term): New member `getwh'.
51618 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51619 (grub_vga_term): New member `getwh'.
0b5abe02 51620 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51621 grub_ssize_t.
51622 (grub_ofconsole_getw): New function.
51623 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51624 (grub_ofconsole_term): New field named getwh and new initial
51625 value.
51626
3be7266d 516272005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51628
51629 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51630 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51631 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51632 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51633 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51634 of <grub/machine/ieee1275.h>.
51635 * commands/ieee1275/reboot.c: Likewise.
51636 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51637 * kern/ieee1275.c: ... to here. All users updated. Change all
51638 parameter structs to use new type `grub_ieee1275_cell_t'.
51639 * term/powerpc/ieee1275/ofconsole.c: Move ...
51640 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51641 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51642 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51643 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51644 to return int.
51645 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51646 Remove unused prototypes. All users updated.
51647 * include/grub/powerpc/ieee1275/console.h: Removed.
51648 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51649 `grub_ieee1275_cell_t'.
51650 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51651 Cast comparisons with -1 to the correct type.
51652 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51653 type to match `grub_ieee1275_entry_fn'.
51654
8b5f3938 516552005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51656
51657 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51658
51659 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51660 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51661 partmap/sun.c.
51662 (grub_probefs_SOURCES): New variable.
51663
51664 * util/i386/pc/grub-probefs.c: New file.
51665
51666 * util/i386/pc/grub-setup.c (main): Call
51667 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51668 grub_hfs_init and grub_jfs_init to initialize the system. Call
51669 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51670 grub_pc_partition_map_fini to finish the system.
51671
ea409713 516722005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51673
51674 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51675 function.
51676 (grub_multiboot_load_elf32): Likewise.
51677 (grub_multiboot_is_elf64): Likewise.
51678 (grub_multiboot_load_elf64): Likewise.
51679 (grub_multiboot_load_elf): Likewise.
51680 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51681 an ELF32 or ELF64 file.
51682 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51683
51684 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51685 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51686 NULL before calling FS->LABEL.
51687 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51688 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51689 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51690 before calling FS->LABEL.
51691
141a288b 516922005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51693
51694 * util/i386/pc/grub-install.in (datadir): New variable.
51695 (libdir): Removed.
51696 (pkgdatadir): New variable.
51697 (pkglibdir): Removed.
51698
0d5f8a54 516992005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51700
51701 * DISTLIST: Added util/i386/pc/grub-install.in.
51702
51703 * util/i386/pc/grub-install.in: New file.
51704
51705 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51706 (grub_install_SOURCES): Likewise.
51707
51708 * genmk.rb: Added support for scripts.
51709 (Script): New class.
51710 (scripts): New variable.
51711
51712 * Makefile.in (install-local): Install sbin_SCRIPTS by
51713 INSTALL_SCRIPT.
51714 (uninstall): Remove sbin_SCRIPTS.
51715
51716 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51717 device, try to get a GRUB device by
51718 grub_util_biosdisk_get_grub_dev.
51719 Free DEST_DEV.
51720
51721 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51722 description for --device-map.
51723
5f968e1e 517242005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51725
51726 Change the semantics of variable hooks. They now return strings
51727 instead of error values.
f19dbdb7 51728
5f968e1e 51729 * util/i386/pc/grub-setup.c: Include grub/env.h.
51730 (setup): Use grub_device_set_root instead of grub_env_set.
51731
51732 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51733 grub_env_get instead of grub_device_set_root and
51734 grub_device_get_root, respectively.
51735
51736 * kern/main.c (grub_env_write_root): New function.
51737 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51738 grub_env_set instead of grub_device_set_root.
51739
51740 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51741 many variables.
51742 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51743 rather than calling ENV->WRITE_HOOK afterwards.
51744 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51745 passing a pointer of a pointer.
51746 (grub_register_variable_hook): Change the types of "read_hook" and
51747 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51748 respectively.
51749 Allocate the default empty string on the heap, because this string
51750 may be freed later.
51751
51752 * kern/device.c: Include grub/env.h.
51753 (grub_device_set_root): Removed.
51754 (grub_device_get_root): Likewise.
51755 (grub_device_open): Use grub_env_get instead of
51756 grub_device_get_root.
51757
51758 * include/grub/env.h (grub_env_read_hook_t): New type.
51759 (grub_env_write_hook_t): Likewise.
51760 (grub_env_var): Change the types of "read_hook" and "write_hook"
51761 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51762 (grub_register_variable_hook): Likewise.
51763
51764 * include/grub/device.h (grub_device_set_root): Removed.
51765 (grub_device_set_root): Likewise.
51766
51767 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51768 make sure that DIRNAME terminates with '/', so that
51769 grub_fat_find_dir will fail if PATH is not a directory.
51770
51771 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51772 from DIRNAME.
51773 Use the qualifier auto for print_files and print_files_long.
51774 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51775 as a regular file.
51776 Put a newline only if there is no error.
51777 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51778 used.
51779
896f0afd 517802005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51781
51782 * kern/partition.c (grub_partition_probe): Initialize PART to
51783 NULL. Otherwise, when no partition map is registered, this returns
51784 a garbage.
51785
b28b81b2 517862005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51787
51788 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51789 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51790 valid.
51791
5f3607e0 517922005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51793
51794 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51795 information on each device, if it does not have partitions. Print
51796 "Device" instead of "Disk", because this function is not specific
51797 to disk devices.
51798
51799 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51800 static to ensure that it is put on the memory rather than a
51801 register.
51802
502c87e8 518032005-07-17 Yoshinori Okuji <okuji@enbug.org>
51804
51805 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51806 (grub_cat_init): Likewise.
51807 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51808 (options): Likewise.
51809 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51810 (grub_configfile_init): Likewise.
51811 * font/manager.c (GRUB_MOD_INIT): Likewise.
51812 * commands/help.c (GRUB_MOD_INIT): Likewise.
51813 (grub_help_init): Likewise.
51814 * normal/command.c (grub_command_init): Likewise.
51815 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51816 * disk/loopback.c (grub_loop_init): Likewise.
51817 (GRUB_MOD_INIT): Likewise.
51818 * commands/ls.c (grub_ls_init): Likewise.
51819 (GRUB_MOD_INIT): Likewise.
51820 (options): Likewise.
51821 * commands/boot.c (grub_boot_init): Likewise.
51822 (GRUB_MOD_INIT): Likewise.
51823 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51824 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51825 (GRUB_MOD_INIT): Likewise.
51826 * commands/cmp.c (grub_cmp_init): Likewise.
51827 (GRUB_MOD_INIT): Likewise.
51828
51829 * normal/arg.c: Use <> instead of "" to include header files.
51830 (SHORT_ARG_HELP): New macro.
51831 (SHORT_ARG_USAGE): Likewise.
51832 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51833 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51834 descriptions.
51835 (find_short): Check if C is 'h' or 'u' explicitly.
51836 (grub_arg_show_help): Use space characters instead of tabs. Treat
51837 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51838 are shown with --help and --usage only if they are not used for
51839 the command itself.
51840 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51841 'h' and 'u'.
51842
51843 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51844 const into "longarg". Change the type of "shortarg" to int.
51845
f806d18e 518462005-07-17 Yoshinori Okuji <okuji@enbug.org>
51847
51848 * boot/i386/pc/boot.S (boot_drive_check): New label.
51849
51850 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51851 macro.
51852
51853 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51854 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51855
e293232b 518562005-07-17 Yoshinori Okuji <okuji@enbug.org>
51857
51858 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51859 When turning off Gate A20, skip the check and return immediately,
51860 because this is not fatal usually.
51861
ebedfd00 518622005-07-17 Yoshinori Okuji <okuji@enbug.org>
51863
51864 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51865 be 0x7C00 instead of 0x8000.
51866
51867 * boot/i386/pc/pxeboot.S: Rewritten.
51868
51869 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51870 EXT_C.
51871 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51872 result.
51873
654fc59f 518742005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51875
51876 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51877 robustness. This routine now supports a BIOS call and System
51878 Control Port A to modify the gate A20.
51879
51880 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51881 Increased to 0x440.
51882
09f9923f 518832005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51884
51885 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51886 device path and resulting ihandle.
51887 (grub_ofdisk_close): dprintf the ihandle being closed.
51888 (grub_ofdisk_read): dprintf function parameters.
51889 * kern/mm.c (grub_mm_init_region): Likewise.
51890 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51891 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51892 size, and boot arguments.
51893 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51894 before loading into memory.
51895 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51896 before loading into memory.
51897
7ef504d8 518982005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51899
51900 * kern/mm.c: Added much documentation.
51901 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51902 8, set to 5 instead of 8.
51903
e0f050c2 519042005-07-10 Yoshinori Okuji <okuji@enbug.org>
51905
51906 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51907
51908 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51909 (grub_mkdevicemap_SOURCES): New variable.
51910
51911 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51912 lib/device.c of GRUB Legacy.
51913
7224189a 519142005-07-10 Yoshinori Okuji <okuji@enbug.org>
51915
51916 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51917 instead of PATH is NULL.
51918
68c864eb 519192005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51920
51921 * commands/cmp.c (BUFFER_SIZE): New macro.
51922 (grub_cmd_cmp): Close the right file at the right time. Compare
51923 only data just read. Don't report files of different size as
51924 identical. Dynamically allocate buffers. Move variable
51925 declarations at the beginning of function.
51926
e6f3e614 519272005-07-09 Yoshinori Okuji <okuji@enbug.org>
51928
51929 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51930 reverse.
51931
f8f1559a 519322004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51933
51934 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51935 when backspace is pressed at beginning of line.
51936
39c9d41d 519372005-07-03 Yoshinori Okuji <okuji@enbug.org>
51938
51939 * DISTLIST: Added genfslist.sh.
51940
51941 * normal/main.c (fs_module_list): New variable.
51942 (autoload_fs_module): New function.
51943 (read_fs_list): Likewise.
51944 (grub_normal_execute): Call read_fs_list.
51945
51946 * kern/fs.c (grub_fs_autoload_hook): New variable.
51947 (grub_fs_probe): Added support for auto-loading.
51948
51949 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51950 (grub_fs_module_list_t): New type.
51951
51952 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51953 (grub_fs_autoload_hook): New prototype.
51954
51955 * genfslist.sh: New file.
f19dbdb7 51956
39c9d41d 51957 * genmk.rb: Added a rule to generate a filesystem list.
51958
121c1d83 519592005-06-30 Marco Gerards <metgerards@student.han.nl>
51960
51961 * configure.ac: Fix the test for cross-compiling.
51962
51963 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51964 define GRUB_UTIL anymore.
51965
51966 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51967 so this function works on other systems than just big endian.
51968 (load_modules): Likewise.
51969 (add_segments): Likewise.
51970
e75d76e1 519712005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51972
51973 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51974 contains `l' modifier, get a long from va_arg().
51975
50b5a0a7 519762005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51977
51978 * kern/mm.c (grub_free): If the next free block which is being
51979 merged is the first free block, set the first block to the block
51980 being freed.
51981 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51982
89371b20 519832005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51984
51985 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51986 `grub_ieee1275_chosen'.
51987
168d6e58 519882005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51989
51990 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51991 (grub_ieee1275_chosen): New variable.
51992 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51993 `chosen'.
51994 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51995 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51996 Rename first argument to `phandle' for consistency.
51997 (grub_ieee1275_get_property_length): Likewise.
51998 (grub_ieee1275_next_property): Likewise. Change type of first argument
51999 to grub_ieee1275_phandle_t.
52000 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52001 Move export next to declaration.
52002 (grub_ieee1275_chosen): New variable.
52003 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52004 Correct cosmetic typo.
52005 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52006 `grub_ieee1275_chosen'.
52007 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52008 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52009 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52010 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52011 `grub_ieee1275_chosen'.
52012
ca5baa3f 520132005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52014
52015 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52016 /chosen/bootargs.
52017 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52018 /chosen/bootargs as "variable=value" pairs.
52019
708b345f 520202005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52021
52022 * include/grub/misc.h (grub_dprintf): New macro.
52023 (grub_real_dprintf): New prototype.
52024 (grub_strword): Likewise.
52025 (grub_iswordseparator): Likewise.
52026 * kern/misc.c (grub_real_dprintf): New function.
52027 (grub_strword): Likewise.
52028 (grub_iswordseparator): Likewise.
52029
f4c5e67c 520302005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52031
52032 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52033 (roundup): Remove macro.
52034 (grub_ieee1275_flags): Make static.
52035 (grub_ieee1275_realmode): Remove.
52036 (grub_ieee1275_test_flag): New function.
52037 (grub_ieee1275_set_flag): Likewise.
52038 (find_options): Rename to `grub_ieee1275_find_options'; update
52039 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52040 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52041 (cmain): New prototype.
52042 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52043 `grub_ieee1275_flags' directly.
52044 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52045 machine/biosdisk.h.
52046 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52047 Don't include grub/machine/init.h.
52048 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52049 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52050 Remove prototype.
52051 (grub_ieee1275_realmode): Likewise.
52052 (grub_ieee1275_flag): New enum.
52053 (grub_ieee1275_test_flag): New prototype.
52054 (grub_ieee1275_set_flag): New prototype.
52055 * include/grub/powerpc/ieee1275/init.h: Remove file.
52056 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52057 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52058 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52059 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52060 comment.
52061 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52062 `grub_ieee1275_test_flag'.
52063 (grub_ieee1275_encode_devname): Likewise.
52064
ed16607e 520652005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52066
52067 * include/grub/powerpc/ieee1275/ieee1275.h
52068 (grub_ieee1275_encode_devname): New prototype.
52069 (grub_ieee1275_get_filename): Likewise.
52070 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52071 function.
52072 (grub_set_prefix): Likewise.
52073 (grub_machine_init): Call grub_set_prefix.
52074 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52075 (grub_parse_type): New enum.
52076 (grub_ieee1275_get_devargs): New function.
52077 (grub_ieee1275_get_devname): Likewise.
52078 (grub_ieee1275_parse_args): Likewise.
52079 (grub_ieee1275_get_filename): Likewise.
52080 (grub_ieee1275_encode_devname): Likewise.
52081
be369920 520822005-03-30 Marco Gerards <metgerards@student.han.nl>
52083
52084 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52085 `grub_loader_unset'.
52086
a5ce3a4a 520872005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52088
52089 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52090 instead of grub_ieee1275_interpret.
52091 (grub_halt_init): New function.
52092 (grub_halt_fini): Likewise.
52093 (GRUB_MOD_INIT): Correct message grammar.
52094 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52095 instead of grub_ieee1275_interpret.
52096 (grub_reboot_init): New function.
52097 (grub_reboot_fini): Likewise.
52098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52099 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52100 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52101 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52102 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52103 function.
52104 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52105 Add prototype.
52106 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52107 prototype.
52108 (grub_halt): Likewise.
52109 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52110 (cmain): Remove __attribute__((unused)).
52111 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52112 (grub_heap_len): Likewise.
52113 (grub_machine_fini): New function.
52114 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52115 (grub_halt): Likewise.
52116 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52117 function.
52118 * util/powerpc/ieee1275/misc.c: New file.
52119
0058f771 521202005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52121
52122 * DISTLIST: New file.
52123 * gendistlist.sh: Likewise.
f19dbdb7 52124
0058f771 52125 * Makefile.in (COMMON_DISTFILES): Removed.
52126 (BOOT_DISTFILES): Likewise.
52127 (CONF_DISTFILES): Likewise.
52128 (DISK_DISTFILES): Likewise.
52129 (FS_DISTFILES): Likewise.
52130 (INCLUDE_DISTFILES): Likewise.
52131 (KERN_DISTFILES): Likewise.
52132 (LOADER_DISTFILES): Likewise.
52133 (TERM_DISTFILES): Likewise.
52134 (UTIL_DISTFILES): Likewise.
52135 (DISTFILES): Likewise.
52136 (uninstall): Uninstall files in $(pkgdata_DATA).
52137 (DISTLIST): New target.
52138 (distdir): Use the contents of the file DISTLIST to get a list of
52139 distributed files.
52140
46b3b8a5 521412005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52142
52143 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52144 descriptor. This is ported from GRUB Legacy.
52145
52146 * gencmdlist.sh: Added an extra semicolon to make it work with
52147 old sed versions. Reported by Robert Bihlmeyer
52148 <robbe@orcus.priv.at>.
52149
5822ff87 521502005-03-08 Yoshinori Okuji <okuji@enbug.org>
52151
52152 Automatic loading of commands is supported.
f19dbdb7 52153
5822ff87 52154 * normal/main.c (read_command_list): New function.
52155 (grub_normal_execute): Call read_command_list.
52156
52157 * normal/command.c (grub_register_command): Return zero or CMD.
52158 Allocate CMD->NAME from the heap.
52159 Initialize CMD->MODULE_NAME to zero.
52160 Find the same name as well. If the same command is found and it is
52161 a dummy command, overwrite members. If it is not a dummy command,
52162 return zero.
52163 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52164 (grub_command_find): If a dummy command is found, load a module
52165 and retry to find a command only once.
52166
52167 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52168 make sure that each command is loaded.
52169
52170 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52171 macro.
52172 (struct grub_command): Remove const from the member `name'.
52173 Add a new member `module_name'.
52174 (grub_register_command): Return grub_command_t.
52175
52176 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52177 sure that each command is loaded.
52178
52179 * genmk.rb (PModule::rule): Specify a module name without the
52180 suffix ".mod" to gencmdlist.sh.
52181
7b1f4b57 521822005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52183
52184 * gencmdlist.sh: New file.
f19dbdb7 52185
7b1f4b57 52186 * genmk.rb (PModule::rule): Generate a rule for a command list.
52187 Clean command.lst.
52188 Generate command.lst from $(COMMANDFILES).
52189
52190 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52191 (DATA): Added $(pkgdata_DATA).
52192 (install-local): Install files in $(pkgdata_DATA).
52193
062aaf39 521942005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52195
52196 * term/i386/pc/vga.c (debug_command): Removed.
52197 (GRUB_MOD_INIT): Do not register the command "debug".
52198
52199 From Hollis Blanchard:
52200 * commands/configfile.c: New file.
52201 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52202 commands/configfile.c.
52203 (pkgdata_MODULES): Added configfile.mod.
52204 (configfile_mod_SOURCES): New variable.
52205 (configfile_mod_CFLAGS): Likewise.
52206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52207 commands/configfile.c.
52208 (pkgdata_MODULES): Added configfile.mod.
52209 (configfile_mod_SOURCES): New variable.
52210 (configfile_mod_CFLAGS): Likewise.
52211 * util/grub-emu.c (main): Call grub_configfile_init and
52212 grub_configfile_fini.
52213 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52214 prototype.
52215 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 52216
cee01aa6 522172005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52218
52219 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52220 address.
52221
52222 * commands/help.c (grub_cmd_help): Do not print newlines after
52223 the last command in print_command_help.
52224
93f3a1d8 522252005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52226
52227 * commands/default.h: New file.
52228 * commands/timeout.h: Likewise.
52229 * normal/context.c: Likewise.
f19dbdb7 52230
93f3a1d8 52231 * util/misc.c: Do not include sys/times.h.
52232 Include sys/time.h and grub/machine/time.h.
52233 (grub_get_rtc): Rewritten with gettimeofday.
52234
52235 * util/grub-emu.c (main): Call grub_default_init and
52236 grub_timeout_init before grub_normal_init, and call
52237 grub_timeout_fini and grub_default_fini after grub_main.
52238
52239 * util/console.c (grub_ncurses_checkkey): Return the read
52240 character or -1.
52241
52242 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52243 timeouts.
52244
52245 * normal/main.c (read_config_file): Push MENU. If this fails,
52246 print an error and wait for a user input.
52247 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52248 If a menu is empty or an error occurs, pop MENU.
52249 (grub_normal_execute): Pop and free MENU after grub_menu_run
52250 returns.
52251
52252 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52253
52254 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52255 include time.h.
52256 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52257 without GRUB_UTIL.
52258 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52259 time.h.
52260 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52261 without GRUB_UTIL.
52262
52263 * include/grub/normal.h (struct grub_menu_list): New struct.
52264 (grub_menu_list_t): New type.
52265 (struct grub_context): New struct.
52266 (grub_context_t): New type.
52267 (grub_register_command): Got rid of EXPORT_FUNC.
52268 (grub_unregister_command): Likewise.
52269 (grub_context_get): New prototype.
52270 (grub_context_get_current_menu): Likewise.
52271 (grub_context_push_menu): Likewise.
52272 (grub_context_pop_menu): Likewise.
52273 [GRUB_UTIL] (grub_default_init): Likewise.
52274 [GRUB_UTIL] (grub_default_fini): Likewise.
52275 [GRUB_UTIL] (grub_timeout_init): Likewise.
52276 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52277
52278 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52279 commands/timeout.c and normal/context.c.
52280 (pkgdata_MODULES): Added default.mod and timeout.mod.
52281 (normal_mod_SOURCES): Added normal/context.c.
52282 (default_mod_SOURCES): New variable.
52283 (default_mod_CFLAGS): Likewise.
52284 (timeout_mod_SOURCES): Likewise.
52285 (timeout_mod_CFLAGS): Likewise.
52286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52287 conf/i386-pc.rmk.
52288 (pkgdata_MODULES): Added default.mod and timeout.mod.
52289 (normal_mod_SOURCES): Added normal/context.c.
52290 (default_mod_SOURCES): New variable.
52291 (default_mod_CFLAGS): Likewise.
52292 (timeout_mod_SOURCES): Likewise.
52293 (timeout_mod_CFLAGS): Likewise.
52294
52295 * Makefile.in (all-local): Added $(MKFILES).
52296
4ed2e1dd 522972005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52298
52299 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52300 (grub_emu_SOURCES): Likewise.
52301 (pkgdata_MODULES): Add `sun.mod'.
52302 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52304 `partmap/sun.c'.
52305 (pkgdata_MODULES): Add `sun.mod'.
52306 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52307 * include/grub/partition.h (grub_sun_partition_map_init): New
52308 prototype.
52309 (grub_sun_partition_map_fini): Likewise.
52310 * partmap/sun.c: New file.
52311 * util/grub-emu.c (main): Initialize and de-initialize the sun
52312 partitionmap support.
52313
4d4e372e 523142005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52315
52316 This implements an Emacs-like menu entry editor.
f19dbdb7 52317
4d4e372e 52318 * normal/menu_entry.c: New file.
f19dbdb7 52319
4d4e372e 52320 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52321 characters to ASCII.
52322 (saved_char): New variable.
52323 (grub_ncurses_checkkey): Rewritten completely.
52324 (grub_ncurses_getkey): Likewise.
52325 (grub_ncurses_init): Call raw instead of cbreak.
52326
52327 * normal/menu.c (print_entry): Do not put a space.
52328 (init_page): Renamed to ...
52329 (grub_menu_init_page): ... this. All callers changed.
52330 (edit_menu_entry): Removed.
52331 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
52332
52333 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
52334
52335 * kern/misc.c (grub_vprintf): Call grub_refresh.
52336
52337 * normal/menu.c (DISP_LEFT): Renamed to ...
52338 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52339 * normal/menu.c (DISP_UP): Renamed to ...
52340 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52341 * normal/menu.c (DISP_RIGHT): Renamed to ...
52342 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52343 * normal/menu.c (DISP_DOWN): Renamed to ...
52344 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52345 * normal/menu.c (DISP_HLINE): Renamed to ...
52346 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52347 * normal/menu.c (DISP_VLINE): Renamed to ...
52348 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52349 * normal/menu.c (DISP_UL): Renamed to ...
52350 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52351 * normal/menu.c (DISP_UR): Renamed to ...
52352 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52353 * normal/menu.c (DISP_LL): Renamed to ...
52354 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52355 * normal/menu.c (DISP_LR): Renamed to ...
52356 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52357 * normal/menu.c (TERM_WIDTH): Renamed to ...
52358 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52359 * normal/menu.c (TERM_HEIGHT): Renamed to ...
52360 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
52361 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
52362 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
52363 * normal/menu.c (TERM_MARGIN): Renamed to ...
52364 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
52365 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
52366 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
52367 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
52368 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
52369 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
52370 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
52371 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
52372 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
52373 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
52374 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
52375 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
52376 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
52377 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
52378 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
52379 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
52380 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
52381 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
52382 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
52383 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
52384 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
52385 All callers changed.
52386
52387 * include/grub/normal.h: New prototype.
52388
52389 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52390 normal/menu_entry.c.
52391 (normal_mod_SOURCES): Likewise.
52392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52393 (normal_mod_SOURCES): Likewise.
52394
e6b92c8a 523952005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
52396
52397 * include/grub/normal.h (grub_halt_init): New prototype.
52398 (grub_halt_fini): Likewise.
52399 (grub_reboot_init): Likewise.
52400 (grub_reboot_fini): Likewise.
52401
52402 * util/grub-emu.c: Include signal.h.
52403 (main_env): New global variable.
52404 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
52405 catch C-c.
52406 (grub_machine_fini): New function.
52407 (main): Call grub_halt_init and grub_reboot_init before
52408 grub_main, and grub_reboot_fini and grub_halt_fini after it.
52409 Call setjmp with MAIN_ENV to go back afterwards.
52410 Call grub_machine_fini right before return.
52411
52412 * include/grub/util/misc.h: Include setjmp.h.
52413 (main_env): New prototype.
52414
52415 * include/grub/kernel.h (grub_machine_fini): New prototype.
52416 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
52417 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
52418
52419 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
52420 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
52421 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 52422
e6b92c8a 52423 * util/i386/pc/misc.c: New file.
f19dbdb7 52424
e6b92c8a 52425 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52426 util/i386/pc/misc.c, commands/i386/pc/halt.c and
52427 commands/i386/pc/reboot.c.
52428
c642636f 524292005-02-14 Guillem Jover <guillem@hadrons.org>
52430
52431 * include/grub/dl.h (grub_dl_check_header): New prototype.
52432 (grub_arch_dl_check_header): Change return type to grub_err_t,
52433 remove size parameter and export function. Update all callers.
52434 * kern/dl.c (grub_dl_check_header): New function.
52435 (grub_dl_load_core): Use `grub_dl_check_header' instead of
52436 `grub_arch_dl_check_header'. Check ELF type. Check if sections
52437 are inside the core.
52438 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
52439 independent ELF header checks.
52440 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52441 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
52442 `grub_dl_check_header' instead of explicit checks. Check for the
52443 ELF type.
52444 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
52445 `grub_dl_check_header' instead of explicit checks. Remove arch
52446 specific ELF header checks.
52447
e6b92c8a 52448 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52449 argument SIZE.
52450
5eabe94b 524512005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52452
52453 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52454 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52455
1b14a681 524562005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52457
52458 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 52459 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 52460 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 52461 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 52462 * partmap/amiga.c (amiga_partition_map_iterate): Return
52463 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52464 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52465
aca108aa 524662005-02-01 Guillem Jover <guillem@hadrons.org>
52467
52468 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52469 help info.
52470
c9f9c556 524712005-01-31 Marco Gerards <metgerards@student.han.nl>
52472
52473 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52474 Removed prototype.
52475 (grub_rescue_cmd_linux): New prototype.
52476 (grub_rescue_cmd_initrd): Likewise.
52477 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52478 `bi_rec'.
52479 (grub_linux_release_mem): Release the memory for the initrd.
52480 (grub_load_linux): Renamed from this...
52481 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52482 Changed `entry' not to be static. Loop over memory regions to
52483 find another one when the default fails.
52484 (grub_rescue_cmd_initrd): New function.
52485 (grub_linux_init): Remove function.
52486 (grub_linux_fini): Likewise.
52487 (GRUB_MOD_INIT): Register `initrd'.
52488 (GRUB_MOD_FINI): Unregister `initrd'.
52489 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52490 Function removed.
52491 (grub_linux_normal_fini): Likewise.
52492 (GRUB_MOD_INIT): Register `initrd'.
52493 (GRUB_MOD_FINI): Unregister `initrd'.
52494
990cf3aa 524952005-01-31 Marco Gerards <metgerards@student.han.nl>
52496
52497 * commands/help.c: New file.
52498 * normal/arg.c (show_help): Renamed to...
52499 (grub_arg_show_help): ... this.
52500 * commands/i386/pc/halt.c: New file.
52501 * commands/i386/pc/reboot.c: Likewise.
52502 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52503 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52504 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52505 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52506 variables.
52507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52508 `commands/help.c'.
52509 (pkgdata_MODULES): Add `help.mod'.
52510 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52511 * grub/i386/pc/init.h (grub_reboot): New prototype.
52512 (grub_halt): Likewise.
52513 * include/grub/normal.h (grub_arg_show_help): New prototype.
52514 (grub_help_init): Likewise.
52515 (grub_help_fini): Likewise.
52516 * util/grub-emu.c (main): Initialize and deinitialize the help
52517 command.
52518
52519 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52520
52521 * normal/command.c (grub_command_init): Fixed the description of
52522 the `set' and `unset' commands.
52523
525242005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52525
52526 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52527 function.
52528 * commands/ieee1275/halt.c: New file.
52529 * commands/ieee1275/reboot.c: Likewise.
52530 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52531 `__attribute__ ((unused))'. Some GCS related fixed.
52532 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52533 (grub_suspend_fini): Likewise.
52534 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52535 and `halt.mod'.
52536 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52537 (halt_mod_CFLAGS): New variables.
52538 * include/grub/powerpc/ieee1275/ieee1275.h
52539 (grub_ieee1275_interpret): New prototype.
52540
1ab09cc7 525412005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52542
52543 * include/grub/misc.h (memmove): New prototype.
52544 (memcpy): Likewise.
52545
8b8cbdb2 525462005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52547
52548 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52549 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52550
e3741a27 525512005-01-22 Marco Gerards <metgerards@student.han.nl>
52552
52553 * kern/misc.c (grub_strndup): Function rewritten.
52554
776bd780 525552005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52556
52557 * normal/menu.c (TERM_WIDTH): Macro redefined.
52558 (TERM_TOP_BORDER_Y): Likewise.
52559 (draw_border): Replaced while-loop by a for-loop. Make the number
52560 of lines consistent with the number of lines displayed in
52561 print_entries. Added a margin below the rectangle.
52562 (print_entry): Make the entry fit in the rectangle.
52563 (print_entries): Display the scroll arrows next to the right
52564 border.
52565
78026bce 525662005-01-21 Marco Gerards <metgerards@student.han.nl>
52567
52568 * fs/minix.c (grub_minix_find_file): Reserve more space for
52569 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52570 `grub_strncpy' to copy `path' into it.
52571
67bbaf0f 525722005-01-21 Marco Gerards <metgerards@student.han.nl>
52573
52574 Add the loopback device, a device via which files can be accessed
52575 as devices.
f19dbdb7 52576
67bbaf0f 52577 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52578 (pkgdata_MODULES): Add loopback.mod.
52579 (loopback_mod_SOURCES): New variable.
52580 (loopback_mod_CFLAGS): Likewise.
52581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52582 `disk/loopback.c'.
52583 (pkgdata_MODULES): Add loopback.mod.
52584 (loopback_mod_SOURCES): New variable.
52585 (loopback_mod_CFLAGS): Likewise.
52586 * disk/loopback.c: new file.
52587 * include/grub/normal.h (grub_loop_init): New prototype.
52588 (grub_loop_fini): New prototype.
52589 * util/grub-emu.c (main): Initialize and de-initialize loopback
52590 support.
52591 * include/grub/disk.h (grub_disk_dev_id): Add
52592 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52593
6f1c18bd 525942005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52595
52596 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52597 function.
52598 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52599 (suspend_mod_SOURCES): New variable.
52600 (suspend_mod_CFLAGS): Likewise.
52601 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52602 New prototype.
52603 * commands/ieee1275/suspend.c: New file.
52604
b38551da 526052005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52606
52607 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52608 ((unused))' to `__attribute__ ((used))'.
b38551da 52609 (GRUB_MOD_FINI): Likewise.
52610 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52611 * genmk.rb (PModule): Assign space to common symbols when linking
52612 modules.
52613
777aff39 526142005-01-20 Marco Gerards <metgerards@student.han.nl>
52615
52616 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52617 `unsigned' arguments to `grub_size_t'.
52618 (grub_malloc): Likewise.
52619 (grub_realloc): Likewise.
52620 (grub_memalign): Likewise.
52621 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52622 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52623 * util/misc.c (grub_malloc): Likewise.
52624 (grub_realloc): Likewise.
52625 * kern/mm.c (get_header_from_pointer): Change the casts to
52626 `unsigned' into a cast to `grub_size_t'.
52627
52628 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52629 point to `currnode' when `currnode' is changed.
52630
52631 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52632 Schottelius <nico-linux@schottelius.org>.
52633
d0ff18e1 526342005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52635
52636 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52637 (note_path): Remove variable.
52638 (GRUB_IEEE1275_NOTE_NAME): New macro.
52639 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52640 (grub_ieee1275_note_hdr): New structure.
52641 (grub_ieee1275_note_desc): Likewise.
52642 (grub_ieee1275_note): Likewise.
52643 (load_note): Remove `dir' argument. All callers updated. Remove
52644 `note_img' and `path'. Do not load a file from `note_path'.
52645 Initialize a struct grub_ieee1275_note and write that to `out'.
52646 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52647
4ca7004c 526482005-01-05 Marco Gerards <metgerards@student.han.nl>
52649
52650 * util/misc.c (grub_util_read_image): Revert last change. It
52651 called `grub_util_read_at', which seeks from the beginning of the
52652 file.
52653
0b412211 526542005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52655
52656 * TODO: Add note about endianness in grub-mkimage.
52657 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52658 section.
52659 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52660 (grub_mkimage_SOURCES): New target.
52661 * include/grub/kernel.h (grub_start_addr): Remove variable.
52662 (grub_end_addr): Likewise.
52663 (grub_total_module_size): Likewise.
52664 (grub_kernel_image_size): Likewise.
52665 (GRUB_MODULE_MAGIC): New constant.
52666 (grub_module_info): New structure.
52667 (grub_arch_modules_addr): New prototype.
52668 (grub_get_end_addr): Remove prototype.
52669 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52670 * include/grub/powerpc/ieee1275/kernel.h: New file.
52671 * include/grub/util/misc.h (grub_util_get_fp_size): New
52672 prototype.
52673 (grub_util_read_at): Likewise.
52674 (grub_util_write_image_at): Likewise.
52675 * kern/main.c (grub_get_end_addr): Remove function.
52676 (grub_load_modules): Call grub_arch_modules_addr instead of using
52677 grub_end_addr. Look for a grub_module_info struct in memory. Use
52678 the grub_module_info fields instead of calling grub_get_end_addr
52679 as loop conditions. Move grub_add_unused_region code here.
52680 (grub_add_unused_region): Remove function.
52681 * kern/i386/pc/init.c: Include grub/cache.h.
52682 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52683 one call to add_mem_region.
52684 (grub_arch_modules_addr): New function.
52685 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52686 (grub_total_module_size): Likewise.
52687 Include grub/machine/kernel.h.
52688 (grub_arch_modules_addr): New function.
52689 * util/grub-emu.c (grub_end_addr): Remove variable.
52690 (grub_total_module_size): Likewise.
52691 (grub_arch_modules_addr): New function.
52692 * util/misc.c: Include unistd.h.
52693 (grub_util_get_fp_size): New function.
52694 (grub_util_read_at): Likewise.
52695 (grub_util_write_image_at): Likewise.
52696 (grub_util_read_image): Call grub_util_read_at.
52697 (grub_util_write_image): Call grub_util_write_image_at.
52698 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52699 additional memory in kernel_img for a struct grub_module_info.
52700 Fill in that grub_module_info.
52701 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52702
458786f8 527032005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52704
52705 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52706 New function.
52707 * include/grub/powerpc/ieee1275/ieee1275.h
52708 (grub_ieee1275_milliseconds): New prototype.
52709 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52710 Change to 1000.
52711 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52712 grub_ieee1275_milliseconds.
52713
ac507d1b 527142005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52715
52716 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52717 variable.
52718 (find_options): New function.
52719 (cmain): Call find_options.
52720 * include/grub/powerpc/ieee1275/ieee1275.h
52721 (grub_ieee1275_realmode): New extern variable.
52722 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52723 grub_map if grub_ieee1275_realmode is false.
52724
6b8fd1c4 527252004-12-29 Marco Gerards <metgerards@student.han.nl>
52726
52727 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52728 lines are inserted and make it work like readline. Reported by
52729 Vincent Pelletier <subdino2004@yahoo.fr>.
52730
8514a1e0 527312004-12-28 Marco Gerards <metgerards@student.han.nl>
52732
52733 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52734
52735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52736 `kern/powerpc/cache.S'.
52737
924b6140 527382004-12-27 Marco Gerards <metgerards@student.han.nl>
52739
52740 * genmk.rb: Handle the `Program' class in the main loop. Written
52741 by Johan Rydberg <jrydberg@gnu.org>.
52742 (Program): New class.
52743 (programs): New variable.
52744 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52745 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52746 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52747 (help_arch): Function removed.
52748 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52749 `powerpc/libgcc.h' and `loader.h'.
52750 (pkgdata_PROGRAMS): New variable.
52751 (sbin_UTILITIES): Variable removed.
52752 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52753 (grubof_SOURCES): Variable re-defined so it only includes the
52754 core functionality.
52755 (grubof_CFLAGS): Remove `-DGRUBOF'.
52756 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52757 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52758 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52759 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52760 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52761 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52762 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52763 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52764 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52765 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52766 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52767 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52768 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52769 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52770 (pc_mod_CFLAGS): New variables.
52771 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52772 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52773 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52774 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52775 Moved from here...
52776 * include/grub/i386/pc/init.h (grub_os_area_addr)
52777 (rub_os_area_size): ... to here.
52778 * include/grub/powerpc/ieee1275/ieee1275.h
52779 (grub_ieee1275_entry_fn): Export symbol.
52780 * include/grub/powerpc/ieee1275/init.h: New file.
52781 * include/grub/powerpc/libgcc.h: Likewise.
52782 * include/grub/cache.h: Likewise.
52783 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52784 <hollis@penguinppc.org>.
52785 * kern/dl.c: Include <grub/cache.h>.
52786 (grub_dl_flush_cache): New function.
52787 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52788 for this module.
52789 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52790 (grub_console_init): Removed prototypes.
52791 (grub_machine_init): Don't initialize the modules anymore.
52792 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52793 static.
52794 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52795 Macro undef removed.
52796 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52797 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52798 relocation `R_PPC_REL32'. Return an error when the relocation is
52799 unknown.
52800 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52801 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52802 * util/misc.c (grub_arch_sync_caches): Likewise.
52803
e4b47e0c 528042004-12-19 Marco Gerards <metgerards@student.han.nl>
52805
52806 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52807 `symlist.c', add `grubof_symlist.c'.
52808 (symlist.c): Variable removed.
52809 (grubof_HEADERS): Variable added.
52810 (grubof_symlist.c): New target.
52811 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52812 `kernel_img_HEADERS'.
52813 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52814 * kern/powerpc/dl.c: New file.
52815 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52816 Function removed.
52817 (grub_arch_dl_relocate_symbols): Likewise.
52818 (grub_register_exported_symbols): Likewise.
52819
4ceb3636 528202004-12-13 Marco Gerards <metgerards@student.han.nl>
52821
52822 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52823 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52824 to fail instead. Reported by Vincent Pelletier
52825 <subdino2004@yahoo.fr>.
52826
52827 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52828 it is not allocated. Reported by Vincent Pelletier
52829 <subdino2004@yahoo.fr>.
52830
52831 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52832 output so the output looks better.
f19dbdb7 52833
3f1578fe 528342004-12-04 Marco Gerards <metgerards@student.han.nl>
52835
52836 Modulize the partition map support and add support for the amiga
52837 partition map.
f19dbdb7 52838
3f1578fe 52839 * commands/ls.c: Include <grub/partition.h> instead of
52840 <grub/machine/partition.h>.
52841 * kern/disk.c: Likewise.
52842 * kern/rescue.c: Likewise.
52843 * loader/i386/pc/chainloader.c: Likewise.
52844 * normal/cmdline.c: Likewise.
52845 * kern/powerpc/ieee1275/init.c: Likewise.
52846 (grub_machine_init): Call `grub_pc_partition_map_init',
52847 `grub_amiga_partition_map_init' and
52848 `grub_apple_partition_map_init'.
52849 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52850 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52851 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52852 `partition.h' and `pc_partition.h'.
52853 (grub_setup_SOURCES): Remove
52854 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52855 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52856 (grub_emu_SOURCES): Likewise.
52857 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52858 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52859 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52861 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52862 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52863 (grubof_SOURCES): Likewise.
52864 * disk/i386/pc/partition.c: File removed.
52865 * disk/powerpc/ieee1275/partition.c: Likewise.
52866 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52867 * include/grub/i386/pc/partition.h: Likewise.
52868 * kern/partition.c: New file.
52869 * partmap/amiga.c: Likewise.
52870 * partmap/apple.c: Likewise.
52871 * partmap/pc.c: Likewise.
52872 * include/grub/partition.h: Likewise..
52873 * include/grub/pc_partition.h: Likewise.
52874 * util/grub-emu.c: Include <grub/partition.h> instead of
52875 <grub/machine/partition.h>.
52876 (main): Call `grub_pc_partition_map_init',
52877 `grub_amiga_partition_map_init' and
52878 `grub_apple_partition_map_init' and deinitialize afterwards.
52879 * util/i386/pc/biosdisk.c: Include `#include
52880 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52881 `<grub/machine/partition.h>'.
52882 * util/i386/pc/grub-setup.c: Likewise.
52883 * util/i386/pc/biosdisk.c: Likewise.
52884 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52885 partition information in case of a PC partition.
52886 * util/i386/pc/grub-setup.c: Include `#include
52887 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52888 `<grub/machine/partition.h>'.
52889 (setup): Only access the PC specific partition information in case
52890 of a PC partition.
52891
0ef4ced9 528922004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52893
0ef4ced9 52894 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52895 (grub_longjmp): Likewise.
52896 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52897 20.
52898 * normal/powerpc/setjmp.S: New file.
52899 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52900 `normal/powerpc/setjmp.S'.
52901 (grubof_CFLAGS): Add `-DGRUBOF'.
52902 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52903 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52904
19950e29 529052004-11-16 Marco Gerards <metgerards@student.han.nl>
52906
52907 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52908 property named `name'. Correctly handle the error returned by
52909 `grub_ieee1275_finddevice' if a device can not be opened.
52910
a2fea427 529112004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52912
52913 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52914 `actual' for negativity.
52915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52916 kern/fshelp.c.
52917
41ea0ea3 529182004-11-01 Marco Gerards <metgerards@student.han.nl>
52919
52920 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52921 (PAGE_OFFSET): New macro.
52922 (CRTC_ADDR_PORT): Likewise.
52923 (CRTC_DATA_PORT): Likewise.
52924 (START_ADDR_HIGH_REGISTER): Likewise.
52925 (START_ADDR_LOW_REGISTER): Likewise.
52926 (GRAPHICS_ADDR_PORT): Likewise.
52927 (GRAPHICS_DATA_PORT): Likewise.
52928 (READ_MAP_REGISTER): Likewise.
52929 (INPUT_STATUS1_REGISTER): Likewise.
52930 (INPUT_STATUS1_VERTR_BIT): Likewise.
52931 (page): New variable.
52932 (wait_vretrace): New function.
52933 (set_read_map): Likewise.
52934 (set_start_address): Likewise.
52935 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52936 the right page.
52937 (check_vga_mem): Take the page into account.
52938 (write_char): Likewise.
52939 (write_cursor): Likewise.
52940 (scroll_up): Likewise. Copy the page to the page that is not
52941 shown and switch between both pages.
52942 (grub_vga_putchar): Fix off by one error.
52943 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52944 account.
52945
ad0bd20b 529462004-11-01 Marco Gerards <metgerards@student.han.nl>
52947
52948 Add support for iso9660 (including rockridge).
f19dbdb7 52949
ad0bd20b 52950 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52951 (iso9660_mod_SOURCES): New variable.
52952 (iso9660_mod_CFLAGS): Likewise.
52953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52954 * include/grub/fs.h (grub_iso9660_init): New prototype.
52955 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52956 * fs/iso9660.c: New file.
52957
52958 * include/grub/misc.h (grub_strncat): New prototype.
52959 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52960
ad0bd20b 52961 * fs/hfs.c (grub_hfs_mount): Translate the error
52962 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52963 * fs/jfs.c (grub_jfs_mount): Likewise.
52964 * fs/ufs.c (grub_ufs_mount): Likewise.
52965
a5477a59 529662004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52967
52968 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52969 which initialized BAT registers.
52970 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52971 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52972 Move from here...
52973 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52974 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52975 ... to here.
52976 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52977 (grub_mapclaim): Likewise.
52978 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52979 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52980 hand.
52981
9304c1f8 529822004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52983
52984 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52985 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52986 -ffreestanding and -msoft-float.
52987
86f4ae25 529882004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52989
52990 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52991 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52992 set in grub_ieee1275_flags.
52993
38912228 529942004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52995
52996 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52997 prototype.
52998 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52999 grub_console_init first.
53000 Change the memory range used for grub_ieee1275_claim and
53001 grub_mm_init_region.
53002 Print an error message if the claim fails.
53003 Include <grub/misc.h>.
53004
d1923dc8 530052004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53006
53007 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53008 Call grub_children_iterate for device nodes of type `scsi',
53009 `ide', or `ata'.
53010 (grub_ofdisk_open): Remove manual device alias resolution.
53011 Fix memory leak when device cannot be opened.
f19dbdb7 53012 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 53013 (grub_children_iterate): New prototype.
53014 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53015 New function.
53016 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53017 Return -1 if args.size was -1.
53018
4512e4f3 530192004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53020
53021 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53022 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53023 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53024 Open Firmware's memory for it; claim memory from _start to _end.
53025 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53026 (_end): New extern.
53027 (_start): Zero BSS from __bss_start to _end.
53028 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53029 New extern.
53030 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53031
4d61feb0 530322004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53033
ad0bd20b 53034 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53035 -1 if args.base was -1.
4d61feb0 53036
026fa2f9 530372004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53038
53039 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53040 escape sequence instead of a literal ^L. Also call
53041 grub_ofconsole_gotoxy.
53042
9f2220ef 530432004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53044
53045 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53046 void * arguments to grub_addr_t. All callers updated. Also make
53047 the `result' argument optional.
53048 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53049 All callers updated.
53050
8a572cd7 530512004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53052
53053 * commands/ls.c (grub_ls_list_files): Use the string following the
53054 initial ')', if present, as the filesystem path.
53055 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53056
53057 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53058
18aa81f2 530592004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53060
53061 Make the source code of the menu interface more readable.
f19dbdb7 53062
18aa81f2 53063 * normal/menu.c: Include grub/mm.h.
53064 (TERM_WIDTH): New macro.
53065 (TERM_HEIGHT): Likewise.
53066 (TERM_INFO_HEIGHT): Likewise.
53067 (TERM_MARGIN): Likewise.
53068 (TERM_SCROLL_WIDTH): Likewise.
53069 (TERM_TOP_BORDER_Y): Likewise.
53070 (TERM_LEFT_BORDER_X): Likewise.
53071 (TERM_BORDER_WIDTH): Likewise.
53072 (TERM_MESSAGE_HEIGHT): Likewise.
53073 (TERM_BORDER_HEIGHT): Likewise.
53074 (TERM_NUM_ENTRIES): Likewise.
53075 (TERM_FIRST_ENTRY_Y): Likewise.
53076 (TERM_ENTRY_WIDTH): Likewise.
53077 (TERM_CURSOR_X): Likewise.
53078 (draw_border): Use macros instead of magic numbers.
53079 (print_entry): Likewise.
53080 (print_entries): Likewise.
53081 (run_menu): Likewise. Also, handle the key 'e'.
53082 (run_menu_entry): Ignore empty command lines.
53083 (print_message): Added a new argument EDIT. If EDIT is true,
53084 print a different message.
53085 (init_page): Likewise.
53086 (edit_menu_entry): New function. Not implemented yet.
53087
b47efe30 530882004-09-17 Marco Gerards <metgerards@student.han.nl>
53089
53090 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53091 can be loaded from normal mode.
f19dbdb7 53092
b47efe30 53093 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53094 `multiboot.mod'.
53095 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53096 (multiboot_mod_CFLAGS): New variables.
53097 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 53098 * loader/i386/pc/multiboot_normal.c: Likewise.
53099
b47efe30 53100 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53101 attribute `unused'.
f19dbdb7 53102
b47efe30 53103 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53104 `fdiro' to read the mode information from instead of `diro'.
53105
53106 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53107 looking up a symlink.
53108
53109 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53110 macro.
53111 * normal/command.c (grub_command_execute): Don't parse the
53112 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53113 flags of the command.
53114
53115 * normal/menu.c (grub_menu_run): Fix typo.
53116
da75ac71 531172004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53118
53119 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53120
53121 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53122 `y + 1' instead of `y - 1'.
53123
53124 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 53125
062b24c2 531262004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53127
53128 From Hollis Blanchard <hollis@penguinppc.org>:
53129 * kern/misc.c (memmove): New alias for grub_memmove.
53130 (memcmp): New alias for grub_memcmp.
53131 (memset): New alias for grub_memset.
f19dbdb7 53132 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 53133 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 53134 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 53135 (grub_ieee1275_get_property): Likewise.
f19dbdb7 53136
8ddad845 531372004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53138
53139 Added normal mode command `chainloader' as module chain.mod, which
53140 depends on normal.mod and _chain.mod.
f19dbdb7 53141
8ddad845 53142 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53143 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53144 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53145 Deleted prototype.
53146 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53147 but arguments parsing moved to ...
53148 (grub_chainloader_cmd): ... here. New function.
53149 * include/grub/i386/pc/chainloader.h: New file.
53150 * loader/i386/pc/chainloader_normal.c: Likewise.
53151
2c1f4ce3 531522004-09-11 Marco Gerards <metgerards@student.han.nl>
53153
53154 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53155 (grub_mkimage_LDFLAGS): Likewise.
53156 (grub_emu_SOURCES): Likewise.
53157 (kernel_img_HEADERS): Added fshelp.h.
53158 * fs/ext2.c: Include <grub/fshelp.h>.
53159 (FILETYPE_REG): New macro.
53160 (FILETYPE_INO_REG): Likewise.
53161 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53162 Changed all users.
53163 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53164 all users.
53165 (grub_fshelp_node): New struct.
53166 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53167 to a pointer.
53168 (grub_ext2_get_file_block): Removed function.
53169 (grub_ext2_read_block): New function.
53170 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53171 This function was written.
53172 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53173 (grub_ext2_find_file): Removed function.
53174 (grub_ext2_read_symlink): New function.
53175 (grub_ext2_iterate_dir): Likewise.
53176 (grub_ext2_open): Rewritten.
53177 (grub_ext2_dir): Rewritten.
53178 * include/grub/fshelp.h: New file.
53179 * fs/fshelp.c: Likewise.
53180
3c52136a 531812004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53182
53183 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53184 (print_message): Add a missing newline.
53185 (run_menu): Added timeout support.
53186 (run_menu_entry): New local function.
53187 (grub_menu_run): Added support for booting.
53188
53189 * kern/loader.c (grub_loader_is_loaded): New function.
53190
53191 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53192 (grub_get_rtc): Exported.
53193
53194 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53195 (grub_get_rtc): Exported.
53196
53197 * include/grub/normal.h (struct grub_command_list): Remove
53198 constant from the member `command'.
53199
53200 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53201
53202 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53203
53204 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53205
aa033560 532062004-08-28 Marco Gerards <metgerards@student.han.nl>
53207
53208 Add support for the JFS filesystem.
53209
53210 * fs/jfs.c: New file.
53211 * include/grub/fs.h (grub_jfs_init): New prototype.
53212 (grub_jfs_fini): New prototype.
53213 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53214 (grub_emu_SOURCES): Likewise.
53215 (pkgdata_MODULES): Add jfs.mod.
53216 (jfs_mod_SOURCES): New variable.
53217 (jfs_mod_CFLAGS): Likewise.
53218 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53219 (grubof_SOURCES): Likewise.
53220 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53221
53222 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53223 endian to the host endian.
53224 (grub_fat_utf16_to_utf8): Move function from there...
53225 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 53226 the endianness of the source string anymore.
aa033560 53227 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53228
94bc45af 532292004-08-24 Marco Gerards <metgerards@student.han.nl>
53230
53231 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53232 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53233 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53234 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 53235
94bc45af 53236 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53237 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53238 for `node_found' and `it_dir'.
53239 (grub_hfs_dir): Add prototype for `dir_hook'.
53240
53241 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53242 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53243 and `indir32' to silence a gcc warning.
53244
53245 * include/grub/fs.h (grub_hfs_init): New prototype.
53246 (grub_hfs_fini): Likewise.
f19dbdb7 53247
53248
97543f08 532492004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53250
53251 Each disk device has its own id now. This is useful to make use
53252 of multiple disk devices.
f19dbdb7 53253
97543f08 53254 * include/grub/disk.h (grub_disk_dev_id): New enum.
53255 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53256 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53257
53258 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53259 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53260
53261 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53262 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53263
53264 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53265 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53266
53267 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53268 "id" which is used by the cache manager.
53269
53270 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53271 of just "GRUB".
53272
64372eb4 532732004-08-18 Marco Gerards <metgerards@student.han.nl>
53274
53275 * fs/hfs.c: New file.
53276 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53277 (grub_emu_SOURCES): Likewise.
53278 (pkgdata_MODULES): Add hfs.mod.
53279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53280 (grubof_SOURCES): Likewise.
53281 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53282
53283 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53284 * kern/misc.c (grub_strncasecmp): Add function.
53285
cc61b58f 532862004-08-14 Marco Gerards <metgerards@student.han.nl>
53287
53288 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53289 with parentheses.
53290
53291 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53292 (grub_ext2_dir): In case the directory entry type is unknown, read
53293 it from the inode.
53294
0ef123f6 532952004-08-02 Peter Bruin <pjbruin@dds.nl>
53296
53297 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53298 grub_load_linux instead of grub_rescue_cmd_linux as second
53299 argument of grub_rescue_register_command.
53300
53301 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53302
a447c5df 533032004-07-27 Marco Gerards <metgerards@student.han.nl>
53304
53305 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53306 function.
53307 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53308 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53309 `loader/powerpc/ieee1275/linux.c',
53310 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53311 * include/grub/powerpc/ieee1275/ieee1275.h
53312 (grub_ieee1275_release): New prototype.
53313 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53314 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53315 normal, boot, linux and linux_normal.
53316 * loader/powerpc/ieee1275/linux.c: New file.
53317 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53318
5a9e3546 533192004-07-12 Marco Gerards <metgerards@student.han.nl>
53320
53321 * normal/arg.c (grub_arg_parse): Correct error handling after
53322 reallocating the argumentlist (check if `argl' is not null instead
53323 of checking if `args' is not null).
53324 * kern/mm.c (grub_realloc): Return the same pointer when using the
53325 same region, instead of returning the header address.
53326
e15199cb 533272004-07-11 Marco Gerards <metgerards@student.han.nl>
53328
53329 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
53330 one block instead of two when looking for the initial partition.
53331 (grub_partition_probe): Initialize the local variable `p' with 0.
53332 Use base 10 for the grub_strtoul call.
53333 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
53334 need for one local variable.
53335 (grub_strtoul): Don't add the new value to `num', instead of that
53336 just assign it.
53337
020616c2 533382004-07-11 Marco Gerards <metgerards@student.han.nl>
53339
53340 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53341 (pxeboot_img_SOURCES): New variable.
53342 (pxeboot_img_ASFLAGS): Likewise.
53343 (pxeboot_img_LDFLAGS): Likewise.
53344 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53345 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53346 <lode_leroy@hotmail.com>.
53347
6c51eb64 533482004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53349
53350 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53351 there was no input.
53352
cfb12aff 533532004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53354
53355 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53356 the history buffer logic.
53357
6eabba74 533582004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53359
53360 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
53361 (FILETYPE_INO_SYMLINK): New macros.
53362 (grub_ext2_find_file): Check if the node is a directory using the
53363 inode stat information instead of using the filetype in the
53364 dirent. Exclude the first character of an absolute symlink.
53365 (grub_ext2_dir): Mask out the filetype part of the mode member of
53366 the inode.
53367
66e19ef8 533682004-05-24 Marco Gerards <metgerards@student.han.nl>
53369
53370 Add support for UFS version 1 and 2. Add support for the minix
53371 filesystem version 1 and 2, both the variants with 14 and 30 long
53372 filenames.
f19dbdb7 53373
66e19ef8 53374 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
53375 fs/minix.c.
53376 (grub_emu_SOURCES): Likewise.
53377 (pkgdata_MODULES): Add ufs.mod and minix.mod.
53378 (ufs_mod_SOURCES): New variable.
53379 (ufs_mod_CFLAGS): Likewise.
53380 (minix_mod_SOURCES): Likewise.
53381 (minix_mod_CFLAGS): Likewise.
53382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
53383 fs/minix.c.
53384 (grubof_SOURCES): Likewise.
53385 * fs/ufs.c: New file.
53386 * fs/minix.c: New file.
53387 * include/grub/fs.h (grub_ufs_init): New prototype.
53388 (grub_ufs_fini): Likewise.
53389 (grub_minix_init): Likewise.
53390 (grub_minix_fini): Likewise.
53391 * util/grub-emu.c (main): Initialize and deinitialize UFS and
53392 minix fs.
53393
cc2e748a 533942004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
53395
53396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
53397 commands/ls.c, commands/terminal.c, commands/boot.c,
53398 commands/cmp.c and commands/cat.c.
53399 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
53400
53401 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
53402 "env.h"
53403
4b13b216 534042004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53405
53406 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
53407 and grub_, respectively. Because the conversion is trivial and
53408 mechanical, I omit the details here. Please refer to the CVS
53409 if you need more information.
53410
6a142551 534112004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53412
53413 * include/pupa: Renamed to ...
53414 * include/grub: ... this.
53415 * util/i386/pc/pupa-mkimage.c: Renamed to ...
53416 * util/i386/pc/grub-mkimage.c: ... this.
53417 * util/i386/pc/pupa-setup.c: Renamed to ...
53418 * util/i386/pc/grub-setup.c: ... this.
53419 * util/pupa-emu.c: Renamed to ...
53420 * util/grub-emu.c: ... this.
53421
e56cdf21 534222004-03-29 Marco Gerards <metgerards@student.han.nl>
53423
53424 Add support for the newworld apple macintosh (PPC). This has been
53425 tested on the powerbook 2000 only. It only adds support for
53426 generic ieee1275 functions, console and disk support. This should
53427 be easy to port to other architectures with support for Open
53428 Firmware.
f19dbdb7 53429
e56cdf21 53430 * configure.ac: Accept the powerpc as host_cpu. In the case of
53431 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
53432 specific tests are only executed while building for the i386.
53433 Inverse test for crosscompile.
53434 * genmk.rb (Utility): Allow assembler files.
53435 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
53436 * conf/powerpc-ieee1275.rmk: New file.
53437 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
53438 * disk/powerpc/ieee1275/partition.c: Likewise.
53439 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
53440 * include/pupa/powerpc/ieee1275/console.h: Likewise.
53441 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
53442 * include/pupa/powerpc/ieee1275/time.h: Likewise.
53443 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
53444 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
53445 * include/pupa/powerpc/ieee1275/loader.h
53446 * include/pupa/powerpc/setjmp.h: Likewise.
53447 * include/pupa/powerpc/types.h: Likewise.
53448 * kern/powerpc/ieee1275/init.c: Likewise.
53449 * kern/powerpc/ieee1275/openfw.c: Likewise.
53450 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53451
53452 These files were written by Johan Rydberg
53453 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 53454
e56cdf21 53455 * boot/powerpc/ieee1275/cmain.c: New file.
53456 * boot/powerpc/ieee1275/crt0.S: Likewise.
53457 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53458 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53459
8c8cc205 534602004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53461
53462 * Makefile.in: Update copyright.
53463 * genmodsrc.sh: Likewise.
53464 * gensymlist.sh: Likewise.
53465 * term/i386/pc/vga.c: Indent correctly.
53466
53467 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53468 bugreporting address.
53469 * util/i386/pc/pupa-setup.c (usage): Likewise,
53470 (main): Call pupa_ext2_init and pupa_ext2_fini.
53471
f19dbdb7 53472 * fs/fat.c (log2): Renamed to ...
8c8cc205 53473 (fat_log2): ... this.
53474 All callers changed.
53475 * kern/misc.c (memcpy): Alias to pupa_memmove.
53476 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53477 lvalue cast.
53478 * util/console.c (pupa_ncurses_fini): Return 0.
53479
53480 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53481 Move fail label here.
53482 [__GNU__]: Don't warn when using stat.
53483 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53484 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53485 long int. Use strtol instead of strtoul.
f19dbdb7 53486
db1771cf 534872004-03-14 Marco Gerards <metgerards@student.han.nl>
53488
53489 * commands/boot.c: New file.
53490 * commands/cat.c: Likewise.
53491 * commands/cmp.c: Likewise.
53492 * commands/ls.c: Likewise.
53493 * commands/terminal.c: Likewise.
53494 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53495 (pupa_register_command): Changed interface to match the new
53496 argument parser.
53497 (pupa_command_execute): Changed (almost rewritten) so it uses
53498 pupa_split_command. Added support for setting variables using the
53499 syntax `foo=bar'.
53500 (rescue_command): Changed to work with the new argument parser.
53501 (terminal_command): Moved from here to commands/terminal.c.
53502 (set_command): New function.
53503 (unset_command): New function.
53504 (insmod_command): New function.
53505 (rmmod_command): New function.
53506 (lsmod_command): New function.
53507 (pupa_command_init): Don't initialize the command terminal
53508 anymore. Initialize the commands set, unset, insmod, rmmod and
53509 lsmod.
53510 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53511 (kernel_img_HEADERS): Add arg.h and env.h.
53512 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53513 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53514 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53515 normal/arg.c.
53516 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53517 terminal.mod.
53518 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53519 (boot_mod_SOURCES): New variable.
53520 (terminal_mod_SOURCES): Likewise.
53521 (ls_mod_SOURCES): Likewise.
53522 (cmp_mod_SOURCES): Likewise.
53523 (cat_mod_SOURCES): Likewise.
53524
53525 * normal/arg.c: New file.
53526 * kern/env.c: Likewise.
53527 * include/pupa/arg.h: Likewise.
53528 * include/pupa/env.h: Likewise.
53529 * font/manager.c (font_command): Changed to match argument parsing
53530 interface changes.
53531 (PUPA_MOD_INIT): Likewise.
53532 * hello/hello.c (pupa_cmd_hello): Likewise.
53533 (PUPA_MOD_INIT): Likewise.
53534 * include/pupa/disk.h: Include <pupa/device.h>.
53535 (pupa_print_partinfo): New prototype.
53536 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53537 (pupa_dl_get_prefix): Likewise.
53538 * include/pupa/misc.h: Include <pupa/err.h>.
53539 (pupa_isgraph): New prototype.
53540 (pupa_isdigit): Likewise.
53541 (pupa_split_cmdline): Likewise.
53542 * include/pupa/normal.h: Include <pupa/arg.h>.
53543 (pupa_command): Changed the prototype of the member `func' to
53544 match the argument parsing interface. Added member `options'.
53545 (pupa_register_command): Updated to match function.
53546 (pupa_arg_parse): New prototype.
53547 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53548 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53549 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53550 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53551 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53552 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53553 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53554 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53555 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53556 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53557 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53558 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53559 * kern/disk.c: Include <pupa/file.h>.
53560 (pupa_print_partinfo): New function.
53561 * kern/dl.c: Include <pupa/env.h>.
53562 (pupa_dl_dir): Variable removed.
53563 (pupa_dl_load): Use the environment variable `prefix' instead of
53564 the variable pupa_dl_dir.
53565 (pupa_dl_set_prefix): Function removed.
53566 (pupa_dl_get_prefix): Likewise.
53567 * kern/i386/pc/init.c: Include <pupa/env.h>.
53568 (pupa_machine_init): Use the environment variable `prefix' instead of
53569 using pupa_dl_set_prefix to set the prefix.
53570 * kern/main.c: Include <pupa/env.h>.
53571 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53572 using pupa_dl_get_prefix to get the prefix.
53573 * kern/misc.c: Include <pupa/env.h>.
53574 (pupa_isdigit): New function.
53575 (pupa_isgraph): Likewise.
53576 (pupa_ftoa): Likewise.
53577 (pupa_vsprintf): Added support for printing values of the type
53578 `double'. Make it possible to format variable output when using
53579 formatting like `%1.2%f'.
53580 (pupa_split_cmdline): New function.
53581 * kern/rescue.c: Include <pupa/env.h>.
53582 (next_word): Removed function.
53583 (pupa_rescue_cmd_prefix): Likewise.
53584 (pupa_rescue_cmd_set): New function.
53585 (pupa_rescue_cmd_unset): New function.
53586 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53587 split the command line instead of splitting it here. Added
53588 support for setting variables using the syntax `foo=bar'. Don't
53589 initialize the prefix command anymore. Initialized the set and
53590 unset commands.
53591 * normal/cmdline.c: Include <pupa/env.h>.
53592 (pupa_tab_complete): Added prototypes for print_simple_completion,
53593 print_partition_completion, add_completion, iterate_commands,
53594 iterate_dev, iterate_part and iterate_dir. Moved code to print
53595 partition information from here to kern/disk.c.
fe6b695a 53596 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53597 * normal/main.c: Include <pupa/env.h>.
53598 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53599 instead of using pupa_dl_get_prefix to get the prefix.
53600 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53601 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53602 warning.
53603 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53604 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53605 ((unused))' to silence a gcc warning.
53606 (pupa_vga_setcolor): Likewise.
53607 (debug_command): Changed to match argument parsing
53608 interface changes.
53609 * util/pupa-emu.c: Include <pupa/env.h>.
53610 (options): Added 0's for unused fields to silence a gcc warning.
53611 (argp): Likewise.
53612 (main): Use the environment variable `prefix' instead of using
53613 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53614 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53615 and terminal.
53616
53617 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53618 * util/misc.c: Include <malloc.h>.
53619 (pupa_malloc): Rewritten so errors are correctly reported.
53620 (pupa_realloc): Likewise.
53621 (pupa_memalign): Likewise.
53622 (pupa_mm_init_region): Declare unused variables with
53623 `__attribute__ ((unused))' to silence a gcc warning.
53624 * normal/i386/setjmp.S: Remove tab at the end of the file to
53625 silence a gcc warning.
53626 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53627 variables with `__attribute__ ((unused))' to silence a gcc
53628 warning.
53629 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53630 local variable i unsigned to silence a gcc warning.
53631
53632 * kern/term.c: Include <pupa/misc.h>.
53633 (pupa_more_lines): New variable.
53634 (pupa_more): Likewise.
53635 (pupa_putcode): When the pager is active pause at the end of every
53636 screen.
53637 (pupa_set_more): New function.
53638 * include/pupa/term.h (pupa_set_more): New prototype.
53639
53640
3b1139cb 536412004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53642
53643 Now this project is GRUB 2 rather than PUPA. The location of
53644 the CVS repository was moved to GRUB's.
f19dbdb7 53645
3b1139cb 53646 * configure.ac: Use bug-grub as the reporting address.
53647 Use GRUB instead of PUPA.
53648 Change the version number to 1.90.
53649
8367695c 536502004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53651
53652 * genkernsyms.sh: Updated copyright information.
53653 * genmk.rb: Likewise.
53654 * genmodsrc.sh: Likewise.
53655 * gensymlist.sh: Likewise.
53656 * boot/i386/pc/boot.S: Likewise.
53657 * boot/i386/pc/diskboot.S: Likewise.
53658 * disk/i386/pc/biosdisk.c: Likewise.
53659 * disk/i386/pc/partition.c: Likewise.
53660 * font/manager.c: Likewise.
53661 * fs/ext2.c: Likewise.
53662 * fs/fat.c: Likewise.
53663 * include/pupa/boot.h: Likewise.
53664 * include/pupa/device.h: Likewise.
53665 * include/pupa/disk.h: Likewise.
53666 * include/pupa/dl.h: Likewise.
53667 * include/pupa/elf.h: Likewise.
53668 * include/pupa/err.h: Likewise.
53669 * include/pupa/file.h: Likewise.
53670 * include/pupa/font.h: Likewise.
53671 * include/pupa/fs.h: Likewise.
53672 * include/pupa/kernel.h: Likewise.
53673 * include/pupa/loader.h: Likewise.
53674 * include/pupa/misc.h: Likewise.
53675 * include/pupa/mm.h: Likewise.
53676 * include/pupa/net.h: Likewise.
53677 * include/pupa/normal.h: Likewise.
53678 * include/pupa/rescue.h: Likewise.
53679 * include/pupa/setjmp.h: Likewise.
53680 * include/pupa/symbol.h: Likewise.
53681 * include/pupa/term.h: Likewise.
53682 * include/pupa/types.h: Likewise.
53683 * include/pupa/i386/setjmp.h: Likewise.
53684 * include/pupa/i386/types.h: Likewise.
53685 * include/pupa/i386/pc/biosdisk.h: Likewise.
53686 * include/pupa/i386/pc/boot.h: Likewise.
53687 * include/pupa/i386/pc/console.h: Likewise.
53688 * include/pupa/i386/pc/init.h: Likewise.
53689 * include/pupa/i386/pc/kernel.h: Likewise.
53690 * include/pupa/i386/pc/linux.h: Likewise.
53691 * include/pupa/i386/pc/loader.h: Likewise.
53692 * include/pupa/i386/pc/memory.h: Likewise.
53693 * include/pupa/i386/pc/multiboot.h: Likewise.
53694 * include/pupa/i386/pc/partition.h: Likewise.
53695 * include/pupa/i386/pc/time.h: Likewise.
53696 * include/pupa/i386/pc/vga.h: Likewise.
53697 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53698 * include/pupa/util/getroot.h: Likewise.
53699 * include/pupa/util/misc.h: Likewise.
53700 * include/pupa/util/resolve.h: Likewise.
53701 * kern/device.c: Likewise.
53702 * kern/disk.c: Likewise.
53703 * kern/dl.c: Likewise.
53704 * kern/err.c: Likewise.
53705 * kern/file.c: Likewise.
53706 * kern/fs.c: Likewise.
53707 * kern/loader.c: Likewise.
53708 * kern/main.c: Likewise.
53709 * kern/misc.c: Likewise.
53710 * kern/mm.c: Likewise.
53711 * kern/rescue.c: Likewise.
53712 * kern/term.c: Likewise.
53713 * kern/i386/dl.c: Likewise.
53714 * kern/i386/pc/init.c: Likewise.
53715 * kern/i386/pc/lzo1x.S: Likewise.
53716 * kern/i386/pc/startup.S: Likewise.
53717 * loader/i386/pc/chainloader.c: Likewise.
53718 * loader/i386/pc/linux.c: Likewise.
53719 * loader/i386/pc/multiboot.c: Likewise.
53720 * normal/cmdline.c: Likewise.
53721 * normal/command.c: Likewise.
53722 * normal/main.c: Likewise.
53723 * normal/menu.c: Likewise.
53724 * normal/i386/setjmp.S: Likewise.
53725 * term/i386/pc/console.c: Likewise.
53726 * term/i386/pc/vga.c: Likewise.
53727 * util/console.c: Likewise.
53728 * util/genmoddep.c: Likewise.
53729 * util/misc.c: Likewise.
53730 * util/pupa-emu.c: Likewise.
53731 * util/resolve.c: Likewise.
53732 * util/unifont2pff.rb: Likewise.
53733 * util/i386/pc/biosdisk.c: Likewise.
53734 * util/i386/pc/getroot.c: Likewise.
53735 * util/i386/pc/pupa-mkimage.c: Likewise.
53736 * util/i386/pc/pupa-setup.c: Likewise.
53737
e6eced71 537382004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53739
53740 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53741 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53742 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53743 reading and reset it after reading.
53744 (pupa_ext2_close): Return PUPA_ERR_NONE.
53745
53746 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53747 Correct value.
53748 (struct linux_kernel_header): Add kernel_version and
53749 initrd_addr_max.
53750 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53751 pupa_file_read succeeds.
53752 (pupa_rescue_cmd_initrd): Implement.
53753
5aded270 537542003-12-03 Marco Gerards <metgerards@student.han.nl>
53755
53756 * fs/ext2.c (pupa_ext2_label): New function.
53757 (pupa_ext2_fs): Added label.
53758 * fs/fat.c (pupa_fat_label): New function.
53759 (pupa_fat_fs): Added label.
53760 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53761
53762 * kern/misc.c (pupa_strndup): New function.
53763 * include/pupa/misc.h (pupa_strndup): New prototype.
53764
53765 * include/pupa/normal.h: Include <pupa/err.h>.
53766 (pupa_set_history): New prototype.
53767 (pupa_iterate_commands): New prototype.
53768 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53769 <pupa/disk.h>, <pupa/file.h>.
53770 (hist_size): New variable.
53771 (hist_lines): Likewise.
53772 (hist_end): Likewise.
53773 (hist_used): Likewise.
53774 (pupa_set_history): New function.
53775 (pupa_history_get): Likewise.
53776 (pupa_history_add): Likewise.
53777 (pupa_history_replace): Likewise.
53778 (pupa_tab_complete): Likewise.
53779 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53780 completion shows partitionnames while completing partitions, this
53781 feature was suggested by Jeff Bailey.
53782 * normal/command.c (pupa_iterate_commands): New function.
53783 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53784 (pupa_normal_init): Initialize history buffer.
53785 (PUPA_MOD_INIT): Likewise.
53786 (pupa_normal_fini): Free the history buffer.
53787 (PUPA_MOD_FINI): Likewise.
53788
53789 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53790 key.
53791
53792 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53793 * configure.ac [i386]: Check for regparam bug.
53794 (NESTED_FUNC_ATTR) [! i386]: Defined.
53795
1f7315a3 537962003-11-17 Marco Gerards <metgerards@student.han.nl>
53797
53798 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53799 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53800 (pupa_emu_SOURCES): New variable.
53801 (pupa_emu_LDFLAGS): Likewise.
53802 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53803 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53804 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53805 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53806 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53807 (pupa_jmp_buf): New typedef.
53808 (pupa_setjmp) [PUPA_UTIL]: New macro.
53809 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53810 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53811 (pupa_refresh): New prototype.
53812 * include/pupa/util/getroot.h: New file.
53813 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53814 it.
53815 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53816 (pupa_rescue_cmd_cat): Likewise.
53817 (pupa_rescue_cmd_ls): Likewise.
53818 (pupa_rescue_cmd_testload): Likewise.
53819 (pupa_rescue_cmd_lsmod): Likewise.
53820 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53821 * normal/menu.c (run_menu): Likewise.
53822 * kern/term.c (pupa_cls): Likewise.
53823 (pupa_refresh): New function.
53824 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53825 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53826 * util/console.c: New file.
f19dbdb7 53827
1f7315a3 53828 * util/i386/pc/getroot.c: New file.
53829 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53830 (pupa_putchar): New function.
53831 (pupa_refresh): Likewise.
53832 (xgetcwd): Function moved to ...
53833 (strip_extra_slashes): Likewise.
53834 (get_prefix): Likewise.
f19dbdb7 53835 * util/i386/pc/getroot.c: ... here.
1f7315a3 53836 (find_root_device): Function moved and renamed to...
53837 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53838 Changed all callers.
53839 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53840 and renamed to...
53841 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53842 Changed all callers.
53843 * util/misc.c (pupa_memalign): New function.
53844 (pupa_mm_init_region): Likewise.
53845 (pupa_register_exported_symbols): Likewise.
53846 (pupa_putchar): Function removed.
53847 * util/pupa-emu.c: New file.
53848
9a5c1ade 538492003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53850
53851 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53852 (_multiboot_mod_SOURCES): New variable.
53853 (_multiboot_mod_CFLAGS): Likewise.
53854 * loader/i386/pc/multiboot.c: New file.
53855 * include/pupa/i386/pc/multiboot.h: Likewise.
53856 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53857 (pupa_multiboot_real_boot): New function.
53858 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53859 (pupa_multiboot_real_boot): New prototype.
53860 (pupa_rescue_cmd_multiboot): Likewise
53861 (pupa_rescue_cmd_module): Likewise.
53862
53863 * kern/loader.c (pupa_loader_set): Continue when
53864 pupa_loader_unload_func() fails.
53865 (pupa_loader_unset): New function.
53866 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53867
53868 * kern/misc.c (pupa_stpcpy): New function.
53869 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53870
8e72a9c0 538712003-11-12 Marco Gerards <metgerards@student.han.nl>
53872
53873 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53874 for available extensions.
53875
53876 * include/pupa/i386/pc/time.h: New file.
53877 * kern/disk.c: Include <pupa/machine/time.h>.
53878 (PUPA_CACHE_TIMEOUT): New macro.
53879 (pupa_last_time): New variable.
53880 (pupa_disk_open): Flush the cache when there was a timeout.
53881 (pupa_disk_close): Reset the timer.
53882 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53883 pupa_currticks.
53884 * util/misc.c: Include <sys/times.h>
53885 (pupa_get_rtc): New function.
53886
c4adbd32 538872003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53888
53889 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53890 as blocks.
53891 (pupa_ext2_get_file_block): Use blocks member.
53892
53893 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53894 first block. Return -1 instead of pupa_errno on error.
53895
bfd30f06 538962003-10-27 Marco Gerards <metgerards@student.han.nl>
53897
53898 * README: In the pupa-mkimage example use _chain instead of chain
53899 and ext2 instead of fat.
53900 * TODO: Replace ext2fs with jfs as an example. Add an item for
53901 adding journal playback for ext2fs.
53902 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53903 (pkgdata_MODULES): Added ext2.mod.
53904 (ext2_mod_SOURCES): New variable.
53905 (ext2_mod_CFLAGS): Likewise.
53906 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53907 * include/pupa/misc.h (pupa_strncpy): New prototype.
53908 (pupa_strcat): Likewise.
53909 (pupa_strncmp): Likewise.
53910 * kern/misc.c (pupa_strcat): Enable function.
53911 (pupa_strncpy): New function.
53912 (pupa_strncmp): Likewise.
53913 * fs/ext2.c: New file.
f19dbdb7 53914
bfd30f06 53915 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53916 when the read failed before retrying.
53917 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53918 (_FILE_OFFSET_BITS): Likewise.
53919 * configure.ac: Added AC_SYS_LARGEFILE.
53920
98d15063 539212003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53922
53923 * genmk.rb (PModule#rule): Make sure to get only symbol names
53924 from the output of nm.
59cad637 53925 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53926
18d9c7cd 539272003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53928
53929 I forgot to check in these changes for a long time. This adds
53930 incomplete support for VGA console, and this is still very
53931 buggy. Also, a lot of consideration is required for I18N,
53932 UNICODE, and VGA font issues. Therefore, assume that this is
53933 such that "better than nothing".
f19dbdb7 53934
18d9c7cd 53935 * font/manager.c: New file.
53936 * include/pupa/font.h: Likewise.
53937 * include/pupa/i386/pc/vga.h: Likewise.
53938 * term/i386/pc/vga.c: Likewise.
53939 * util/unifont2pff.rb: Likewise.
53940
53941 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53942 (pkgdata_MODULES): Added vga.mod and font.mod.
53943 (vga_mod_SOURCES): New variables.
53944 (vga_mod_CFLAGS): Likewise.
53945 (font_mod_SOURCES): Likewise.
53946 (font_mod_CFLAGS): Likewise.
53947
53948 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53949
53950 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53951 (struct pupa_term): Added init and fini.
18d9c7cd 53952 Changed the argument of putchar to pupa_uint32_t.
53953
53954 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53955 (pupa_console_real_putchar): New prototype.
53956 (pupa_console_putchar): Removed.
53957 (pupa_console_checkkey): Exported.
53958 (pupa_console_getkey): Likewise.
53959
53960 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53961 characters.
53962
53963 * kern/term.c (pupa_term_set_current): Rewritten.
53964 (pupa_putchar): Likewise.
53965 (pupa_putcode): New function.
53966
53967 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53968 (pupa_console_real_putchar): ... this.
53969 (pupa_vga_set_mode): New function.
53970 (pupa_vga_get_font): Likewise.
53971
53972 * normal/command.c: Include pupa/term.h.
53973 (terminal_command): New function.
53974 (pupa_command_init): Register the command "terminal".
53975
53976 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53977 (DISP_UP): Likewise.
53978 (DISP_RIGHT): Likewise.
53979 (DISP_DOWN): Likewise.
53980 (DISP_HLINE): Likewise.
53981 (DISP_VLINE): Likewise.
53982 (DISP_UL): Likewise.
53983 (DISP_UR): Likewise.
53984 (DISP_LL): Likewise.
53985 (DISP_LR): Likewise.
53986
53987 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53988
977329f5 539892003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53990
53991 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53992 FIX. Reverse the path_list.
53993
53994 * include/pupa/normal.h: Export pupa_register_command and
53995 pupa_unregister_command.
53996
53997 * hello/hello.c (pupa_cmd_hello): New module.
53998 * conf/i386-pc.rmk: Added hello.mod.
53999
1f5ab428 540002003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54001
54002 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 54003
1f5ab428 54004 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54005 (compress_kernel): New variable.
54006 (generate_image): Heavily modified to support compressing a
54007 large part of the core image.
54008
54009 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54010 leak.
54011 (pupa_util_load_image): New function.
54012
54013 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54014 (pupa_compressed_size): New variable.
54015 (codestart): Enable Gate A20 here.
54016 Decompress the compressed part of the core image.
54017 Rearrange the code to put functions and variables which are
54018 required for initialization in the non-compressed part.
54019 Include lzo1x.S.
54020
54021 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54022 here.
54023
54024 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54025
f19dbdb7 54026 * include/pupa/i386/pc/kernel.h
1f5ab428 54027 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54028 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54029 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54030 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54031 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54032
54033 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54034
54035 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54036 (Utility#rule): Likewise.
54037
54038 * configure.ac: Check if LZO is available.
54039
ce5bf700 540402003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54041
54042 * include/pupa/normal.h: New file.
54043 * include/pupa/setjmp.h: Likewise.
54044 * include/pupa/i386/setjmp.h: Likewise.
54045 * normal/cmdline.c: Likewise.
54046 * normal/command.c: Likewise.
54047 * normal/main.c: Likewise.
54048 * normal/menu.c: Likewise.
54049 * normal/i386/setjmp.S: Likewise.
f19dbdb7 54050
ce5bf700 54051 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54052 (pupa_rescue_cmd_initrd): Likewise.
54053
54054 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54055 Likewise.
54056
54057 * kern/i386/pc/startup.S (translation_table): New variable.
54058 (translate_keycode): New function.
54059 (pupa_console_getkey): Call translate_keycode.
54060
54061 * kern/rescue.c (attempt_normal_mode): New function.
54062 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54063 it failed, print a message.
54064
54065 * kern/mm.c (pupa_real_malloc): Print more information when a
54066 free magic is broken.
54067 (pupa_free): If the first free header is not free actually, set
54068 it to P.
54069
54070 * kern/main.c (pupa_load_normal_mode): Just load the module
54071 "normal".
54072 (pupa_main): Don't print the message
54073 "Entering into rescue mode..." here.
54074
54075 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54076 Declared.
54077 (pupa_rescue_cmd_initrd): Likewise.
54078 (pupa_rescue_cmd_initrd): Likewise.
54079
54080 * include/pupa/symbol.h (FUNCTION): Specify the type.
54081 (VARIABLE): Likewise.
54082
54083 * include/pupa/err.h (pupa_err_t): Added
54084 PUPA_ERR_UNKNOWN_COMMAND.
54085
54086 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54087 (pupa_dl_get_prefix): Likewise.
54088
54089 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54090 Added _chain.mod and _linux.mod instead of chain.mod and
54091 linux.mod.
54092 (chain_mod_SOURCES): Renamed to ...
54093 (_chain_mod_SOURCES): ... this.
54094 (chain_mod_CFLAGS): Renamed to ...
54095 (_chain_mod_CFLAGS): ... this.
54096 (linux_mod_SOURCES): Renamed to ...
54097 (_linux_mod_SOURCES): ... this.
54098 (linux_mod_CFLAGS): Renamed to ...
54099 (_linux_mod_CFLAGS): ... this.
54100 (normal_mod_SOURCES): New variable.
54101 (normal_mod_CFLAGS): Likewise.
54102 (normal_mod_ASFLAGS): Likewise.
54103
541042003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54105
54106 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54107 possible.
54108
fe6b695a 54109 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 54110 recursively.
54111 (pupa_dl_unref): Unrefer depending modules recursively.
54112 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54113 a module is unloaded before one depending on that module is
54114 unloaded.
54115 (pupa_dl_unload): Unload depending modules explicitly,
54116 if possible.
54117
c04da074 541182003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54119
54120 * include/pupa/i386/pc/linux.h: New file.
54121 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 54122
c04da074 54123 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54124 Removed.
54125 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54126 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54127 of PUPA_CHAINLOADER_BOOT_SECTOR.
54128
54129 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54130 (pupa_linux_prot_size): New variable.
54131 (pupa_linux_tmp_addr): Likewise.
54132 (pupa_linux_real_addr): Likewise.
54133 (pupa_linux_boot_zimage): New function.
54134 (pupa_linux_boot_bzimage): Likewise.
54135
54136 * kern/i386/pc/init.c (struct mem_region): New structure.
54137 (MAX_REGIONS): New macro.
54138 (mem_regions): New variable.
54139 (num_regions): Likewise.
54140 (pupa_os_area_addr): Likewise.
54141 (pupa_os_area_size): Likewise.
54142 (pupa_lower_mem): Likewise.
54143 (pupa_upper_mem): Likewise.
54144 (add_mem_region): New function.
54145 (compact_mem_regions): Likewise.
54146 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54147 the size of the conventional memory and that of so-called upper
54148 memory (before the first memory hole).
54149 Instead of adding each found region to free memory, use
54150 add_mem_region and add them after removing overlaps.
54151 Also, add only 1/4 of the upper memory to free memory. The rest
54152 is used for loading OS images. Maybe this is ad hoc, but this
54153 makes it much easier to relocate OS images when booting.
54154
54155 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54156 (pupa_enter_rescue_mode): Don't register initrd and module.
54157
54158 * kern/mm.c: Include pupa/dl.h.
54159
54160 * kern/main.c: Include pupa/file.h and pupa/device.h.
54161
54162 * kern/loader.c (pupa_loader_load_module_func): Removed.
54163 (pupa_loader_load_module): Likewise.
54164
54165 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54166 ``.o''.
54167
54168 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54169 (pupa_linux_tmp_addr): Likewise.
54170 (pupa_linux_real_addr): Likewise.
54171 (pupa_linux_boot_zimage): Likewise.
54172 (pupa_linux_boot_bzimage): Likewise.
54173
54174 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54175 (pupa_upper_mem): Likewise.
54176 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54177 module is too dangerous.
54178
54179 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54180 (pupa_os_area_size): Likewise.
54181 (pupa_loader_set): Remove the first argument. Loader doesn't
54182 manage modules or initrd any longer.
54183 (pupa_loader_load_module): Removed.
54184
54185 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54186 (linux_mod_SOURCES): New variable.
54187 (linux_mod_CFLAGS): Likewise.
54188
a13f9237 541892003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54190
54191 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54192 the length of a blocklist correctly.
54193
54194 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54195 Use ioctl only if the OS file is a block device.
54196 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54197 not very useful for normal files.
54198
54199 * kern/main.c (pupa_set_root_dev): New function.
54200 (pupa_load_normal_mode): Likewise.
54201 (pupa_main): Call those above.
54202
54203 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54204 pupa_uint16_t.
54205
54206 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54207
a5ffe966 542082003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54209
54210 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54211 (setup): Configure the installed partition information and the
54212 dl prefix.
54213
54214 * loader/i386/pc/chainloader.c (my_mod): New variable.
54215 (pupa_chainloader_unload): New function.
54216 (pupa_rescue_cmd_chainloader): Refer itself.
54217 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54218
54219 * kern/i386/pc/startup.S (install_partition): Removed.
54220 (version_string): Likewise.
54221 (config_file): Likewise.
54222 (pupa_install_dos_part): New variable.
54223 (pupa_install_bsd_part): Likewise.
54224 (pupa_prefix): Likewise.
54225 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54226
54227 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54228 and pupa/misc.h.
54229 (make_install_device): New function.
54230 (pupa_machine_init): Set the dl prefix.
54231
54232 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54233 (buf): Renamed to ...
54234 (linebuf): ... this.
54235 (pupa_rescue_cmd_prefix): New function.
54236 (pupa_rescue_cmd_insmod): Likewise.
54237 (pupa_rescue_cmd_rmmod): Likewise.
54238 (pupa_rescue_cmd_lsmod): Likewise.
54239 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54240 rmmod and lsmod.
54241
54242 * kern/mm.c (pupa_memalign): If failed even after invalidating
54243 disk caches, unload unneeded modules and retry.
54244
54245 * kern/misc.c (pupa_memmove): New function.
54246 (pupa_memcpy): Removed.
54247 (pupa_strcpy): New function.
54248 (pupa_itoa): Made static.
54249
54250 * kern/dl.c (pupa_dl_iterate): New function.
54251 (pupa_dl_ref): Likewise.
54252 (pupa_dl_unref): Likewise.
54253 (pupa_dl_unload): Return if succeeded or not.
54254 (pupa_dl_unload_unneeded): New function.
54255 (pupa_dl_unload_all): Likewise.
54256 (pupa_dl_init): Renamed to ...
54257 (pupa_dl_set_prefix): ... this.
54258 (pupa_dl_get_prefix): New function.
54259
54260 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54261 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54262 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54263 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54264 (pupa_install_dos_part): Declared.
54265 (pupa_install_bsd_part): Likewise.
54266 (pupa_prefix): Likewise.
54267 (pupa_boot_drive): Likewise.
54268
54269 * include/pupa/types.h: Fix a typo.
54270
54271 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54272 pupa_memmove.
54273 (pupa_memmove): Declared.
54274 (pupa_strcpy): Likewise.
54275
54276 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54277 pupa_mod_init takes one argument, its own module.
54278 (pupa_dl_unload_unneeded): Declared.
54279 (pupa_dl_unload_all): Likewise.
54280 (pupa_dl_ref): Likewise.
54281 (pupa_dl_unref): Likewise.
54282 (pupa_dl_iterate): Likewise.
54283 (pupa_dl_init): Renamed to ...
54284 (pupa_dl_set_prefix): ... this.
54285 (pupa_dl_get_prefix): Declared.
54286
54287 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 54288 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 54289 unloaded.
54290 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54291 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54292
54293 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54294 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54295
012d7999 542962003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54297
54298 * util/i386/pc/pupa-setup.c (setup): Define the internal
54299 function find_first_partition_start at the top level, because GCC
54300 3.0.x cannot compile internal functions in deeper scopes
54301 correctly.
54302 (find_root_device): Use lstat instead of stat.
54303 Don't follow symbolic links.
54304 Fix the path-constructing code.
54305
54306 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54307 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54308 by a BLKGETSIZE ioctl first, because block devices don't fill
54309 the member st_mode of the structure stat on Linux.
54310 [__linux__] (linux_find_partition): Use a temporary buffer
54311 REAL_DEV for the working space. Copy it to DEV before returning.
54312 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54313 buffer cache consistent.
54314 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54315 strncmp. The previous value was merely wrong.
54316 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54317
54318 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54319 FAT size is 12. The previous value was merely wrong.
54320
54321 * kern/main.c (pupa_main): Don't split the starting message from
54322 newlines.
54323
54324 * kern/term.c (pupa_putchar): Put CR after LF instead of before
54325 LF, because BIOS goes crazy about character attributes in this
54326 case.
54327
1cc73a62 543282003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54329
54330 * include/i386/pc/util/biosdisk.h: New file.
54331 * util/i386/pc/biosdisk.c: Likewise.
54332 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 54333
1cc73a62 54334 * Makefile.in (INCLUDE_DISTFILES): Added
54335 include/pupa/i386/pc/util/biosdisk.h.
54336 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54337 directory util/i386/pc.
54338 (install-local): Added a rule for sbin_UTILITIES.
54339 (uninstall): Likewise.
54340
54341 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54342
54343 * util/misc.c (xrealloc): New function.
54344 (pupa_malloc): Likewise.
54345 (pupa_free): Likewise.
54346 (pupa_realloc): Likewise.
54347 (pupa_stop): Likewise.
54348 (pupa_putchar): Likewise.
54349
54350 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54351
54352 * include/pupa/util/misc.h (xrealloc): Declared.
54353
54354 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54355 macro.
54356 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54357 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54358
54359 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
54360 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54361
54362 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
54363 way should be implemented.
54364 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54365
54366 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
54367 the size of NAME for safety.
54368 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
54369 0x88.
54370
54371 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
54372 (pupa_setup_SOURCES): Likewise.
54373
54374 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
54375
08b70fe8 543762002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54377
54378 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
54379 bunch of pushl's from pusha, because this destroys the return
54380 value.
54381
62ddcc8f 543822002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54383
54384 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
54385 This means that any missing prototypes could be fatal. Also, you
54386 must take care when writing assembly code. See the comments at
54387 the beginning of startup.S, for more details.
f19dbdb7 54388
62ddcc8f 54389 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
54390 compilation mechanism.
54391 (pupa_chainloader_real_boot): Likewise.
54392 (pupa_biosdisk_rw_int13_extensions): Likewise.
54393 (pupa_biosdisk_rw_standard): Likewise.
54394 (pupa_biosdisk_check_int13_extensions): Likewise.
54395 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
54396 (pupa_biosdisk_get_diskinfo_standard): Likewise.
54397 (pupa_get_memsize): Likewise.
54398 (pupa_get_mmap_entry): Likewise.
54399 (pupa_console_putchar): Likewise.
54400 (pupa_console_setcursor): Likewise.
54401 (pupa_getrtsecs): Use pushl instead of push.
54402
54403 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
54404 memory instead of the stack for a mmap entry, because some
54405 BIOSes may ignore the maximum size and overflow.
54406
54407 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
54408
54409 * genmk.rb (PModule#rule): Compile automatically generated
54410 sources with module-specific CFLAGS as well as other sources.
54411
9962ed99 544122002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54413
54414 * configure.ac: Check ld.
54415 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
54416 respectively, before checking endianness and sizes.
54417
54418 * Makefile.in (LD): New variable.
f19dbdb7 54419
abdfc3c5 544202002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54421
54422 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
54423
6a161fa9 544242002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54425
54426 * Changelog: New file.
54427