]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/loader/arm/linux.c: Use common initrd functions.
[grub2.git] / ChangeLog
CommitLineData
bc8dd119
VS
12013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/loader/arm/linux.c: Use common initd functions.
4
57a691b7
VS
52013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Decrease number of strings to translate.
8
74fa9417
VS
92013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
12
636977b0
VS
132013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Mark strings for translation and add remaining ones to exclude list.
16
ee4450eb
VS
172013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * util/grub-file.c (main): Fix sizeof usage.
20
212013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
22
23 Silence spurious warning.
24
ee4450eb 252013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
26
27 Remove check_nt_hiberfil as it's been superseeded by file command.
28
a99c0a32
VS
292013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * docs/osdetect.cfg: Add isolinux config to detected OSes.
32
8f5add13
VS
332013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
34
35 Implement syslinux parser.
36
8ff35d0a
VS
372013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
40
ba144760
VS
412013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
42
43 Support cpuid --pae.
44
daaa89db
VS
452013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
46
47 Use AT keyboard on Yeeloong 3A.
48
25a7863d
VS
492013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
50
51 Add Yeeloong 3A reboot and halt.
52
184c61dd
VS
532013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
54
55 Add Radeon Yeeloong 3A support.
56
fd4650a5
VS
572013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
58
59 Add bonito 3A support.
60
3e88fbfa
VS
612013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
64
1123bed9
VS
652013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
68
ebda165f
VS
692013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/loader/macho.c: Fix compilation on non-i386.
72
fe7c20bf
VS
732013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
74
75 Add missing format_arg attribute to check that printf with translated
76 messages has proper arguments.
77
f4dab3d1
VS
782013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
79
80 Use grub_xasprintf to format translated error messages containing
81 64-bit quantity.
82
24d5934d
JM
832013-12-17 Jon McCune <jonmccune@google.com>
84
85 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
86
d6c2782a
VS
872013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
88
89 Unify message for unsupported relocation.
90
50d2e959
VS
912013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
92
93 Mark miscompile error for translation.
94
18e76955
VS
952013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
96
97 Use %I64 and not %ll when using OS printf if compiling for windows.
98
d218ec97
VS
992013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
100
101 Update Mac code to match new register_efi prototype.
102
b8765fa0
VS
1032013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
104
105 Implement better integration with Mac firmware.
106
1f032575
VS
1072013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/loader/multiboot_mbi2.c: Implement special value for
110 load_addr.
111
14829755
VS
1122013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Include serial module in default_payload.elf.
115
d45067a2
VS
1162013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Add explicit thumb interwork bx in asm files.
119
120 Shouldn't matter for armv >= 5 but let's be safe.
121
30861754
VS
1222013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
123
124 Implement Truecrypt ISO loader.
125
e14d409b
VS
1262013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/lib/arg.c: Ensure at least a single space between commands.
129
ec824e0f
VS
1302013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Implement grub_file tool and use it to implement generating of config
133 in separate root.
134
296f7606
VS
1352013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Change to v1 xen grants.
138
2c384f1e
VS
1392013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
142
143 GRUB relied on %ebx being preserved across hypercall which isn't true.
144
d16ff589
VS
1452013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
148
149 GRUB relied on %rdi being preserved across hypercall which isn't true.
150
71669c3b
VS
1512013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
152
153 Implement XEN VFB support.
154
60d1dd3d
VS
1552013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
156
157 Remove grub_bios_interrupt on coreboot.
158
159 It's not used currently and cannot be used safely currently.
160
a8201050
VS
1612013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Update exclude.pot and mark few strings for translation.
164
6cc89597
VS
1652013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
168
169 Reported by: Jon McCune
170
840a2c05
AB
1712013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
172
173 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
174 Add verbose information which firmware directories were tried.
175
35248820
AB
1762013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
177
178 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
179 function to optionally redirect all three standard descriptors.
180 Redefine grub_util_exec, grub_util_exec_redirect and
181 grub_util_exec_redirect_null to use it.
182 * include/grub/emu/exec.h: Define it.
183 * include/grub/osdep/exec_unix.h: Delete, it is unused.
184 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
185 Use grub_util_exec_redirect_all to redirect error to NULL.
186
2a123f4c
VS
1872013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/tests/sleep_test.c: Silence spurious warning.
190
316c8d9a
VS
1912013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
192
193 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
194 linker trying to "fixup" the code.
195
8fcce8d5
VS
1962013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/kern/x86_64/xen/startup.S: Align stack.
199
6f1f6a0c
VS
2002013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
201
202 Add support for converting PE+ to Elf64.
203
66a07ce2
VS
2042013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
207
cc6fb517
VS
2082013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
209
210 Remove practice of assigning random const pointers to device id.
211
212 This is not required as cache code already checks driver id as well.
213
f009f07c
VS
2142013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
217 with mingw.
218
9fdec226
VS
2192013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * include/grub/efi/api.h: Don't use call wrappers when compiled with
222 mingw or cygwin as API already matches.
223
d87cb3ae
VS
2242013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
227
3e38c31a
VS
2282013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
231 not on long.
232
f4171ebd
VS
2332013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
234
235 Handle X86_64_PC64 relocation.
236
237 Those are generated by some cygwin compilers.
238
252a289c
VS
2392013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
240
241 Determine the need for mingw-related stubs at compile time rather than
242 using not very significant $target_os.
243
23d2abc3
VS
2442013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
247 may not work with ELF.
248
4f979ccb
VS
2492013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
250
251 Use unix functions for temporary files and special files on cygwin.
252
37378f74
VS
2532013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
254
255 Define functions explicitly rather than using --defsym in tests
256 whenever possible. Respect locality in remaining cases.
257
6a09d83e
VS
2582013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
261
e477187b
AB
2622013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
263
264 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
265 unlikely errors when getting EFI variables and make exhaustive search
266 for all BootNNNN variables to find matching one.
267
80b865bd
IC
2682013-12-15 Ian Campbell <ijc@hellion.org.uk>
269
270 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
271
04b02857
VS
2722013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
273
274 New functional test for sleep function.
275
276 This test allows to check sleep without qemu. Keep qemu version as
277 well as functional test won't notice if all clocks are going too fast
278 or too slow.
279
39711101
VS
2802013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Add explicit sysv_abi on amd64 asm routines.
283
d99af4f0
VS
2842013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
287 num_table_entries.
288
71043684
VS
2892013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
292 functions.
293
111bf5db
VS
2942013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
297 appropriate.
298
24ca71c9
VS
2992013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
302
48ba5c0c
VS
3032013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
306 appropriate.
307
8ae67045
VS
3082013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
311
312 In case of quick removal of loopback and adding another one it may
313 get same ID, confusing the cache system.
314
ed559310
VS
3152013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
318 appropriate.
319
8fa26279
VS
3202013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
323 than converting to long.
324
6f5f3337
VS
3252013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
328
e7c418c5
VS
3292013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
332 than almost useless pointer.
333
7e47e27b
VS
3342013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Add gcc_struct to all packed structures when compiling with mingw.
337
338 Just "packed" doesn't always pack the way we expect.
339
ae8159b9
VS
3402013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
343
74e7ad66
VS
3442013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * util/grub-pe2elf.c: Fix handling of .bss.
347
814442ba
VS
3482013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
349
350 Implement windows flavour of EFI install routines.
351
5f5bb107
VS
3522013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
355
a24725cc
VS
3562013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
357
358 Change grub_install_register_efi interface to pass GRUB device.
359
360 This allows grub_install_register_efi to request partition info
361 directly.
362
38933cee
VS
3632013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
366
6d3cfe50
VS
3672013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Do not use TCHAR string functions as they are not available on cygwin.
370
4bad23a1
VS
3712013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
372
373 Workaround windows bug when querying EFI system partition parameters.
374
6a5fe132
VS
3752013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
378 by using bitfields.
379
bc8fcf4b
VS
3802013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
383
60b967be
VS
3842013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
385
386 Make i386-* other than i386-pc compileable under cygwin.
387
6dc33377
VS
3882013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
389
390 Fix definition of grub_efi_hard_drive_device_path. Take care that
391 existing code would work even if by some reason bogus definition is
392 used by EFI implementations.
393
f2c6ff15
VS
3942013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
397
6b8a1625
VS
3982013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
401 invocation.
402
954c723a
VS
4032013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * util/config.c: Remove trailing newline from distributor in simple
406 parsing.
407
607a39f9
VS
4082013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * include/grub/efi/api.h: Rename protocol and interface to avoid
411 conflict.
412
df6fedca
VS
4132013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
416 entries.
417
f684d7e1
VS
4182013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/osdep/exec.c: Use unix version on cygwin.
421
0df77d79
VS
4222013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
423
424 Implement multiboot2 EFI BS specification.
425
dafff9ce
VS
4262013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/normal/charset.c: Fix premature line wrap and crash.
429 Crash happened only in some cases like a string starting at the
430 half of the screen of same length.
431
6644d973
VS
4322013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
435 with EFI counterpart.
436
44bbfa33
VS
4372013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Propagate the EFI commits to x86-efi specific parts.
440
3e3dff24
VS
4412013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/commands/efi/lssal.c: Fix terminating condition.
444
316dda71
VS
4452013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
446
447 Introduce grub_efi_packed_guid and use it where alignment is not
448 guaranteed.
449
219401b8
VS
4502013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * include/grub/efi/api.h (grub_efi_device_path): Define length as
453 unaligned u16 rather than u8[2].
454
30d00537
VS
4552013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
458 for relocation range.
459
979742bc
VS
4602013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
463 non-function pcrel21b relocation. It happens with .text.unlikely
464 section.
465
16c8f785
LL
4662013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
467
468 * make MAX_USABLE_ADDRESS platform-specific
469 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
470
3f1423e7
LL
4712013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
472
473 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
474
dd73313c
JM
4752013-12-09 Jon McCune <jonmccune@google.com>
476
477 * Add --no-rs-codes flag to optionally disable reed-solomon codes
478 in grub-install and grub-bios-setup for x86 BIOS targets.
479
eaf01c25
VS
4802013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
481
482 Add missing compile and link options for sparc64-emu.
483
7a148da6
VS
4842013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
485
486 Implement sparc64 trampolines (needed for sparc64-emu).
487
21eee750
VS
4882013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
491 range of R_SPARC_HI22.
492 Implement R_SPARC_LM22.
493
7b54b626
VS
4942013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
497 Do not explicitly check for symbol table as it's already checked in
498 platform-independent layer.
499
9a945e2a
VS
5002013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
503 on ia64 as __clear_cache is a dummy on ia64.
504
4f4ea1b4
VS
5052013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
508 Do not explicitly check for symbol table as it's already checked in
509 platform-independent layer.
510
fe4ae213
CW
5112013-12-09 Colin Watson <cjwatson@ubuntu.com>
512
513 * util/grub-mkconfig.in: Add missing newline to output.
514
78b2b0a1
VS
5152013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
518 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
519
d14772c4
VS
5202013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
523 compilation with GCC <= 4.2.
524 * grub-core/kern/emu/argp_common.c: Likewise.
525
388f3cd0
VS
5262013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
529 right platform rather than leaking to sparc64-emu.
530
11e4167a
VS
5312013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
534 But ensure that the variables in question are indeed unsigned.
535
fa7eb63d
VS
5362013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
539
50b3a68d
VS
5402013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Remove grub_memalign on emu.
543
fbbfb6ab
VS
5442013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
547 truncate incomplete lines but instead flushes them.
548
a19293cb
VS
5492013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
552 and implement windows variant.
553
d5c14e1e
VS
5542013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
555
556 Fix mips-emu compilation.
557
b75db69a
VS
5582013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * configure.ac: Check for freetype library usability.
561
c311ced5
VS
5622013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
563
564 Make arm-emu work.
565
c8fd2ddf
VS
5662013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
569
c50e5f45
AB
5702013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
571
572 * docs/grub.texi (Environment): Update color_normal and color_highlight
573 defaults (light-gray instead of white).
574
bb05e313
AB
5752013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
576
577 * grub-core/normal/main.c (INIT): Set default color to light-gray
578 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
579 and apparently BIOS defaults.
580
f23bc651
VS
5812013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
582
583 Transform -C option to grub-mkstandalone to --core-compress available
584 in all grub-install flavours.
585
4c4ea9c7
VS
5862013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
587
588 Merge GRUBFS and GRUB_FS variables.
589
92e9352d
AB
5902013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
591
592 Revert commit 69ca97c820, it caused failures when using OS device name
593 in grub-install. Instead just strip off parenthesis in grub-install
594 if (hdX) was passed.
595
f585c905
AB
5962013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
597
598 * util/grub-install.c (push_partmap_module): Add helper to convert
599 partmap names to module names and use it in probe_mods(). Fixes
600 failure to find partmap modules in diskfilter case.
601
5ff24907
VS
6022013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * configure.ac: Make unifont mandatory on coreboot.
605
0277eab7
VS
6062013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * configure.ac: Skip unifont 6.3 pcf and bdf.
609
4861b6c8
VS
6102013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * Makefile.am: Remove partial font files if generation failed.
613
3100cdc7
AB
6142013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
615
616 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
617 strings.
618 * include/grub/util/misc.h: Define it ...
619 * util/grub-install.c (device_map_check_duplicates): ... and use it.
620
ad73cc33
AB
6212013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
622
623 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
624 ${grub_probe}.
625
41822625
VS
6262013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
627
628 Don't add -mlong-calls when compiling with clang.
629
896f483d
VS
6302013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * configure.ac: Fix a typo.
633
8c534b85
VS
6342013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Revamp relocation handling.
637
638 Move more code to common dl.c. Add missing veneers for arm and arm64.
639 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
640
a846dd4b
VS
6412013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
644
aa437b58
MG
6452013-12-05 Mike Gilbert <floppym@gentoo.org>
646
647 * INSTALL: Raise minimum python version to 2.6.
648 * gentpl.py: Use python3-style print function.
649
b0f311f4
VS
6502013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * util/grub-install.c: Mention Boot* variable.
653
59b38922
CW
6542013-12-05 Colin Watson <cjwatson@ubuntu.com>
655
656 * grub-core/osdep/linux/hostdisk.c
657 (grub_util_find_partition_start_os): Initialise start to avoid
658 spurious compiler warning.
659
0480665b
CW
6602013-12-05 Colin Watson <cjwatson@ubuntu.com>
661
662 On Linux, read partition start offsets from sysfs if possible, to
663 cope with block device drivers that don't implement HDIO_GETGEO.
664 Fixes Ubuntu bug #1237519.
665
666 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
667 function.
668 (sysfs_partition_start): Likewise.
669 (grub_util_find_partition_start_os): Try sysfs_partition_start
670 before HDIO_GETGEO.
671
bbeee1c4
LL
6722013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
673
674 * grub-core/kern/fdt.c: Update struct size when adding node.
675
e5ed2f69
VS
6762013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
677
678 Handle unaligned .bss on sparc64.
679
680 Current code improperly assumes that both __bss_start and _end are
681 aligned to 8-bytes. Eliminating this assumption and explicitly align
682 modules.
683
4a73746a
VS
6842013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
687 so it doesn't land in the middle of loaded image.
688
382b500e
VS
6892013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * configure.ac: Move all warning options that may be absent in
692 gcc >= 3.1 to optional.
693
694 Note: while this allows to compile with older GCC, official requirements
695 remain the same and no support for older GCC.
696
3a82f8bb
CW
6972013-12-04 Colin Watson <cjwatson@ubuntu.com>
698
699 Copying the themes directory in grub-shell isn't
700 parallel-test-friendly and breaks on the second test when the source
701 directory is read-only (as in "make distcheck"). Instead, add a
702 hidden --themes-directory option to grub-mkrescue et al, and use it
703 in grub-shell.
704
e3046431
VS
7052013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
708 as it's no longer necessarry.
709
bdb6090d
VS
7102013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * configure.ac: Allow compilation with older GCC for ARM.
713
b73b70eb
VS
7142013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
717 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
718 ppc.
719
8a3f0a24
VS
7202013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
723
6f07c4e4
VS
7242013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
725
726 Pass font config to config.h and not by TARGET_CFLAGS as adding
727 arguments doesn't work if TARGET_CFLAGS is specified on command
728 line.
729
60d5e9cb
VS
7302013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * configure.ac: Add -Wvla if compiler supports it.
733
cd15c394
VS
7342013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
737 Remove variable length arrays.
738 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
739
bb6e299c
VS
7402013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
743
85eb579a
VS
7442013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * include/grub/types.h: Declare all byteswaps as inline functions
747 except compile-time ones.
748
749 Solves variable shadowing in constructions like
750 cpu_to_le (le_to_cpu(x) + 1).
751
47f88cc9
VS
7522013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/kern/efi/efi.c: Remove variable length arrays.
755
40b5739f
VS
7562013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
759 minutes.
760
234d9346
VS
7612013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
764 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
765
0c0eab52
CW
7662013-12-03 Colin Watson <cjwatson@ubuntu.com>
767
768 * grub-core/Makefile.core.def (setjmp): Distribute
769 lib/arm64/setjmp.S.
770
44d48847 7712013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
772
773 Add a new timeout_style environment variable and a corresponding
774 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
775 controls hidden-timeout handling more simply than the previous
776 arrangements, and pressing any hotkeys associated with menu entries
777 during the hidden timeout will now boot the corresponding menu entry
778 immediately.
779
780 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
781 generates a warning, and if it shows the menu it will do so as if
782 the second timeout were not present. Other combinations are
783 translated into reasonable equivalents.
784
10955cda
CW
785 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
786
9e4e6ddf
VS
7872013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * util/config.c: Add missing pointer adjustment.
790 Reported by: qwertial
791
5037aa9a
AB
7922013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
793
794 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
795 directly, not via `cpu' link, to fix libgrub.pp generation.
796
8a952d20
VS
7972013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
798
799 New port arm64-efi.
800
be0d4555
AB
8012013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
802
803 * docs/grub.texi (sleep): Document exit codes.
804
d74b9a1d
VS
8052013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
806
807 Ensure that -mno-unaligned-access or some equivalent option is used.
808
35de6d4b
VS
8092013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
812 -march=armv3.
813
ce55ed03
VS
8142013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
817
8ddf84bf
CW
8182013-11-29 Colin Watson <cjwatson@ubuntu.com>
819
820 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
821 builds, since we don't have an EPS version of font_char_metrics.png.
822 Add leading dot to image extension per the Texinfo documentation.
823
fd0df6d0
CW
8242013-11-29 Colin Watson <cjwatson@ubuntu.com>
825
826 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
827 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
828 * util/grub-gen-widthspec.c: Likewise.
829 * util/grub-mkfont.c: Likewise.
830
69ca97c8
AB
8312013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
832
833 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
834 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
835 failed to install on (hdX).
836 * util/grub-setup.c (get_device_name): Remove, not needed after
837 above change.
838
eec893ae
VS
8392013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
842
621e167f
VS
8432013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * util/grub-fstest.c: Remove variable length arrays.
846
d54f647a
VS
8472013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/osdep/linux/ofpath.c: Check return value of read.
850
c8a0f1b2
VS
8512013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
854 computing crc32 rather than handling with md fundtions directly.
855
726409a5
VS
8562013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
859 checking fwstart.img rather than md fundtions directly.
860
422e6e88
VS
8612013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * util/grub-mkrescue.c (main): Check that fread succeeded.
864
af1faca3
VS
8652013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * conf/Makefile.common: Remove -mexplicit-relocs and
868 -DUSE_ASCII_FALLBACK on yeeloong.
869
870 -DUSE_ASCII_FALLBACK is already added by font snippets.
871 -mexplicit-relocs isn't needed is compiler/assemblera are
872 configured properly.
873 If they're not we shouldn't attempt to fix it by ourselves.
874 Binary compare between before and after shows no difference.
875
469021b4
VS
8762013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
879 sources in dependencies directly.
880
881 This was the only instance of "library" in core config. A bug was
882 reported that -fno-stack-protector wasn't passed to it. Instead of
883 figuring out why it failed just remove this construction used
884 needlessly.
885
83c256ba
VS
8862013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/osdep/unix/password.c (grub_password_get): Check that
889 fgets succeeded.
890
b67422d3
FL
8912013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
892
893 * docs/grub.texi (ls): Fix command description in case of a device name
894 passed as argument.
895
2d76b4d8
VS
8962013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
897
898 Eliminate variable length arrays in grub_vsnprintf_real.
899
900 A bit tricky because this function has to continue to work without
901 heap for short strings. Fixing prealloc to 32 arguments is reasonable
902 but make all stack references use 32-bit offset rather than 8-bit one.
903 So split va_args preparsing to separate function and put the prealloc
904 into the caller.
905
4f954122
VS
9062013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
907
908 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
909 Fixes build for windows.
910
b1f742c1
VS
9112013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * gentpl.py: Don't generate platform-dependent conditionals for
914 platform-independent targets.
915
16ef26fd
CW
9162013-11-27 Colin Watson <cjwatson@ubuntu.com>
917
918 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
919 references to mdadm from otherwise generic code.
920 (grub_util_exec_pipe): Likewise.
921 (grub_util_exec_pipe_stderr): Likewise.
922 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
923 This function calls vgs, not mdadm; adjust variable names
924 accordingly.
925
cf8c80ff 9262013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
927
928 Generate Makefile.*.am directly from gentpl.py, eliminating the use
929 of Autogen. The Autogen definitions files remain intact as they
930 offer a useful abstraction.
931
5c7206e4
CW
9322013-11-27 Colin Watson <cjwatson@ubuntu.com>
933
934 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
935 into no-ops, and use it in programs that copy files but do not need
936 to take special care to sync writes (grub-mknetdir, grub-rescue,
937 grub-mkstandalone).
938
fc3f2b72
CW
9392013-11-26 Colin Watson <cjwatson@ubuntu.com>
940
941 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
942 than hardcoding /usr/local/bin/xorriso.
943
1e4b3587
VS
9442013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
945
946 Add PCI command activation to all PCI drivers as required for coreboot
947 and maybe some other firmwares.
948
9208367d
VS
9492013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
952 and non-Apple variants of efiemu compile.
953
67b9b7af
AB
9542013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
955
956 * configure.ac: Add explicit check for linking format of
957 efiemu64; save it as EFIEMU64_LINK_FORMAT.
958 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
959 hardcoding linking format.
960
bee1b5ce
VS
9612013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
964 and not pkgdatadir.
965
07e3b047
CW
9662013-11-25 Colin Watson <cjwatson@ubuntu.com>
9672013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Add a --locale-directory option to grub-install and related tools.
970
971 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
972 --locale-directory option.
973 (enum grub_install_options): Add
974 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
975 * util/grub-install-common.c (grub_install_help_filter): Handle
976 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
977 (grub_install_parse): Likewise.
978 (get_localedir): New function to check for a user-provided option
979 before trying grub_util_get_localedir.
980 (copy_locales): Use get_localedir rather than
981 grub_util_get_localedir. Handle differing locale directory layouts.
982 (grub_install_copy_files): Likewise.
983
61e1b9a4
VS
9842013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
987 Don't rely on PATH_MAX.
988
c98dd165
VS
9892013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/genmoddep.awk: Use more portable && rather than and.
992
ff1c277e
VS
9932013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
996 an object after data. While it doesn't seem right solution, it
997 works well enough and OSX isn't main compilation platform.
998
c8f7614b
VS
9992013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1002 While it doesn't seem right solution, it works well enough and
1003 OSX isn't main compilation platform.
1004
246a434f
VS
10052013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * configure.ac: Add -static to LDFLAGS when using apple linker to
1008 prevent it from pulling in dynamic linker.
1009
5c066a81
VS
10102013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 Apple assembly doesn't handle symbol arithmetic well. So define an
1013 offset symbol in boot.S and use it.
1014
78f961ef
VS
10152013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 Apple assembly doesn't handle symbol arithmetic well. So instead
1018 of getting addres of kernel_sector + 4 define kernel_sector_high.
1019 It also makes code more readable.
1020
09bc0a57
VS
10212013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 With Apple assembly in .macro environvemnt you have to use $$ instead
1024 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1025 to $$x on Apple and to $x on everything else.
1026
b700a427
VS
10272013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1030 OBJCONV.
1031
4480b95d
VS
10322013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1035 and non-Apple. This instruction is shorter and faster,
1036 so no reason not to use it on both.
1037
e77c81f6
VS
10382013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1041 .text when compiling for Apple.
1042
971dbee5
VS
10432013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1046
6f2e82be
VS
10472013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
1050 %dx restore the probe worked on non-existant drive. Reorganize the
1051 code a little bit to free 2 bytes necessary for push/pop.
1052
9eec9699
VS
10532013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1056 Add missing cast to silence warning.
1057
5ae5c54c
KPA
10582013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
1059
1060 * util/grub-install.c (update_nvram): Support --no-nvram flag
1061 for EFI targets.
1062
7b04fe6c
VS
10632013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1066
e67566ce
VS
10672013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * util/garbage-gen.c: Add missing include of sys/time.h.
1070
f93ddcfd
VS
10712013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 Don't add -mflush-func if it's not supported by compiler.
1074
1bba40f5
VS
10752013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 Move common BIOS/coreboot memory map declarations to
1078 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1079
f65e14dc
AB
10802013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1081
1082 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1083
14a94bba
VS
10842013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * INSTALL: Document why older clang versions aren't appropriate.
1087
8109c5d4
VS
10882013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * INSTALL: Document about clang for mips.
1091
a92b5cb8
VS
10922013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
1095 clang.
1096
4a23e2fe
VS
10972013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Add *-xen to the list of grub-install-common platforms.
1100
a3ba7410
VS
11012013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
1104 3 last commits.
1105
e1c22419
VS
11062013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
1109
189090ce
VS
11102013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
1113 with -mcmodel=large.
1114
1a5b7b40
VS
11152013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
1118 range-checking for 32-bit quantities.
1119
9cf12b20
VS
11202013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * configure.ac: Compile with -fPIC when compiling with clang on
1123 mips.
1124
63a45330
VS
11252013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
1128 when compiling with clang.
1129
4a0aaad0
VS
11302013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 clang emits calls to abort () under some unknown conditions.
1133 Export abort () when compiling with clang.
1134
095bb1bf
VS
11352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * docs/grub-dev.texi: Document stack and heap sizes.
1138
3937bd96
VS
11392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * include/grub/i386/pc/memory.h: Decrease
1142 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
1143 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
1144 The binary doesn't change (checked). It's more to better reflect actual
1145 usage.
1146
ddb3efc9
VS
11472013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
1150 at compile time that enough of scratch size is available.
1151
4e42521d
VS
11522013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
1155 Previously we misaligned stack by 8 in startup.S and compensated
1156 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
1157 right behaviour is to align stack in startup.S and keep it aligned
1158 in callwrap.S. startup.S part was committed few commits before. This
1159 takes care of callwrap.S.
1160 Reported by: Gary Lin.
1161
054efe54
VS
11622013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
1165 .data and .bss. May happen if compiler and assembly use different
1166 alignment.
1167
a0e1befb
VS
11682013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1171 way.
1172
c36c73f6
VS
11732013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 Add support for a new magic symbol _gp_disp on mips to handle PIC
1176 binaries.
1177
6f4a19f5
VS
11782013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1181
0d8f04cd
VS
11822013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1185 when rest of GRUB is compiled for hisher stepping. Instead use
1186 .set mips3/.set mips1 around cache and sync opcodes.
1187
49060520
VS
11882013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1191 do essentially the same thing, do it in similar way.
1192
c6a823e2
CW
11932013-11-21 Colin Watson <cjwatson@ubuntu.com>
1194
1195 * util/grub-mkrescue.c (main): If a source directory is not
1196 specified, read platform-specific files from subdirectories of
1197 pkglibdir, not pkgdatadir.
1198
b7f9aedf
CW
11992013-11-21 Colin Watson <cjwatson@ubuntu.com>
1200
1201 * grub-core/normal/progress.c: Remove unused file.
1202
7dd0a303
VS
12032013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1206 array.
1207
ca120e31
VS
12082013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1211 than grub.cfg.
1212
48eb35cd
VS
12132013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * coreboot.cfg: Add missing file.
1216
7f20dbbc
VS
12172013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1220
55e706c9
AK
12212013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1222
1223 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1224 selectively skipping systems.
1225
4e7d433d
CW
12262013-11-19 Colin Watson <cjwatson@ubuntu.com>
1227
1228 * Makefile.util.def (grub-mkimage): Add
1229 grub-core/osdep/aros/config.c to extra_dist.
1230 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1231 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1232 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1233 grub-core/gnulib-no-gets.diff.
1234
7d44ff7d
VS
12352013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 Add automated filesystem checking based on scripts I've used now for
1238 quite some time locally. Most of the test require root so they are
1239 skipped when run without necessarry privelegies.
1240
a8c3e5e3
CW
12412013-11-19 Colin Watson <cjwatson@ubuntu.com>
1242
1243 * util/grub-install.c (main): Adjust info messages to match
1244 installed paths of grub-bios-setup and grub-sparc64-setup.
1245
4402db3e
CW
12462013-11-19 Colin Watson <cjwatson@ubuntu.com>
1247
1248 * util/grub-install-common.c (copy_locales): Consistently use
1249 grub_util_get_localedir () rather than LOCALEDIR.
1250 (grub_install_copy_files): Likewise.
1251
7960d3e1
JT
12522013-11-19 Josh Triplett <josh@joshtriplett.org>
1253
1254 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1255 16-byte boundary, as required by the x86-64 ABI, before calling
1256 grub_main. In some cases, GCC emits code that assumes this
1257 alignment, which crashes if not aligned. The EFI firmware is also
1258 entitled to assume that stack alignment without checking.
1259
d53f4900
JT
12602013-11-18 Josh Triplett <josh@joshtriplett.org>
1261
1262 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1263 4k page boundaries as expected by firmware rather than 1k
1264 boundaries.
1265 (grub_mmap_malign_and_register): Likewise.
1266
bb2b275b
VS
12672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1270 fragmentation 512M is enough.
1271
45bf8b3a
VS
12722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1275 pointer to 32K. This is the size of cache element which is the most
1276 common allocation >1K. This way the pointer is always around blocks
1277 of 32K and so we keep performance while decreasing fragmentation.
1278
39ff43c5
VS
12792013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1282 current memory when allocating large chunks. This significantly
1283 decreases memory fragmentation.
1284
60870be8
CW
12852013-11-18 Colin Watson <cjwatson@ubuntu.com>
1286
1287 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1288 but for symmetry).
1289 * tests/lzocompress_test.in: Skip if lzop is not installed.
1290 * tests/xzcompress_test.in: Skip if xz is not installed.
1291
a1f00cc5
CW
12922013-11-18 Colin Watson <cjwatson@ubuntu.com>
1293
1294 * util/grub-mkrescue.c (main): Fix typo.
1295
74e632fe
VS
12962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1299 clock frequency to 200 MHz,
1300
efb8de49
VS
13012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1304
b7526e78
VS
13052013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1308 Load config file from (cbfsdisk)/etc/grub.cfg.
1309
b40ce651
VS
13102013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * util/grub-install-common.c (grub_install_copy_files): Fix module
1313 destination directory.
1314
1e8e2e78
CW
13152013-11-18 Colin Watson <cjwatson@ubuntu.com>
1316
1317 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1318 files have not been built.
1319
3bf4088b
CW
13202013-11-18 Colin Watson <cjwatson@ubuntu.com>
1321
1322 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1323 Handle errors from mkstemp.
1324 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1325
35c2851c
VS
13262013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1329 on primary master on pseries.
1330
ea7c1a7d
VS
13312013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1334 already loaded. This saves memory needed for tests,
1335
96adefdb
VS
13362013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1339 work again.
1340
5e3cb8a7
VS
13412013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1344 work again.
1345
256ee7ac
VS
13462013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1349 master since with some combinations of qemu and firmware only primary
1350 IDE channel is available.
1351
f8b4c3b6
VS
13522013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1355 low-memory platforms where we don't have enough memory for them.
1356 * grub-core/tests/videotest_checksum.c: Likewise.
1357
4bf70320
VS
13582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1361 already loaded. This saves memory needed for tests,
1362
a284320e
VS
13632013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 Fix handling of install lists.
1366
2df8f43d
VS
13672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1370
6f1bc8bc
VS
13712013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1374 the devices before accessing them.
1375
04f39f6d
VS
13762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1379 as file argument.
1380
35d4761c
VS
13812013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1384
33d02a42
VS
13852013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1388 (grub_file_close): Free file->name.
1389
7bbb60cf
VS
13902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1393 (grub_load_public_key): Likewise.
1394 (grub_verify_signature_real): Likewise.
1395 (grub_cmd_verify_signature): Likewise.
1396
da93d675
VS
13972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1400 memory leak.
1401
59c943ec
VS
14022013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1405 (grub_longjmp): Restore r31.
1406 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1407
4336b5d8
VS
14082013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1411 modules to be in line with make_image_abs.
1412
44ce3a93
VS
14132013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1416
1417 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1418
7d400406
IC
14192013-11-17 Ian Campbell <ijc@hellion.org.uk>
1420
1421 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1422
77dae919
VS
14232013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1426 to leave some memory to firmware.
1427
0ab8e025
VS
14282013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1431 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1432 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1433 Load gfxmenu.
1434
b80c2d6d
VS
14352013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1438 now needs full arguments.
1439
6aa6077b
VS
14402013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * util/grub-mkrescue.c (main): Add trailing \n in
1443 .disk_label.contentDetails to be in line with previous shell script.
1444
66c00cb1
VS
14452013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1448
3a129dba
VS
14492013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * util/grub-install-common.c (grub_install_parse): Recognize
1452 --compress=none like shell script did.
1453
8df6eff6
VS
14542013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * include/grub/misc.h: Replace check for __sparc64__ with one for
1457 __sparc__ as __sparc64__ isn't actually defined.
1458
889ebe92
VS
14592013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1462 counterpart of fixing the naming of escc ports.
1463
d4d55b29
VS
14642013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * util/grub-install-common.c (platforms): Fix the order of entries and
1467 remove useless field val.
1468
55e2c84f
VS
14692013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * util/grub-install.c: Add new option --no-bootsector to skip
1472 installing of bootsector. Accept --grub-setup=/bin/true as
1473 backwards-compatible synonym.
1474
cd46aa6c
VS
14752013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1476
1477 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1478 order of qsort arguments (number of elements vs. element size).
1479
14802013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1483 the function of these files exceeds what can be sanely handled in shell
1484 in posix-comaptible way. Also writing it in C extends the functionality
1485 to non-UNIX-like OS and minimal environments.
1486
9ef81064
VS
14872013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1490 compiling to thumb2.
1491 * grub-core/kern/arm/cache_armv7.S: Likewise.
1492 * grub-core/lib/arm/setjmp.S: Likewise.
1493
11a77932
LL
14942013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1495
1496 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1497 in grub_uboot_syscall
1498
080603f0
VS
14992013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 Decrease stack usage in lexer.
1502
1503 We have only 92K of stack and using over 4K per frame is wasteful
1504
1505 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1506 as macros so that compiler would remove useless structure on stack.
1507 Better solution would be to fix flex not to put this structure on
1508 the stack but flex is external program.
1509
4f84ae0e
VS
15102013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 Decrease stack usage in signature verification.
1513
1514 We have only 92K of stack and using over 4K per frame is wasteful
1515
1516 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1517 rather than stack.
1518 (grub_verify_signature_real): Likewise.
1519
e6a6182d
VS
15202013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 Decrease stack usage in mdraid 0.9x.
1523
1524 We have only 92K of stack and using over 4K per frame is wasteful
1525
1526 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1527 rather than stack.
1528
1a454efe
VS
15292013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Decrease stack usage in BtrFS.
1532
1533 We have only 92K of stack and using over 4K per frame is wasteful
1534
1535 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1536 rather than stack.
1537
7b5d51d8
VS
15382013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 Decrease stack usage in JFS.
1541
1542 We have only 92K of stack and using over 4K per frame is wasteful
1543
1544 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1545 stack. Note: this function is recursive.
1546 (grub_jfs_read_inode): Read only part we care about.
1547
593865b9
LL
15482013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1549
1550 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1551 handling
7b5d51d8 1552
31c0cd43
AB
15532013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1554
1555 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1556
c2fdb331
AB
15572013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1558
1559 * docs/grub.texi (Environment): Document cmdpath.
1560
9e18dfe2
AB
15612013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1562
1563 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1564 Remove "unused" attribute from arguments, they are used.
1565
59ba9d14
CW
15662013-11-15 Colin Watson <cjwatson@debian.org>
1567
1568 * .gitignore: Only ignore grub-mk* at the top level.
1569
23012db9
CW
15702013-11-15 Colin Watson <cjwatson@ubuntu.com>
1571
1572 * util/grub-reboot.in (usage): Fix a typo.
1573
6fcec439
VS
15742013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 Replace libgcc version of ctz with our own.
1577
1578 On upcoming arm64 port libgcc ctz* are not usable in standalone
1579 environment. Since we need ctz* for this case and implementation is
1580 in C we may as well use it on all concerned platforms.
1581
a9f25a08
VS
15822013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * configure.ac: Probe for linking format rather than guessing it based
1585 on target_os.
1586
c7995256
VS
15872013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1590 "1" prior to handoff.
1591
1592 Reported by: M A Young.
1593
e1aa5b66
VS
15942013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1597 \0 to all files.
1598
1599 Reported by: M A Young.
1600
da5ed5cf
VS
16012013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1604 compilation on NetBSD.
1605
5757a93e
VS
16062013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * acinclude.m4: Don't add -P on initial nm test.
1609
1610 Note: even though this patch postdates Andrey's it bears 14 Nov as
1611 date due to timezone difference.
1612
a5986276
AB
16132013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1614
1615 * grub-core/Makefile.core.def (signature_test): Add missing
1616 tests/signatures.h.
1617
0de172a0
CW
16182013-11-14 Colin Watson <cjwatson@ubuntu.com>
1619
1620 * util/grub-install_header: Set localedir here, since this file is
1621 where it's used.
1622 * util/grub-install.in: Remove setting of localedir.
1623 * util/grub-mkrescue.in: Likewise.
1624
da45f43c
VS
16252013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1628
20aea949
VS
16292013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * configure.ac: Move nm checks to the end.
1632 Call grub_PROG_NM_WORKS.
1633 * acinclude.m4: New check grub_PROG_NM_WORKS.
1634 Use $TARGET_CFLAGS -c when compiling test binary.
1635
1326b9ae
CW
16362013-11-14 Colin Watson <cjwatson@ubuntu.com>
1637
1638 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1639 unused variables.
1640
1fe26ab4
MG
16412013-11-14 Matthew Garrett <mjg@redhat.com>
1642
1643 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1644 cmdpath to firmware directory.
1645
83e9c273
VS
16462013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1649 at the start of second iteration.
1650
ec525c18
VS
16512013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1654
93fcc7ad
VS
16552013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * Makefile.am (default_payload.elf): New target for easier coreboot
1658 build.
1659
57ffe934
VS
16602013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1663 clang (not necessarry with -no-integrated-as).
1664 * include/grub/symbol.h [__arm__]: Likewise.
1665
2312f06c
VS
16662013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * configure.ac: Use -no-integrated-as on arm with clang.
1669 * INSTALL: Mention ARM compilation with clang.
1670
2416415c
VS
16712013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1674 -mthumb-interwork.
1675
5da55172
CW
16762013-11-14 Colin Watson <cjwatson@ubuntu.com>
1677
1678 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1679 code for indirect block handling.
1680
1681 Saves 185 bytes on compressed image.
1682
da770328
PFS
16832013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1684
1685 Fix make clean.
1686
1687 * Makefile.am: Remove build-grub-* in make clean.
1688
f02e6b56
PFS
16892013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1690
1691 New files to gitignore.
1692
1693 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1694 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1695
035a26c1
LL
16962013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1697
1698 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1699
bc8a6137
LL
17002013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1701
1702 * .gitignore: fix rules for .dep* and add *.a post git migration
1703
6fe506b0
CW
17042013-11-13 Colin Watson <cjwatson@ubuntu.com>
1705
1706 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1707 to match INSTALL.
1708
81a2e438
CW
17092013-11-13 Colin Watson <cjwatson@ubuntu.com>
1710
1711 * grub-core/kern/misc.c: Don't redirect divisions in the
1712 GRUB_UTIL case.
1713 * include/grub/misc.h: Likewise.
1714
9b45c073
CW
17152013-11-13 Colin Watson <cjwatson@ubuntu.com>
1716
1717 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1718 systems that require checking the return value of write.
1719
11b2a9b7
CW
17202013-11-13 Colin Watson <cjwatson@ubuntu.com>
1721
1722 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1723 efibootmgr quiet when --debug is not used, rather than when it is.
1724
d743d22d
CW
17252013-11-13 Colin Watson <cjwatson@ubuntu.com>
1726
1727 * gentpl.py (define_macro_for_platform_dependencies): Remove
1728 first (and thus unused) of two definitions for this function.
1729 (platform_dependencies): Likewise.
1730
11da14b5
CW
17312013-11-13 Colin Watson <cjwatson@ubuntu.com>
1732
1733 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1734 functions, we only need to check this for the target, not the host.
1735 * configure.ac (grub_apple_cc): Likewise.
1736
2bdd0719
VS
17372013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1740 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1741 asm to stay in arm even if surrounding is thumb.
1742
5e77d9cf
VS
17432013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1746 helper functions are needed for thumb.
1747
7d511625
VS
17482013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1751 level / 3 division explicitly unsigned. Saves few bytes.
1752
81023dbd
VS
17532013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1756
b2e9294f
VS
17572013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1760 division.
1761
16a22c38
VS
17622013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1765 grub_uboot_boot_data to asm part.
1766
c9cd02c9
VS
17672013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1770 literal load.
1771 (grub_uboot_syscall): Save/restore r9 and align stack.
1772
81498615
VS
17732013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1776
ea57de18
VS
17772013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1780 occurencies with END.
1781
d0d1e3da
CW
17822013-11-13 Colin Watson <cjwatson@ubuntu.com>
1783
1784 * util/grub-editenv.c (help_filter, argp): Document how to delete
1785 the whole environment block.
1786 Reported by Dan Jacobson. Fixes Debian bug #726265.
1787
3809f016
CW
17882013-11-13 Colin Watson <cjwatson@ubuntu.com>
1789
1790 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1791 sectioning.
1792
46d8a203
JT
17932013-11-13 Josh Triplett <josh@joshtriplett.org>
1794
1795 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1796 increment/decrement.
1797
513eeb61
VS
17982013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1801 compiling with clang.
1802
bc379c1a
VS
18032013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1806 ".".
1807
18082013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1809
16057d6b
VS
1810 Redirect all divisions to grub_divmod64.
1811
f649a6a8
VS
18122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1815
ef28ee8b
VS
18162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 Add missing includes of loader.h.
1819
300f48c5
VS
18202013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * configure.ac: Allow disabling themes.
1823
2d357558
LS
18242013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1825
1826 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1827
0c62a5b2
VS
18282013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1831 until it becomes operational.
1832
b0720b49
VS
18332013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/Makefile.core.def (legacy_password_test): Disable
1836 on platforms where no legacycfg is compiled.
1837 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1838 load legacy_password_test.
1839
d5bab2c0
VS
18402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1843
3ea0ccb3
VS
18442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1847
08772054
VS
18482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1851 strict-aliasing warning.
1852 (fsync): Silence cast warning.
1853
1dcb2715
VS
18542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/commands/verify.c: Remove variable length arrays.
1857 Load gcry_dsa/gcry_rsa automatically.
1858
61c22fdf
VS
18592013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * grub-core/tests/signature_test.c: New test.
1862
431e57a7
VS
18632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1866 API.
1867
b521bb81
VS
18682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1871 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1872
7d06b24e
VS
18732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1876
3bbeade4
VS
18772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/fs/proc.c: Allow \0 in proc files.
1880
ba82db7a
VS
18812013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1884
801564c8
VS
18852013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1888
ac8cac1d
VS
18892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/fs/ext2.c: Remove variable length arrays.
1892
4b85f122
VS
18932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1896 length arrays.
1897
c35fcdc0
VS
18982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1901 * grub-core/disk/cryptodisk.c: Likewise.
1902 * grub-core/disk/geli.c: Likewise.
1903 * grub-core/disk/luks.c: Likewise.
1904
15decd26
VS
19052013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/tests/legacy_password_test.c: New test.
1908 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1909
9c6482b8
VS
19102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1913
41f26e0e
VS
19142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/tests/pbkdf2_test.c: New test.
1917
2def6616
VS
19182013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1921
9e34a34e
VS
19222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/io/lzopio.c: Remove variable length arrays.
1925
5ccaf904
VS
19262013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * include/grub/crypto.h: Add maximums on hash size and cipher block
1929 size.
1930
44a387e0
VS
19312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1934
a388e255
VS
19352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/tests/xnu_uuid_test.c: New test.
1938
a1ef7718
VS
19392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1942 covers it).
1943
65ddb300
VS
19442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/commands/hashsum.c: Remove variable length arrays.
1947
31747dd5
VS
19482013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1951 condition.
1952 * tests/grub_func_test.in: Increase memory allocation.
1953
6a74c4df
VS
19542013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1957 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1958 sys/mount.h.
1959
394c3e0a
VS
19602013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1963 (grub_util_get_fd_size_os): ...this.
1964 (grub_hostdisk_flush_initial_buffer): New empty function.
1965
60d31116
VS
19662013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1969 without --defined-only.
1970
8445b011
VS
19712013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1974 rip-relative addressing in prologue.
1975
8506a641
VS
19762013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1979 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1980
66acd9d6
VS
19812013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1984 Add missing semicolon.
1985
348d0535
VS
19862013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1989
0d2d30bb
VS
19902013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * configure.ac: Check for lzma.h for enabling liblzma and allow
1993 manual disabling.
1994
631187be
VS
19952013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Add missing includes of loader.h.
1998
e756ec82
FZ
19992013-11-11 Fam Zheng <famcool@gmail.com>
2000
2001 * util/grub.d/30_os-prober.in: Add minix entry.
2002
87d62d7d
VS
20032013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2006 right buffer for temporary load.
2007
5460cfeb
VS
20082013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2011
89977306
VS
20122013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2015 payload.
2016
3617c59b
VS
20172013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2020 not Types.h.
2021 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2022 environment.
2023 (LzmaDec_InitDicAndState): Make static.
2024
881c6a10
VS
20252013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2028
2024ade2
VS
20292013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2032
2033 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2034
674ad4f6
VS
20352013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * docs/grub-dev.texi: Replace bzr references with git ones.
2038
5b99970e
AB
20392013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2040
2041 * docs/grub.texi (Simple configuration): Remove reference to
2042 grub-reboot from saved default entry description - grub-default
2043 does not use it anymore.
2044
3c2304d5
VS
20452013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2048 compiled with.
2049
80cfd940
AB
20502013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2051
2052 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
2053
33690255
VS
20542013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 Fix grub_machine_fini bitrot.
2057
2058 Reported by: Glenn Washburn.
2059
c61471fc
VS
20602013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2063
54da019f
VS
20642013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2067 -DELF.
2068 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2069 instead of ELF*.
2070
20712013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
2072
2073 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2074 Add -march=core2 when testing compile of efiemu64.
2075
2076 Thanks Andrey Borzenkov for spotting this.
2077
9612ebc0
VS
20782013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2081 XEN PV environment and load kernels.
2082
1a46a3a4
VS
20832013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
2086 * grub-core/loader/multiboot_mbi2.c: Likewise.
2087
2df12551
VS
20882013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
2091 handling.
2092
3c980381
VS
20932013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
2096
2097 Tested by: Denis 'GNUtoo' Carikli.
2098
800f63d3
VS
20992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2102
9f8acdaa
VS
21032013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2104
5620eb53
VS
2105 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
2106 Use to get rounded angle rather than truncated.
2107
21082013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
2111 RTS/CTS flow control.
2112
2dc1eb6c
VS
21132013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
2116 divisions.
2117
b9563c94
VS
21182013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
2121 Use grub_fatal rather than divide by zero.
2122 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2123
d6d8e9a9
VS
21242013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
2127 truncate.
2128 (grub_fixed_fsf_divide): Likewise.
2129
d06de6c8
VS
21302013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
2133 division by-zero and senseless negative divisions.
2134
6af7d49b
VS
21352013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
2138 division by-zero and senseless negative divisions.
2139 (circprog_set_property): Don't accept negative num_ticks.
2140
bcfa6d72
VS
21412013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
2144 division by-zero and senseless negative divisions.
2145
dd7f792c
VS
21462013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * configure.ac: Use elf_*_fbsd on kfreebsd.
2149
d061fda7
VS
21502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/tests/div_test.c: New test.
2153
4db22500
VT
21542013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2155
2156 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
2157 * grub-core/gfxmenu/gui_canvas.c: Likewise.
2158 * grub-core/gfxmenu/view.c: Likewise.
2159 * grub-core/video/fb/video_fb.c: Introduce new functions:
2160 grub_video_set_area_status, grub_video_get_area_status,
2161 grub_video_set_region, grub_video_get_region.
2162 * grub-core/video/bochs.c: Likewise.
2163 * grub-core/video/capture.c: Likewise.
2164 * grub-core/video/video.c: Likewise.
2165 * grub-core/video/cirrus.c: Likewise.
2166 * grub-core/video/efi_gop.c: Likewise.
2167 * grub-core/video/efi_uga.c: Likewise.
2168 * grub-core/video/emu/sdl.c: Likewise.
2169 * grub-core/video/radeon_fuloong2e.c: Likewise.
2170 * grub-core/video/sis315pro.c: Likewise.
2171 * grub-core/video/sm712.c: Likewise.
2172 * grub-core/video/i386/pc/vbe.c: Likewise.
2173 * grub-core/video/i386/pc/vga.c: Likewise.
2174 * grub-core/video/ieee1275.c: Likewise.
2175 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2176 * include/grub/video.h: Likewise.
2177 * include/grub/video_fb.h: Likewise.
2178 * include/grub/fbfill.h: Updated render_target structure.
2179 grub_video_rect_t viewport, region, area
2180 int area_offset_x, area_offset_y, area_enabled
2181 * include/grub/gui.h: New helper function
2182 grub_video_bounds_inside_region.
2183 * docs/grub-dev.texi: Added information about new functions.
2184
c6b755df
VS
21852013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2188 for alignment.
2189
e2a68100
VS
21902013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2193 missing attribute.
2194 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2195
c4f11a2a
VS
21962013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2199 simple division on arm and ia64.
2200
e0a7bffa
VS
22012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2204 link with libgcc.
2205
38b864ea
VS
22062013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2209
12359faf
VS
22102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2213 prefix symbol, not @.
2214
9fdc64a9
VS
22152013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * INSTALL: Add note about older gcc and clang.
2218
665c575b
VS
22192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2222
47dcf7b1
VS
22232013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2226 NULL pointer dereference.
2227
d59849b2
VS
22282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2231 clang.
2232
7a3f4a18
VS
22332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2236 warnings.
2237
7f084087
VS
22382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2241 function.
2242 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2243 * grub-core/disk/geli.c (ascii2hex): Likewise.
2244
d5524ca8
VS
22452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * configure.ac: Run linker tests without -Werror.
2248 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2249 Change all occurences of -static-libgcc resp -lgcc to
2250 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2251
390cd7ca
VS
22522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2255
60375a88
VS
22562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Allow compiling with clang (not really supported though).
2259
2260 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2261 unconditionally.
2262 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2263 Add -mrtd -mregparm=3 on i386 when not using clang.
2264 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2265
dd07e0c4
VS
22662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2269 bindings.
2270 * grub-core/lib/reed_solomon.c: Likewise.
2271 * include/grub/i386/gdb.h: Likewise.
2272 * include/grub/i386/pc/int.h: Likewise.
2273 * include/grub/i386/pc/pxe.h: Likewise.
2274 * include/grub/ieee1275/ieee1275.h: Likewise.
2275
9d3ae8ec
VS
22762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 Import libgcrypt 1.5.3.
2279
c12936c5
VS
22802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * configure.ac: Don't add -Wcast-align on x86.
2283
cdc17f60
VS
22842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * configure.ac: Add -freg-struct-return on all platforms that
2287 support it.
2288
b35ec299
VS
22892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * acinclude.m4: Use -Werror on parameter tests.
2292 * configure.ac: Likewise.
2293
05f3a0d7
VS
22942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2297
c966a489
VS
22982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * configure.ac: Check that -malign-loops works rather than assuming that
2301 either -falign-loops or -malign-loops work.
2302
bb0c57ec
VS
23032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2306
24f4e57c
VS
23072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * configure.ac: Prevent cflags leaking to subsequent tests by always
2310 resetting cflags to target_cflags in target tests.
2311
ac319fbc
VS
23122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2315 function.
2316
4bfe934c
VS
23172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2320
40a5bfde
VS
23212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2324
a67c755e
VS
23252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/normal/cmdline.c (grub_cmdline_get):
2328 Remove nested functions.
2329
87a04a2d
VS
23302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * tests/test_sha512sum.in: Make it work on emu.
2333
c03995d2
VS
23342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2337 functions.
2338 (grub_bidi_line_logical_to_visual): Likewise.
2339
ec0ebb3f
VS
23402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 Remove vestiges of -Wunsafe-loop-optimisations.
2343
2344 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2345 -Wno-unsafe-loop-optimisations.
2346 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2347 pragma.
2348 * grub-core/io/gzio.c: Likewise.
2349 * grub-core/script/parser.y: Likewise.
2350 * grub-core/script/yylex.l: Likewise.
2351 * util/grub-mkfont.c: Likewise.
2352
6ab537e3
VS
23532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * util/grub-mkfont.c (process_cursive): Remove nested function.
2356
e6c368d4
VS
23572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2360 (grub_boot_time): Likewise.
2361
4f1cfd22
VS
23622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * include/grub/symbol.h (FUNCTION): Use @function rather than
2365 "function".
2366 (VARIABLE): Likewise.
2367
6d5a4cee
VS
23682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2371
f06c2172
VS
23722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2375 (parse_dhcp_vendor): Likewise.
2376
7cb24eb5
VS
23772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2380
f30c692c
VS
23812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2384 Define after defining type and not before.
2385
8b66bb5d
VS
23862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2389 type.
2390 (grub_gcm_decrypt): Likewise.
2391 (algo_decrypt): Likewise.
2392 (grub_zfs_decrypt_real): Transform error type.
2393
5d17fd0f
VS
23942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2397
ac35a0f7
VS
23982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2401 (grub_usbms_cbi_reset): Likewise.
2402 (grub_usbms_bo_reset): Likewise.
2403 (grub_usbms_reset): Likewise.
2404 (grub_usbms_attach): Likewise.
2405 (grub_usbms_transfer_cbi): Likewise.
2406
3ee08697
VS
24072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2410 "checksum = checksum;".
2411
70bb6c85
VS
24122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2415 entry_type.
2416
c7f34744
VS
24172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2420 BIOS disk check.
2421
3f63b4d8
VS
24222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2425 type.
2426 (grub_ehci_fini_hw): Likewise.
2427 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2428
dac6ce73
VS
24292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2432 return grub_usb_err_t for cosistency. All users updated.
2433
5701750c
VS
24342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2437 assigning to itself.
2438
9e236169
GLD
24392013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
24402013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2441
2442 Issue separate DNS queries for ipv4 and ipv6
2443
2444 Adding multiple questions on a single DNS query is not supportted by
2445 most DNS servers. This patch issues two separate DNS queries
2446 sequentially for ipv4 and then for ipv6.
2447
2448 Fixes: https://savannah.gnu.org/bugs/?39710
2449
2450 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2451 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2452 * (grub_net_dns_lookup): Now using separated dns packages.
2453 * (grub_cmd_nslookup): Add error condition.
2454 * (grub_cmd_list_dns): Print DNS option.
2455 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2456 --prefer-ipv4, and --prefer-ipv6.
2457 * include/grub/net.h (grub_dns_option_t): New enum.
2458 * (grub_net_network_level_address): option added.
2459
339eacce
VT
24602013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2461
2462 * grub-core/video/fb/video_fb.c: Merge two blit functions
2463 into one.
2464
810f991b
VS
24652013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/term/terminfo.c: Add sequences for home and end.
2468
386571a2
VS
24692013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2472 graphics console.
2473
3fe63754
VS
24742013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2477 add mode 0x12.
2478
76681e71
VS
24792013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2482 e-mail by Per Öberg.
2483
46522fb7
VS
24842013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2487 name.
2488
e7d09ac4
AB
24892013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2490
2491 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2492 emu platforms.
2493 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2494
67508925
VS
24952013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * docs/grub.texi: Document usage of menuentry id.
2498
0c62124e
VS
24992013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2502
9b5d4eed
PL
25032013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2504
2505 * grub-core/commands/i386/nthibr.c: New command.
2506
79054c1d
VS
25072013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2510
44d47bbe
VS
25112013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2514 coordinate.
2515
323de05b
VS
25162013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 Support GRUB_DISABLE_SUBMENU config.
2519
2520 Inspired by patch from Prarit Bhargava.
2521
5a01722e
VS
25222013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * docs/grub.texi: Mention RSA support.
2525
1106c3f0
VS
25262013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/commands/verify.c: Add RSA support.
2529
a1dcc2cb
VS
25302013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2533 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2534 device is known to be ATAPI.
2535
ee7fb780
MF
25362013-11-03 Mike Frysinger <vapier>
2537
2538 * configure.ac: Don't add target-prefix.
2539
5ade4a42
VS
25402013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2543 variables.
2544
6cd66043
VS
25452013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2548 if language is English.
2549
090d7c81
VS
25502013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2553
dd614590
VS
25542013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * configure.ac: Don't add -m32/-m64 on emu.
2557
a8686589 25582013-11-02 neil
2559
2560 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2561 broken linux headers.
2562
fb9f12a0
VS
25632013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2566
e25f8e1f
VS
25672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2570 Reed-Solomon recovery if more than half of redundancy info is 0.
2571
4685200f
VS
25722013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * util/grub-mount.c: Handle symlinks to directories.
2575
1397f0b5
VS
25762013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2579 find_file recursively for symlink.
2580
8b3e6eb6
VS
25812013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * tests/util/grub-shell.in: Copy themes.
2584
a0c9d5c6
VS
25852013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2588
5cf9459c
VS
25892013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * configure.ac: Use 0x8000 for address instead of 8000.
2592
e7b66a28
VS
25932013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2596 signature.
2597
203f53fb
VS
25982013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2601 variable.
2602
02663ee9
VS
26032013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2606
f169f65e
VS
26072013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2610 file_progress_read_hook.
2611 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2612
2855a0fc
VS
26132013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2616 and double.
2617
bf0f3a8c
VS
26182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2621
cb72aa18
VS
26222013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 Rewrite blocklist functions in order to get progress when
2625 reading large extents and decrease amount of blocklist hook calls.
2626
896f9135
VS
26272013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2630 of SI suffixes.
2631
89295a06
VS
26322013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 Support --base-clock for serial command to handle weird cards with
2635 non-standard base clock.
2636
eb03ede0
VS
26372013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2640 strncpy.
2641 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2642 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2643 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2644 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2645 + strcpy rather than strncpy.
2646
8fbe5c7d
VS
26472013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2650 (check_pool_label): Likewise. Fixes overflow.
2651 (nvlist_find_value): Fix comparison.
2652
e54b8f53
VS
26532013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2656 more appropriate functions.
2657
fa9b3dca
VS
26582013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2661 realloc.
2662
9a021c55
VS
26632013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2666
80e8b13a
VS
26672013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2670 on core size.
2671
b61599ac
VS
26722013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2675
a602dc54
VS
26762013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2679 (initialize_tables): reset tl and td to NULL after freeing.
2680
93c12075
VS
26812013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2684
1ca4b75e
VS
26852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2688 of supported tags.
2689
329550c4
VS
26902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2693
00bfa988
VS
26942013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2697 quirks.
2698
81afc5cc
VS
26992013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2702 a page in protected space.
2703
cb3c4a47
VS
27042013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2707 allocate space for zero-sized modules.
2708
954f7bf5
VS
27092013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2712
526d3d25
FL
27132013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2714
2715 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2716
74124c34
VS
27172013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2720 safeguards. Fixes a crash with i386/pc/console.c.
2721
5177391e
VS
27222013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2725 and grub_hostfs_init.
2726
64db14b0
VS
27272013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2730 windows method on other platforms without good stat as well.
2731
effe2036
VS
27322013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2735
82591fa6 27362013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 2737
82591fa6
VS
2738 Make / in btrfs refer to real root, not the default volume.
2739 Modify mkrelpath to work even if device is mounted with subvolid option.
2740
27412013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2742
2743 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
2744 extra_dist.
2745 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2746 extra_dist.
2747
30fd7198
VS
27482013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2751 fails.
2752
8d179dae
BC
27532013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2754
2755 * docs/autoiso.cfg: New file.
2756
3bc9c8cf
VS
27572013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2760 COND_GRUB_PE2ELF conditions.
2761
8b46b0ea
VS
27622013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2765 "vnd", "rd" and "fd" disks.
2766
442b86de
VS
27672013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Move grub_disk_write out of kernel into disk.mod.
2770
04dea7e6
VS
27712013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2774 handling.
2775
27762013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
2777
2778 * grub-core/kern/misc.c (grub_abort): Make static
2779
04dea7e6 27802013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
2781
2782 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2783 transform invalid unicode codepoints.
2784
04dea7e6 27852013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
2786
2787 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2788 \0 checking.
2789
03dcac7f
VS
27902013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2793
c81acb7f
VS
27942013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 Consolidate cpuid code.
2797
c1bee646
VS
27982013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 Move cpuid code to cpuid.h and TSC code to tsc.c.
2801
f37bf9c7
GS
28022013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2803
2804 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2805
4021132b
GS
28062013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2807
2808 * util/grub-mkconfig.in: Replace $0 with $self.
2809 * util/grub-reboot.in: Likewise.
2810 * util/grub-set-default.in: Likewise.
2811
3ace8d75
BC
28122013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2813
2814 * docs/osdetect.cfg: New file.
2815
1e6ad6a6
BC
28162013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2817
2818 * tests/util/grub-shell.in: Add new --debug option.
2819
188929eb
BC
28202013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2821
2822 * tests/test_unset.in: New test.
2823
7994a09a
BC
28242013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2825
2826 * tests/test_sha512sum.in: New test.
2827
2a8a7585
VS
28282013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2831 * include/grub/misc.h: Remove strncat.
2832 * grub-core/lib/posix_wrap/string.h: Likewise.
2833
cf8d6bbd
VS
28342013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2837 Try to handle more than 0xFFFF packets.
2838 Reported by: Bernhard Übelacker <bernhardu>.
2839 He also spotted few overflows in first version of this patch.
2840
6d1fc99a
VS
28412013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * tests/date_unit_test.c: New test.
2844
10bafa1c
VS
28452013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2848 of first three years after start of validity of unixtime.
2849
b1c6d037
VS
28502013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2853 division as the one making more sense.
2854 (update_screen): Likewise.
2855 (complete): Likewise.
2856
5f4028d4
VS
28572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2860
a2856736
VS
28612013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 Make char and string width grub_size_t rather than grub_ssize_t.
2864
0a7e52b2
VS
28652013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2868 unsigned.
2869 (grub_history_replace): Likewise.
2870
42829573
VS
28712013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2874 appropriate.
2875
3523b8d8
VS
28762013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2879 appropriate.
2880
d43c6489
VS
28812013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2884 Use unsigned divisions rather than signed variants.
2885
f690f8b0
VS
28862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2889 unsigned arithmetics.
2890 Add missing break.
2891
74ff2c05
VS
28922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2895
fb56391e
VS
28962013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2899 rather than signed one.
2900 (recovery): Likewise.
2901
40f29060
VS
29022013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2905
c64577a5
VS
29062013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2909 than signed.
2910
c16535a8
JM
29112013-10-25 Jon McCune <jonmccune@google.com>
2912
2913 * docs/grub.texi: Cleanup security documentation around signatures.
2914
6673d8e7
VS
29152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2918
a105d375
VS
29192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2922 than int.
2923
af81ed88
VS
29242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2927 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2928 functions when compiling for kernel.
2929
ea899a57
VS
29302013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2933 unsigned long long when using %llu.
2934
c6dc6fa1
VS
29352013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2938 terminal after updating progress.
2939
ad2dc003
VS
29402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2943 argument. We don't disable Gate A20 in this code.
2944
b46684ae
VS
29452013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2948 Conceptually based on change in branch "vbe-on-coreboot".
2949
f70d5c07
RM
29502013-10-24 Robert Millan <rmh@gnu.org>
2951
2952 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2953 numeric constants with their symbolic equivalent.
2954 Taken from branch "vbe-on-coreboot".
2955
bca274b4
VS
29562013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2959
238f0489
VS
29602013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2963 divmod64 for offset division.
2964
863c590b
PFS
29652013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2966
2967 Rename .bzrignore to .gitignore. Add "*.o" rule.
2968
2969 * .bzrignore: Renamed to...
2970 * .gitignore: ...this.
2971
84a0e969
PFS
29722013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2973
2974 Add new progress module that displays the load progress of files.
2975
2976 * grub-core/lib/progress.c: New file.
2977 * grub-core/Makefile.core.def (progress): New module.
2978 * grub-core/kern/file.c (grub_file_open): File name added.
2979 * (grub_file_read): Progress hook added.
2980 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2981 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2982 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2983 * include/grub/file.h (struct grub_file): Add progress module members.
2984 * include/grub/term.h (struct grub_term_output): Likewise.
2985 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2986 Terminal velocity added.
2987 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2988 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2989 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2990 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2991 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2992 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2993 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2994 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2995 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2996 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2997 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2998 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2999
0d711431
VS
30002013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 Verify signatures of signatures unless --skip-sig is specified.
3003
f8401f76
VS
30042013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3007 \0 checking.
3008
3009 Saves 70 bytes on compressed image.
3010
ac1feb61
VS
30112013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3014 check.
3015
3016 Saves 10 bytes on compressed image.
3017
00f72e89
VS
30182013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/kern/misc.c (grub_isprint): Move to ...
3021 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3022
3023 Saves 20 bytes on compressed image due to remving exporting.
3024
067e6ae7
VS
30252013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3028
3029 Saves 5 bytes on compressed image.
3030
64a6c791
VS
30312013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3034 function get_utf8.
3035
3036 Saves 379 bytes on compressed image.
3037
979d9f52
VS
30382013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3041
1437da54
VS
30422013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3045
3046 Saves 40 bytes on compressed image.
3047
d9ee2269
VS
30482013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
3051 mask rather than 64-bit type.
3052
3053 Saves 20 bytes on compressed image.
3054
63efa602
VS
30552013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
3058 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
3059
47601ffe
VS
3060 Saves 273 bytes on compressed image.
3061
2cc679ad
VS
30622013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3065 variable length arrays.
3066
3067 Saves 50 bytes on compressed image.
3068
2e4659b8
VS
30692013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3072
2a40badf
VS
30732013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/fs/ufs.c: Remove variable length arrays.
3076
1ba6b9b9
VS
30772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3080
f3e39341
VS
30812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/fs/zfs.c: Remove variable length arrays.
3084 Reduces zfs.mod by 160 bytes (208 compressed).
3085
71523935
VS
30862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
3089
28153eb8
VS
30902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * grub-core/net/arp.c: Remove variable length arrays.
3093 * grub-core/net/bootp.c: Likewise.
3094 * grub-core/net/dns.c: Likewise.
3095 * grub-core/net/icmp6.c: Likewise.
3096 * grub-core/net/net.c: Likewise.
3097
88ce4cd7
VS
30982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/fs/ntfs.c: Remove variable length arrays.
3101 Increases ntfs.mod by 64 bytes (but decreases by 3 when
3102 compressed).
3103
66123940
VS
31042013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/fs/hfs.c: Remove variable length arrays.
3107 Reduces hfs.mod by 8 bytes (52 compressed).
3108
0927e5bd
VS
31092013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 3112 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
3113 compressed).
3114
9c12ac97
VS
31152013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 3118 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
3119 compressed).
3120
97ec2d71
VS
31212013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 3124 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
3125 compressed).
3126
156e4ea0
VS
31272013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/fs/xfs.c: Remove variable length arrays.
3130 Reduces xfs.mod by 40 bytes (43 compressed).
3131
3b502c29
VS
31322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * grub-core/fs/fshelp.c: Remove variable length arrays.
3135 Reduces fshelp.mod by 116 bytes (23 compressed).
3136
c7037f1d
VS
31372013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/normal/completion.c: Remove variable length arrays.
3140 * grub-core/normal/menu_entry.c: Likewise.
3141
3142 Reduces normal.mod by 496 bytes.
3143
a07e6ad0
VS
31442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
3147 by 356 bytes (158 compressed).
3148
2359bf88
VS
31492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
3152 by 364 bytes (169 compressed).
3153
d28e1163
VS
31542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
3157 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
3158 * include/grub/types.h (grub_unaligned_uint64_t): New type.
3159
e89c2d48
VS
31602013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
3163 bitmasks to small structures of size chosen to fit in registers.
3164
7abdac8e
VS
31652013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * conf/Makefile.common: Use -freg-struct-return on i386. This
3168 decreases code size and improves performance.
3169
518864c0
VS
31702013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3173
bbd2b539
VS
31742013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3177 "(null)" string.
3178 Simplify expressions to save around 256 bytes in kernel.img.
3179 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3180
99519c15
VS
31812013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3184 Use GRUB_UTIL_FD_O_* rather than O_*.
3185
20285765
VS
31862013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Add haiku-specific functions.
3189
887c0bb6
VS
31902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3193
cd78a56f
VS
31942013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 Move stat () and device mode checking into OS-dependent files as
3197 long as performance doesn't suffer.
3198
a4012f07
VS
31992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 Split make_system_path_relative_to_its_root into separate file
3202 relpath.c from getroot.c as it's common between unix and haiku
3203 but otherwise haiku doesn't use any functions from unix getroot.c.
3204
31de274d
VS
32052013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3208 New function.
3209 (grub_util_is_special_file): Likewise.
3210
40346de6
VS
32112013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3214 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3215
d3923ab9
VS
32162013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3219 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3220
663f6eb1
VS
32212013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3224 (load_image): Likewise.
3225
44d1c20a
VS
32262013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * util/grub-render-label.c: Move backend part to ...
3229 * util/render-label.c: ... here.
3230
d0a116ee
VS
32312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3234 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3235
b47fcae6
VS
32362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3239
0f7c00c1
VS
32402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3243 CD-ROM in case when it's declared as having subpartitions.
3244
29013cba
VS
32452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 Don't add -lm on haiku.
3248
3249 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3250 and empty on haiku.
3251 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3252 -lm.
3253
e8559d24
VS
32542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * configure.ac: Use -melf_*_haiku as target on haiku.
3257
8104063c
VS
32582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * Makefile.util.def: Add util/setup.c to extra_dist.
3261
fc3182c7
VS
32622013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3265 unknown types through.
3266
f90a3cc0
VS
32672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3270 (grub_util_check_char_device): Likewise.
3271 * include/grub/emu/getroot.h: Likewise.
3272
1e3e7419
VS
32732013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3276 memset rather than inline static function.
3277
92c88fc8
VS
32782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3281 not doing embedded decompressor.
3282
3cd910a2
VS
32832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3286 shadowing.
3287 * grub-core/kern/disk.c: Likewise.
3288 * grub-core/kern/misc.c: Likewise.
3289 * include/grub/parser.h: Likewise.
3290 * include/grub/script_sh.h: Likewise.
3291 * include/grub/zfs/zfs.h: Likewise.
3292
7b3aca00
VS
32932013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3296
97dfe7e4
VS
32972013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3300 defined before trying to use it.
3301
bf919aa9
VS
33022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3305 warning.
3306
f4ccf29d
VS
33072013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3310 Use __unused__ rather than __used__ on gcc < 3.2.
3311
0d3a6f85
VS
33122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3315 gcc < 4.0.
3316 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3317
757e3eb7
VS
33182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3321
fb320faf
VS
33222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3325 * include/grub/emu/misc.h: Likewise.
3326
ea73acd2
VS
33272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3330 cur_color.
3331
71237a6f
VT
33322013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3333
3334 * grub-core/tests/checksums.h: Regenerated due to progress bar
3335 get_minimal_size changes.
3336
3d46c22f
BC
33372013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3338
3339 Added `tr' command support.
3340
3341 * grub-core/commands/tr.c: New file.
3342 * grub-core/Makefile.core.def: Build rules for new module.
3343
3344 * tests/grub_cmd_tr.in: New test.
3345 * Makefile.util.def: Build rules for new test.
3346
47e0a61f
VT
33472013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3348
3349 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3350
946fd073
VT
33512013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3352
3353 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3354 * docs/gurb.texi: Likewise.
3355
9c13c576
VT
33562013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3357
3358 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3359 Pixmap highlighted section with east and west slices was displayed
3360 incorrectly due to negative width of the central slice.
3361
ad543f12
VT
33622013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3363
3364 * docs/grub.texi: Graphical options information update.
3365 Removed outdated. Updated current. Inserted missed.
3366
6176a0cd
VS
33672013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * docs/grub.texi: Mention few new platform-specific commands.
3370
9688cae2
VS
33712013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3374 currently used so this doesn't really have any effect.
3375 Reported by: Douglas Ray <dougray>
3376
f7b69a3f
VS
33772013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3380 compilation but prevents gcc from displaying messages in non-Latin
3381 alphabets.
3382 * conf/Makefile.common: Likewise.
3383
ceca6ddf
HY
33842013-10-16 Hiroyuki YAMAMORI
3385
3386 Handle Japanese special keys.
3387 Reported by: Hiroyuki YAMAMORI.
3388 Codes supplied by: Hiroyuki YAMAMORI.
3389
ac48d334
VT
33902013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3391
3392 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3393
b2b71bff
VT
33942013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3395
3396 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3397 * docs/grub.texi: Likewise.
3398
669fc449
VS
33992013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3402 value in case of incomplete read.
3403 (grub_util_fd_write): Likewise.
3404
59381678
VS
34052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3408
bacfefbb
VS
34092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * util/grub-editenv.c (create_envblk_file): More from here ...
3412 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3413
f7c49570
VS
34142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3417 canonicalize file name before doing the rest.
3418
7b83ca44
VS
34192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3422 mingw32.
3423
df1e64c9
VS
34242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 Define grub_util_is_directory/regular/special_file and
3427 use OS-dependent versions rather than to rely on stat().
3428
ec16e026
VS
34292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * util/grub-mkimage.c: Move backend part to ...
3432 * util/mkimage.c: ... here.
3433
4b4eeb3c
VS
34342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 Allow compilation with mingw64 albeit with warnings due to lack of
3437 %llx/%llu.
3438
3439 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3440 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3441 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3442 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3443 on mingw64.
3444 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3445
f4e0adc0
VS
34462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 Remove leftover references to some of the system headers.
3449
e0127364
VS
34502013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3453 read.
3454
20d53541
VS
34552013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3458 of strerror.
3459
5a869940
VS
34602013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 Split out blocklist retrieving from setup.c to
3463 grub-core/osdep/blocklist.c and add windows implementation since
3464 generic version doesn't work on NTFS on Windows due to aggressive
3465 unflushable cache.
3466
c06c7520
VS
34672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3470 files.
3471
8f53bb3f
VS
34722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3475 Cut tailing newline. Remove arbitrary limitation. Always use
3476 grub_util_tchar_to_utf8.
3477
148f1007
VS
34782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3481 * tests/printf_unit_test.c (printf_test): Add %% tests.
3482 Reported by: Paulo Flabiano Smorigo.
3483
af3b06be
VS
34842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3487 implement fsync.
3488
27f9d02e
VS
34892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3492 use nvlist_lookup_string and don't use nvlist_print.
3493
f6a81f0a
VS
34942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3497 closedir to handle filename charset translation.
3498
d7750b32
VS
34992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * include/grub/emu/hostdisk.h: Move file operations to
3502 * include/grub/emu/hostfile.h: ... here.
3503
2859196e
VS
35042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3507 unicode path.
3508
c018c968
VS
35092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3512
7e45abce
VS
35132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3516 and remove export.h.
3517
23934da2
VS
35182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/kern/emu/error.c: Removed.
3521 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3522 explicitly as it's already in libgnu.a.
3523
c11ebcc8
VS
35242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3527 config-util.h include.
3528
70671037
VS
35292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 Split emunet into platform-dependent and GRUB-binding parts. Keep
3532 platform-dependent part in kernel for easy access to OS functions.
3533
25ac643a
VS
35342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3537 open/read/write.
3538
69ca5876
VS
35392013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * grub-core/osdep/windows/emuconsole.c: New file.
3542
d9d68ef0
AB
35432013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3544
3545 * conf/Makefile.extra-dist: Add osdep/*/init.c
3546
58e211cc
VS
35472013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3550
588744d0
VS
35512013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * util/grub-probe.c (probe): Separate different drives in hint-str
3554 by spaces and not newlines.
3555 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3556
44016e52
AB
35572013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3558
3559 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3560 Handle CD-ROMs.
3561
6de9ee86
VS
35622013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 Pass-through unknown E820 types. It required reorganisation of mmap
3565 module.
3566
f8f3f155
AB
35672013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3568
3569 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3570
b73249d2
VS
35712013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3574 fseeko.
3575
dac86b18 35762013-10-14 qwertial <qwertial>
3577
3578 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3579
17614b84
JM
35802013-10-14 Jon McCune <jonmccune@google.com>
3581
3582 * docs/grub.texi: Document new signatures possibility.
3583
6de292cb
VS
35842013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3587
84379b61
VS
35882013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3591 missing prototype.
3592 (grub_util_tchar_to_utf8): Likewise.
3593
21d85db1
VS
35942013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3597 * grub-core/kern/emu/main.c: Add missing include.
3598 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3599 Don't call grub_util_init_nls.
3600 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3601 Likewise.
3602
66a1b3ee
VS
36032013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3606 stat.
3607
e19bec17
VS
36082013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3611
ee8c1b29
VS
36122013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3615
bb338aaf
VS
36162013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Add a wrapper for fopen. On unix-like systems just pass-through. On
3619 windows use unicode version.
3620
ae5540d3
VS
36212013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 Move set_program_name and init_nls to host_init. On windows
3624 fix in this fuction console and argument charset as well.
3625
4cd3c4fe
AB
36262013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3627
3628 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3629 GRUB_ENABLE_CRYPTODISK.
3630
3631 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3632 GRUB_ENABLE_CRYPTODISK.
3633 * util/grub-mkconfig_lib.in: Likewise.
3634
78170f3e
CCZ
36352013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3636
3637 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3638
3414b6c0
MC
36392013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3640
3641 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3642 error when enabling debug.
3643
6d0740e8
IB
36442013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3645
3646 * configure.ac: Use -melf_*_obsd on openbsd.
3647
ff2d4dc4
VS
36482013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3651
eac6ae82
VS
36522013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * include/grub/misc.h: Use gnu_printf rather than printf as format
3655 template since our functions are independent of libc.
3656
ba9baabe
VS
36572013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * util/grub-setup.c (setup): Move copying of partition table as
3660 futher up as possible to avoid possible overwrite by floppy routines.
3661
36622013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3663
3664 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3665
145e2369
VT
36662013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3667
3668 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3669 * docs/grub.texi: Likewise.
3670
3530bc9d
VS
36712013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3674 it's mostly unused. Move vestiges to the callers.
3675
fb9f59c3
VS
36762013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3679 version of salt and hash. Use grub_snprintf rather than snprintf.
3680
9be1c255
VS
36812013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * docs/grub.texi: Fix problem with braces.
3684
ed8c0887
VS
36852013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * conf/Makefile.extra-dist: Fix extra-dist list.
3688 * grub-core/Makefile.core.def: Likewise.
3689
f72ab14e
VS
36902013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * docs/grub.texi: Document disk names used on Windows and AROS.
3693
2fe53a22
VS
36942013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3697 with AROS devs.
3698 * grub-core/osdep/aros/hostdisk.c: Likewise.
3699
71c1d67a
VS
37002013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 Avoid including hostfile.h when not necessarry as it pulls
3703 in OS-specific headers which may redefine generic names
3704 like "far".
3705
ad297ec7
VT
37062013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3707
3708 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3709 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3710 scrollbar_bottom_pad
3711 * docs/grub.texi: Likewise.
3712
6e9e5dc9
VT
37132013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3714
3715 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3716
761c718b
VS
37172013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3720
37149a2f
VS
37212013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3724 Removed.
3725 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3726 Made static.
3727
3837a151
VS
37282013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3731 leftover.
3732
caca1c70
VS
37332013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 Move OS-specific driver configuration to grub_util_fd_open. This
3736 moves OS-dependent parts from kern/emu/hostdisk.c to
3737 grub-core/osdep/*/hostdisk.c.
3738
f7676b70
VS
37392013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * util/grub-mkimage.c (generate_image): Use size_t instead of
3742 grub_size_t.
3743 * util/grub-mkimagexx.c (locate_sections): Likewise.
3744 (load_image): Likewise.
3745
22f98db2
VS
37462013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3749 size_t.
3750 (grub_util_write_image): Likewise.
3751
b102ce69
VS
37522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3755 get random when no RNG is available.
3756 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3757
acbbe5cb
VS
37582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * include/grub/util/lvm.h: Removed.
3761
2112fb3f
VS
37622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3765 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3766
79f78fbf
VS
37672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3770
c2e6f705
VS
37712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3774
aabe433a
VS
37752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/net/drivers/emu/emunet.c: Move to ..
3778 * grub-core/osdep/linux/emunet.c: ..here.
3779
9a2c903f
VS
37802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * util/ieee1275/ofpath.c: Move to ...
3783 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3784 * grub-core/osdep/basic/ofpath.c: ..here.
3785
4a445f58
VS
37862013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 Move password-querying (util-version) routines to grub-core/osdep.
3789
c1ca4244
VS
37902013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 Move sleep routines to grub-core/osdep.
3793
672fa55e
VS
37942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 Move OS-dependent files to grub-core/osdep and document it.
3797
a5b0365a
VS
37982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3801 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3802
29072e99
VS
38032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3806
f8772ea7
VS
38072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * util/misc.c: Remove leftover inclusion of malloc.h.
3810
a1a315e7
VS
38112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * include/grub/setjmp.h: Remove leftover GRUBOF.
3814
cef86fef
VS
38152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * util/raid.c: Fold into ...
3818 * util/getroot_linux.c: ... here. Make all functions static.
3819
c4cf25ee
VS
38202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3823 macros to GRUB ones.
3824
53a5f5c2
VT
38252013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3826
3827 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3828 occasional bug. If there are too many boot entries or too low
3829 scrollbar height then we need to use another formula to calculate
3830 the position and size of the scrollbar thumb.
3831
de300af2
VS
38322013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3833
c4cf25ee 3834 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3835
c5827364
VT
38362013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3837
3838 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3839 * docs/grub.texi: Likewise.
3840
dd2ed8b0
VT
38412013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3842
3843 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3844 viewport.
3845
7286c384
VT
38462013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3847
ffdfc1f3
VT
3848 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3849 minimal width calculations.
7286c384 3850
ea547e14
VS
38512013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * docs/grub.texi: Update note on colors on emu console.
3854
b726be76
VS
38552013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3858 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3859 it's FS and not GRUB limitation.
3860
a5f6ade6
VS
38612013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3864
3b0f3aa2
VS
38652013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3868
1db38304
ST
38692013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3870
3871 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3872 kernels by version order.
3873
fb295fc0
VS
38742013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3877
47345010
VS
38782013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 Add AROS hostdisk and getroot routines.
3881
bf25f879
VS
38822013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 Make cryptodisk and diskfilter probe data retrievable programmatically
3885 and not just printable.
3886
24ca4512
VS
38872013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 Split random retrieving code into separate files.
3890
c7c177f0
VS
38912013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3894 R_ARM_V4BX.
3895
d71b45ae
VS
38962013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3899 condition.
3900 * grub-core/tests/fake_input.c: Likewise.
3901 * grub-core/tests/cmdline_cat_test.c: Likewise.
3902
e44b9a83
VS
39032013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/video/capture.c: Do not do finalization when .fini
3906 is called as there is explicit capture_end.
3907
4fa60739
VS
39082013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3911 changing windows to avoid crash.
3912
17c8bc37
VS
39132013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3916
9d4d7977
VS
39172013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * po/exclude.pot: Add several strings to exclude.
3920
0caa407c
VS
39212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3924
9ae393da
VS
39252013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3928 ./util/grub-gen-asciih.c to exclude list.
3929
498d5033
VS
39302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3933 and don't mark error strings for translation.
3934
7d93298f
VS
39352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3938 properly in case of missing block size.
3939
b2cae20c
VS
39402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * grub-core/lib/arm/setjmp.S: Add missing license section.
3943
3896d6b4
VS
39442013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * po/swiss.sed: Add replacement for key names and for term computer.
3947
ebc1da55
VT
39482013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3949
3950 * grub-core/gfxmenu/theme_loader.c: New global options for the
3951 theme background image handling. desktop-image-scale-method,
3952 desktop-image-h-align, desktop-image-v-align.
3953 * grub-core/gfxmenu/view.c: Likewise.
3954 * include/gfxmenu_view.h: Likewise.
3955 * include/bitmap_scale.h: Proportional scale functions introduced.
3956 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3957 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3958 cases of unexpected input variables for scale functions.
3959 * docs/grub.texi: Updated documentation for new options.
3960
c5739143
VS
39612013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3964
be74aeb3
VT
39652013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3966
3967 * grub-core/tests/checksums.h: Corrected due to changes in
3968 bilinear interpolation function.
3969
d999ac72
VT
39702013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3971
3972 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3973 to eliminate artefacts in bilinear interpolation.
3974
2b131610
VS
39752013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/video/readers/tga.c: Support paletted tga.
3978
de6e5ff8
VS
39792013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3982 incorrect cbcr setting when in color mode.
3983
fa31ee9c
VS
39842013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/video/readers/png.c: Support paletted images and clean up
3987 greyscale support.
3988
e84f8188
VS
39892013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3992 usage of wrong table which resulted in mishandling of 4-byte
3993 sequences.
3994
39952013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3996
3997 * grub-core/term/terminfo.c: Add Home and End key sequences.
3998
d72bff09
VS
39992013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4002 Fix formula for computing total number of bytes.
4003
29648c5d
VS
40042013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4007 image processing, fix big-endian and support grayscale.
4008
4a876492
VS
40092013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4012 Correctly will with maximum transparency when using index color.
4013
3ccf16df
VS
40142013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/video/readers/png.c: Support grayscale
4017
40182013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
4019
4020 * grub-core/video/readers/jpeg.c: Support grayscale.
4021
3ccf16df 40222013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
4023
4024 * grub-core/commands/loadenv.c: Support skipping signature check
4025 and variable names filtering.
4026
30b7f58f
VS
40272013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4030 * grub-core/kern/emu/hostfs.c: Likewise.
4031 * util/getroot_unix.c: Likewise.
4032
bab7b1eb
VS
40332013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4036 Migrate all explicit defines to this new one.
4037
43b1c99d
VS
40382013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4041 grub_util_fd_strerror when using grub_util_fd_*.
4042 (grub_util_fd_open_device): Likewise.
4043 (grub_util_biosdisk_read): Likewise.
4044 (grub_util_biosdisk_write): Likewise.
4045 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4046 (grub_util_fd_strerror): Likewise.
4047 (grub_util_fd_sync): Likewise.
4048 (grub_util_fd_close): Likewise.
4049 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
4050 (grub_util_fd_close): Likewise.
4051 (grub_util_fd_strerror): Likewise.
4052 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
4053 function proto rather than macro.
4054 (grub_util_fd_sync): Likewise.
4055 (grub_util_fd_open): Likewise.
4056 (grub_util_fd_strerror): New proto.
4057
e8fd80bc
VS
40582013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4061 platforms on which it doesn't work.
4062
bf645fda
VS
40632013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4066 stat immediately to where it's used.
4067
5177ba14
VS
40682013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * util/getroot.c (grub_util_check_block_device): Move to ...
4071 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4072 * util/getroot.c (grub_util_check_char_device): Move to ...
4073 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4074
9db826e1
VS
40752013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4078 disk closing logic.
4079
49120085
AB
40802013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4081
4082 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4083
b3328b68
AB
40842013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4085
4086 * docs/grub.texi (File name syntax): Document ZFS filenames
4087 (/volume@snapshot/...).
4088
3fff48ab
VS
40892013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
4092 Always return full path. Fixes a problem with mkrelpath.
4093
39cfdaa9
PFS
40942013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4095
4096 * util/grub-install.in: Add GPT PReP support.
4097 * util/grub-probe.c (probe): Support GPT partition type.
4098 (main): Support -t gpt_parttype.
4099
7c680e1f 41002013-09-23 Aleš Nesrsta <starous@volny.cz>
4101
4102 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
4103
890bdabe
MM
41042013-09-23 Massimo Maggi <me@massimo-maggi.eu>
4105
4106 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
4107
9c262ff9
TH
41082013-09-23 Tim Hardeck <thardeck>
4109
4110 * util/grub.d/10_hurd.in: Filter out character for the class.
4111 * util/grub.d/10_kfreebsd.in: Likewise.
4112 * util/grub.d/10_linux.in: Likewise.
4113 * util/grub.d/20_linux_xen.in: Likewise.
4114
d755342a
MC
41152013-09-23 Melki Christian <Christian.melki@saabgroup.com>
4116
4117 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
4118 "changed".
4119
68b77707
JT
41202013-09-23 Josh Triplett <josh@joshtriplett.org>
4121
4122 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
4123 boot partition.
4124
efa68bfa
VS
41252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
4128 doesn't use posix_wrap. Keep literal -fno-builtin however.
4129
d9104204
VS
41302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
4133
c248781a 41342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41352013-09-23 neil
4136
5830df88 4137 * configure.ac: Do not enable -Wmissing-noreturn as its
4138 usefulness is limited and creates problems on some OS notably with
4139 code generated by bison.
4140
41412013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41422013-09-23 neil
4143
4144 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 4145 supported by all gcc and when it is, it's already enabled by -Wall.
4146
621bed69
VS
41472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
4150 desactivated use of EDID at all.
4151
71764dc8 41522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41532013-09-23 neil
4154
4155 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
4156 video if no text is available.
4157
affce7d4 41582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
41592013-09-23 neil
4160
4161 * configure.ac: Substitute TARGET_RANLIB.
4162
41632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41642013-09-23 neil
affce7d4
VS
4165
4166 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4167
4168 Based on patches from AROS.
4169
0e8daad0 41702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 41712013-09-23 neil
0e8daad0
VS
4172
4173 * grub-core/Makefile.am: Override STRIP and RANLIB.
4174 * configure.ac: compute TARGET_RANLIB.
4175 * INSTALL: Document TARGET_RANLIB
4176
4177 Based on patches from AROS.
4178
3f7d9c82
VS
41792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4182 that floppies are unpartitioned.
4183
bca8873a
VS
41842013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4187 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4188
41892013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4192 less nice but more portable.
4193 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4194
a47a78be
VS
41952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4198 for cheat_fd.
4199 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4200 functions.
4201 (grub_cryptodisk_cheat_insert): Likewise.
4202 (grub_cryptodisk_close): Likewise.
4203
e85a5d5c
VS
42042013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4207 Use windows path for DEFAULT_DIRECTORY.
4208
dad9fa6b
VS
42092013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4212 difference was likely just gcc version, not anything mingw-related.
4213
7e518ca8
VS
42142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 Use Winapi on both cygwin and mingw32 to share more code between both.
4217
d68d0157
AB
42182013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4219
4220 * util/grub-install.in: Add --grub-editenv option.
4221 * util/grub-install_header (grub_compress_file): Explicitly check for
4222 plain file to avoid cp error.
4223
775b284d
AB
42242013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4225
4226 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4227 names; fix LVM driver name (lvm, not lv).
4228 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4229 names.
4230
3ff4063d
VS
42312013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4234 files rather than one file with loads of #if's.
4235 * util/getroot.c: Likewise.
4236
287faafe
VS
42372013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4240
d1983764
VS
42412013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4244 GNU/Hurd to the list of checked PRNG.
4245
15ce95c4
VS
42462013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4249
207862dd 42502013-09-21 Ales Nesrsta <starous@volny.cz>
4251
7c680e1f 4252 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4253
63653cfd
VS
42542013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4257 * grub-core/disk/lvm.c: Add LVM UUIDs.
4258 * util/getroot.c: Use LVM UUIDs whenever possible.
4259
f5d3e7ef
AB
42602013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4261
4262 * docs/grub.texi (Networking commands): Add documentation for
4263 network related commands.
4264
53c6b7d6
VS
42652013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4268 to determine if device is handled by devmapper.
4269 (convert_system_partition_to_system_disk): Likewise.
4270 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4271 already done in grub_util_open_dm.
4272
e70d6736
LL
42732013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4274
4275 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4276 Clean up stack manipulation (sync_caches_armv*)
4277
90379808
VS
42782013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * util/lvm.c: Remove since unused. Remove remaining references.
4281
386701a8
VS
42822013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 Handle the case of partitioned LVM properly.
4285
4286 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4287 Stop on meeting LVM, mpath or DMRAID.
4288 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4289 (read_device_map): Likewise.
4290 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4291 device is full disk rather than erroring out on LVM and similar cases.
4292
53070787
VS
42932013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4296
1bc783bd
VS
42972013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4300 4K before the end.
4301 Reported by: Leif Lindholm
4302
436ad5c3
PW
43032013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
43042013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4307 codes.
4308
607319c9
CW
43092013-09-18 Colin Watson <cjwatson@ubuntu.com>
4310
4311 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4312 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4313
d404d154
DR
43142013-09-18 Douglas Ray <dougray@cpan.org>
4315
4316 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4317 as secure.
4318
28851ef6
AN
43192013-09-18 Aleš Nesrsta <starous@volny.cz>
4320
4321 * docs/grub.texi: Fix broken link.
4322
897c3bc6
MC
43232013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4324
4325 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4326 to break endless loop.
4327
f1630459
VS
43282013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * util/grub-fstest.c: Fix several printf formats.
4331 * util/grub-mkimage.c: Likewise.
4332 * util/grub-mkimagexx.c: Likewise.
4333 * util/grub-script-check.c: Likewise.
4334
64463dfd
VS
43352013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4338 error.
4339
48972495
VS
43402013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4343
5dd5e64b
VS
43442013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4347 removed in current versions cygwin_conv_*.
4348
1c1f31e5
VS
43492013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * configure.ac: Disable efiemu runtime on cygwin.
4352
c546a259
VS
43532013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4356 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4357
81690478
VS
43582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4361 error message.
4362
6b87c10a
VS
43632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4366 windows variant.
4367 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4368 data.
4369
8f0baaac
VS
43702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4373 when on x86 and not cygwin.
4374 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4375 -Wl,-melf_x86_64.
4376
b224c266
VS
43772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * configure.ac: Set CPP to build one when checkoing for freetype for
4380 build.
4381
506b336b
VS
43822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4385 [!GRUB_BUILD]: Remove has_argument.
4386
8c8c87b7
VS
43872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4390 Replace with a dummy.
4391
7dc5ca13
VS
43922013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * configure.ac: Don't change host_os from mingw to cygwin.
4395
c3302aa5
VS
43962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * configure.ac: Change target_os from windows to cygwin.
4399
7b780018
VS
44002013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4403
4404 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4405 (build-grub-gen-asciih): Likewise.
4406 (build-grub-gen-widthspec): Likewise.
4407 * Makefile.util.def (grub-pe2elf): Remove.
4408 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4409 * configure.ac: Separate tests for build.
4410 Move ./build-grub-pe2elf to grub-core.
4411 Fix typo.
4412 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4413 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4414 defined.
4415 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4416 constants.
4417 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4418 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4419 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4420
984cfd8a
VS
44212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4424 mingw32 as well based on grub_util_get_disk_size.
4425 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4426 grub_util_get_fd_size.
4427 (sync): Removed.
4428 (fsync): Moved to ...
4429 * grub-core/kern/emu/misc.c (fsync): ... here.
4430
f82d79c9
VS
44312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * include/grub/mm.h (grub_extend_alloc): Remove.
4434 * grub-core/loader/i386/pc/plan9.c: Use own version of
4435 grub_extend_alloc with appropriate types.
4436
fd7dd66d
VS
44372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4440
43ffba7c
VS
44412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4444
3c7eac44
VS
44452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 Fix dependencies on cygwin.
4448
4449 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4450 dependencies when used and defined.
4451 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4452
bdb5ba47
VS
44532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4456 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4457
ed7fbf43
VS
44582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4461 implementation available to cause compile-time rather than runtime
4462 error.
4463
fc46e9fc
VS
44642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * util/grub-fstest.c: Don't check for symlinks on windows.
4467
7f68269a
VS
44682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * INSTALL: Mention unavailability of man pages when cross-compiling.
4471
8ed358e0
VS
44722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4475 and gcry_log_bug.
4476 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4477
fc97214f
VS
44782013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * INSTALL: Document cross-compilation.
4481 * acinclude.m4: Determine whether nm support -P and --defined-only.
4482 * configure.ac: Add TARGET_ to all variables pertaining to target
4483 that don't have it yet.
4484 * gentpl.py: Likewise.
4485 * grub-core/Makefile.am: Likewise.
4486 * grub-core/genmod.sh.in: Likewise.
4487 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4488 as well.
4489
ca1fb563
IB
44902013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4491
4492 * configure.ac: Remove -Wempty-body. It's not essential and needs
4493 recent gcc.
4494
0031b229
IB
44952013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4496
4497 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4498 * util/getroot.c: Likewise.
4499
54ea2f44
VS
45002013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/disk/ahci.c: Add needed explicit cast.
4503 * grub-core/lib/backtrace.c: Likewise.
4504 * grub-core/net/ip.c: Likewise.
4505 * grub-core/net/tcp.c: Likewise.
4506 * grub-core/net/udp.c: Likewise.
4507
3c601f8c
VS
45082013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4511
1d679dda
VS
45122013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * util/import_gcry.py: Add final newline in visibility.h.
4515
00c28dd9
VS
45162013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * conf/Makefile.common: Fix typo.
4519
32af299a
VS
45202013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4523
e733cf52
VS
45242013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * Makefile.am (widthspec.h): Fix typo.
4527 * util/grub-gen-widthspec.c: Likewise.
4528
c6b066f2
VS
45292013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 Move ascii.h and widthspec.h generation to a separate build-time-only
4532 tool.
4533
ad1fe3f9 45342013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4535
4536 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4537 Always fill bootdisk info and improve check for NetBSD disklabel.
4538
92a52dd4
VS
45392013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * conf/Makefile.extra-dist: Add util/bin2h.c.
4542 Reported by: floppym.
4543
b2e9d276
VS
45442013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4547
7b966834
VS
45482013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * configure.ac: Disable unifont and starfield if no freetype was found.
4551
d5c1eef1
VS
45522013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4555 on NetBSD and OpenBSD.
4556
66345b50 45572013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4558
4559 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4560
66345b50 45612013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4562
4563 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4564 reduced. Inheritant options are processed during the theme loading.
4565
66345b50 45662013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4567
4568 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4569
369508b3
AS
45702013-08-14 Avik Sil <aviksil@in.ibm.com>
4571
4572 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4573
45742013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4575
4576 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4577 using qemu.
4578
6f27a3f6
PFS
45792013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4580
4581 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4582 remove-potcdate.sed.
4583
c6ed362a
AB
45842013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4585
4586 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4587 unused attribute from pull argument.
4588
5e7d9464
AB
45892013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4590
4591 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4592 memory leak.
4593
dea55e2a
AB
45942013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4595
4596 * util/getroot.c (pull_lvm_by_command): add --separator option
4597 to vgs call to disable padding of output to 10 characters.
4598
f0b94ded
VS
45992013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4602 here ...
4603 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4604 here.
4605
b828fb5d
VS
46062013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4609 length.
4610
7c9d0c39
VS
46112013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4614 full Canadian cross. Tested with build=x86_64, host=arm,
4615 target=ppc-ieee1275.
4616
816719c8
VS
46172013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * configure.ac: Error if no $BUILD_CC could be found.
4620 Reported by: DevHC.
4621
2af2353b
VS
46222013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4625 i386-multiboot.
4626
797abd0a
VS
46272013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4630 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4631
36e87d25
CW
46322013-08-13 Colin Watson <cjwatson@ubuntu.com>
4633
4634 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4635 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4636 falling back to the partition device, otherwise a later call to this
4637 function may fail spuriously.
4638 Reported by Axel Beckert. Fixes Debian bug #708614.
4639
273349fe
GS
46402013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4641
4642 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4643
418f86c6
GS
46442013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4645
4646 Prevent shadowing of stdlib's devname(3) on BSD.
4647
4648 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4649 and devlast to diskname and disklast, respectively.
4650
c137aea0
CW
46512013-08-11 Colin Watson <cjwatson@ubuntu.com>
4652
4653 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4654
272dc8df 46552013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4656
4657 * docs/grub.texi: Introduce terminal window position options:
4658 terminal-left: terminal window's left position
4659 terminal-top: terminal window's top position
4660 terminal-width: terminal window's width
4661 terminal-height: terminal window's height
4662 terminal-border: terminal window's border width
4663 * grub-core/gfxmenu/theme-loader.c: Likewise.
4664 * include/grub/gfxmenu_view.h: Likewise.
4665 * po/exlude.pot: Likewise.
4666 * grub-core/gfxmenu/view.c: Likewise.
4667 Also updated minimal window size.
4668 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4669 * grub-core/tests/checksums.h: Update (terminal window height
4670 is adjusted now for low resolution screen)
b4743461 4671
748a4533
VS
46722013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4675 position).
4676
fca5f944
VS
46772013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * po/exclude.pot: Add few recent exceptions.
4680
4f47d809
VS
46812013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * tests/grub_func_test.in: Add unicode.pf2.
4684
a62ae90c
VS
46852013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4688 standard rather than noral color, in line with other terminals.
4689
4ed41392
VS
46902013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4693 analysis.
4694
3719fbc5
VS
46952013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4698
459b1d91
VS
46992013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4702 inappropriate printf.
4703
f4e1ab9d
AB
47042013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4705
4706 * .bzrignore: Remove grub-core/lib/dtc-grub,
4707 grub-core/Makefile.libfdt.def
4708 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4709
fa471bfa
VS
47102013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * include/grub/video.h (grub_video_register): Keep double-linked as
4713 well as single-linked invariants.
4714 Reported by: qwertial.
4715
d65be02b
VS
47162013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/commands/nativedisk.c (get_uuid): Handle
4719 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4720
ba8bc620
VT
47212013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4722
4723 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4724 maximum of NW, N, NE heights instead of N's height and maximum of
4725 NW, W, SW widths instead of W's width. (So the box will be always
4726 correctly drawn)
4727
4f0ad029
GS
47282013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4729
4730 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4731 Fix misuse of variable count.
4732
43d53b72
LL
47332013-07-18 Leif Lindholm <leif.lindholm@arm.com>
47342013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
47352013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 4736
43d53b72
LL
4737 New ports to arm-uboot and arm-efi.
4738 Mostly by Leif Lindholm with some additions from
4739 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 4740
88f8d146
VS
47412013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4744 and not before.
4745 Reported by: Leon Drugi.
4746
3f42504c
VS
47472013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4750 Reported by: Paulo Flabiano Smorigo.
4751
d110499b
VT
47522013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4753
4754 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4755
a8674ad3
VT
47562013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4757
4758 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4759
286fe4b3
VS
47602013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4763
1bd57aa3
VS
47642013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4767
7a87d69f
AB
47682013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4769
4770 * grub-core/net/bootp.c: Export net_* variables.
4771 * grub-core/net/net.c: Likewise.
4772
b2182299
VS
47732013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4776
795b3dc0
VS
47772013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4780
68714c43
VS
47812013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4784
af211bab
VS
47852013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4788
0036f02d
MM
47892013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4790
4791 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4792 <= 0.
4793
6d0ddff3
MM
47942013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4795
4796 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4797 functions.
4798
038016f4
MM
47992013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4800
4801 * grub-core/fs/zfs/zfs_lz4.c: New file.
4802 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4803
776bdce2
MM
48042013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4805
4806 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4807
c71dbd40
MM
48082013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4809
4810 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4811 (check_pool_label): Likewise.
4812 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4813
48142013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4815
4816 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4817
8e67b50f
AB
48182013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4819
4820 * docs/grub.texi (Commands): Document postition parameters
4821 for menuentry command.
4822
f5ae3717
AB
48232013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4824
4825 * util/grub-mknetdir.in: Remove stray line from help output.
4826
9c28da2a
VS
48272013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 Remove early sm712 init as there is no reason for it (the "watchdog"
4830 effect was due to wrong GPIO map).
4831
139072b8
VS
48322013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * grub-core/commands/pcidump.c: Remove static variables.
4835
c6a61bda
VS
48362013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4839
51369614
VS
48402013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * configure.ac: Move delimiter after the infos.
4843
efa8640a
VS
48442013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4847
6f80a7b2
VS
48482013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4851 not filling whole 8x16 space.
4852
a2371e19
VS
48532013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4856
64fce2d8
VS
48572013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * configure.ac: Indicate which liblzma is used if any.
4860
eb272d84
PW
48612013-06-21 Paul Wise <pabs3@bonedaddy.net>
48622013-06-21 Craig Sanders <savannah@taz.net.au>
4863
4864 * util/grub-reboot.in: Document submenu usage.
4865
a9e5abee
CW
48662013-06-25 Colin Watson <cjwatson@ubuntu.com>
4867
4868 * .bzrignore: Update with a number of new test-related files.
4869
e639c204
CW
48702013-06-25 Colin Watson <cjwatson@ubuntu.com>
4871
4872 * util/grub-script-check.c: Fail on scripts containing no
4873 commands, to guard against corrupted grub-mkconfig setups that
4874 produce no useful output.
4875 * tests/grub_script_no_commands.in: New test.
4876 * Makefile.util.def (grub_script_no_commands): Add.
4877 Reported by Hans Putter. Fixes Debian bug #713886.
4878
a4c89b17
AB
48792013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4880
4881 * grub-core/disk/diskfilter.c: Forgot to remove comment
4882 from previous commit.
4883
5b06b53c
AB
48842013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4885
4886 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4887 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4888
702da5c9
AB
48892013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4890
4891 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4892
aa62a5b7
AB
48932013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4894
4895 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4896 rescan diskfilter devices until nothing new is found.
4897
4aa237c8
VS
48982013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4901
93d8479b
VS
49022013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 Don't try to detect cbfs on *-emu.
4905
837222cc
VS
49062013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4909
99c971af
VS
49102013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 Add support for processed coreboot payload chainloading.
4913
e6930a45
VS
49142013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 Enable coreboot information commands even when not loaded as
4917 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4918
5027af38
VS
49192013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 Support for cbfs. Also factor out the part which is common
4922 for all archives to a separate module. This splits tar from cpio
4923 as they are very different but keeps cpio, cpio_be, odc and newc
4924 together since they're very similar.
4925
a5b55c4b
DM
49262013-06-15 David Michael <fedora.dm0@gmail.com>
4927
4928 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4929 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4930
0301a8b3
VS
49312013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * tests/grub_script_eval.in: Really add the eval test.
4934
3d84cb17
VS
49352013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Move flavour-specific parts out of common cpio.c file and
4938 rename remaining to cpio_common.c
4939
593e430c
AB
49402013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4941
4942 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4943 off new function grub_script_execute_new_scope. Change callers to use
4944 either of them as appropriate.
4945 * grub-core/commands/eval.c: New command eval.
4946 * docs/grub.texi (Commands): Document it.
4947
63c29849
AB
49482013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4949
4950 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4951 to fetch values when listing.
4952
cc284112
AB
49532013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4954
4955 Fix make dist on non-pc.
4956
49572013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4958
4959 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4960 without a device name.
4961
69544d1e
VS
49622013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 Remove enable_executable_check as it's not needed anymore.
4965 Reported by: dougray.
4966
96dbe648
VS
49672013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4970 ambigouos RAID before discovering RAIDs on top of it.
4971 Reported by: bodom.
4972
ccfc0bdb
VS
49732013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 Fix typo (failback vs fallback).
4976
f2587088
AB
49772013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4978
4979 * util/grub.d/30_os-prober.in: Add support for probing EFI
4980 System Partition (as of os-prober 1.58).
4981
cec5cf0c
VS
49822013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 * configure.ac: Add yet another path to unifont. For parabola.
4985
e40b4596
JT
49862013-05-30 Josh Triplett <josh@joshtriplett.org>
4987
4988 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4989 handling to copy the killed characters to the kill buffer as
4990 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4991 stored as char. Eliminates UCS4 truncation and corruption
4992 observed when killing characters with Ctrl-u and yanking them
4993 back with Ctrl-y.
4994
fc4c4fdd
VS
49952013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 Detach optional parts of gfxterm and integrate in with coreboot init.
4998
6570b205
VS
49992013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 Move blit and fill dispatcher to appropriate files to decrease export
5002 and relocation overhead.
5003
b8323067
VS
50042013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5007 functions.
5008
3cc1878f
VS
50092013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/Makefile.am: Fix compilation problem with some
5012 automake versions.
5013
4b80e43c
VS
50142013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5017
57e0c20c
VS
50182013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5021 automake versions.
5022
4fd42c53
VS
50232013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5026 SSDT.
5027
1e908b34
RS
50282013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5029
5030 * grub-core/partmap/dfly.c: New partition map.
5031
1359e474
VS
50322013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5035 checking.
5036 Reported by: Francesco Lavra.
5037
17806392
AB
50382013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5039
5040 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5041 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5042 false conditions.
5043 * conf/Makefile.common: define dist_grubconf_DATA
5044
cdce14fa
VS
50452013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 Progressively skip menu elements on small terminals rather
5048 than crashing.
5049
c8d6cc3c
VS
50502013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5053 to avoid losing last column.
5054
a73b31ce
VS
50552013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * po/exclude.pot: Add missing string "%C".
5058
1202c764
VS
50592013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5062 after the test.
5063
50268344
VS
50642013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * util/grub-install.in: Gettextize "Not found" message.
5067
62b15edf
VS
50682013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 Fix distfiles list.
5071 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5072
50732013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
5074
5075 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5076 present.
5077 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5078
709ad61b
VS
50792013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5082
d128901a
VS
50832013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
5086 attribute since structure is not necessarily aligned.
5087
34b22f5c
AB
50882013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
5089
5090 * docs/grub.texi (Device syntax): Clarify description of network
5091 drives.
5092
0f7e980b
VS
50932013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
5096 for vasprintf presence.
5097
30b03dc2
VS
50982013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * util/grub-install.in: Handle efibootmgr presence check.
5101 Reported by: Leif Lindholm.
5102
0dc11c08
VS
51032013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
5106 new strings to translate.
5107
f8024c3f
VS
51082013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
5111 yet another string (pun intended) to translate.
5112
b4c1da62
VS
51132013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * po/POTFILES-shell.in: Autogenerate it.
5116
0ef7478b
VS
51172013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
5120
8200fa15
VS
51212013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
5124 misnomer.
5125
091945b2
AB
51262013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
5127
5128 * docs/grub.texi (Network): Add description of net_default_interface,
5129 net_default_ip and net_default_mac. Rewrite variables description
5130 to emphasize that they are per-interface.
5131
0e7b2e32
VS
51322013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 New test: cmdline and cat.
5135
16f7c8f6
VS
51362013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/commands/cat.c: Show UTF-8 characters.
5139
3e912fda
VS
51402013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * conf/Makefile.common: Poison float and double on non-emu.
5143
ee0220bc
VS
51442013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * configure.ac: Don't disable extended registers on emu.
5147
89e0240c
VS
51482013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * configure.ac: Don't use extended registers on x86_64.
5151 Reported by: Peter Jones.
5152
e56d9637
VS
51532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/term/efi/console.c: Fix compile error.
5156
8098f655
VS
51572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 Compressed HFS+ support.
5160
16940e07
VS
51612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
5164 pixel".
5165
c5dbc13d
VS
51662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 Menu color test.
5169
011f8ae8
VS
51702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/tests/setjmp_test.c: New test.
5173
2aa072d7
VS
51742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 New variables 'net_default_*' to determine MAC/IP of default interface.
5177
43fe02cb
VS
51782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * tests/gettext_strings_test.in: A test to check for strings not
5181 marked for translation.
5182
bed06142
VS
51832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * autogen.sh: Exclude unused libgcrypt files from translation.
5186
fb2666b5
VS
51872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 Simplify few strings.
5190
d22840ec
VS
51912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 Mark few forgotten strings for translation.
5194
e34092fd
VS
51952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5198 rather than printf.
5199
47cf82b4
VS
52002013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5203 rather than printf.
5204 * grub-core/video/readers/tga.c: Likewise.
5205
1eed0e6e
VS
52062013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * tests/priority_queue_unit_test.cc: New test.
5209
c5b7697b
VS
52102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5213 than printf.
5214
5945c2f8
AB
52152013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5216
5217 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5218 variable for one time boot menu entry.
5219
fa292343
B
52202013-05-05 Bean <bean123ch@gmail.com>
5221
5222 * grub-core/commands/testspeed.c: New command testspeed.
5223
310d4214
VS
52242013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 Factor-out human-size printing.
5227
85002bf3
VS
52282013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Agglomerate more mallocs to speed-up gfxterm.
5231
22b06e96
VS
52322013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 Speed-up gfxterm by slightly agglomerating mallocs.
5235
b7c036bc
VS
52362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 More video checks.
5239
92323d1f
VS
52402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 Speed-up gfxterm by saving intermediate results in index+alpha
5243 format.
5244
0fb356a3
VS
52452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5248 test.
5249
44dea3f9
VS
52502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5253 line of timeout as it may contain the rest of long line.
5254
14af86e4
VS
52552013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/normal/main.c: Fix freed memory dereference.
5258
03f7c8c3
VS
52592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 Fix several memory leaks.
5262
c686014c
VS
52632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5266
0788a695
VS
52672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5270
daf01d61
VS
52712013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 Fix test -a and -o precedence.
5274 Reported by: adrian15.
5275
82ae74d7
VS
52762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5279
8cec7bd4
AB
52802013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5281
5282 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5283 and add it as source to functional_test module.
5284
aa73d688
VS
52852013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5288
c104b6f9
VS
52892013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 New series of tests for gfxterm and gfxmenu.
5292
7391c4d5
VS
52932013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5296 the theme path relative to $prefix/themes.
5297
cff50118
VS
52982013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5301 Fix order bug.
5302 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5303
7c332bdc
VS
53042013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5307 descriptor.
5308
a4f9a5ff
VS
53092013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5312 grub_gfxmenu_timeout_notifications.
5313 (grub_gfxmenu_view_destroy): Likewise.
5314
b5a2114d
VS
53152013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5318
a8905e8a
VS
53192013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 Several fixes to ieee1275 and big-endian video.
5322
813c1622
VS
53232013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 Add missing exports on mips.
5326
3f3e7326
VS
53272013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5330 if no unifont is found.
5331 Restore original keyboard.
5332
095accd1
VS
53332013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5336 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5337
50361660
VS
53382013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 First automated video test (running videotest and comparing results)
5341
cd0f6eec
VS
53422013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5345 instead of 2 to have full RGB/CMY test pattern.
5346
3f9634e5
VS
53472013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 Add few more tests.
5350
583e5b64
VS
53512013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5354 ARCS. All users updated.
5355
aa7bcb99
VS
53562013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5359
95ef1a54
VS
53602013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5363
46546fc5
VS
53642013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5367 Reported by: qwertial.
5368
3476e0ef
VT
53692013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5370
5371 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5372 with syntax "XXX deg"/"XXX °".
5373
96f33fed
VS
53742013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 Make PCI init in i386-qemu port more robust.
5377
53782013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5379
5380 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5381 cached view is reused.
5382 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5383 open boot menus.
5384
c53b4e67
VS
53852013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 Unify more code in grub-install_header.
5388
f7457fb2
VS
53892013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Add few new tests.
5392
e2f27a8c
VS
53932013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 Enforce disabling of firmware disk drivers when native drivers kick in.
5396
ef9d8cd5
VS
53972013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/commands/nativedisk.c: Customize the list of modules on
5400 platform. Don't try to search for disks already using native drivers.
5401
f7bf6c31
VS
54022013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5405 platforms.
5406
bdc4add8
VS
54072013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5410 handling of variables containing backslash.
5411
e9e46c9a
VS
54122013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5415 dereference.
5416 Reported by: qwertial.
5417
0e90dee8
VS
54182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5421
e0aacf24
VS
54222013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5425 dereference.
5426 Reported by: qwertial.
5427
3c0003c3
VS
54282013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5431
adb7d667
VS
54322013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5435
7cd0df84
VS
54362013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 New command `nativedisk'.
5439
02adbb93
VS
54402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5443 * grub-core/loader/i386/bsd.c: Likewise.
5444
9fb0fd4f
VS
54452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5448
bd69257a
VS
54492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5452 grub_get_unaligned16 rather than shifts.
5453
178c2764
VS
54542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/kern/file.c: Use const char * rather than casting to
5457 non-const.
5458
eadfad24
VS
54592013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/commands/probe.c: Add missing grub_device_close.
5462
9f73ebd4
VS
54632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * INSTALL: Document linguas.sh.
5466
965fa829
VS
54672013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 Remove POTFILES.in and regenerate it in autogen.sh.
5470
d417ddc4
VS
54712013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 Move --directory/--override-directorry to grub-install_header and unify.
5474
f97ec546
VS
54752013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/term/morse.c: Macroify dih and dah.
5478
b2d7470c
PFS
54792013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5480
5481 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5482
141e2a78
VS
54832013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * grub-core/term/ns8250.c: Systematically probe ports by writing
5486 to SR before using them.
5487
1dd70ebd
PFS
54882013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5489
5490 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5491 disks.
5492 (check_sas): Get sas_adress info.
5493
c796a107
VS
54942013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5497 ports.
5498
43168646
LD
54992013-04-27 Leon Drugi <eyak>
5500
5501 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5502 BSS clearing.
5503
e7b8fd08
VS
55042013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Core compression test.
5507
17f9fd29
VS
55082013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 Implement grub_machine_get_bootlocation for ARC.
5511
dc2a6c8b
VS
55122013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 Improve AHCI detection and command issuing.
5515
f25a2ba6
VS
55162013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 Fix pseries test.
5519
a6393224
VS
55202013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 Make 'make check' work on emu.
5523
db99fbe8
VS
55242013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 Replace libcurses with our own vt100 handling for the ease of testing
5527 and decreasing prerequisites.
5528
b24ca7cd
VS
55292013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5532
63314aa4
VS
55332013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5536 compile when not needed.
5537
c1b00fff
VS
55382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * tests/pseries_test.in: New test.
5541
f93e89ef
VS
55422013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 Add test to check that different boot mediums work.
5545
c4b456d3
VS
55462013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5549 ofw limited ISO support.
5550
5fe67f39
VS
55512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * configure.ac: Fix loongson conditional.
5554
7f63a64f
VS
55552013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 Enable mipsel-arc.
5558
b04b5990
VS
55592013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 Add serial on ARC platform.
5562
88d2f302
VS
55632013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5566 commit.
5567
86eb23bc
VS
55682013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * tests/partmap_test.in: Add missing double semicolon.
5571
eec3bb75
VS
55722013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * util/grub-mkrescue.in: Fix loongson filename.
5575
e0810df3
VS
55762013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * util/grub-mkrescue.in: Move all files that don't have a location
5579 set in stone under /boot/grub. Use ISO hard links rather than copies
5580 to save some space.
5581
65a6b30b
VS
55822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5585 bogus SLOF values.
5586
6aff0107
VS
55872013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 Make check work on mips-arc.
5590
5e013e56
VS
55912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * util/grub-mkrescue.in: Alias sashARCS as sash.
5594
d1989e2e
VS
55952013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5598 it's serial.
5599
1a25e72c
VS
56002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * util/grub-install.in: Fix target fo qemu_mips.
5603 Fix extension on EFI.
5604
a59a9826
VS
56052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5608 in front of chosen entry to mark it even if highlighting is lost.
5609
1a40f80c
VS
56102013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5613 gfxpayload=keep if cbfb is active.
5614
e343549c
VS
56152013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5618
45fbd9a2
VS
56192013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 Add missing video ids to coreboot and ieee1275 video.
5622
ab1440bd
VS
56232013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * util/grub-mkrescue.in: Add mips-arc support.
5626
cdeb8324
VS
56272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5630
8528c879
VS
56312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 Move mips-arc link address. Previous link address was chosen
5634 in belief that RAM on SGI platforms grows down while in fact it
5635 grows up from an unusual base.
5636
17fca573
VS
56372013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5640 Fix a type which prevented CD-ROM and floppy boot.
5641
d178788e
VS
56422013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 Support coreboot framebuffer.
5645
5646 * grub-core/video/i386/coreboot/cbfb.c: New file.
5647
fe4c3e7e
VS
56482013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5651 detecting too small regions.
5652
ec2dd179
VS
56532013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5656
872dac83
VS
56572013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5660 Remove dprintf.
5661 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5662
90ec4b7f
VS
56632013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5666 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5667 * grub-core/loader/powerpc/ieee1275/linux.c
5668 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5669
f32555dd
VS
56702013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5673 Look for /boot-rom as well as /rom/boot-rom.
5674
38649799
VS
56752013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5678 handling when creating text_layer failed.
5679 * grub-core/video/video.c (grub_video_create_render_target):
5680 Set result to 0 on error.
5681 (grub_video_delete_render_target): Do not dereference NULL.
5682
aeace7f7
VS
56832013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5686 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5687 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5688 (grub_linux_load64): Mask out 2 high bits.
5689
4eafa175
AB
56902013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5691
5692 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5693 more place.
5694
daaa64bd
VS
56952013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 Add support for pseries and other bootinfo machines to grub-mkrescue.
5698
5699 Tested by: Paulo Flabiano Smorigo.
5700
d0d2daa6
VS
57012013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * util/grub-mkrescue.in: Add GPT for EFI boot.
5704
b193e100
VS
57052013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5708 It improves performance in qemu.
5709
a0f8f3ac
VS
57102013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * build-aux/snippet: Add missing gnulib files.
5713
284df0e2
AB
57142013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5715
5716 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5717
740201f3
AB
57182013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5719
5720 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5721
a7e03923
PJ
57222013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
57232013-04-15 Peter Jones <pjones@redhat.com>
5724
5725 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5726 sectors.
5727 Based on patch by Peter Jones.
5728
25fc51a8
VS
57292013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 Fix DMRAID partition handling.
5732
88017d47
VS
57332013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * tests/grub_cmd_date.in: Skip on sparc64.
5736
fa7d914e
VS
57372013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5740 firmware error messages.
5741
cbe57a48
VS
57422013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5745 source and destination differ.
5746
21aecce0
VS
57472013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5750 detection.
5751
25092d29
VS
57522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5755 match config-util.h to avoid warnings and increase compatibility.
5756
79451522 57572013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 57582013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
5759
5760 Add option to compress files on install/image creation.
5761
78b7d77b
VS
57622013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * docs/grub-dev.texi: Rearrange menu to match the section order.
5765 Reported by: Bryan Hundven.
5766
cc2fa5ec
VS
57672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5770
b49fe879
VS
57712013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 Move GRUB out of system area when using xorriso 1.2.9 or later.
5774
5351da81
VS
57752013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * tests/grub_cmd_date.in: Add missing exit 1.
5778
c9d586ea
VS
57792013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * tests/partmap_test.in: Skip on sparc64.
5782
3f729741
VS
57832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 Support grub-shell on sparc64.
5786
8ca86b3a
VS
57872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 Support mkrescue on sparc64.
5790
aa1af9bb
VS
57912013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5794 Needed on OpenBIOS due to incomplete device tree.
5795
ac4fea79
VS
57962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5799 would be otherwise excluded.
5800
58012013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
5802
5803 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5804 Inline name defines used only once.
5805
fe22b071
VS
58062013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 Fix memory leaks in ofnet.
5809 Reported by: Francesco Lavra.
5810
9d21381b
VS
58112013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * docs/man/grub-glue-efi.h2m: Add missing file.
5814
07aec23c
VS
58152013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5818
67ab8353
VS
58192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 Better support Apple Intel Macs on CD.
5822
ba44ca6d
VS
58232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 Replace stpcpy with grub_stpcpy in tools.
5826
bbdd6305
VS
58272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 Handle Japanese special keys.
5830 Reported by: Hiroyuki YAMAMORI.
5831 Codes supplied by: Hiroyuki YAMAMORI.
5832
8573d302
VS
58332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * util/grub-mkimage.c: Document memdisk implying --prefix.
5836
d70dbab7
VS
58372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5840 much we can do about it anyway.
5841
51a4c3e3
AN
58422013-04-12 Aleš Nesrsta <starous@volny.cz>
5843
5844 Fix handling of split transfers.
5845
92c8f58d
VS
58462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/net/http.c: Fix bad free.
5849
b7d17a49
VS
58502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5853 than buffer size.
5854
a3d566d4
VS
58552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5858
a936af56
VS
58592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * tests/util/grub-shell.in: Fix it on powerpc.
5862
51212234
VS
58632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 Turn off QEMU ACPI-way since new releases don't have shutdown port
5866 anymore.
5867
a21eec9e
VS
58682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * docs/grub.texi: Update coreboot status info.
5871
e3734b84
VS
58722013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * tests/grub_cmd_date.in: New test for datetime.
5875
f9d40055
VS
58762013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * tests/partmap_test.in: Fix missing qemudisk setting.
5879
dbc56d8f
VS
58802013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 Support i386-ieee1275 grub-mkrescue and make check on it.
5883
a79b8a15
VS
58842013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5887 feature for it.
5888
48f39bb4
VS
58892013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5892 GRUB_CMDLINE_XEN_DEFAULT.
5893 Reported by: Marc Warne (GigaTux) <gigatux>
5894
053cfcdd
VS
58952013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Import new gnulib.
5898
93cd84df
VS
58992013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Use ACPI shutdown intests as traditional port was removed.
5902
f4b1fa4f
AB
59032013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5904
5905 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5906 distinction.
5907
49818a59
VS
59082013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5911 Fix few warining messages and leaks while on it.
5912
9277a306
AB
59132013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5914
5915 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5916 links under grub-core/lib/libgcrypt-grub/mpi.
5917
d5e2a158
VS
59182013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 Fix ia64-efi image generation on big-endian machines. Deduplicate
5921 some code while on it.
5922 Reported by: Leif Lindholm.
5923
18866643
AB
59242013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5925
5926 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5927 as extra_dist.
5928
ca53deb8
AB
59292013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5930
5931 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5932
d4c4b8e1
BH
59332013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5934
5935 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5936 texinfo-5.1.
5937
47043f95
VS
59382013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/normal/term.c: Few more fixes for menu entry editor
5941 rendering.
5942 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5943
a3216068
VS
59442013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/normal/term.c: Few more fixes for menu entry editor
5947 rendering.
5948 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5949
21026747
AB
59502013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5951
5952 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5953 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5954
59624ca8
AB
59552013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5956
5957 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5958 instead of hardcoding grub.mo.
5959
1f44478c
FN
59602013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5961
5962 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5963
eeada7b1
VS
59642013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5967 grub-core/disk/geli.c.
5968
132867de
VS
59692013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * util/grub-mkfont.c: Prefer enum to #define.
5972
de73de17
VS
59732013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5976
1865baa7
VS
59772013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5980
ce7d92a9
VS
59812013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5984
52eab656
VS
59852013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5988
98b23b95
VS
59892013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * include/grub/bsdlabel.h: Use enums.
5992
0467a5dd
VS
59932013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 Move GRUB_CHAR_BIT to types.h.
5996
16cc9f03
AB
59972013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5998
5999 * docs/grub.texi: Document more user commands.
6000
3152aecb
AB
60012013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6002
6003 * docs/grub.texi: Document menuentry --id option.
6004
c506fc30
FL
60052013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6006
6007 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6008
aa428238
VS
60092013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 Unify file copying setup across different install scripts. Add
6012 options for performing partial install.
6013
efe0cdda
PJ
60142013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
60152013-04-04 Peter Jones <pjones@redhat.com>
6016
6017 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6018
f75835bd
VS
60192013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 Use TSC as a possible time source on i386-ieee1275.
6022
2cd5ce6c
VS
60232013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6026 Init err.
6027
c9625630
VS
60282013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * util/grub-setup.c (setup): Handle some corner cases.
6031
be008941
VS
60322013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6035
1a78d573
VS
60362013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/commands/verify.c: Save verified file to avoid it being
6039 tampered with after verification was done.
6040
db8ff59f
VS
60412013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6044 reported width by one to compensate for curesor algorithm problem.
6045
91bf46b1
VS
60462013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 Fix screen corruption in menu entry editor and simplify the code
6049 flow while on it.
6050
a7b1d693
AB
60512013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
6052
6053 * util/grub-mount.c (fuse_init): Return error if fuse_main
6054 failed.
6055
31df9ad8
FL
60562013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
6057
6058 * include/grub/elf.h: Add missing ARM relocation codes and fix
6059 existing ones.
6060
07f392eb
VT
60612013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6062
6063 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6064
9efd73ec 60652013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
60662013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6069 into account when calculating radius.
6070
60712013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
6072
6073 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6074
4985ddaa
VT
60752013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6076
6077 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6078
8c3635ff
RS
60792013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6080
6081 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6082 missing closing bracket.
6083
74a35e69
RS
60842013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6085
6086 * INSTALL: Mention xorriso requirement.
6087
40f1c000
AB
60882013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
6089
6090 * grub-core/commands/verify.c: Fix hash algorithms values for
6091 the first three hashes - they start with 1, not with 0.
6092
e75fdee4
VS
60932013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
6096 Try terminating EFI services several times due to quirks in some
6097 implementations.
6098
33028f4c
CW
60992013-03-26 Colin Watson <cjwatson@ubuntu.com>
6100
6101 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
6102 skipping Event, Device, Processor, PowerRes, ThermalZone, and
6103 BankField extended opcodes.
6104 (get_sleep_type): Add minimal scope handling (just enough to
6105 handle setting the scope to the root path).
6106 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
6107 * include/grub/acpi.h: Add enumeration values for Event, Device,
6108 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
6109
33871a10
VT
61102013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
6111
6112 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
6113 memory leak.
6114
8990963a
VS
61152013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/disk/ahci.c: Give more time for AHCI request.
6118
daae8f9e
VS
61192013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
6122 command.
6123
6a7fb94b
VS
61242013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Replace the region at 0 from coreboot tables to available in BSD
6127 memory map.
6128
ff99babd
VS
61292013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
6132 non-BIOS platforms.
6133
30d6b1b2
VS
61342013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
6137 platforms.
6138
6ccd0b31
VS
61392013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6142 handling of multi-device filesystems.
6143
23c9cc04
VS
61442013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
6147 platforms.
6148
ce50dbd7
VS
61492013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Add new 'proc' filesystem framework and put luks_script into it.
6152
d975e8d5
VS
61532013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
6156 and qemu.
6157
e73ba5e8
VS
61582013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
6161
92750e4c
VS
61622013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 Add ability to generate newc additions on runtime.
6165
0ec45a68
VS
61662013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
6169 description.
6170
320abd43
VS
61712013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * po/POTFILES.in: Regenerate.
6174
d7a6506e
VS
61752013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/commands/verify.c (hashes): Add several hashes
6178 from the spec.
6179
8fe05def
VS
61802013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Slight improve in USB-related boot-time checkpoints.
6183
524e2766
VS
61842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * grub-core/commands/boottime.c: Fix copyright header.
6187
cc19857a
VS
61882013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6191 coreboot tables content. Support for cbmemc.
6192
ef8810e9
VS
61932013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 Fix a conflict between ports structures with 2 controllers of
6196 same kind.
6197
e9dabdfa
VS
61982013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * include/grub/boottime.h: Add missing file.
6201
f6df57d2
VS
62022013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 Initialize USB ports in parallel to speed-up boot.
6205
d745dda7
VS
62062013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 Fix USB devices not being detected when requested
6209 due to delayed attach.
6210
e5a2dd7b
VS
62112013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6212
e744219b
VS
6213 Implement boot time analysis framework.
6214
62152013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
6218 descriptor to just receive it as argument rather than endpoint
6219 address.
6220
5dd6f587
VS
62212013-03-19 Aleš Nesrsta <starous@volny.cz>
6222
6223 Better estimate the maximum USB transfer size.
6224
2f1071d5
VS
62252013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Resend a packet if we got the wrong buffer in status.
6228
46ecfc49
VS
62292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6232 multiplication rather than division.
6233
ea811130
VS
62342013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6237 than divisions.
6238
d2789cf0
VS
62392013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6242 operations to have intended shifts and not divisions.
6243
a9c94590
VS
62442013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6247 intended shifts rather than division.
6248
84cfe81b
VS
62492013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6252 computation for some years before epoch. Avode confusing division
6253 while on it.
6254
21344ef6
VS
62552013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/video/i386/pc/vbe.c
6258 (grub_video_vbe_print_adapter_specific_info): Replace division by
6259 shifts.
6260
3f2b4d1a
VS
62612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 Adjust types in gdb module to have intended unsigned shifts rather than
6264 signed divisions.
6265
3dac5878
VS
62662013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6269 maximum size is 4G - 1 on hfs
6270
5341c0fb
VS
62712013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6274
fc3ff2a2
VS
62752013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6278 function.
6279
81455e8e
AB
62802013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6281
6282 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6283 causing gcc error with gcc 4.7.1.
6284
efd4f117
NZ
62852013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6286
6287 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6288 dereference null pointer. While the code is technically correct, gcc
6289 may eliminate a null check if pointer is already dereferenced.
6290
e11645f4
NZ
62912013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6292
6293 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6294 OOM check.
6295 * grub-core/normal/term.c (read_terminal_list): Likewise.
6296
77468368
VS
62972013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Lift up core size limits on some platforms. Fix potential memory
6300 corruption with big core on small memory systems. Document remaining
6301 limits.
6302
f6b58fe5
VS
63032013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6306 gotoxy to 0,0.
6307
19ce697d
VS
63082013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 Remove all trampoline support. Add -Wtrampolines when
6311 present. Remove symbols used for trampolines to make
6312 link fail if trampolines are present.
6313
73b5d90f
VS
63142013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6317 append out of its parent.
6318
cb758e96
VS
63192013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6322 parent.
6323
3188131f
VS
63242013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6327 all vars to a macro. All users updated.
6328
e42b2514
VS
63292013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6332 i386-ieee1275.
6333
83e1a1a1
VS
63342013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6337
1d5a880f
VS
63382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6341
6e4146c4
VS
63422013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 Move to more hookless approach in IEEE1275 devices handling.
6345
99fcda8a
VS
63462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * grub-core/kern/term.c (grub_term_normal_color),
6349 (grub_term_highlight_color): Add back lost defaults.
6350
73bf57e2
VS
63512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 Make elfload not use hooks. Opt for flags and iterators instead.
6354
7f8c105f
VS
63552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6358 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6359
396d4091
VS
63602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6363
63642013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6367 hook pass-through parameter. All users updated and unnested.
6368
74a27421
VS
63692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6372 out of its parent.
6373
b46d4213
VS
63742013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/fs/hfs.c: Remove nested functions.
6377
e114c3cc
VS
63782013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6381 the context through.
6382 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6383
f9b7d780
VS
63842013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * util/grub-editenv.c (list_variables): Move print_var out of its
6387 parent.
6388
ca9c2608
VS
63892013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6392 function.
6393
5d983f5f
VS
63942013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/gentrigtables.c: Make tables const.
6397
3056d3e7
VS
63982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 Remove nested functions from videoinfo iterators.
6401
e2303774
VS
64022013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6405 for 64-bit platforms.
6406
f42e3a2f
VS
64072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6410 a FOR_CHILDREN macro.
6411
be174e5e
VS
64122013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6415 platform from firmware path.
6416
0789b672
VS
64172013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 Enable linux16 on non-BIOS systems for i.a. memtest.
6420
6421 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6422 correctly.
6423 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6424
005a9c32
VS
64252013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6428 Fix end of table condition.
6429
ff2b3cd9
VS
64302013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6433 out of its parent.
6434
4fc40ff8
VS
64352013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * grub-core/fs/jfs.c: Remove nested functions.
6438
be42d97a
VS
64392013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/fs/minix.c: Remove nested functions.
6442
99373ce4
VS
64432013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/fs/iso9660.c: Remove nested functions.
6446
5aec2afe
VS
64472013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6450 of parent function.
6451
6c69e691
VS
64522013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * util/grub-fstest.c: Remove nested functions.
6455
43c91882
VS
64562013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * grub-core/loader/machoXX.c: Remove nested functions.
6459
4eb8b756
CW
64602013-02-27 Colin Watson <cjwatson@ubuntu.com>
6461
6462 Remove nested functions from disk and file read hooks.
6463
6464 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6465 (struct grub_disk): Add read_hook_data member.
6466 * include/grub/file.h (struct grub_file): Likewise.
6467 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6468 argument.
6469
6470 Update all callers.
6471
df6da5a5
AB
64722012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6473
6474 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6475 Fix off by one error in enumerating extended partitions.
6476
21aecde5
AB
64772013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6478
6479 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6480 memory leak if device name is not found.
6481
f1a19118
AB
64822013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6483
6484 * grub-core/normal/menu_entry.c (update_screen): remove
6485 unused variable `off' which caused scroll down arrow to be always shown.
6486
958bfd20
AB
64872013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6488
6489 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6490 access to unallocated memory.
6491
b7b78edb
AB
64922013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6493
6494 * Makefile.util.def: Add partmap/msdos.c to common library.
6495 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6496 * grub-core/disk/ldm.c: Check for existence of
6497 GRUB_PC_PARTITION_TYPE_LDM.
6498
28d468d6
VS
64992013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6502 sizes and display sector size.
6503
d55ffb02
VS
65042013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 Implement new command cmosdump.
6507
b5ea6ce0
VS
65082013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6509
6510 Support Openfirmware disks with non-512B sectors.
6511
6512 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6513 size of the disk.
6514 * (grub_ofdisk_get_block_size): New function.
6515 * (grub_ofdisk_prepare): Use the correct block size.
6516 * (grub_ofdisk_read): Likewise.
6517 * (grub_ofdisk_write): Likewise.
6518 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6519 New proto.
6520
cc0e476f
VS
65212013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6524
c5dbdc33
VS
65252013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6528 on first error.
6529
3f078c0f
VS
65302013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6533 freeing it.
6534
66a93674
VS
65352013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 Implement USBDebug (full USB stack variant).
6538
c9f0c134
VS
65392013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6542 unless they have unexpected values.
6543
cfe1288b
VS
65442013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6547 grub_print_error.
6548
e42b9969
VS
65492013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6552 zero-out of port structure.
6553
cf94fd62
VS
65542013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6557 of extended attributes.
6558
f81ef4b5
AB
65592013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6560
6561 * util/grub-install.in: change misleading comment about
6562 device.map creation
6563
af18fdb4
VS
65642013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6567 when menu highlight color isn't set.
6568
08bcec50
M
65692013-01-27 C. Masloch <pushbx@38.de>
6570
6571 Improve FreeDOS direct loading support compatibility.
6572
6573 * include/grub/i386/relocator.h (grub_relocator16_state):
6574 New member ebp.
6575 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6576 variable.
6577 (grub_relocator16_boot): Handle %ebp.
6578 * grub-core/lib/i386/relocator16.S: Likewise.
6579 * grub-core/loader/i386/pc/freedos.c:
6580 Load BPB to pass kernel which partition to load from.
6581 Check that kernel file is not too large.
6582 Set register dl to BIOS unit number as well.
6583
7782b8a6
CW
65842013-01-22 Colin Watson <cjwatson@ubuntu.com>
6585
6586 * util/grub-reboot.in (usage): Document the need for
6587 GRUB_DEFAULT=saved.
6588 * util/grub-set-default.in (usage): Likewise.
6589 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6590
e661c180
VS
65912013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6594 than defining WORDS_BIGENDIAN manually.
6595
1c22ca9a
VS
65962013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6599 invariants.
6600
d44892fe
CW
66012013-01-21 Colin Watson <cjwatson@ubuntu.com>
6602
6603 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6604 nested.
6605 (blit_comb: add_device_width): Likewise.
6606
5fdbaed1
CW
66072013-01-21 Colin Watson <cjwatson@ubuntu.com>
6608
6609 Remove nested functions from USB iterators.
6610
6611 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6612 (grub_usb_controller_iterate_hook_t): Likewise.
6613 (grub_usb_iterate): Add hook_data argument.
6614 (grub_usb_controller_iterate): Likewise.
6615 (struct grub_usb_controller_dev.iterate): Likewise.
6616
6617 Update all implementations and callers.
6618
4250985a
VS
66192013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6622 margin when not needed.
6623
7d8848f3
VS
66242013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6625
bc136973 6626 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6627
66282013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6629
bc136973
VS
6630 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6631 asterisk.
7d8848f3 6632
ed12a003
CW
66332013-01-21 Colin Watson <cjwatson@ubuntu.com>
6634
6635 Fix powerpc and sparc64 build failures caused by un-nesting memory
6636 map iterators.
6637
6a0db449
CW
66382013-01-21 Colin Watson <cjwatson@ubuntu.com>
6639
6640 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6641 parameter declarations.
6642
ccd86b21
VS
66432013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6646
822b726b
VS
66472013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 Improve spkmomdem reliability by adding a separator between bytes.
6650
115c2cc1
CW
66512013-01-21 Colin Watson <cjwatson@ubuntu.com>
6652
6653 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6654 an Acer registration utility with several sightings in the wild.
6655 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6656
fc524edf
CW
66572013-01-21 Colin Watson <cjwatson@ubuntu.com>
6658
6659 Remove nested functions from filesystem directory iterators.
6660
6661 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6662 (struct grub_fs.dir): Add hook_data argument.
6663
6664 Update all implementations and callers.
6665
53d3e4e3
CW
66662013-01-21 Colin Watson <cjwatson@ubuntu.com>
6667
6668 * docs/grub.texi (Multi-boot manual config): Fix typo for
6669 "recommended".
6670
c821711f
LL
66712013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6672
6673 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6674 until after its use in generate_image.
6675
6a0debbd
CW
66762013-01-20 Colin Watson <cjwatson@ubuntu.com>
6677
6678 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6679 initrd size to addr_min, since the initrd will be allocated after
6680 this address.
6681
f41e08db
AB
66822013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6683
6684 * conf/Makefile.common: Fix autogen rules to pass definition
6685 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6686
77529e0f
LL
66872013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6688
6689 * include/grub/elf.h: Update ARM definitions based on binutils.
6690
b879aa7b
VS
66912013-01-20 Aleš Nesrsta <starous@volny.cz>
6692
6693 Split long USB transfers into short ones.
6694
8eb8284d
AB
66952013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6696
6697 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6698 is interrupted by ESC.
6699
08dad2dc
VS
67002013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * util/grub-script-check.c (main): Uniform the error message.
6703
6c724b85
CW
67042013-01-20 Colin Watson <cjwatson@ubuntu.com>
6705
6706 Remove nested functions from ELF iterators.
6707
25239370
CW
67082013-01-20 Colin Watson <cjwatson@ubuntu.com>
6709
6710 Remove nested functions from device iterators.
6711
6712 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6713 (grub_arc_iterate_devs): Add hook_data argument.
6714 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6715 (struct grub_ata_dev.iterate): Add hook_data argument.
6716 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6717 (grub_device_iterate): Add hook_data argument.
6718 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6719 (struct grub_disk_dev.iterate): Add hook_data argument.
6720 (grub_disk_dev_iterate): Likewise.
6721 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6722 Likewise.
6723 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6724 Likewise.
6725 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6726 type.
6727 (struct grub_partition_map.iterate): Add hook_data argument.
6728 (grub_partition_iterate): Likewise.
6729 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6730 (struct grub_scsi_dev.iterate): Add hook_data argument.
6731
6732 Update all callers.
6733
6c0314d6
CW
67342013-01-20 Colin Watson <cjwatson@ubuntu.com>
6735
6736 Fix typos for "developer" and "development".
6737
600dc5f1
VS
67382013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 Add license header to spkmodem-recv.c.
6741
17334a6b
VS
67422013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 Rewrite spkmodem to use PIT for timing. Double the speed.
6745
7d462559
VS
67462013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 Add new command pcidump.
6749
b78d6c32
VS
67502013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 New terminal outputs using serial: morse and spkmodem.
6753
34f71cb8
VS
67542013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 Improve bidi handling in entry editor.
6757
4542e71b
VS
67582013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6761 argument to prevent name collision.
6762
09fd6d82
CW
67632013-01-15 Colin Watson <cjwatson@ubuntu.com>
6764
6765 Remove nested functions from script reading and parsing.
6766
6767 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6768 getline_data argument, passed to getline.
6769 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6770 getline_data argument, passed to grub_parser_split_cmdline.
6771 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6772 lexerstate->getline_data to lexerstate->getline.
6773 (grub_script_lexer_init): Add getline_data argument, saved in
6774 lexerstate->getline_data.
6775 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6776 argument, passed to grub_script_parse.
6777 * grub-core/script/script.c (grub_script_parse): Add getline_data
6778 argument, passed to grub_script_lexer_init.
6779 * include/grub/parser.h (grub_parser_split_cmdline): Update
6780 prototype. Update all callers to pass appropriate getline data.
6781 (struct grub_parser.parse_line): Likewise.
6782 (grub_rescue_parse_line): Likewise.
6783 * include/grub/reader.h (grub_reader_getline_t): Add void *
6784 argument.
6785 * include/grub/script_sh.h (struct grub_lexer_param): Add
6786 getline_data member.
6787 (grub_script_parse): Update prototype. Update all callers to pass
6788 appropriate getline data.
6789 (grub_script_lexer_init): Likewise.
6790 (grub_normal_parse_line): Likewise.
6791
6792 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6793 data argument.
6794 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6795 static instead of nested. Rename to ...
6796 (grub_parser_execute_getline): ... this.
6797 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6798 data argument.
6799 * grub-core/normal/main.c (read_config_file: getline): Make static
6800 instead of nested. Rename to ...
6801 (read_config_file_getline): ... this.
6802 (grub_normal_read_line): Add unused data argument.
6803 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6804 getline): Make static instead of nested. Rename to ...
6805 (grub_script_execute_sourcecode_getline): ... this.
6806 * util/grub-script-check.c (main: get_config_line): Make static
6807 instead of nested.
6808
d0d4b8a0
CW
68092013-01-15 Colin Watson <cjwatson@ubuntu.com>
6810
6811 Remove nested functions from memory map iterators.
6812
6813 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6814 argument, passed to hook.
6815 * grub-core/kern/i386/coreboot/mmap.c
6816 (grub_linuxbios_table_iterate): Likewise.
6817 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6818 instead of nested.
6819 (grub_machine_mmap_iterate): Add hook_data argument.
6820 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6821 Add hook_data argument, passed to hook.
6822 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6823 Likewise.
6824 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6825 Likewise.
6826 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6827 Likewise.
6828 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6829 Likewise.
6830 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6831 Likewise.
6832 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6833 Likewise.
6834 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6835 (grub_machine_mmap_iterate): Likewise.
6836 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6837 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6838 prototype.
6839 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6840 Remove NESTED_FUNC_ATTR from here and from all users.
6841 (grub_mmap_iterate): Update prototype.
6842 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6843 pass appropriate hook data.
6844 (grub_machine_mmap_iterate): Likewise.
6845
6846 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6847 static instead of nested.
6848 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6849 Rename to ...
6850 (lsmmap_hook): ... this.
6851 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6852 Likewise.
6853 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6854 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6855 heap_init): Likewise.
6856 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6857 Rename to ...
6858 (mmap_iterate_hook): ... this.
6859 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6860 Likewise.
6861 * grub-core/lib/ieee1275/relocator.c
6862 (grub_relocator_firmware_get_max_events: count): Likewise.
6863 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6864 to ...
6865 (grub_relocator_firmware_fill_events_iter): ... this.
6866 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6867 hook): Likewise. Rename to ...
6868 (grub_relocator_alloc_chunk_align_iter): ... this.
6869 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6870 Rename to ...
6871 (generate_e820_mmap_iter): ... this.
6872 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6873 Rename to ...
6874 (count_hook): ... this.
6875 (grub_linux_boot: hook): Likewise. Rename to ...
6876 (grub_linux_boot_mmap_find): ... this.
6877 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6878 (grub_linux_boot_mmap_fill): ... this.
6879 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6880 hook): Likewise. Rename to ...
6881 (grub_fill_multiboot_mmap_iter): ... this.
6882 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6883 hook): Likewise. Rename to ...
6884 (count_hook): ... this.
6885 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6886 hook): Likewise. Rename to ...
6887 (grub_fill_multiboot_mmap_iter): ... this.
6888 * grub-core/loader/powerpc/ieee1275/linux.c
6889 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6890 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6891 Likewise. Rename to ...
6892 (alloc_phys_choose): ... this.
6893 (determine_phys_base: get_physbase): Likewise.
6894 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6895 find_hook): Likewise.
6896 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6897 (malloc_hook: count_hook): Likewise.
6898 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6899 Likewise. Rename to ...
6900 (lower_hook): ... this.
6901 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6902 (upper_hook): ... this.
6903 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6904 (post64_hook): ... this.
6905 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6906 Likewise. Rename to ...
6907 (lower_hook): ... this.
6908 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6909 (upper_hook): ... this.
6910 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6911 (grub_mmap_iterate: fill_hook): Likewise.
6912 (fill_mask): Pass addr and mask within a single struct.
6913 (grub_cmd_badram: hook): Make static instead of nested. Rename
6914 to ...
6915 (badram_iter): ... this.
6916 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6917 (cutmem_iter): ... this.
6918
22099030
VS
69192013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6922 delimit path in strings using quotes.
6923 * util/getroot.c (grub_guess_root_devices): Likewise.
6924 (grub_make_system_path_relative_to_its_root): Likewise.
6925 * util/grub-probe.c (probe): Likewise.
6926 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6927 (xrealpath): Likewise.
6928
4a9950ec
VS
69292013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 Fix compilation with older compilers.
6932
6933 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6934 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6935 declarations.
6936 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6937 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6938 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6939 identifier with b.
6940 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6941 * include/grub/crypto.h: Add type defines.
6942 * util/import_gcrypth.sed: Remove duplicate type defines.
6943
adcc6020
VS
69442013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 New command list_trusted.
6947
6948 * grub-core/commands/verify.c (grub_cmd_list): New function.
6949
a4528937
CW
69502013-01-13 Colin Watson <cjwatson@ubuntu.com>
6951
6952 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6953 info message.
6954
ca3a7446
CW
69552013-01-13 Colin Watson <cjwatson@ubuntu.com>
6956
6957 Remove nested functions from PCI iterators.
6958
6959 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6960 passed to hook. Update all callers to pass appropriate hook data.
6961 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6962 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6963 Remove NESTED_FUNC_ATTR from here and from all users.
6964 (grub_pci_iterate): Update prototype.
6965 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6966 instead of nested. Rename to ...
6967 (grub_cs5536_find_iter): ... this.
6968 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6969 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6970 Likewise.
6971 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6972 Likewise.
6973 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6974 Likewise.
6975 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6976 Likewise.
6977 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6978 * grub-core/video/radeon_fuloong2e.c
6979 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6980 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6981 find_card): Likewise.
6982 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6983 Likewise.
6984
f8e98fee
VS
69852013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/commands/verify.c: Mark messages for translating.
6988
055b36b6
VS
69892013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6992 fatal.
6993
f7ff879b
VS
69942013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6997 fatal.
6998
69992013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
7000
7001 * autogen.sh: Do not try to delete nonexistant files.
7002 * util/import_gcrypth.sed: Add some missing header removals.
7003
01323d49
CW
70042013-01-12 Colin Watson <cjwatson@ubuntu.com>
7005
7006 Clean up dangling references to grub-setup.
7007 Fixes Ubuntu bug #1082045.
7008
7009 * docs/grub.texi (Images): Refer generally to grub-install rather
7010 than directly to grub-setup.
7011 (Installing GRUB using grub-install): Remove direct reference to
7012 grub-setup.
7013 (Device map) Likewise.
7014 (Invoking grub-install): Likewise.
7015 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7016 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7017 * util/grub-install.in (usage): Likewise.
7018
7019 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7020 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7021 grub-setup.
7022 * configure.ac: Remove grub_setup output variable.
7023
7024 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7025 to grub-bios-setup.
7026 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7027 grub-setup to grub-sparc64-setup.
7028
5e3b8dcb
VS
70292013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 Import gcrypt public-key cryptography and implement signature checking.
7032
535714bd
VS
70332013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * grub-core/fs/ntfs.c: Ue more appropriate types.
7036 * grub-core/fs/ntfscomp.c: Likewise.
7037 * include/grub/ntfs.h: Likewise.
7038
3e4f3566
VS
70392013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 Support Apple FAT binaries on non-Apple platforms.
7042
7043 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7044 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7045 Likewise.
7046 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7047 Apple FAT binaries.
7048
4dedb13f
VS
70492013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
7052 sector devices.
7053
f8861eaf
CW
70542013-01-07 Colin Watson <cjwatson@ubuntu.com>
7055
7056 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
7057 explicitly zeroing elements.
7058 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
7059 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7060 of elements in a structure already allocated using grub_zalloc.
7061 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7062
86065b0a
CW
70632013-01-07 Colin Watson <cjwatson@ubuntu.com>
7064
7065 * docs/grub.texi (grub_cpu): New subsection.
7066 (grub_platform): Likewise.
7067
c6f1e92f
VS
70682013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7071
f797ec85
VS
70722013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7075 divisions.
7076
033d0b4b
VS
70772013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7080 * grub-core/fs/ntfscomp.c: Likewise.
7081 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7082 (grub_ntfs_comp): Likewise.
7083
21d1b9a0
VS
70842013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
7087 Rename to ...
7088 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
7089 of groups_per_block. All users updated.
7090
10ca8645
VS
70912013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
7094 grub_error properly.
7095 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
7096 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
7097
a4c3ed4c
VS
70982013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
7101 always in /boot/zfs.
7102 Reported by: Yuta Satoh.
7103
0b716507
YS
71042013-01-03 Yuta Satoh <nigoro>
7105
7106 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
7107 ${grub_probe}
7108
00c05e22
VS
71092013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * configure.ac: Extend -Wno-trampolines to host.
7112
dadddb76
VS
71132013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
7116 entry->len = 0.
7117
54ce53ca
CW
71182013-01-03 Colin Watson <cjwatson@ubuntu.com>
7119
7120 * docs/grub.texi (Invoking grub-mkrelpath): New section.
7121 (Invoking grub-script-check): Likewise.
7122
8912efca
CW
71232013-01-03 Colin Watson <cjwatson@ubuntu.com>
7124
7125 * docs/grub.texi (Invoking grub-mount): New section.
7126 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
7127
c3fc8394
CW
71282013-01-02 Colin Watson <cjwatson@ubuntu.com>
7129
7130 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
7131 test failures, so that a failing unit test correctly causes 'make
7132 check' to fail.
7133
45d26abb
CW
71342013-01-02 Colin Watson <cjwatson@ubuntu.com>
7135
7136 Fix failing printf test.
7137
7138 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
7139 '$' in the correct order when collecting type information.
7140
971dd2c6
CW
71412013-01-02 Colin Watson <cjwatson@ubuntu.com>
7142
7143 * docs/grub.texi (configfile): Explain environment variable
7144 handling.
7145 (source): New section.
7146 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
7147
5c67ea6c
CW
71482012-12-31 Colin Watson <cjwatson@ubuntu.com>
7149
7150 Remove several trivially-unnecessary uses of nested functions.
7151
7152 * grub-core/commands/i386/pc/sendkey.c
7153 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
7154 instead of nested.
7155 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
7156 Rename to ...
7157 (legacy_file_getline): ... this.
7158 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
7159 Likewise.
7160 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
7161 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
7162 to ...
7163 (probe_dummy_iter): ... this.
7164 * grub-core/kern/i386/coreboot/mmap.c
7165 (grub_linuxbios_table_iterate: check_signature): Likewise.
7166 * grub-core/kern/parser.c (grub_parser_split_cmdline:
7167 check_varstate): Likewise. Mark inline.
7168 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
7169 an additional parameter.
7170 (find_long: fnd_long): Likewise. Pass two additional parameters.
7171 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7172 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7173 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7174 Likewise. Rename to ...
7175 (grub_cmos_find_port_iter): ... this.
7176 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7177 Rename to ...
7178 (find_rtc_iter): ... this.
7179
7180 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7181 function directly into the function body, since it is only called
7182 once.
7183
33a68ac6
CW
71842012-12-30 Colin Watson <cjwatson@ubuntu.com>
7185
7186 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7187 __attribute__ ((unused)).
7188 * grub-core/video/bochs.c (find_card): Likewise.
7189 * grub-core/video/cirrus.c (find_card): Likewise.
7190 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7191 * grub-core/video/sis315pro.c (find_card): Likewise.
7192 * grub-core/video/sm712.c (find_card): Likewise.
7193
608b647a
CW
71942012-12-28 Colin Watson <cjwatson@ubuntu.com>
7195
7196 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7197 Fixes Savannah bug #37821.
7198
fd49ceb3
CW
71992012-12-28 Colin Watson <cjwatson@ubuntu.com>
7200
7201 Apply program name transformations at build-time rather than at
7202 run-time. Fixes Debian bug #696465.
7203
7204 * acinclude.m4 (grub_TRANSFORM): New macro.
7205 * configure.ac: Create output variables with transformed names for
7206 most programs.
7207 * util/bash-completion.d/grub-completion.bash.in: Use
7208 pre-transformed variables for program names.
7209 * util/grub-install.in: Likewise.
7210 * util/grub-kbdcomp.in: Likewise.
7211 * util/grub-mkconfig.in: Likewise.
7212 * util/grub-mkconfig_lib.in: Likewise.
7213 * util/grub-mknetdir.in: Likewise.
7214 * util/grub-mkrescue.in: Likewise.
7215 * util/grub-mkstandalone.in: Likewise.
7216 * util/grub-reboot.in: Likewise.
7217 * util/grub-set-default.in: Likewise.
7218 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7219 * tests/util/grub-shell-tester.in: Remove unused assignment.
7220 * tests/util/grub-shell.in: Likewise.
7221 * util/grub.d/00_header.in: Likewise.
7222
7024b3c0
CW
72232012-12-28 Colin Watson <cjwatson@ubuntu.com>
7224
7225 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7226
7227 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7228 HAVE_RAW_DECL_GETS.
7229 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7230
e3501b13
VS
72312012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7234 Reported by: Eriks Latosheks <foresterlv>.
7235
b40c88a9
VS
72362012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * docs/grub.texi (Network): Update instructions on generating netboot
7239 image.
7240
ce96d01c
VS
72412012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7244 around device name if necessarry.
7245
0f596201
PFS
72462012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7247
7248 * util/grub-install.in: Follow the symbolic link parameter added
7249 to the file command.
7250
600d5bdb
AB
72512012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7252
7253 * util/grub-install.in: Remove stale TODO.
7254
64ebd2f4
PFS
72552012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7256
7257 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7258 dynamic allocation for the bootpath buffer.
7259
74b2fe3e
DTB
72602012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7261
7262 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7263 window too small.
7264
969b804f
VS
72652012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7268 argument rather than font name. All users updated.
7269 (grub_gfxterm_set_window): Likewise.
7270
b9f5ebd6
VT
72712012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7272
7273 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7274 from working.
7275
258f43b7
VS
72762012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * util/getroot.c (convert_system_partition_to_system_disk): Support
7279 nbd disks.
7280
cc1ce5f9
VS
72812012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7284 infinite loop on corrupted FS.
7285
e77a16ca
VS
72862012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 Fix big-endian mtime.
7289
7290 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7291 together sec and usec.
7292 (grub_ufs_dir): Use correct byteswapping for UFS time.
7293
d9c48c7b
VS
72942012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 Support big-endian UFS1.
7297
7298 * Makefile.util.def (libgrubmods): Add ufs_be.c
7299 * grub-core/Makefile.core.def (ufs1_be): New module.
7300 * grub-core/fs/ufs_be.c: New file.
7301 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7302 the file.
7303
2f9f40ba
LL
73042012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7305
7306 * include/grub/types.h: Fix functionality unaffecting typo in
7307 GRUB_TARGET_WORDSIZE conditional macro.
7308
48ff0889
PFS
73092012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7310
7311 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7312
03711240
GS
73132012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7314
7315 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7316 that /netbsd appears first (when it exists).
7317
a31b11bd
CJ
73182012-10-12 Christoph Junghans <ottxor@gentoo.org>
7319
7320 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7321 Fixes Savannah bug #37558.
7322
e8a5d5d4
CW
73232012-10-12 Colin Watson <cjwatson@ubuntu.com>
7324
7325 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7326 description of extract_entries_configfile.
7327
73282012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7329
7330 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7331 preferred_address.
7332 (grub_cmd_linux): Likewise.
7333 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7334 preferred_lifetime. Update all users.
7335
288c757d
CW
73362012-09-26 Colin Watson <cjwatson@ubuntu.com>
7337
7338 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7339 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7340
0d35da3f
CW
73412012-09-26 Colin Watson <cjwatson@ubuntu.com>
7342
7343 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7344 errors from grub-probe to /dev/null, not stdout.
7345
b78c3127
VS
73462012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7349 sector 1.
7350
473959f0
CW
73512012-09-24 Colin Watson <cjwatson@ubuntu.com>
7352
7353 * util/grub-install.in: Make the error message if $source_dir
7354 doesn't exist more useful.
7355
794c8c33
CW
73562012-09-22 Colin Watson <cjwatson@ubuntu.com>
7357
7358 Fix grub-emu build on FreeBSD.
7359
7360 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7361 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7362 headers on Linux.
7363 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7364 implementation is currently Linux-specific.
7365 * util/getroot.c (exec_pipe): Define only on Linux or when either
7366 libzfs or libnvpair is unavailable.
7367 (find_root_devices_from_poolname): Remove unused path variable.
7368
86d08fdb
CW
73692012-09-19 Colin Watson <cjwatson@ubuntu.com>
7370
7371 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7372 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7373 should fit before end == 63.
7374
735abf54
CW
73752012-09-19 Colin Watson <cjwatson@ubuntu.com>
7376
7377 * util/grub-setup.c (write_rootdev): Remove unused core_img
7378 parameter. Update all callers.
7379 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7380 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7381 GRUB_SETUP_BIOS.
7382
140acd3c
VS
73832012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7386 (grub_add_tab): New function.
7387 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7388 * util/grub.d/10_illumos.in: Likewise.
7389 * util/grub.d/10_kfreebsd.in: Likewise.
7390 * util/grub.d/10_linux.in: Likewise.
7391 * util/grub.d/10_netbsd.in: Likewise.
7392 * util/grub.d/10_windows.in: Likewise.
7393 * util/grub.d/10_xnu.in: Likewise.
7394 * util/grub.d/20_linux_xen.in: Likewise.
7395 * util/grub.d/30_os-prober.in: Likewise.
7396
7ddffdad
VS
73972012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7400 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7401 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7402 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7403 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7404 ieee1275-nocursor.
7405 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7406 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7407
4e092454
VS
74082012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7411 le-conversion.
7412 Reported by: BURETTE, Bernard.
7413
735abf54 74142012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7415
7416 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7417 from comment.
7418
dfd39dbd
CW
74192012-09-14 Colin Watson <cjwatson@ubuntu.com>
7420
7421 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7422 IEEE1275 machines. Fixes powerpc-emu compilation.
7423 * include/grub/terminfo.h: Likewise.
7424
3bfa763c
VS
74252012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7428 a const pointer.
7429 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7430 const pointer.
7431 (efiemu_set_variable): Make vendor_guid a const pointer.
7432
250e475b
VS
74332012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 Don't require grub-mkconfig_lib to generate manpages for programs.
7436
7437 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7438 dependencies, don't add grub-mkconfig_lib.
7439 (program): Pass empty adddeps.
7440 (script): Pass grub-mkconfig_lib as adddeps.
7441
592fd0e4
VS
74422012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7445 * util/getroot.c (grub_find_device): Likewise.
7446 (get_mdadm_uuid): Likewise.
7447 (grub_util_is_imsm): Likewise.
7448 (grub_util_pull_device): Likewise.
7449 * util/grub-probe.c (probe): Likewise.
7450
801a3027
BG
74512012-09-10 Benoit Gschwind <gschwind>
7452
7453 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7454 (devs): Add devpath_8.
7455
c5052c81
PJ
74562012-09-08 Peter Jones <pjones@redhat.com>
7457
7458 * grub-core/Makefile.core.def (efifwsetup): New module.
7459 * grub-core/commands/efi/efifwsetup.c: New file.
7460 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7461 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7462 New define.
7463 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7464
8e832f71
JS
74652012-09-05 Jiri Slaby <jslaby@suse.cz>
7466
7467 * configure.ac: Add SuSe path.
7468
f0f55752
CW
74692012-09-05 Colin Watson <cjwatson@ubuntu.com>
7470
7471 * NEWS: Fix typo.
7472
ecadc4c2
CW
74732012-09-05 Colin Watson <cjwatson@ubuntu.com>
7474
7475 * util/import_gcry.py: Sort cipher_files, to make build system
7476 generation more deterministic.
7477
64498f25
VS
74782012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7481 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7482 (grub_set_datetime): Likewise.
7483
9cc836a2
VS
74842012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7487 warnings.
7488
bcfcea01
VS
74892012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7492
a4099485
VS
74932012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7496
265c162a
CW
74972012-09-04 Colin Watson <cjwatson@ubuntu.com>
7498
7499 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7500 required for checkouts from bzr, but it may be useful for users or
7501 distributors wishing to update translations against a tarball
7502 distribution, and it can be helpful for the tarball to be a superset
7503 of what's in bzr.
7504
3d171e95
CW
75052012-09-04 Colin Watson <cjwatson@ubuntu.com>
7506
7507 * Makefile.am (EXTRA_DIST): Add
7508 grub-core/tests/boot/linux.init-mips.S,
7509 grub-core/tests/boot/linux.init-ppc.S, and
7510 grub-core/tests/boot/linux-ppc.cfg.
7511
f2c2503e
CW
75122012-09-04 Colin Watson <cjwatson@ubuntu.com>
7513
7514 * grub-core/mmap/mips/loongson: Remove empty directory.
7515
75162012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7517
7518 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7519 gone.
7520
ab2163d5
CW
75212012-09-04 Colin Watson <cjwatson@ubuntu.com>
7522
7523 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7524 grub-sparc64-setup.
7525
ce938140
GS
75262012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7527
7528 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7529
529f58a5
GS
75302012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7531
7532 * po/POTFILES.in: Regenerated.
7533
16cf79e9
GS
75342012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7535
7536 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7537 (NetBSD): New subsection.
7538
39b27f1e 75392012-07-22 Ales Nesrsta <starous@volny.cz>
7540
7541 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7542 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7543
a885261b
VS
75442012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7547 * util/grub.d/10_hurd.in: Add missing quoting.
7548 * util/grub.d/10_illumos.in: Likewise.
7549 * util/grub.d/10_kfreebsd.in: Likewise.
7550 * util/grub.d/10_linux.in: Likewise.
7551 * util/grub.d/20_linux_xen.in: Likewise.
7552
7bd29c01
VS
75532012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 New command `lsefi'.
7556
7557 * grub-core/Makefile.core.def (lsefi): New module.
7558 * grub-core/commands/efi/lsefi.c: New file.
7559 * include/grub/efi/api.h: Add more GUIDs.
7560
ac625d8f
VS
75612012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7564 (grub_bsd_elf32_hook): Likewise.
7565 (grub_bsd_elf64_size_hook): Likewise.
7566 (grub_bsd_elf64_hook): Likewise.
7567 (grub_bsd_load_elf): Likewise.
7568
e73bb801
VS
75692012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7572 if hash function is unavailable.
7573 (dec_stream_header): Likewise.
7574
e81db8b5
VS
75752012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7578 filter state.
7579
d187a1c3
VS
75802012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 Fix coreboot compilation.
7583
7584 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7585 (grub_vga_text_init_real): ... this.
7586 (grub_vga_text_fini): Rename to ...
7587 (grub_vga_text_fini_real): ... this.
7588
91a05f64
VS
75892012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7592
6af96df7
VS
75932012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/lib/legacy_parse.c: Support clear and testload.
7596
4d569e12
VS
75972012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7600
073b57bb
VS
76012012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7604
a706f4cc
VS
76052012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * grub-core/net/tftp.c (ack): Fix endianness problem.
7608 (tftp_receive): Likewise.
7609 Reported by: Michael Davidsaver.
7610
e7850aa9
VS
76112012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7614
76152012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7618 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7619 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7620
35692881
VS
76212012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7622
7623 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7624 efi_mmap_size.
7625 Reported by: Stuart Hayes.
7626
c35fc5bd
VS
76272012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7630
7631 * grub-core/Makefile.core.def (mda_text): New module.
7632 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7633 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7634 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7635 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7636 here.
7637 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7638 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7639 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7640 here.
7641 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7642 to ..
7643 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7644 ... here
7645 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7646 here.
7647 * grub-core/term/i386/vga_common.c: Removed.
7648 * include/grub/i386/vga_common.h: Likewise.
7649 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7650 (grub_vga_cr_bw_read): Likewise.
7651 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7652 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7653 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7654 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7655 grub_vga_cr_read/grub_vga_cr_write.
7656 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7657
5f91f701
VS
76582012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * configure.ac: Bump version to 2.00.
7661 * grub-core/normal/main.c (features): Add feature_200_final.
7662
0c4f85f6
VS
76632012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
76642012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7665
7666 * NEWS: Fix unclarity and language mistakes.
7667
f923ad22
VS
76682012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7671 additional size to 3 pages.
7672 Reported by: Stuart Hayes.
7673
d22029ba
VS
76742012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * NEWS: Add 2.00 entry.
7677
58eee08f
VS
76782012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7681 put explicit "/" for empty path.
7682 (wildcard_expand): Improve dprintf.
7683
c59bdff7
VS
76842012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7687 it's equal to currnode. This can happen with "" symlink.
7688
5e6a440a
YB
76892012-06-27 Yves Blusseau <blusseau@zetam.org>
7690
7691 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7692 echo shell command by printf command.
7693
73a68bcb
VS
76942012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7697 the value returned by firmware is the maximal position, not diumension.
7698 (grub_terminfo_output_state): Use a more sane fallback.
7699
392a603b
VS
77002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7703
42d0867f
VS
77042012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7707 frequency to 150 MHz.
7708
489509f4
VS
77092012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 Apple fixes.
7712
7713 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7714 __APPLE_
7715 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7716 definition.
7717 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7718
9f3fc883
VS
77192012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 Handle slash in HFS label.
7722
7723 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7724 (grub_hfs_dir): Tanslate slash.
7725 (grub_hfs_label): Don't translate slash.
7726
54853fd7
VS
77272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7730 network protocol listing since it introduces problematic dependency on
7731 net module.
7732
4dc02ddf
VS
77332012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7736
c50c867d
VS
77372012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 Init video early on yeeloong to avoid being rebooted by watchdog.
7740
7741 * grub-core/Makefile.am (gensm712): New target.
7742 (sm712_start.S): Likewise.
7743 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7744 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7745 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7746 description.
7747 * include/grub/vga.h: Move registry definitions to...
7748 * include/grub/vgaregs.h: ... here.
7749
5f92c8a1
VS
77502012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7753 signedness.
7754
e9e6f111
VS
77552012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7758 platforms with firmware disk drivers in the core.
7759
754ad9eb
VS
77602012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7763 informative verbose message.
7764 (read_lv): Handle 64-bit segment size.
7765
315654c2
VS
77662012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7769
fb022c79
VS
77702012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7773 character but still remove trainling spaces.
7774 (grub_fat_label): Ignore archive flag.
7775
8645f72c
VS
77762012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7779 cast between linux_kernel_header and linux_kernel_params.
7780
36498496
VS
77812012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7784 type for size.
7785 (grub_raid6_recover_func_t): Likewise.
7786 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7787 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7788
0b5ea6b8
VS
77892012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7792
650cfcfe
GS
77932012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7794
7795 Fix overflow.
7796
7797 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7798 [__NetBSD__]: Add explicit cast before bitshift.
7799
8a4d6a44
VS
78002012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * configure.ac: Bump to 2.00~rc1.
7803
2fb97ed3
VS
78042012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7807 half of $a0.
7808
1fa097dc
VS
78092012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
78102012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7811
7812 * docs/grub.texi: Fix search syntax.
7813 (Multi-boot manual config): Put msdos rather than GPT example.
7814 Grammar corrections.
7815
c890ba78
VS
78162012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7819
0f92dca7
VS
78202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7823
3988c4a0
VS
78242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7827 message on double free. Put the value of magic in case of mismatch.
7828
9e86d4c5
VS
78292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Speed-up video on yeeloong.
7832
7833 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7834 add cached_ptr.
7835 (grub_video_sm712_video_fini): Unmap cached_ptr.
7836 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7837 (grub_video_sm712_set_active_render_target): Removed.
7838 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7839 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7840 sync caches.
7841
ed24c312
VS
78422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 Avoid flushing the same line multiple times on loongson.
7845
7846 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7847 Step in 32 bytes and not 1 byte.
7848 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7849 Likewise.
7850
d1718e7d
VS
78512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7854 subvolumes.
7855
982f1909
VS
78562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 Implement flow control for http.
7859
7860 * grub-core/net/http.c (parse_line): Handle response 206.
7861 (http_receive): Stall if too many packets are in the queue.
7862 (http_establish): Fix range header.
7863 (http_seek): Fix double free.
7864 (http_close): Likewise.
7865 (http_packets_pulled): New function.
7866 (grub_http_protocol): Set http_seek
7867 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7868 (ack_real): Set window depending on i_stall.
7869 (grub_net_send_tcp_packet): Likewise.
7870 (grub_net_tcp_stall): New function.
7871 (grub_net_tcp_unstall): Likewise.
7872 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7873 (grub_net_tcp_unstall): Likewise.
7874
bd407d6e
VS
78752012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7878
c7564b8e
VS
78792012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7882
a3706162
VS
78832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * tests/util/grub-shell.in: Fix a typo.
7886
b27069e0
VS
78872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 Implement flow control for tftp.
7890
7891 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7892 packets but stop only if stop condition is satisfied.
7893 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7894 `stall' instead of `eof' as stop condition.
7895 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7896 (http_err): Likewise.
7897 * grub-core/net/tftp.c (ack): Replace the first argument with data
7898 instead of socket.
7899 (tftp_receive): Stall if too many packets are in wait queue.
7900 (tftp_packets_pulled): New function.
7901 (grub_tftp_protocol): Set packets_pulled.
7902 * include/grub/net.h (grub_net_packets): New field count.
7903 (grub_net_put_packet): Increment count.
7904 (grub_net_remove_packet): Likewise.
7905 (grub_net_app_protocol): New field `packets_pulled'.
7906 (grub_net): New field `stall'.
7907
6b9cfac6
VS
79082012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7911 sync part to handle them.
7912
f35abd81
VS
79132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7916 * grub-core/net/drivers/ieee1275/ofnet.c
7917 (grub_ieee1275_net_config_real): Likewise.
7918
0e7ec820
VS
79192012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7922 the direct route for server/gateway.
7923
9d611a31
VS
79242012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7927 IP address to server name since we may not hame the DNS.
7928
418f45ab
VS
79292012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7932 freeing random buffer on failure.
7933 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7934
44a0efc1
VS
79352012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7938
531e2241
VS
79392012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7942 reserved bytes.
7943 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7944 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7945 Handle malloc error correctly.
7946
cde393c9
VS
79472012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7950 blocks.
7951
538478d0
VS
79522012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7955 increment.
7956
9b55efe0
VS
79572012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7960 none is explicitly specified.
7961
9eb832c3
VS
79622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7965 while reallocating.
7966
d6b7c7c9
VS
79672012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 Respect netmask from bootp/dhcp.
7970
7971 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7972 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7973 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7974 into ...
7975 (grub_net_add_ipv4_local): ... this.
7976 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7977 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7978 (grub_net_add_ipv4_local): New proto.
7979
67caf9eb
VS
79802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7983 determining EFI memory map size.
7984
43657558
VS
79852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7988
eb6d0dd3
VS
79892012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7992 when looking for partition separator.
7993
31230544
VS
79942012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7997 Escape commas.
7998
918a2517
VS
79992012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 Restructure FAT driver to avoid hook in label reading as it hits a
8002 GCC bug.
8003
8004 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8005 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8006 (grub_fat_iterate_dir): Split into ...
8007 (grub_fat_iterate_init): ... this, ...
8008 (grub_fat_iterate_fini): ... this, ...
8009 (grub_fat_iterate_dir_next): ... and this. All users updated.
8010
9f1d654e
VS
80112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8014 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8015 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8016 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8017 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8018 New fields last_key and last_key_time.
8019 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8020 extended key-esc into extended key-extended key.
8021
52f0f643
VS
80222012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 Avoid unnecessary memcpy of whole video buffer.
8025
8026 * grub-core/video/fb/video_fb.c (dirty): New struct.
8027 (framebuffer): Add members current_dirty and previous_dirty.
8028 (dirty): New function.
8029 (grub_video_fb_fill_rect): Update dirty.
8030 (common_blitter): Likewise.
8031 (grub_video_fb_scroll): Likewise.
8032 (doublebuf_blit_update_screen): Copy only dirty part.
8033 (doublebuf_pageflipping_update_screen): Likewise.
8034 (grub_video_fb_doublebuf_blit_init): Init dirty.
8035 (doublebuf_pageflipping_init): Likewise.
8036 (grub_video_fb_setup): Likewise.
8037
e169a180
VS
80382012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8041 poll rate.
8042
48556879
VS
80432012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 Fix wildcard regexp dot and other special characters handling.
8046 Reported by: Robert Mabee.
8047
8048 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
8049 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
8050 (split_path): Trigger expansion on '?'.
8051 (unescape): New function.
8052 (wildcard_expand): Unescape parts copied without globbing.
8053 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
8054 (grub_script_arglist_to_argv): Don't unescape expansions.
8055
0494408e
VS
80562012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * include/grub/net.h (grub_net_card): New member txbufsize.
8059 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8060 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8061 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8062 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8063 txbufsize.
8064 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8065 compatible property to check for macs. Set
8066 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8067 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8068 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8069 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8070 (send_card_buffer): Use txbuf.
8071 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8072 nested function out of the parent while on it.
8073
cc35fe8f
VS
80742012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8077 presence check.
8078 (grub_ieee1275_net_config_real): Fix config pointer.
8079
970a0a09
VS
80802012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8083 filename parsing to non-block devices.
8084
3e19bf87
VS
80852012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/kern/device.c (grub_device_open): Remove dead code.
8088
c62d1a0c
VS
80892012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
8092 All users updated.
8093
ef76bec3
VS
80942012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
8097 UUID search command even if hints probing failed.
8098
80992012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
8100
8101 * po/POTFILES.in: Regenerated.
8102
70aaf305
VS
81032012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 Speed-up video on fuloong.
8106
8107 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
8108 New function.
8109 (grub_pci_device_unmap_range): Handle non-cached address.
8110 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
8111 add direct_ptr.
8112 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
8113 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
8114 (grub_video_sis315pro_set_active_render_target): Removed.
8115 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
8116 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8117 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
8118 sync caches.
8119 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
8120 New proto.
8121
10400f0b
VS
81222012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * docs/grub.texi (Multi-boot manual config): New section.
8125
ba67e2c6
VS
81262012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 Avoid slow read-back from VRAM.
8129
8130 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8131 Move from here ...
8132 * grub-core/video/fb/video_fb.c
8133 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
8134 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
8135 (front_target): Remove front_target. Add pages.
8136 (grub_video_fb_init): Skip setting front_pages.
8137 (grub_video_fb_fini): Likewise.
8138 (doublebuf_blit_update_screen): Use pages.
8139 (grub_video_fb_doublebuf_blit_init): Likewise.
8140 (doublebuf_pageflipping_init): Allocate offscreen buffer.
8141 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
8142 (grub_video_fb_setup): Prefer doublebuffing.
8143
377c98cb
VS
81442012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
8147 gzio.
8148
eac49cff
VS
81492012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 Add loongson tests.
8152
8153 * tests/util/grub-shell.in: Handle loongson.
8154 * tests/partmap_test.in: Add loongson to the list of platform using ATA
8155 drivers.
8156 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
8157 Reboot instead of shutdown if REBOOT is defined.
8158
0321415e
VS
81592012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
8162 sized ports since unlike on real hardware qemu supports only 32-bit
8163 regs.
8164
3f2bdd8f
VS
81652012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * Makefile.util.def (grub-mkrescue): Enable on loongson.
8168 * util/grub-mkrescue.in: Handle loongson.
8169
29a049c9
VS
81702012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8173 Set is_part appropriately.
8174 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8175 names. Canonicalize partition without full disk.
8176
4abde346
VS
81772012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 Revert usb-quiesce since it's wrong.
8180
8181 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8182 (grub_ofdisk_init): Don't do quiesce.
8183
61f1d93b
VS
81842012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8187 PowerMac workaround to Xserves as well.
8188 Information supplied by: Benjamin Herrenschmidt.
8189
a09eb541
VS
81902012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 Don't assume that beginning address is also the entry point on ppc.
8193
8194 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8195 (grub_linux_boot): Use linux_entry.
8196 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8197 (grub_linux_load64): Likewise.
8198
505b3c9b
VS
81992012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8202
cbe0b4ef
VS
82032012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8206 needlessly lose the console.
8207
3006e981
VS
82082012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8211 space.
8212
4e5a96b0
VS
82132012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8214
7da036bb
VS
8215 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8216 than current grub_get_rtc() not implemented when booted with
8217 coreboot without TSC.
8218
8219 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8220 Add machine/time.h to kernel headers on loongson.
8221 * grub-core/Makefile.core.def (kernel): Remove
8222 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8223 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8224 (grub_get_rtc): Likewise.
8225 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8226 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8227 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8228 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8229 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8230 rather than installing known non-working time source.
8231 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8232 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8233 * include/grub/time.h: Don't include machine/time.h.
8234 * include/grub/efi/time.h: Removed.
8235 * include/grub/i386/efi/time.h: Likewise.
8236 * include/grub/i386/ieee1275/time.h: Likewise.
8237 * include/grub/powerpc/ieee1275/time.h: Likewise.
8238 * include/grub/sparc64/ieee1275/time.h: Likewise.
8239 * include/grub/x86_64/efi/time.h: Likewise.
8240
82412012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
8244
8245 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8246 value.
8247 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8248 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8249 with dotless variants when any combining above is present.
8250
5561c22d
VS
82512012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8254 text and not binary.
8255
96f7e60e
VS
82562012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 Stop polling as soon as we have the packet we were waiting for.
8259
8260 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8261 All users updated.
8262 * grub-core/net/arp.c (have_pending): New var.
8263 (pending_req): Likewise.
8264 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8265 stop indicator.
8266 (grub_net_arp_receive): Set have_pending.
8267 * grub-core/net/dns.c (recv_data): New field stop.
8268 (recv_hook): Set stop.
8269 (grub_net_dns_lookup): Init stop and use as stop condition.
8270 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8271 condition.
8272 * grub-core/net/net.c (grub_net_poll_cards): New argument
8273 stop_condition. Stop when it goes true.
8274 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8275 indicator.
8276 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8277
3e747239
VS
82782012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 Keep TX and RX buffers on EFI rather than always allocate new ones.
8281
8282 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8283 card. All users updated.
8284 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8285 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8286 (get_card_packet): Likewise.
8287 (grub_efinet_findcards): Init new fields.
8288
f695e99a
VS
82892012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8292 compilation error on sparc64.
8293
9e5e66d1
VS
82942012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 Use ITC on IA64 rather than broken routine based on daytime.
8297
8298 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8299 ia64.
8300 (grub_get_rtc) [__ia64__]: Likewise.
8301 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8302 (get_itc): New function.
8303 (grub_rtc_get_time_ms): Likewise.
8304 (grub_machine_init): Calibrate ITC.
8305 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8306 Keep only on non-ia64. Don't export since it's broken and used only
8307 if TSC is unavailable.
8308
a1767404
VS
83092012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8312 even if it's used.
8313 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8314 Skip if parent is unused.
8315
34b2bced
VS
83162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8319
5e619f40
VS
83202012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 Fix wildcard escaping.
8323
8324 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8325 * grub-core/script/execute.c (wildcard_escape): .. to here.
8326 Don't escape dot.
8327 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8328 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8329 Don't escape dot.
8330 * grub-core/script/execute.c (gettext_append): Always escape.
8331 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8332 * grub-core/script/yylex.l: Don't cut away the escaping.
8333 * tests/grub_script_echo1.in: Add tests with wildcard.
8334
c8ca5855
VS
83352012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8336
8337 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8338 (ftdi_hw_configure): Likewise.
8339 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8340 define.
8341 (real_config): Handle 1.5 stop bits.
8342 (pl2303_hw_configure): Likewise.
8343
7183452c
VS
83442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * Makefile.am: Add ppc linux bootcheck.
8347 * grub-core/tests/boot/linux-ppc.cfg: New file.
8348 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8349
f57c84cd
VS
83502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * tests/grub_script_expansion.in: Skip network protocols.
8353
ecfc6207
VS
83542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8357
8d03d284
VS
83582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8361 --rom-directory.
8362 Add -graft-points.
8363
61c42af0
VS
83642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 ESCC serial driver for conducting sautomated tests in qemu.
8367 Not tested on real hardware.
8368
8369 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8370 * grub-core/term/ieee1275/escc.c: New file.
8371 * grub-core/Makefile.core.def (escc): New module.
8372
08fd1291
VS
83732012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8376 invalid on error.
8377 (serial_hw_fetch): Don't read invalid handle.
8378 (serial_hw_put): Don't write into invalid handle.
8379
08dafeea
VS
83802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 Add a 1.5 stop bits value.
8383
8384 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8385 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8386 GRUB_SERIAL_STOP_BITS_1_5.
8387
9068fdcf
VS
83882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8391 value rather than let it uninited.
8392
f4d5820f
VS
83932012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/commands/wildcard.c (+check_file): New function.
8396 (wildcard_expand): Don't expand to non-existing files, expand with
8397 suffix and not attempt to expand if not needed.
8398
3d2de9a7
VS
83992012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8402 out of partitions containing other partitions.
8403
c5c81ff9
VS
84042012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8407 on some qemu versions with GRUB.
8408
8409 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8410 define.
8411 (grub_openbsd_bootarg_pcibios): New struct.
8412 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8413 Add PCIINFO.
8414
08a14e0b
VS
84152012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * tests/util/grub-shell.in: Trim firmware output on EFI.
8418
cede3ca3
VS
84192012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8422 and coreboot since it's already in kernel.
8423
558d3a60
VS
84242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8427 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8428 to here. New return value start. All users updated.
8429 Recursively scan linear mappings.
8430 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8431 proto.
8432 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8433 Use grub_util_get_dm_node_linear_info.
8434 * util/getroot.c (convert_system_partition_to_system_disk): Use
8435 grub_util_info rather than grub_dprintf.
8436 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8437
60fde14d
VS
84382012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8441
8442 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8443 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8444
24bd8838
VS
84452012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * include/grub/types.h (grub_set_unaligned64): New function.
8448 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8449 (setup): Likewise.
8450
7bc06a49
VS
84512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8454 (grub_ofdisk_fini): Quiesce USB devices.
8455
49cea015
VS
84562012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8459 caches.
8460
8dcbe03b
VS
84612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8464
5b258735
VS
84652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * grub-core/disk/pata.c (grub_pata_pio_read)
8468 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8469 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8470
37ba07eb
VS
84712012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 Extend automated tests to qemu-mips.
8474
8475 * Makefile.am: reorganise tests and enable qemu-mips.
8476 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8477 * grub-core/tests/boot/linux.init-mips.S: New file.
8478 * tests/partmap_test.in: Handle ata0 disks.
8479 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8480 non-pc i386.
8481
070038f8
VS
84822012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8485 ia64.
8486 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8487 quotes while on it.
8488
004be2cd
VS
84892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8492 (grub_halt): Likewise.
8493 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8494
b1622487
VS
84952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * grub-core/term/serial.c (grub_serial_register)
8498 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8499 the behaviour in line with x86 platforms.
8500
b7b4ab33
VS
85012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8504 (grub_ata_strncpy): Likewise.
8505 (grub_ata_identify): Add missing byteswaps.
8506
5e3535ae
VS
85072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8510 byte-swap.
8511 (screen_read_char): Likewise.
8512 (grub_vga_text_cls): Likewise.
8513
c21b17e6
VS
85142012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8517 filenames.
8518 (make_file_path): Likewise.
8519
bf293dec
VS
85202012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8523 machines.
8524 Tested by: Paulo Flabiano Smorigo.
8525 Crucial information about API supplied by: Coleen <Last name unknown>.
8526 Reviewed by: Coleen <Last name unknown>.
8527
81f6ef0e
VS
85282012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * util/grub-mkimage.c: Disable -Wcast-align.
8531
7284143a
VS
85322012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8535 as they are fatal.
8536
b99f3e00
VS
85372012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8540
944f752d
VS
85412012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * util/grub-probe.c (escape_of_path): Fix double free.
8544
6cce6f38
VS
85452012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/commands/videoinfo.c (hook): Show pitch.
8548
1e1eb50e
VS
85492012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8552
1c715b5a
VS
85532012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8556 (probe): Add ieee1275 to OFW devices.
8557
007ae52d
VS
85582012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8561
4557a36d
VS
85622012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 Handle IBM OFW path.
8565
8566 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8567 available.
8568 (of_path_of_scsi): Handle vdevice.
8569
efbeefe9
VS
85702012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8573 Allocate in multiples of 16 to avoid adding a few bytes free region the
8574 windows bugs upon.
8575
15a940bb
VS
85762012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8579 Allocate in multiples of 16 to avoid adding a few bytes free region the
8580 windows bugs upon.
8581 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8582
6e5efd60
VS
85832012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8586 resolutions.
8587 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8588 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8589
0d3d137e
IS
85902012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8591
8592 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8593
45dbe300
VS
85942012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8597 resulted in \\ at the end of the line.
8598
6d8db947
VS
85992012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8602 (grub_parser_cmdline_state): Likewise.
8603 (grub_parser_split_cmdline): Likewise.
8604
de89d338
VS
86052012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8608 /dev/root and /dev/dm-*.
8609
00d41dee
VS
86102012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8613 fix partially stale display.
8614
f95d1f11
VS
86152012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8618 substraction.
8619
6297e197
VS
86202012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8623 Fix MBR remapping workaround.
8624 (grub_util_biosdisk_read) [__linux__]: Likewise.
8625
8a7ecad3
VS
86262012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8629
2b34f944
VS
86302012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * configure.ac: Bump to beta6.
8633
684aef11
CW
86342012-05-31 Christer Weinigel <christer@weinigel.se>
8635
8636 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8637
05b0bb91
VS
86382012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8641 (grub_cmd_linux): Likewise.
8642
bda36bfa
CW
86432012-05-31 Christer Weinigel <christer@weinigel.se>
8644
8645 Fix EHCI low-speed.
8646
8647 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8648 (GRUB_EHCI_MULT_TWO): Likewise.
8649 (GRUB_EHCI_MULT_THREE): Likewise.
8650 (GRUB_EHCI_CMASK_MASK): New enum value.
8651 (GRUB_EHCI_SMASK_MASK): Likewise.
8652 (GRUB_EHCI_CMASK_OFF): Likewise.
8653 (GRUB_EHCI_SMASK_OFF): Likewise.
8654 (grub_ehci_pci_iter): Enable periodic schedule.
8655 (grub_ehci_parse_notrun): Likewise.
8656 (grub_ehci_restore_hw): Likewise.
8657 (grub_ehci_setup_qh): Set flags for low speed transfers.
8658 (grub_ehci_find_qh): Use periodic list for low speed.
8659 (grub_ehci_setup_transfer): Check periodic queue as well.
8660 (grub_ehci_check_transfer): Likewise.
8661 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8662
e12bcb1c
PFS
86632012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8664
8665 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8666 parameter is used.
8667
bcc75fb3
PJ
86682012-05-31 Peter Jones <pjones@redhat.com>
8669
8670 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8671 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8672 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8673
f19cb95e
VS
86742012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8677 uninited variable. Allocate at least setup_sects.
8678
a4e5ca80
VS
86792012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 Fix handling of EFI with big memory maps.
8682
8683 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8684 (real_mode_mem): Likewise.
8685 (real_mode_target): Likewise.
8686 (real_mode_pages): Likewise.
8687 (prot_mode_pages): Likewise.
8688 (linux_params): New var.
8689 (linux_cmdline): Likewise.
8690 (free_pages): Don't set real mode variables.
8691 (allocate_pages): Don't allocate real mode memory.
8692 (grub_e820_add_region): Remove the limit.
8693 (grub_linux_boot): Allocate and copy real mode memory.
8694 (grub_linux_unload): Free linux_cmdline.
8695 (grub_cmd_linux): Use temporary storage for parameters.
8696 (grub_cmd_initrd): Likewise.
8697 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8698 (linux_kernel_params): Make it 1K big.
8699
ddb73558
VS
87002012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * Makefile.util.def: Remove -Wno-format.
8703 * grub-core/Makefile.core.def: Likewise.
8704
1c4afb60
VS
87052012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * tests/cmp_unit_test.c: Add missing failure message.
8708 * tests/example_unit_test.c: Likewise.
8709 * tests/printf_unit_test.c: Likewise.
8710
941e3a6d
VS
87112012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8714 relaxation of protective MBR requirements.
8715
b105df76
VS
87162012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * configure.ac: Add condition for COND_HOST_XNU.
8719 * Makefile.util.def (10_xnu): New script.
8720 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8721
84e1569e
VS
87222012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8725 objconv bug.
8726
130c0f77
VS
87272012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8730 Binary on other platforms stays identical.
8731
6fd0b143
VS
87322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8735 Apple.
8736
0af1751d
VS
87372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8740
176d5f7d
VS
87412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8744 rather than defining size_t ourselves to avoid conflict.
8745
7de5e20a
VS
87462012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8749 initialisation to avoid __bzero reference.
8750
f7143efe
VS
87512012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8754 version.
8755 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8756 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8757 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8758 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8759 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8760
e6ad0555
VS
87612012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8764 * grub-core/kern/misc.c: Likewise.
8765 * grub-core/loader/i386/xnu.c: Likewise.
8766 * include/grub/i386/tsc.h: Likewise.
8767 * include/grub/symbol.h: Likewise.
8768
4a5a3c4a
VS
87692012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8772 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8773 on older compiler.
8774
037f6d90
VS
87752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8778 Implement Apple flavour.
8779 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8780
f7194551
VS
87812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8784 (memmove) [__APPLE__]: Likewise.
8785 (memcpy) [__APPLE__]: Likewise.
8786 (memset) [__APPLE__]: Likewise.
8787 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8788 (memmove) [__APPLE__]: Likewise.
8789 (memcpy) [__APPLE__]: Likewise.
8790 (memset) [__APPLE__]: Likewise.
8791
85a730ca
VS
87922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8795 dependency discard.
8796
40e80b94
VS
87972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/normal/main.c (read_config_file): Provide config_file and
8800 config_directory.
8801 * util/grub.d/41_custom.in: Use config_directoy when available.
8802
9da59c32
VS
88032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8806 (grub_bfs_dir): Likewise.
8807
2787ae53
PJ
88082012-05-27 Peter Jones <pjones@redhat.com>
8809
8810 The old code gives arguments to a printf function which can't work
8811 correctly, and the compiler complains.
8812
8813 * grub-core/tests/example_functional_test.c (example_test): Add
8814 missing text.
8815 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8816 * include/grub/test.h (grub_test_assert_helper): New declaration.
8817 (grub_test_assert): Use grub_test_assert_helper.
8818
526ef13d
VS
88192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8822 (exfctest): ... this to avoid overlong filenames.
8823 All users updated.
8824
20dd511c
VS
88252012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Handle "." and ".." on squashfs.
8828
8829 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8830 Make inode numbers into stack.
8831 (grub_squash_read_symlink): Use stack.
8832 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8833 (make_root_node): Fill stack.
8834 (grub_squash_open): Use stack.
8835
1d80c62a
VS
88362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8839 freeing.
8840
d336f652
VS
88412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8844 stderr on test calls.
8845
8b43f587
VS
88462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8849
80a3dc3f
VS
88502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8853
47e297d4
VS
88542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8857 "..".
8858
df042ccb
VS
88592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8862 (grub_hfsplus_iterate_dir): Add "." and "..".
8863
fc977f48
VS
88642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8867 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8868
f3250e5f
VS
88692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8872 (find_path): Handle "." and "..".
8873
fd8ed4c5
VS
88742012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8877 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8878 (grub_affs_iterate_dir): Handle hardlinks.
8879
4ce776d2
MG
88802012-05-26 Matthew Garrett <mjg@redhat.com>
8881
8882 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8883 (grub_efi_console_fini): Likewise.
8884 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8885 (grub_video_gop_fill_mode_info): Rename to ...
8886 (grub_video_gop_fill_real_mode_info): ... this.
8887 (grub_video_gop_fill_mode_info): New function.
8888 (grub_video_gop_setup): Setup double framebuffer.
8889 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8890 Free offscreen.
8891 (grub_video_gop_swap_buffers): Copy framebuffer.
8892 (grub_video_gop_fini): Free offscreen buffer.
8893 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8894 New enum.
8895 (grub_efi_gop_blt_pixel): New struct.
8896
683031ba
VS
88972012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 * gentpl.py: Remove error disabling for objconv.
8900
c2deb798
VS
89012012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * configure.ac: Remove -Wunitialized as it's not available on older
8904 compilers.
8905
89062012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8907
8908 Fix extent overflow comparator.
8909
8910 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8911 (grub_hfsplus_read_block): Set type.
8912 (grub_hfsplus_cmp_extkey): Compare type.
8913
d6b1fd36
VS
89142012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8917
0a9aa0f6
VS
89182012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8921 than 0.
8922
8360e159
VS
89232012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8926 (dejavu_bold_14.pf2): New target.
8927
501b9e4b
VS
89282012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * configure.ac: Fix djvu font detection.
8931
7026b0e2
VS
89322012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8935 ext* instead of ext2.
8936
c2a51ade
VS
89372012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8940 name with \0.
8941
8f803a5d
JU
89422012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8943
8944 * docs/grub-dev.texi: Remove dot from .png.
8945
13c6353f
VS
89462012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8949 protective entry in any slot.
8950 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8951 if protective entry is found in any slot.
8952
8953 Protective entry in non-first slot make no sense but is a widespread
8954 brain damage.
8955
4cf6be1b
VS
89562012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8959
937d1c44
VS
89602012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8963 with old reiserfs.
8964 (grub_reiserfs_open): Don't free root.
8965
021d90ec
VS
89662012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8969 after freeing for safety.
8970
967b2b64
VS
89712012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8974 Reported by: Jordan Uggla.
8975
34274d02
JU
89762012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8977
967b2b64
VS
8978 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8979 actual implementation. Specifically, clarify that the grub menu will
8980 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8981 passed.
34274d02 8982
dcaaae9d
BH
89832012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8984
8985 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8986 of r0.
8987
7086ad52
VS
89882012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 Remove unjustified hard dependency of normal.mod on gfxterm.
8991
8992 * include/grub/term.h (grub_term_output): New member fullscreen.
8993 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8994 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8995 (grub_gfxterm): Set .fullscreen.
8996 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8997 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8998
37ed2c9b
VS
89992012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9002 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 9003 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 9004
a4469c88
VS
90052012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9008
4e461486
VS
90092012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9012 a bad FS.
9013
aa78f5c4
VS
90142012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9017 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9018
197626b5
VS
90192012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9022 (grub_jfs_mount): Fill caseins.
9023 (grub_jfs_find_file): Respect caseins.
9024
8ad3f28c
VS
90252012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9028 through UTF-16.
9029
0c6c324e
VS
90302012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9033 New argument origpath. All users updated.
9034
c6666ba6
VS
90352012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9038 (read_attr): Ensure that we read start of possibly compressed block.
9039
e28e5fe5
VS
90402012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9043 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9044 All users updated.
9045
5fc23ab2
VS
90462012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
9049 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
9050 (dejavu.pf2): Replace with ...
9051 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
9052 this.
9053
79dbc21c
VS
90542012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * util/grub.d/20_linux_xen.in: Add missing line.
9057
d2fcfb0c
VS
90582012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9061 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9062 (grub_utf16_to_utf8): Likewise.
9063
5560e9d6
VS
90642012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9067 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9068 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9069 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9071 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9072
90732012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
9074
9075 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9076 a bad FS.
9077
5560e9d6 90782012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
9079
9080 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9081 (grub_udf_read_symlink): Handle read_string failure.
9082
5eae3175
VS
90832012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
9086 comment.
9087
c1ad82db
VS
90882012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 Fix handling of UDF symlinks.
9091
9092 * grub-core/fs/udf.c (read_string): New argument outbuf.
9093 All users updated.
9094 (grub_ufs_read_symlink): Rename to ...
9095 (grub_udf_read_symlink): ... this. All users updated.
9096 Handle symlinks with more than one component.
9097
33eca6e0
VS
90982012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
9101 symlinks. Replace leading colon with a slash.
9102
57f4a70b
VS
91032012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
9106 filename.
9107
38c8ee20
VS
91082012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
9111 match in inner node.
9112
2e57f28f
VS
91132012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
9116 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
9117 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
9118 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
9119 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
9120 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
9121 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
9122 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
9123 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
9124
fe8c2f11
VS
91252012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 Use grub-probe and not cmp to check that disk is empty.
9128
9129 * util/grub-install.in: Use grub-probe for zero-check.
9130 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
9131 (probe): Handle PRINT_ZERO_CHECK.
9132 (argp_parser): Handle -t zero_check.
9133
91342012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
9135
9136 Flush block cache on adding disk to device map.
9137
9138 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
9139 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
9140 adding.
9141 (read_device_map): Likewise.
9142 (open_device): Flush on opening.
9143
690434e8
VS
91442012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
9147 (handle_symlink): Fix off-by-one error.
9148 Canonicalize the target.
9149 (grub_cpio_dir): Canonicalize the name.
9150 Fix memory leak.
9151 Set directory.
9152 (grub_cpio_open): Canonicalize the name.
9153
742d2be6
VS
91542012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
9157 handling.
9158
3244fe96
VS
91592012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
9162 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
9163
8aeb1837
VS
91642012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
9167 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 9168 All users updated.
8aeb1837 9169
9133fd05
VS
91702012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9173 counterpart.
9174
6d521c5b
VS
91752012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 Fix UFS1 big file support.
9178
9179 * grub-core/fs/ufs.c (INODE): Removed.
9180 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9181 64-bit.
9182 (INODE_MODE): Simplify.
9183 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9184 (grub_ufs_lookup_symlink): Don't use INODE.
9185
21b82e17
VS
91862012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9189
9190 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9191 (grub_minix_data): Replace log_block_size with block_size.
9192 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9193 (grub_minix_mount): Fill block_size.
9194
91952012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
9196
9197 * configure.ac: Bump to beta5.
9198
f417ed04
VS
91992012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 Fix wrapped HFS+ handling.
9202
9203 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9204 blocks_start. All users updated.
9205 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9206 wrapping offset.
9207 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9208
607d282b
VS
92092012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Fix long symlinks on reiserfs.
9212
9213 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9214 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9215 (grub_reiserfs_iterate_dir): Save size for non-directories.
9216 (grub_reiserfs_open): Don't reread stat block as we already know the
9217 size.
9218 (grub_reiserfs_read): Split into...
9219 (grub_reiserfs_read_real): ... and ...
9220 (grub_reiserfs_read): ...this.
9221
ae16024d
VS
92222012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 Fix non-indexed JFS.
9225
9226 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9227 (grub_jfs_data): New field namecomponentlen.
9228 (grub_jfs_mount): Fill namecomponentlen.
9229 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9230
eea1e26e
VS
92312012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9234 * tests/grub_script_echo1.in: Add tests.
9235
df760f77
VS
92362012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * util/grub-install.in: Ignore empty devicetree directory.
9239
5efb817d
B
92402012-05-08 Bean <bean123ch@gmail.com>
9241
9242 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9243 All users updated.
9244 (free_rsm): Free header as well.
9245 (free_old_fragments): Fix memory leak.
9246 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9247 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9248 (destroy_pq): Likewise.
9249 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9250
668ea6d2
VS
92512012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9254 resulting hash as a precaution.
9255
1739b1fe
VS
92562012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9259 '_' in variable names.
9260 * grub-core/net/net.c (grub_net_network_level_interface_register):
9261 Likewise.
9262
6ae485aa
VS
92632012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 Fix AFFS with non-512B blocks.
9266
9267 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9268 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9269 (grub_affs_data): Replace blocksize with log_blocksize.
9270 (grub_affs_read_block): Fix non-512B blocks.
9271 (grub_affs_read_symlink): Likewise.
9272 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9273 (grub_affs_read): Fix non-512B blocks.
9274 (grub_affs_label): Likewise.
9275 (grub_affs_mtime): Likewise.
9276 (grub_affs_mount): Fix block detection routine.
9277
d20fab84
VS
92782012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 Add filesystem mtime to AFFS.
9281
9282 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9283 (aftime2ctime): New function.
9284 (grub_affs_dir): Use aftime2ctime.
9285 (grub_affs_label): Fix return value.
9286 (grub_affs_mtime): New function.
9287 (grub_affs_fs): Add mtime.
9288
e87b10f5
VS
92892012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9292 UTF-8.
9293
7dceec9b
VS
92942012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9297 UTF-8.
9298
2f48221f
VS
92992012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9302
dacd85cf
VS
93032012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9306 flags.
9307 (FLAGS_CASE_SENSITIVE): New enum value.
9308 (cache_entry): New struct.
9309 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9310 cache_size and cache.
9311 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9312 Add log_blocksize and fshelp_flags.
9313 (grub_sfs_read_extent): Handle non-512 blocks.
9314 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9315 (grub_sfs_read_file): Handle non-512 blocks.
9316 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9317 fshelp_flags.
9318 (grub_sfs_read_symlink): Handle non-512 blocks.
9319 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9320 (grub_sfs_dir): Free cache.
9321 (grub_sfs_close): Likewise.
9322
24e9a854
VS
93232012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9326 filesystems.
9327
62ace64d
VS
93282012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9331
83b2e89c
VS
93322012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9335
75ccaea3
VS
93362012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9339 (grub_sfs_read_extent): Likewise.
9340 (grub_sfs_read_block): Likewise.
9341 (grub_sfs_mount): Likewise.
9342 (grub_sfs_iterate_dir): Likewise.
9343 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9344 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9345
1b8463f2
VS
93462012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 Fix errors on compressed NTFS with 512B clusters.
9349
9350 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9351 types.
9352 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9353 not 0.
9354 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9355 Relax check for inline extents.
9356 (ntfscomp): Return correct -1 on error and not 0.
9357
4f8e368f
VS
93582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * util/grub-install.in: Fix handling of prefix containing spaces.
9361
6f5d5ee8
VS
93622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9365 (grub_squash_read_data): Fix offset byte-swapping.
9366
ce41ab7a
VS
93672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9370 per common usage and preffered in several parts of code.
9371 (grub_memcmp): Likewise.
9372 (grub_strncmp): Likewise.
9373 * include/grub/misc.h (grub_strcasecmp): Likewise.
9374 (grub_strncasecmp): Likewise.
9375 * Makefile.util.def (cmp_test): New test.
9376 (grub_script_strcmp): Likewise.
9377 * tests/cmp_unit_test.c: New file.
9378 * tests/grub_script_strcmp.in: Likewise.
9379 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9380
49717bf4
VS
93812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * include/grub/pci.h: Move enums into no-asm part.
9384
0a308f64
VS
93852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9388
1796965f
ST
93892012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9390
9391 * util/getroot.c (find_hurd_root_device): Try to make error message
9392 and comments to translators clearer.
9393
4e9b2819
VS
93942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9397
076aeb50
VS
93982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9401 btrfs.
9402
19424d94
VS
94032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 * docs/grub.cfg: Update.
9406
ebb73076
VS
94072012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * docs/grub.texi (PXE): Remove not present variables.
9410
9a1b669c
VS
94112012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * grub-core/net/net.c (defserver_set_env): New function.
9414 (defserver_get_env): Likewise.
9415 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9416
d38bf7d3
VS
94172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9420 entries.
9421
94222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9423
9424 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9425 * grub-core/kern/emu/hostdisk.c: Likewise.
9426
e5e4ca48
ST
94272012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9428
9429 Handle hurd userspace partitions.
9430
9431 * util/getroot.c (find_hurd_root_device): New function.
9432 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9433
56bb5dd5
VS
94342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9437 names.
9438 Reported by: Bastian Blank.
9439
9e8bc27a
VS
94402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9443 crossing page boundary.
9444
aa01499d
VS
94452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 Fix B-tree search in BFS, especially in presence of non-ASCII
9448 characters.
9449
9450 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9451 (find_in_b_tree): Use standard bsearch + btree algorithm.
9452
57006035
VS
94532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9456 and so on.
9457
9d34bb85
MG
94582012-05-03 Matthew Garrett <mjg@redhat.com>
94592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 Suspend broadcom cards in order to stop their DMA.
9462
9463 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9464 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9465 (pci): Don't build on x86 EFI.
9466 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9467 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9468 New function.
9469 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9470 stop_broadcom if running on EFI.
9471 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9472 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9473 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9474 (grub_pci_find_capability): New proto.
9475
01aab997
VS
94762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 * docs/grub.texi: Remove dot from the extension as it apparently
9479 doesn't work with some makeinfo versions.
9480
fbd8dca6
VS
94812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9484 with GRUB expectance.
9485
dab797f4
VS
94862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9489
1516bfb4
VS
94902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9493 zero after directory block since last entry may be not 0-terminated if
9494 it ends on block boundary. Use continue instead of if spanning whole
9495 loop.
9496
a3a0eace
VS
94972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 Support 4K sectors UDF inline files.
9500
9501 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9502 (grub_udf_extended_file_entry): Likewise.
9503 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9504 All users updated.
9505 (get_fshelp_size): New function.
9506 (grub_udf_read_icb): Read whole block.
9507 (grub_udf_iterate_dir): Likewise.
9508 (grub_udf_dir): Likewise.
9509 (grub_udf_open): Likewise.
9510
c82f16c1
VS
95112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9514
59fd2aac
VS
95152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9518 inline symlinks in addition to workaround.
9519
3b4afb4d
VS
95202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9523
f45c794a
VS
95242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9527
f25cecbd
VS
95282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9531
bb9a34e8
VS
95322012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 Fix reiserfs big seek times.
9535
9536 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9537 exact. All users updated.
9538 (grub_reiserfs_read): Use nearest btree search for seeking.
9539 Fix return value on error.
9540
dc478aea
VS
95412012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9544 entries.
9545 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9546 * docs/grub.texi: Update menuentry description.
9547
8db10f47
VS
95482012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9551 crash when embedding onto filesystem.
9552
bcb288ed
VS
95532012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9556 name.
9557
a626fdd7
VS
95582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9561
b2f68477
VS
95622012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9565 commit.
9566
ba15b2af
B
95672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
95682012-05-01 Bean <bean123ch@gmail.com>
9569
9570 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9571
a188012e
VS
95722012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9575 Special behaviour for len = 0 to read whole file isn't used anywhere and
9576 can cause buffer ovewrflows in several places.
9577
f0a53ed2
VS
95782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9581
5ed554f0
VS
95822012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 Handle RAIDZ on non-512B sectors.
9585
9586 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9587 max_children_ashift.
9588 (fill_vdev_info_real): Fill max_children_ashift.
9589 (read_device): Use max_children_ashift.
9590
ddc58357
VS
95912012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9594
e3282399
VS
95952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9598 disk names.
9599 * docs/grub.texi: Update device.map parts.
9600
ee618bd4
VS
96012012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 Don't scan into non-diskfilter devices having diskfilter names.
9604
9605 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9606 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9607 handling.
9608 (scan_disk_hook): New function.
9609
bdf88864
B
96102012-04-29 Bean <bean123ch@gmail.com>
9611
9612 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9613 allocation.
9614
32745f51
MK
96152012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9616
9617 * configure.ac: Detect starfield theme font path
9618 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9619
bc95c8c0
VS
96202012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9623 geometry on serial consoles.
9624
147fbcab
VS
96252012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9628 because of network consoles.
9629
0f42c889
VS
96302012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9633 handling.
9634
4a3594c9
VS
96352012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9638 falls on Q syndrom.
9639
5cb53879
VS
96402012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9643 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9644
b282dfe5
VS
96452012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9648 Allocate at lest 8192 for temporary buffer as required for lzo.
9649
daa59f47
VS
96502012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9653 to cluster_bits, since it's already added in.
9654 (grub_fat_read_data): Likewise.
9655
986748ce
VS
96562012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9659 as long as cluster size is multiple of 512 bytes.
9660
a20f6ad0
VS
96612012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * util/grub-mkrescue.in: Fix locale directory.
9664
385f9abb
VS
96652012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * grub-core/kern/emu/hostdisk.c (map): Make static.
9668
1c557d30
B
96692012-04-23 Bean <bean123ch@gmail.com>
9670
9671 * util/grub-fstest.c (fstest): Add missing break.
9672
524b5d3a
ST
96732012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9674
9675 Fix hurd build.
9676
9677 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9678 not define nr variable.
fe4824e9 9679 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9680 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9681 grub_find_device): Do not define.
524b5d3a 9682
9a06490c
VS
96832012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 Fix kfreebsd compile and behaviour.
9686
9687 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9688 format-security.
9689 * util/getroot.c: Fix wait.h include.
9690 (grub_guess_root_devices): Error if grub_find_device fails.
9691 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9692 (grub_util_get_dev_abstraction): Likewise.
9693 (grub_util_pull_device): Likewise.
9694 (grub_util_get_grub_dev): Likewise.
9695 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9696
48143d96
VS
96972012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 Fix and unify wholedisk detection.
9700
9701 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9702 is_part. All users updated.
9703 (device_is_wholedisk): Removed.
9704 (grub_util_biosdisk_get_grub_dev): Use is_part.
9705
ebbd24f3
VS
97062012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9709 mode.
9710
56f7aa1e
VS
97112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * configure.ac: Bump to beta4.
9714
9c815e01
VS
97152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9718 --fs-uuid --set UUID syntax.
9719
59e2651a
VS
97202012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9723 disunification.
9724
54e03cfc
VS
97252012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9728
81092a75
MK
97292012-04-18 Mads Kiilerich <mads@kiilerich.com>
9730
9731 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9732
f8315e14
MG
97332012-04-18 Mike Gilbert <floppym@gentoo.org>
9734
9735 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9736
1501ac21
B
97372012-04-18 Bean <bean123ch@gmail.com>
9738
9739 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9740 place.
9741
cb7f944e
VS
97422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9745 users updated.
9746 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9747 corresponding to GRUB partitions.
9748 (grub_util_biosdisk_write): Likewise.
9749
b72d44a1
VS
97502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 Scan mdraid before LVM.
9753
9754 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9755 (grub_diskfilter_register_front): ... this.
9756 (grub_diskfilter_register_back): New function.
9757 All users of grub_diskfilter_register updated.
9758
33d918b8
VS
97592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * util/grub-install.in: Fix an automatic target detection bug.
9762
c6ca973d
VS
97632012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * util/grub-install.in: New option --efi-directory.
9766
b41be562
VS
97672012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9770 boot services if we have no other choice.
9771
97722012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9775 document it.
9776 * tests/util/grub-shell.in: Update to --directory.
9777
e0595a73
VS
97782012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9781
4ed80652
VS
97822012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9785 (grub_minix_read_file): Likewise.
9786 (grub_minix_read_inode): Likewise.
9787 (grub_minix_find_file): Likewise.
9788 (grub_minix_dir): Likewise.
9789
56008077
VS
97902012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * util/grub-setup.c (setup): Fix partition handling and blocklist
9793 check.
9794
ee520775
VS
97952012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9798 redundant buggy overlap check.
9799
16fc9293
VS
98002012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9803 and grub-mknetdir.
9804
9bab65c4
VS
98052012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9808 kh.loadflags on pre-2.00 kernels.
9809
3c491b47
VS
98102012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 Terminate UNDI and PXE before launching the payload to avoid problems
9813 with DMA.
9814
9815 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9816 (grub_loader_flags): ... this. All users updated.
9817 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9818 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9819 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9820 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9821 function.
9822 (grub_pxe_restore): Likewise.
9823 (fini_hnd): New var.
9824 (GRUB_MOD_INIT): Register shutdown hook.
9825 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9826 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9827 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9828 (grub_loader_set): Rename second argument to flags.
9829
851ffada
VS
98302012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9833 written bytes.
9834 (grub_get_num_of_utf8_bytes): New function.
9835 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9836 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9837 executing it.
9838 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9839 (grub_ucs4_to_utf8): Change return type.
9840
491c57a8
VS
98412012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9844 warning.
851ffada
VS
9845 * grub-core/fs/bfs.c (hop_level): Likewise.
9846 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9847
756773df
VS
98482012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/lib/adler32.c: Recode due to license unclearness.
9851
fd556a96
VS
98522012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9855 (test_header): Likewise.
9856
9f9d3f69
VS
98572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 Fix --help formatting.
9860
9861 * util/grub-mkconfig_lib.in (print_option_help): New function.
9862 (grub_fmt): Likewise.
9863 * util/grub-install.in: Use print_option_help and grub_fmt.
9864 * util/grub-kbdcomp.in: Likewise.
9865 * util/grub-mkconfig.in: Likewise.
9866 * util/grub-mknetdir.in: Likewise.
9867 * util/grub-mkrescue.in: Likewise.
9868 * util/grub-mkstandalone.in: Likewise.
9869 * util/grub-reboot.in: Likewise.
9870 * util/grub-set-default.in: Likewise.
9871 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9872
561ec77e
VS
98732012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * linguas.sh: Remove autogenerated *.po.
9876
7ec2b021
VS
98772012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * po/README: Move language fetcing to ...
9880 * linguas.sh: ... here.
9881 * po/README: Point to linguas.sh.
9882
a88f3270
VS
98832012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * po/README: Exclude ko.po due to disclaimer problems.
9886
d61357ce
VS
98872012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9890 len = 0.
9891 (grub_gettext_translate_real): Handle 0th string.
9892 (grub_gettext_translate): Ensure that "" isn't translated.
9893
505e41dc
VS
98942012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9897 TRANSLATORS comment.
9898 (grub_diskfilter_print_partmap): Propagate changing of error into
9899 warning.
9900
e44092db
VS
99012012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9904 to uint64_t to prevent overflow.
9905 (grub_diskfilter_lv): Increase start_extent and extent_count
9906 to uint64_t to prevent overflow.
9907
9b83956a
VS
99082012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * configure.ac: Increase version.
9911
da0d5b3f
VS
99122012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9915
9916 * po/Rules-translit: New file.
9917 * po/arabic.sed: Likewise.
9918 * po/cyrillic.sed: Likewise.
9919 * po/greek.sed: Likewise.
9920 * po/hebrew.sed: Likewise.
9921 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9922 * po/Makefile.in.in: Add extra_dist4.
9923
ac66b453
VS
99242012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9927
9928 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9929 modify names. Introduce MODE_BIGENDIAN.
9930 * grub-core/fs/minix_be.c: New file.
9931 * grub-core/fs/minix2_be.c: Likewise
9932 * grub-core/fs/minix3_be.c: Likewise.
9933 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9934 minix3_be.
9935 * grub-core/Makefile.core.def (minix_be): New module.
9936 (minix2_be): Likewise.
9937 (minix3_be): Likewise.
9938
99392012-04-01 Felix <email@hamburg.de>
9940
9941 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9942 (devs): Add MBP 2011.
9943
0a2d5a82
VS
99442012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9947
d1625889
VS
99482012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 * grub-core/normal/cmdline.c (print_completion): New field
9951 prompt_len.
9952 (grub_cmdline_get): Handle width properly.
9953
6d36a236
VS
99542012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9957
9576977e
VS
99582012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9961 after 29th of February.
9576977e 9962
d73ff15d
VS
99632012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 Fix exfat endianness handling.
9966
9967 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9968 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9969 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9970 Byte-swap utf16 when necessary.
9971 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9972
bbb39a45
AB
99732012-03-31 Anton Blanchard <anton@samba.org>
99742012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 Fix btrfs endianness handling.
9977
9978 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9979 (lower_bound): Make root uint64_t. Use root in le.
9980 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9981 (find_path): Fix template key init.
9982 (grub_btrfs_dir): Fix mtime byteswap.
9983 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9984
354e0af7
VS
99852012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9988 recursion_depth. Break infinite resursions. All users updated.
9989
4e75f21c
VS
99902012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9993 after free.
9994 Reported by: Peter Jones.
9995
25581802
AB
99962012-03-31 Anton Blanchard <anton@samba.org>
9997
9998 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9999 8 bit values.
10000
08fbf92e
VS
100012012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * util/grub-install.in: Fix nvram call for PreP.
10004
5d1182a6
VS
100052012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10008 the error when some elements are missing into a warning.
10009
3f8cdd90
VS
100102012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10013
51006716
CW
100142012-03-28 Colin Watson <cjwatson@ubuntu.com>
10015
10016 * docs/grub.texi (Invoking grub-probe): New section.
10017 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10018
e1bd676b
VS
100192012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 Fix tab and wide character handling in editor and menu.
10022
10023 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10024 agglomerate control characters with combining marks.
10025 (bidi_line_wrap): Allow break on tab.
10026 (grub_unicode_get_comb_start): New function.
10027 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10028 and tab correctly.
10029 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10030 with a space.
10031 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10032 fixed_tab_size. All users updated.
10033 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10034 (grub_term_getcharwidth): Handle \t.
10035 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10036 and copy.
10037
22e6a774
VS
100382012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 Handle big-endian mdraid.
10041
10042 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10043 * grub-core/Makefile.core.def (mdraid09_be): New module.
10044 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10045 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10046 * grub-core/disk/mdraid_linux_be.c: New file.
10047
3c0eae66
VS
100482012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
10051
b6cf74c9
VS
100522012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10055 missing quotes which caused confusion among translators.
10056
83c93b9c
VS
100572012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * util/grub-mkconfig_lib.in: Fix typo.
10060
ac6fd218
VS
100612012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10064 spaces.
10065 * tests/grub_script_leading_whitespace.in: New file.
10066 * Makefile.util.def (grub_script_leading_whitespace): New test.
10067
ba287dd8
VS
100682012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10071 to work.
10072
d2d58d0a
VS
100732012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10076 starts with control character.
10077
0382d9bb
VS
100782012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10081 overflow.
10082 (grub_gdb_outbuf): Likewise.
10083
d83ff9f9
VS
100842012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
10087 zero terminator. Fixes a crash.
10088
2282da4a
VS
100892012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
10092 beyond 4 GiB.
10093 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
10094 images independently of preffered adderss field.
10095
0ae4f0bd
VS
100962012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
10099 * grub-core/commands/regexp.c: Likewise.
10100 * grub-core/loader/i386/linux.c: Likewise.
10101 * grub-core/partmap/msdos.c: Likewise.
10102 * grub-core/script/execute.c: Likewise.
10103 * grub-core/term/gfxterm.c: Likewise.
10104
546fbe9b
VS
101052012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 Add variable parsing in $"..." and fix several mismatches with bash.
10108
10109 * Makefile.util.def (grub_script_gettext): New test.
10110 * grub-core/script/execute.c (parse_string): New function.
10111 (gettext_append): Likewise.
10112 (grub_script_arglist_to_argv): Use gettext_append.
10113 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
10114 * tests/grub_script_gettext.in: New file.
10115
9fdb2d7b
VS
101162012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 Fix handling of leading spaces in scripts.
10119
10120 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
10121 spaces.
10122 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
10123 other than skipping \r. All users updated.
10124 * tests/grub_script_echo1.in: Add space-related tests.
10125 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
10126
1a1ac4f6
VS
101272012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
10130
b63d89b6
VS
101312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * configure.ac: Bump up the version to beta2.
10134
17f38c0f
VS
101352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 Fix gettext reload bugs (e.g. inability to disable gettext
10138 once enabled).
10139
10140 * grub-core/gettext/gettext.c: Encapsulate all static variables in
10141 main_context and secondary_context. All functions updated.
10142 (grub_gettext_translate): Rename to ...
10143 (grub_gettext_translate_real): ... this. Return NULL on failed
10144 translate.
10145 (grub_gettext_translate): Handle secondary context.
10146 (grub_gettext_delete_list): Close file and zero-out the context.
10147 (grub_mofile_open): Don't call grub_gettext_delete_list.
10148 Don't close file.
10149 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
10150 if locale="" to avoid pointless error message.
10151 (grub_gettext_env_write_lang): Update lang even if load fails.
10152 Handle secondary context.
10153 (grub_gettext_reread_prefix): New function.
10154 (read_main): Likewise.
10155 (read_secondary): Likewise.
10156 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
10157 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
10158 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
10159 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
10160
8e56f870
VS
101612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * configure.ac: Decrease warning level to avoid spurious warnings and
10164 to be able to compile with GCC 4.2.
10165 * Makefile.util.def: Remove -Wno-error=logical-op.
10166
82f6d455
WB
101672012-03-10 William Bittner <william.bittner@gmail.com>
10168
10169 * util/import_unicode.py: Add missing brackets around string for
10170 python 3 support.
10171
1ecd61a4
VS
101722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 Fix efi chainloader on network root.
10175
10176 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10177 network devices.
10178 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10179 New function.
10180
14361ee8
VS
101812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10184 unused show_text member.
10185 * docs/grub.texi: Document "text" property.
10186
922aabf3
VS
101872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10190 in dprintf.
10191
ec316771
VS
101922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 Fix IMSM handling on Fedora.
10195
10196 * util/getroot.c (grub_util_is_imsm): New function.
10197 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10198
0f021838
VS
101992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * Makefile.am: Strip gold section.
10202 * conf/Makefile.common: Likewise.
10203 * gentpl.py: Likewise.
10204 * grub-core/Makefile.core.def: Likewise.
10205 * grub-core/genmod.sh.in: Likewise.
10206
1039c8eb
VS
102072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10210 * util/grub.d/20_linux_xen.in: Likewise.
10211 Based on Debian patch.
10212
6dd412cd
VS
102132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * util/grub.d/10_linux.in: Fix syntax error resulting in
10216 Richard Laager's patch.
10217 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10218
3fd8bae5
VS
102192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10222 dependencies.
10223
7eea1671
RL
102242012-03-10 Richard Laager <rlaager@wiktel.com>
10225
10226 * util/grub.d/10_linux.in: Fix ZFS root passing.
10227
e8e0566b
VS
102282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10231 * grub-core/commands/xnu_uuid.c: Likewise.
10232 * grub-core/loader/efi/appleloader.c: Likewise.
10233 * grub-core/script/execute.c: Likewise.
10234 * grub-core/script/main.c: Likewise.
10235 * util/grub-mkfont.c: Likewise.
10236
1acc5b1f
VS
102372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * util/grub-mkfont.c (options): Use more appropriate "select" that
10240 "set" for face index.
10241
35d70620
VS
102422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * util/grub-editenv.c (options): Gettextize command summaries.
10245
c9eb96b5
VS
102462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10249 "out of memory" error messagge.
10250
1f493136
VS
102512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10254 of diskfilter for diskfilter on diskfilter support.
10255
6d790129
VS
102562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10259
005f46c9
VS
102602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10263 themes/starfield.
10264
c8f778a0
VS
102652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10268
de1e64eb
VS
102692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10272
c6d54211
VS
102732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10274
10275 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10276 of error message.
10277
dd390777
VS
102782012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10281
5fd1c522
VS
102822012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10285 message.
c6d54211 10286 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10287
fae01f6c
VS
102882012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10291 Gettextize.
10292 * util/grub-mount.c (options): Likewise.
10293
292fdaff
VS
102942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10297 gettextize.
10298 * grub-core/commands/search_wrap.c (options): Likewise.
10299
ecdbae77
VS
103002012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10303
52bfedfa
VS
103042012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10307 size calculation.
10308 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10309 none is known.
10310
55b20e58
VS
103112012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10314 "temporary" since it's used in identifier and is limited in space.
10315
fda9d101
VS
103162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * po/POTFILES.in: Regenerate. Include *.h since they contain
10319 translatable strings as well.
10320
6a0295e2
VS
103212012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10324 byte-swap on big-endian.
10325 Reported by: Lennart Sorensen
10326
807fb77c
VS
103272012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10330 (allocate_pages): Improve dprintf.
10331 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10332 code32_start. Fill code32_start and kernel_alignment in params.
10333 (grub_cmd_initrd): Use prot_init_space.
10334
61ac50ba
VS
103352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10338
abdd26dd
VS
103392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * util/grub-install.in: Add missing dot at the end of sentence.
10342
6e69da9c
VS
103432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10346 * grub-core/commands/videotest.c: Likewise.
10347 * grub-core/loader/i386/linux.c: Likewise.
10348
4a929343
VS
103492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10352 sentence.
10353 Reported by: Milo Casagrande.
10354
bb51c6c6
VS
103552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10358 * grub-core/commands/gptsync.c: Likewise.
10359 * grub-core/commands/hashsum.c: Likewise.
10360 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10361 * grub-core/commands/legacycfg.c: Likewise.
10362 * grub-core/io/gzio.c: Likewise.
10363 * grub-core/net/net.c: Likewise.
10364 * grub-core/term/gfxterm.c: Likewise.
10365 * grub-core/term/terminfo.c: Likewise.
10366 * grub-core/tests/test_blockarg.c: Likewise.
10367 * grub-core/video/video.c: Likewise.
10368 * util/grub-install.in: Likewise.
10369 * util/grub-mkfont.c: Likewise.
10370
b2b149cb
VS
103712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10374
c7c080ad
VS
103752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10378 Reported by: David Prévot.
c7c080ad 10379
f2e243c0
VS
103802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10383 description.
10384
09963c76
VS
103852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * util/grub-script-check.c (main): Fix a syntax error message which was
10388 unclear.
10389
a50514a8
VS
103902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10393
4650daec
VS
103942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10397 messages.
10398
103992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10400
10401 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10402 without argument.
10403 * util/grub-mount.c (options): Likewise.
10404
bbc5a342
VS
104052012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10408
ef292a87
VS
104092012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * grub-core/net/http.c: Add TRANSLATORS comments.
10412 * grub-core/normal/cmdline.c: Likewise.
10413 * grub-core/normal/misc.c: Likewise.
10414 * grub-core/partmap/msdos.c: Likewise.
10415 * grub-core/parttool/msdospart.c: Likewise.
10416 * grub-core/script/execute.c: Likewise.
10417 * grub-core/script/main.c: Likewise.
10418 * grub-core/term/terminfo.c: Likewise.
10419 * grub-core/video/bitmap.c: Likewise.
10420 * util/grub-install.in: Likewise.
10421 * util/grub-mkimage.c: Likewise.
10422 * util/grub-mklayout.c: Likewise.
10423 * util/grub-setup.c: Likewise.
10424
0fc19bd0
VS
104252012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10428 with similar messages in grub-fstest.
10429
d95862ef
VS
104302012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * util/grub-install.in: Unify "option requires an argument" message
10433 with similar messages in other files.
10434 * util/grub-mkconfig.in: Likewise.
10435
b7308f90
VS
104362012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * util/grub-set-default.in: Replace printf with gettext_printf (the
10439 string in in question is already translated from grub-reboot)
10440
559dc587
VS
104412012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * configure.ac: Bump up the version to beta1.
10444
1a11761f
VS
104452012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10448 case when min_align = 0.
10449
24539abd
VS
104502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10453 and fix a case when line_start overflows.
10454
32bd735b
VS
104552012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * util/grub-reboot.in (usage): Mention id posibility.
10458 * util/grub-set-default.in (usage): Likewise.
10459
1a2fd1e6
VS
104602012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10463 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10464 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10465 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10466 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10467 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10468 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10469
90eeab76
VS
104702012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/commands/menuentry.c (options): Remove
10473 GRUB_ARG_OPTION_REPEATABLE.
10474 Reported by: Andreas Vogel
10475
5ad1be82
AV
104762012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10477
10478 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10479
cb055286
HE
104802012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10481
10482 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10483 error.
10484
93b1cd79
VS
104852012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 Use sort -V by the idea of Georgi Georgiev.
10488
10489 * util/grub-mkconfig_lib.in (version_sort): New function.
10490 (version_test_numeric): Use version_sort.
10491
0cdc126c
VS
104922012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 Use submenus in grub-mkconfig.
10495
10496 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10497 * util/grub-mkconfig_lib.in (grub_quote): New function.
10498 (gettext_printf): Use gettext and not gettext_quoted to fix several
10499 messages.
10500 * util/grub.d/10_hurd.in: Use submenus.
10501 * util/grub.d/10_kfreebsd.in: Likewise.
10502 * util/grub.d/10_linux.in: Likewise.
10503 * util/grub.d/10_netbsd.in: Likewise.
10504 * util/grub.d/20_linux_xen.in: Likewise.
10505 * util/grub.d/30_os-prober.in: Likewise.
10506 * util/grub.d/10_illumos.in: Add missing quoting.
10507 * util/grub.d/10_windows.in: Likewise.
10508
d9bef9bc
VS
105092012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 Fix menu title instability bug.
10512
10513 * grub-core/commands/menuentry.c (options): New option --id.
10514 (grub_normal_add_menu_entry): New argument id. All users updated.
10515 (grub_cmd_menuentry): Handle --id.
10516 (grub_menu_init): Accept unknown arguments.
10517 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10518 feature_menuentry_options.
10519 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10520 saved_entry.
10521 (get_entry_number): Match with id as well.
10522 * include/grub/menu.h (grub_menu_entry): New member id.
10523 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10524 * util/grub.d/00_header.in: Define menuentry_id_option.
10525 * util/grub.d/10_hurd.in: Define id.
10526 * util/grub.d/10_illumos.in: Likewise.
10527 * util/grub.d/10_kfreebsd.in: Likewise.
10528 * util/grub.d/10_linux.in: Likewise.
10529 * util/grub.d/10_netbsd.in: Likewise.
10530 * util/grub.d/10_windows.in: Likewise.
10531 * util/grub.d/20_linux_xen.in: Likewise.
10532 * util/grub.d/30_os-prober.in: Likewise.
10533
105342012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10535
10536 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10537 "scope" with "body".
10538
7c8d0ce7
VS
105392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10542 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10543 prot_size and prot_file_size.
10544
49de079b
VS
105452012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10548 All users updated. If easily=1 require raid-5/-6 to be full.
10549 (is_node_readable): Likewise.
10550 (scan_devices): Scan incomplete but readable LVs at the end.
10551 (grub_diskfilter_memberlist): Pull missing devices.
10552 (insert_array): Skip scanning until device is complete or scan is
10553 done otherwise.
10554 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10555 check.
10556 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10557 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10558
aff05d45
MG
105592012-03-03 Matthew Garrett <mjg@redhat.com>
105602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 Avoid EFI boot services when loading Linux.
10563
10564 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10565 avoid_efi_bootservices. All users updated.
10566 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10567 argument avoid_efi_bootservices. All users updated.
10568 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10569 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10570 align, min_align, relocatable, prefered_address. All users updated.
10571 Allocate avoiding boot services if kernel is relocatable.
10572 (grub_cmd_linux): Check if kernel is relocatable.
10573 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10574 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10575 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10576 avoid_efi_boot_services.
10577 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10578 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10579 (linux_kernel_params): Likewise.
10580
3935dde2
MG
105812012-03-03 Matthew Garrett <mjg@redhat.com>
105822012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 Use EDID on EFI.
10585
10586 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10587 datasize_out.
10588 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10589 modes. Set gop_handle.
10590 (grub_video_gop_get_edid): New function.
10591 (grub_gop_get_preferred_mode): Likewise.
10592 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10593 (grub_video_efi_gop_adapter): Set .get_edid.
10594 * include/grub/efi/edid.h: New file.
10595 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10596
32107ec0
VS
105972012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * util/grub-install.in: Load efivars unconditionally.
10600
e70a2c50
VS
106012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 * po/Rules-piglatin: Change suffix from .po-update-en to
10604 .po-update-en-piglatin.
10605
8f9cace1
VS
106062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 Add a pig farm.
10609
10610 * po/piglatin.sed: New file.
10611 * po/en@piglatin.header: Likewise.
10612 * po/Rules-piglatin: Likewise.
10613 * po/README: Add en@piglatin to autogenerated languages.
10614
8f95d002
VS
106152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10618 "Command for ...".
10619 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10620 "Check" since we don't check anything.
10621 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10622 is 64-bit one.
10623 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10624 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10625 (grub_md_sha512_real): Likewise.
10626
805a8dcc
VS
106272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * grub-core/commands/gptsync.c: Fix typographic quoting.
10630 * grub-core/commands/ieee1275/suspend.c: Likewise.
10631 * grub-core/commands/parttool.c: Likewise.
10632 * grub-core/commands/search_wrap.c: Likewise.
10633 * grub-core/commands/videoinfo.c: Likewise.
10634 * grub-core/gfxmenu/gui_label.c: Likewise.
10635 * grub-core/hello/hello.c: Likewise.
10636 * grub-core/kern/emu/main.c: Likewise.
10637 * grub-core/net/net.c: Likewise.
10638 * grub-core/normal/menu.c: Likewise.
10639 * grub-core/normal/menu_text.c: Likewise.
10640 * grub-core/normal/misc.c: Likewise.
10641 * util/grub-editenv.c: Likewise.
10642 * util/grub-install.in: Likewise.
10643 * util/grub-kbdcomp.in: Likewise.
10644 * util/grub-mkconfig.in: Likewise.
10645 * util/grub-mknetdir.in: Likewise.
10646 * util/grub-mkrescue.in: Likewise.
10647 * util/grub-mkstandalone.in: Likewise.
10648 * util/grub-reboot.in: Likewise.
10649 * util/grub-set-default.in: Likewise.
10650 * util/grub-setup.c: Likewise.
10651 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10652
40211ab8
VS
106532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10656 * grub-core/commands/keystatus.c: Likewise.
10657 * grub-core/commands/loadenv.c: Likewise.
10658 * grub-core/commands/probe.c: Likewise.
10659 * grub-core/commands/regexp.c: Likewise.
10660 * grub-core/commands/true.c: Likewise.
10661 * grub-core/commands/videoinfo.c: Likewise.
10662 * grub-core/disk/cryptodisk.c: Likewise.
10663 * grub-core/disk/ldm.c: Likewise.
10664 * grub-core/disk/loopback.c: Likewise.
10665 * grub-core/disk/luks.c: Likewise.
10666 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10667 * grub-core/kern/disk.c: Likewise.
10668 * grub-core/kern/emu/hostdisk.c: Likewise.
10669
0c7d99c7
VS
106702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10673 * util/grub-install.in: Add missing quote in the comment.
10674
e7d2559b
VS
106752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10678 * grub-core/commands/lsmmap.c: Likewise.
10679 * grub-core/commands/minicmd.c: Likewise.
10680 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10681 * grub-core/commands/regexp.c: Likewise.
10682 * grub-core/gdb/gdb.c: Likewise.
10683 * grub-core/term/gfxterm.c: Likewise.
10684 * util/grub-mkconfig.in: Likewise.
10685 * util/grub-mkfont.c: Likewise.
10686 * util/grub-mklayout.c: Likewise.
10687 * util/grub-mknetdir.in: Likewise.
10688 * util/grub-mkrescue.in: Likewise.
10689 * util/grub.d/30_os-prober.in: Likewise.
10690
49ce9e50
VS
106912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10694 with "Direct color" and "Packed" with "Packed pixel".
10695 (grub_cmd_videoinfo): Simplify legend.
10696
e4b791fa
VS
106972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10700 absolutely unclear error message.
10701
fd1265cb
VS
107022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 * util/grub-mkstandalone.in: Remove confusing leftover print.
10705
8822a8a0
VS
107062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10709 comments.
10710 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10711 (GRUB_MOD_INIT): Likewise.
10712 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10713 VGA mode.
10714 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10715 comments.
10716 * util/grub-install.in (usage): Likewise.
10717 Spell ID in whole letters.
10718 Add missing ending dot.
10719 Quote variables.
10720 * util/grub-reboot.in: Fix capitalisation.
10721 * util/grub-set-default.in: Likewise.
10722
937fd0cc
VS
107232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10726 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10727 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10728 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10729 Disable -Werror for -Wdeprecated-declarations.
10730 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10731 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10732 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10733 (grub_util_get_grub_dev): Make luks handling dependent on
10734 HAVE_DEVICE_MAPPER and not __linux__.
10735 (get_win32_path): Fix format security.
10736 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10737 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10738 Don't try grub_find_zpool_from_dir.
10739 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10740 #ifdef-out paresdir.
10741
1bab1ae3
VS
107422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * util/grub-pe2elf.c (usage): Add missing noreturn.
10745 (write_section_data): Rename name to shname to avoid shadowing.
10746 (write_symbol_table): Rename name to symname to avoid shadowing.
10747 Fix write_reloc_section call.
10748
ef023e42
VS
107492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10750
10751 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10752 to ensure that it's after the last byte of .text.
10753
48afcb75
VS
107542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * util/ieee1275/ofpath.c (my_isdigit): New function.
10757 (trailing_digits): Use my_isdigit.
10758 (strip_trailing_digits): Likewise.
10759
88d51eff
VS
107602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10763 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10764
17edc2ba
VS
107652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * grub-core/kern/i386/pc/startup.S: Define __start.
10768
ad5518d7
VS
107692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10772 strip already transforms he format.
10773
9e95e1bf
VS
107742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10777
9cc3ee5c
VS
107782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * util/grub-install.in: Add missing gettext init.
10781 * util/grub-kbdcomp.in: Likewise.
10782 * util/grub-mkconfig.in: Likewise.
10783 * util/grub-mknetdir.in: Likewise.
10784 * util/grub-mkrescue.in: Likewise.
10785 * util/grub-mkstandalone.in: Likewise.
10786 * util/grub-reboot.in: Likewise.
10787 * util/grub-set-default.in: Likewise.
10788 * util/grub.d/00_header.in: Likewise.
10789 * util/grub.d/10_hurd.in: Likewise.
10790 * util/grub.d/10_windows.in: Likewise.
10791 * util/grub.d/30_os-prober.in: Likewise.
10792 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10793
49e08a06
VS
107942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * po/Rules-swiss: Fix header comment.
10797
3809cb41
AV
107982012-02-29 Andreas Vogel <anvoit>
10799
10800 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10801 resulted in leak of arguments.
10802
fa6ec573
VS
108032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10806 reed_solomon_size const definition instead of computing it since
10807 Apple assembler doesn't support the later.
10808
22899b9c
VS
108092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * gentpl.py (kernel): Rewrite Apple part.
10812
a132afc3
VS
108132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10816
9d742bd4
VS
108172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10820 ELF section gap.
10821 (load_image): Likewise.
10822
f04a9a21
VS
108232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * configure.ac: Fix a typo in previous commit.
10826
46cf439c
VS
108272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 Don't add -Wl,-N on Apple platform.
10830
10831 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10832 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10833
c4c48c54
VS
108342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * grub-core/Makefile.core.def (lzma_decompress): Use
10837 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10838
31a12124
VS
108392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * grub-core/genmod.sh.in: Rewrite the Apple part.
10842
4f3aa1af
VS
108432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10846 comparison.
10847
7bd8b0c7
VS
108482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * acinclude.m4 (grub_CHECK_PIC): New test.
10851 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10852
97304d7c
VS
108532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10856 to avoid the warning.
10857
fb883812
VS
108582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10861 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10862 after. All users updated.
10863
a121c964
VS
108642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 Use the common size routine in hostfs so we can read disks as well.
10867
10868 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10869 (grub_util_get_fd_size): ... this. Return size in bytes.
10870 All users updated.
10871 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10872 grub_util_get_fd_size.
10873
c66d6410
VS
108742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10877 Add blocksize retrieval.
10878
dfc8aeb0
VS
108792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * configure.ac: Restore CFLAGS after efiemu check.
10882
403e25a5
VS
108832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10886 Apple bug.
10887
382775d1
VS
108882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10891
6fd4e6e4
VS
108922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10895 (grub_cmd_halt): Likewise.
10896
bea359d6
VS
108972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10900 for local arithmetics.
10901 Break %sp init into 2 instructions.
10902 Add 0 byte at the end.
10903
32eb6ee1
VS
109042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10907 before loops.
10908
e8377389
VS
109092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10912 for context.
10913
8cb17de7
VS
109142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/disk/ldm.c (make_vg): Init part.name.
10917 (grub_ldm_detect): Silence spurious warning.
10918 (grub_util_is_ldm): Likewise.
10919
595717e6
VS
109202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10923 sane value to avoid a spurious warning.
10924
c4b7e588
VS
109252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10928 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10929
59824957
VS
109302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10933 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10934
70115b99
VS
109352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10938 hardcoding the relevant info.
10939
56733740
VS
109402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10943 missing const qualifiers.
10944 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10945
43481481
VS
109462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * util/getroot.c [__APPLE__]: Add missing includes.
10949 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10950
3cb38f01
VS
109512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10954
d9dbf11e
VS
109552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10958 avoid conflicts.
10959
0c42a45d
VS
109602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10963
46c34eb0
VS
109642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10967 and grub_file_close call.
10968
99ce1597
VS
109692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 Add LZSS Mach-O support (needed for new xnu kernelcache).
10972
10973 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10974 * grub-core/loader/lzss.c: New file.
10975 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10976 on Mach-O open failure.
10977 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10978 Don't free cmdsXX in uncompressedXX is set.
10979 (grub_macho_file): Init new fields.
10980 New argument is_64bit. All users updated.
10981 Handle compressed. Error out if no suitable architecture is found.
10982 Don't close file.
10983 (grub_macho_open): New argument is_64bit. All users updated.
10984 * grub-core/loader/macho32.c: Add defines for new fields.
10985 * grub-core/loader/macho64.c: Likewise.
10986 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10987 (grub_macho_parse): Handle compressed.
10988 Defer actual processing if compressed.
10989 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10990 "filename". All users updated.
10991 (grub_macho_size): New argument "filename". All users updated.
10992 (grub_macho_get_entry_point): Likewise.
10993 (grub_macho_load): Handle compressed.
10994 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10995 (GRUB_MACHO_LZSS_OFFSET): New define.
10996 (grub_decompress_lzss): New proto.
10997 * include/grub/machoload.h (grub_macho_file): New fields to handle
10998 compressed.
10999 (grub_macho_contains_macho64): Remove proto.
11000 (grub_macho_contains_macho32): Likewise.
11001 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11002
ebd17d6f
VS
110032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11006
2702b4e4
VS
110072012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 Fix make dist.
11010
11011 * Makefile.am (starfield_theme_files): New var.
11012 (starfield_DATA): Use starfield_theme_files.
11013 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11014 Add bootcheck-related files.
11015 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11016 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11017 and font_char_metrics.txt.
11018 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11019 (setjmp): Add lib/ia64/longjmp.S.
11020 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11021 * po/POTFILES.in: Regenerate.
11022 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11023 DISTFILES.common.extra1.
11024 * util/devicemap.c: Removed.
11025 * grub-core/lib/i386/relocator_backward.S: Likewise.
11026 * util/import_gcry.py: Remove unused files. Add extra_dist for
11027 ChangeLog.
11028
cf1adfdf
VS
110292012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11032 grub_gettext_delete_list before changing grub_gettext_max to avoid
11033 running out of array bounds.
11034
110352012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
11036
11037 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11038 grub_vga_text_init/grub_vga_text_fini.
11039
cf1adfdf 110402012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
11041
11042 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11043
541d92e9
VS
110442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * configure.ac: Bump to 2.00~beta0.
11047
7931dddf
VS
110482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
11051 missing initialisation.
11052
f1b16fa3
VS
110532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
11056
83ddae23
VS
110572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 Support v2 xnu boot arguments.
11060
11061 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11062 New argument fsbfreq_out.
11063 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11064 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11065 be used.
11066 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11067 darwin_version.
11068 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11069 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11070 (grub_xnu_boot_params): Rename to ...
11071 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11072 (grub_xnu_boot_params_v2): New struct.
11073
dc693fe6
VS
110742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11077 zeroing of CRC field before computing CRC.
11078
5a6e39c2
VS
110792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11082 Change order of allocations to decrease fragmentation.
11083
6c21f5d7
VS
110842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
11087
cfe456dc
CW
110882012-02-27 Colin Watson <cjwatson@ubuntu.com>
11089
11090 Use write-combining MTRR to speed up video with buggy BIOSes.
11091
11092 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
11093 (cpuid): New define.
11094 (rdmsr): Likewise.
11095 (wrmsr): Likewise.
11096 (mtrr_base): Likewise.
11097 (mtrr_mask): Likewise.
11098 (grub_vbe_enable_mtrr_entry): New function.
11099 (grub_vbe_enable_mtrr): Likewise.
11100 (grub_vbe_disable_mtrr): Likewise.
11101 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
11102 control off to BIOS.
11103 (grub_video_vbe_init): Fill mtrr.
11104 (grub_video_vbe_fini): Disable mtrr.
11105 (grub_video_vbe_get_info_and_fini): Likewise.
11106 (grub_video_vbe_setup): Enable mtrr.
11107
e3c78337
CW
111082012-02-27 Colin Watson <cjwatson@ubuntu.com>
11109
11110 * include/grub/partition.h (grub_partition_map): Change prototype of
11111 embed to take a maximum value for nsectors.
11112 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
11113 * include/grub/fs.h (grub_fs): Likewise.
11114 * grub-core/partmap/msdos.c (embed_signatures): New array.
11115 (pc_partition_map_embed): Check for and avoid sectors matching any
11116 of the signatures in embed_signatures, up to max_nsectors.
11117 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
11118 returned sector map to max_nsectors.
11119 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
11120 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
11121 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
11122 * util/grub-setup.c (setup): Allow for the embedding area being
11123 split into multiple blocklists. Tell dest_partmap->embed the
11124 maximum number of sectors we care about.
11125
111262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
11129 Specify blocklist_install and reserver_first_sector for all fs.
11130 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
11131 blocklists.
11132
984b973f
VS
111332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * util/grub-install.in: Clarify strings.
11136 Fix source dir check.
11137
f122e0d6
RL
111382012-02-27 Richard Laager <rlaager@wiktel.com>
11139
11140 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
11141 "zfs" and "fuse.zfs" as synonyms.
11142
071114bb
VS
111432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * configure.ac: Put platform and target_cpu substitutions back since
11146 they are used for directories.
11147
817e6abc
RL
111482012-02-27 Richard Laager <rlaager@wiktel.com>
111492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11150
11151 * util/grub.d/10_linux.in: Add ZFS-related arguments.
11152 * util/grub.d/20_linux_xen.in: Likewise.
11153
897b7419
RL
111542012-02-27 Richard Laager <rlaager@wiktel.com>
11155
11156 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
11157 with full paths.
11158
a414bd15
RL
111592012-02-27 Richard Laager <rlaager@wiktel.com>
11160
11161 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
11162 unescape.
11163
30ac48c4
VS
111642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 Don't use insecure popen in getroot.
11167
11168 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
11169 (exec_pipe): ... here.
11170 (find_root_devices_from_poolname): Use exec_pipe.
11171
53f13848
VS
111722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 Remove platform and target_cpu replacement.
11175
11176 * configure.ac: Remove platform and target_cpu substitutions.
11177 * tests/util/grub-shell.in: Use modinfo.
11178 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11179 explicitly.
11180
90cb2803
VS
111812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 Autodetect platform in grub-install but allow override.
11184
11185 * util/grub-install.in: Autodetect platform. Support --target and
11186 --directory. Read platform from modinfo.sh.
11187
b9136427
VS
111882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 Support btrfs multi-volume probe.
11191
11192 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11193 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11194 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11195 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11196 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11197 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11198 grub_find_root_devices_from_btrfs if on btrfs.
11199
c36e5cd1
VS
112002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 Remove any awareness of *.c util files about target.
11203
11204 * Makefile.util.def (grub-setup): Split to ...
11205 (grub-bios-setup): ... and this.
11206 (grub-sparc64-setup): ... and this.
11207 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11208 * docs/man/grub-setup.h2m: Split into ...
11209 * docs/man/grub-sparc64-setup.h2m: ... this.
11210 * docs/man/grub-bios-setup.h2m: ... and this.
11211 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11212 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11213 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11214 (grub_target_addr_t): Remove.
11215 (grub_target_size_t): Remove.
11216 (grub_target_ssize_t): Remove.
11217 * util/grub-install.in: Use new grub-*-setup.
11218 * util/grub-mkimagexx.c (Elf_Word): New define.
11219 (Elf_Half): Likewise.
11220 (Elf_Section): Likewise.
11221 (ELF_ST_TYPE): Likewise.
11222 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11223 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11224
584b2f8a
VS
112252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 Replace grub_target_addr with more appropriate types.
11228
11229 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11230 grub_target_addr with grub_addr.
11231 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11232 grub_target_addr with grub_port.
11233 (grub_cmd_write): Likewise.
11234 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11235 grub_target_addr with grub_addr.
11236 (grub_cmd_write): Likewise.
11237 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11238
5a0dc6fb
VS
112392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11242 const qualifier for vendor_guid.
11243
786aff6e
VS
112442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11247 const qualifier.
11248 (efiemu_memequal): Likewise.
11249 (find_variable): Likewise.
11250
49017b17
VS
112512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 Fix missing console prototype on qemu-mips.
11254
11255 * include/grub/mips/qemu_mips/console.h: New file.
11256
c5988629
MG
112572012-02-27 Matthew Garrett <mjg@redhat.com>
112582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11259
11260 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11261 * include/grub/efi/efi.h: Likewise.
11262 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11263 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11264 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11265 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11266 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11267 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11268
e33f8d69
MG
112692012-02-27 Matthew Garrett <mjg@redhat.com>
11270
11271 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11272
fb312cd9
VS
112732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11276 error.
11277
7134247c
VS
112782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * configure.ac: Remove inappropriate use of program_transform_name
11281 on grubdir and bootdir but allow explicit specification of those
11282 variables.
11283
6a313124
VS
112842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * util/grub-mknetdir.in (grub_prefix): Removed.
11287 (subdir): Use @bootdirname@ and @grubdirname@.
11288
2311c5ca
VS
112892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11292
7d5d60f7
VS
112932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * po/POTFILES.in: Regenerated.
11296
8151bc82
VS
112972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 Remove improper use of program_transform_name on pkglibrootdir.
11300
11301 * configure.ac (pkglibrootdir): Removed.
11302 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11303 * util/grub-mkimage.c: Likewise.
11304
b4a6a533
VS
113052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11308 warning.
11309
668f304f
VS
113102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 * util/grub-install.in: Use file identifier if no UUID is available
11313 or user explicitly prompted for it.
11314
665f2341
NP
113152012-02-27 Navdeep Parhar <nparhar@gmail.com>
11316
11317 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11318 (freebsd_get_zfs): New function.
11319 (grub_freebsd_boot): Pass zfs UUID.
11320 (grub_cmd_freebsd): Set zfs UUID.
11321
8151bc82 113222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11323
11324 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11325 pkglibrootdir.
11326
e4c498a1
MG
113272012-02-27 Mike Gilbert <floppym@gentoo.org>
11328
11329 Add configure flag to control libzfs integration.
11330
11331 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11332
1e9a9a3f
VS
113332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11336 device.
11337 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11338 small devices.
11339
036985b8
VS
113402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11343 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11344 be used on non-modules.
11345
11346 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11347 Rename to grub_boot_init.
11348 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11349 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11350 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11351 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11352 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11353 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11354 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11355 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11356 includes.
11357 (grub_machine_init): Remove empty inits.
11358 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11359 includes.
11360 (grub_machine_init): Remove empty inits.
11361 * grub-core/term/arc/console.c: Remove explicit proto.
11362 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11363 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11364 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11365 grub_at_keyboard_fini.
11366 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11367 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11368 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11369 grub_gfxterm_fini.
11370 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11371 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11372 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11373 grub_vgatext_fini.
11374 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11375 * grub-core/term/serial.c (GRUB_MOD_INIT)
11376 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11377 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11378 grub_serial_fini.
11379 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11380 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11381 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11382 grub_terminfo_fini.
11383 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11384 (GRUB_MOD_FINI): Likewise.
11385 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11386 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11387 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11388 grub_video_radeon_fuloong2e_fini.
11389 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11390 [LOONGSON]: Rename to grub_video_sis315pro_init.
11391 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11392 grub_video_sis315pro_fini.
11393 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11394 [LOONGSON]: Rename to grub_video_sm712_init.
11395 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11396 grub_video_sm712_fini.
11397 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11398 (grub_at_keyboard_fini): Likewise.
11399 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11400 Don't declare grub_{modname}_init.
11401 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11402 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11403 New proto.
11404 (grub_keylayouts_fini) [!EMU]: Likewise.
11405 * include/grub/serial.h (grub_serial_init) [!EMU]:
11406 New proto.
11407 (grub_serial_fini) [!EMU]: Likewise.
11408 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11409 New proto.
11410 (grub_terminfo_fini) [!EMU]: Likewise.
11411 * include/grub/video.h (grub_font_init) [!EMU]:
11412 New proto.
11413 (grub_font_fini) [!EMU]: Likewise.
11414 (grub_gfxterm_init) [!EMU]: Likewise.
11415 (grub_gfxterm_fini) [!EMU]: Likewise.
11416 (grub_video_sm712_init) [!EMU]: Likewise.
11417 (grub_video_sm712_fini) [!EMU]: Likewise.
11418 (grub_video_sis315pro_init) [!EMU]: Likewise.
11419 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11420 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11421 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11422
d5534665
VS
114232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Make nand a prefix for nand devices.
11426
11427 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11428
10133b5f
VS
114292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11432 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11433
8e307a62
VS
114342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11435
11436 * include/grub/env.h (grub_env_find): Remove prototype.
11437 * grub-core/kern/env.c (grub_env_find): Make static.
11438 (grub_env_set): Remove useless set.
11439
a4c65f34
VS
114402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * grub-core/kern/i386/realmode.S: Remove useless align.
11443
d87893d5
VS
114442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 * include/grub/dl.h (grub_dl_load_file): Don't export.
11447
50159add
VS
114482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11451 grub_dprintf.
11452
b2582b84
VS
114532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11456 grub_errors.
11457 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11458 not reloading whole superblock but only the part which is really needed.
11459 Remove useless grub_errors.
11460 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11461 grub_errors.
11462
e2a83395
VS
114632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 Don't export grub_get_rtc.
11466
11467 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11468 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11469
e7d2a906
VS
114702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11473
6cf1363b
VS
114742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11477 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11478
eece3349
VS
114792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 Remove prio_list.
11482
11483 * include/grub/list.h (grub_prio_list): Removed.
11484 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11485 GRUB_COMMAND_PRIO_MASK.
11486 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11487 GRUB_COMMAND_FLAG_ACTIVE.
11488 (grub_prio_list_insert): Removed.
11489 (grub_prio_list_remove): Likewise.
11490 (GRUB_AS_PRIO_LIST): Likewise.
11491 (GRUB_AS_PRIO_LIST_P): Likewise.
11492 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11493 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11494 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11495 * grub-core/kern/command.c (grub_register_command_prio): Inline
11496 the prio_list code.
11497 (grub_unregister_command): Likewise.
11498
94f064b4
VS
114992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 Fix interrupt mixup from previous commit.
11502
11503 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11504 (grub_realidt): New var.
11505 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11506 Load idt.
11507 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11508 New declaration.
11509 (grub_relocator16_boot): Set grub_relocator16_idt.
11510 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11511 (LOCAL(realidt)): ... this.
11512 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11513 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11514 (grub_realidt): New variable.
11515
27317084
VS
115162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11519 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11520 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11521 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11522 Gettextize.
11523 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11524 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11525 * po/POTFILES.in: Regenerate.
11526
47b40053
VS
115272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11528
11529 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11530 errors.
11531
2b343101
VS
115322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11535 \0.
11536 (add_length): Likewise.
11537
ff27c3dd
LK
115382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
115392012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11540
11541 GDB serial and backtrace support.
11542
11543 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11544 (prot_to_real): Likewise.
11545 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11546 * grub-core/Makefile.core.def (backtrace): New module.
11547 (gdb): Likewise.
11548 * grub-core/gdb/cstub.c: New file.
11549 * grub-core/gdb/gdb.c: Likewise.
11550 * grub-core/gdb/i386/idt.c: Likewise.
11551 * grub-core/gdb/i386/machdep.S: Likewise.
11552 * grub-core/gdb/i386/signal.c: Likewise.
11553 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11554 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11555 * include/grub/backtrace.h: Likewise.
11556 * include/grub/gdb.h: Likewise.
11557 * include/grub/i386/gdb.h: Likewise.
11558
115592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11560
11561 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11562 New function.
11563 (add_length): Likewise.
11564 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11565 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11566 proto.
11567 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11568 __argp_get_display_len.
11569
ff27c3dd 115702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11571
11572 $"..." support in scripts.
11573
11574 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11575 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11576 * grub-core/script/yylex.l: Likewise.
11577 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11578 value.
11579
ff27c3dd 115802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11581
11582 * gentpl.py: Remove obsolete pkglib_DATA handling.
11583
ff27c3dd 115842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11585
11586 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11587 mailing list.
11588
11589 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11590 * util/grub-kbdcomp.in: Likewise.
11591 * util/grub-mkconfig.in: Likewise.
11592 * util/grub-mkconfig_lib.in: Likewise.
11593 * util/grub-mknetdir.in: Likewise.
11594 * util/grub-mkrescue.in: Likewise.
11595 * util/grub-mkstandalone.in: Likewise.
11596 * util/grub-reboot.in: Likewise.
11597 * util/grub-set-default.in: Likewise.
11598 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11599
ff27c3dd 116002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11601
11602 Remove GRUB_PREFIX.
11603
11604 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11605 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11606 used for backward compatibility.
11607
ff27c3dd 116082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11609
11610 Add new all_video module.
11611
11612 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11613 * grub-core/Makefile.core.def (all_video): New module.
11614 * grub-core/genmoddep.awk: Generate dependency of all_video from
11615 video.lst.
11616 * grub-core/lib/fake_module.c: New file.
11617 * grub-core/normal/main.c (features): Add feature_all_video_module.
11618 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11619 don't do explicit search again.
47454da5 11620 insmod all_video in load_video if available.
22c7ce85 11621
ff27c3dd 116222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11623
11624 Another round of string clarification and adding TRANSLATORS comments.
11625
ff27c3dd 116262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11627
11628 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11629
ff27c3dd 116302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11631
11632 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11633 to grub_ssize_t.
11634 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11635 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11636
ff27c3dd 116372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11638
11639 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11640 trailing newline implicitly. All users updated.
11641
ff27c3dd 116422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11643
11644 Implement serial on IEEE1275 and EFI.
11645
11646 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11647 on emu. Mention arc and emu as the only platforms without serial
11648 support.
11649 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11650 ieee1275 platforms.
11651 * grub-core/term/efi/serial.c: New file.
11652 * grub-core/term/ieee1275/serial.c: Likewise.
11653 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11654 specification if no ns8250 driver is available.
11655 (grub_cmd_serial): Likewise.
11656 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11657 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11658 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11659 (grub_efi_parity_type_t): New type.
11660 (grub_efi_stop_bits_t): Likewise.
11661 (grub_efi_serial_io_interface): New struct.
11662 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11663 available for all interfaces.
11664 Add EFI and IEEE1275 fields.
11665 (grub_ofserial_init): New proto.
11666 (grub_efiserial_init): Likeiwse.
11667 * util/grub.d/00_header.in: Don't check for the presence of serial
11668 module.
11669
ff27c3dd 116702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11671
11672 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11673 name as if it was an alias.
11674
114076ef
VS
116752012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * grub-core/commands/lsacpi.c (options): Fix typo.
11678
6a656b0e
VS
116792012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 Convert grub-emu to argp.
11682
11683 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11684 emu.
11685 * util/argp_common.c: Rename to ...
11686 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11687 Add missing includes.
11688 * grub-core/kern/emu/main.c: Convert to argp.
11689 * po/POTFILES.in: Regenerate.
11690 * util/grub-install.in (usage): Make first letter lowcase in messages
11691 for uniformity.
11692 * util/grub-setup.c (options): Likewise.
11693
1e3f8ae8
VS
116942012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11697 Put back accidently commented-out code.
11698
ed167a80
VS
116992012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11702 loop check using Brent algorithm.
11703 (grub_hfsplus_btree_search): Likewise.
11704
6753c0ec
VS
117052012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * util/grub-install.in: Fix usage of wrong device for PreP install.
11708
4e27343f
VS
117092012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * conf/Makefile.common (CFLAGS_GNULIB): Add
11712 -Wno-unsafe-loop-optimizations.
11713 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11714 on tools.
11715 * grub-core/commands/legacycfg.c: Add pragma to skip
11716 -Wunsafe-loop-optimizations.
11717 (check_password_md5_real): Fix loop counter type.
11718 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11719 reading.
11720 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11721 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11722 loop condition.
11723 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11724 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11725 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11726 condition.
11727 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11728 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11729 avoid possible infinite loops.
11730 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11731 and -Wunsafe-loop-optimizations.
11732 * grub-core/script/yylex.l: Likewise.
11733 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11734 (print_glyphs): Avoid infinite loops.
11735 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11736
697f18b0
GS
117372012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11738
11739 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11740 to avoid infinite loop.
11741 (disp_acpi_rsdt_table): Likewise.
11742
274416e8
VS
117432012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 * grub-core/font/font.c (grub_font_load): Add support for default
11746 path for fonts ($prefix/fonts).
11747 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11748 for checking if string is a path.
11749 * grub-core/normal/main.c (features): Add feature_default_font_path.
11750 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11751 * util/grub.d/00_header.in: Use default directory if possible.
11752 * util/grub-install.in: Install unicode.pf2.
11753
b3e08622
VS
117542012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11757 * po/Rules-swiss: New file.
11758 * po/swiss.sed: Likewise.
11759
fe42ce09
VS
117602012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * grub-core/fs/btrfs.c (find_device): Fix typos.
11763 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11764 * util/grub-mkrelpath.c (argp_parser): Likewise.
11765 Reported by: Yuri Chornoivan.
11766
72f1d065
DO
117672012-02-23 Dalet Omega <daletomega@gmail.com>
11768
11769 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11770 for usual informative messages.
11771
c5884973
DO
117722012-02-23 Dalet Omega <daletomega@gmail.com>
11773
11774 Starfield theme.
11775
11776 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11777 * conf/Makefile.common: Define starfielddir.
11778 * configure.ac: Configure starfield.
11779 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11780 * themes/starfield/README: Likewise.
11781 * themes/starfield/blob_w.png: Likewise.
11782 * themes/starfield/boot_menu_c.png: Likewise.
11783 * themes/starfield/boot_menu_e.png: Likewise.
11784 * themes/starfield/boot_menu_n.png: Likewise.
11785 * themes/starfield/boot_menu_ne.png: Likewise.
11786 * themes/starfield/boot_menu_nw.png: Likewise.
11787 * themes/starfield/boot_menu_s.png: Likewise.
11788 * themes/starfield/boot_menu_se.png: Likewise.
11789 * themes/starfield/boot_menu_sw.png: Likewise.
11790 * themes/starfield/boot_menu_w.png: Likewise.
11791 * themes/starfield/slider_c.png: Likewise.
11792 * themes/starfield/slider_n.png: Likewise.
11793 * themes/starfield/slider_s.png: Likewise.
11794 * themes/starfield/src/blob_nw.xcf: Likewise.
11795 * themes/starfield/src/bootmenu/: Likewise.
11796 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11797 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11798 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11799 * themes/starfield/src/slider_c.xcf: Likewise.
11800 * themes/starfield/src/slider_n.xcf: Likewise.
11801 * themes/starfield/src/slider_s.xcf: Likewise.
11802 * themes/starfield/src/terminalbox/: Likewise.
11803 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11804 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11805 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11806 * themes/starfield/starfield.png: Likewise.
11807 * themes/starfield/terminal_box_c.png: Likewise.
11808 * themes/starfield/terminal_box_e.png: Likewise.
11809 * themes/starfield/terminal_box_n.png: Likewise.
11810 * themes/starfield/terminal_box_ne.png: Likewise.
11811 * themes/starfield/terminal_box_nw.png: Likewise.
11812 * themes/starfield/terminal_box_s.png: Likewise.
11813 * themes/starfield/terminal_box_se.png: Likewise.
11814 * themes/starfield/terminal_box_sw.png: Likewise.
11815 * themes/starfield/terminal_box_w.png: Likewise.
11816 * themes/starfield/theme.txt: Likewise.
11817
17d73325
VS
118182012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * util/grub.d/00_header.in: Add missing export theme.
11821
dbebaf92
VS
118222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11825 already included.
11826 Reported by: Eren D.
11827
3d68bffb
VS
118282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * conf/Makefile.common (grubdatadir): Removed.
11831 (Makefile.am): Move eveything grubdata to pkgdata.
11832
4b59234d
VS
118332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * grub-core/commands/acpihalt.c (get_sleep_type):
11836 Remove unused variable.
11837
463dcadc
VS
118382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11839
11840 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11841 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11842 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11843 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11844 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11845 i18n with gettext no-op.
11846 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11847 GRUB_ACPI_OPCODE_STRING_CONST.
11848 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11849 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11850
e5b90c82
VS
118512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * po/POTFILES.in: Regenerate.
11854
2a704ca9
VS
118552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11858 -Wno-error=missing-noreturn.
11859
84f9d341
VS
118602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11863 condition to avoid possibly infinite loops.
11864 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11865 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11866
d46683f9
VS
118672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11870 condition to avoid possibly infinite loops.
11871
c44866b2
VS
118722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11875 on show_error.
11876
96790539
VS
118772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11880
1ba7e295
VS
118812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11884
21ffe8f1
VS
118852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * util/bin2h.c (usage): Add missing attribute noreturn.
11888
0ccb6b3c
VS
118892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11892 if the size isn't divisible by 512.
11893
b00d7fb6
VS
118942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 Make list_push and list_remove functions rather than inline functions
11897 to decrease size and avoid aliasing violations.
11898
11899 * include/grub/list.h (grub_list_push): Move to ...
11900 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11901 * include/grub/list.h (grub_list_remove): Move to ...
11902 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11903
9d369087
VS
119042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11907 and -Wunused-result.
11908
af0250d9
VS
119092012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11912 Reported by: Seth Goldberg
11913
aad32b14
VS
119142012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11917
ac96441c
ST
119182012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11919
11920 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11921 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11922 command line.
11923 * docs/grub.texi (Simple configuration): Document
11924 GRUB_CMDLINE_GNUMACH.
11925
119262012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11927
11928 * conf/Makefile.common (platform_SCRIPTS): New variable.
11929 (platform_PROGRAMS): Likewise.
11930 * gentpl.py: Mark *,module and *.image for install.
11931 * grub-core/gdb_grub.in: Add a notice of expected environment.
11932 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11933 (gmodule.pl): Likewise.
11934
ac96441c 119352012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11936
11937 Replace grub_checkkey with grub_getkey_noblock.
11938
11939 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11940 (grub_getkey_noblock): ... this. All users updated.
11941
ac96441c 119422012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11943
11944 * grub-core/kern/emu/console.c: Move to ...
11945 * grub-core/term/emu/console.c: ...here.
11946 (grub_ncurses_getkey): Fix return value if no key is detected.
11947
e51b5666
VS
119482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11951 (grub_unit_test_fini): Likewise.
11952 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11953
119542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * include/grub/test.h (GRUB_UNIT_TEST)
11957
d9a62292
VS
119582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11961 Better error handling.
11962 (grub_script_return): Likewise.
11963 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11964
77c9182f
VS
119652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11968 rimplicit redifinition.
11969
edb13cf9
VS
119702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11973 GRUB.
11974
a9e9dc7c
VS
119752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11978 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11979 prompt here.
11980
b4ba8e02
VS
119812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11984 as GRUB_ERR_BUG. Don't malloc if no device is available.
11985
dded5540
VS
119862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11989 Mark calling with invalid term as GRUB_ERR_BUG.
11990
0cf69874
VS
119912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11994 packets rather than raising an error.
11995
59bfe502
VS
119962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11999 in if.
12000
db5fc596
VS
120012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12004 diagnostic to dprintf.
12005 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12006
e4b7f404
VS
120072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12010 device name.
12011
e7b02f9e
VS
120122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12015 (grub_ntfs_iterate_dir): Likewise.
12016
0331e102
VS
120172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 Efiemu stylistic fixes and gettext.
12020
12021 * grub-core/efiemu/i386/loadcore32.c
12022 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12023 * grub-core/efiemu/i386/loadcore64.c
12024 (grub_arch_efiemu_relocate_symbols64): Likewise.
12025 * grub-core/efiemu/i386/pc/cfgtables.c
12026 (grub_machine_efiemu_init_tables): Likewise.
12027 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12028 (grub_efiemu_loadcore_initXX): Add a filename argument.
12029 All users updated.
12030 Improved error message.
12031 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12032 Add a filename argument.
12033 All users updated.
12034 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12035 Reclassify double relocation as GRUB_ERR_BUG.
12036
306fc074
VS
120372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12040 handling.
12041
794d8ef2
VS
120422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12045 on partition.
12046
120472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
12048
12049 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
12050
794d8ef2 120512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
12052
12053 Improve string. Gettextize.
12054
78dde88e
VS
120552012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
12058 utils.
12059 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12060
4786a90f
VS
120612012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12064 [GRUB_UTIL]: New function.
12065 (insert_array) [GRUB_UTIL]: Store partmaps.
12066 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12067 partmaps.
12068 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12069 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12070 (probe_abstraction): Print diskfilter and not raid.
12071 Reported by: Lennart Sorensen
12072
0b6225bd
VS
120732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12076 * util/grub-mkimagexx.c (MASK3): New define.
12077 (add_value_to_slot_20b): Use MASK3.
12078 (add_value_to_slot_21): Likewise.
12079 (relocate_addresses): Fix format specification.
12080 (load_image): Explicitly init symtab_section.
12081
b055f8f6
VS
120822012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
12085 (grub_util_biosdisk_get_grub_dev): Fix format specification.
12086
b77c2fb7
VS
120872012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
12090 on powerpc.
12091 Reported by: Lennart Sorensen
12092
e3ec28ab
VS
120932012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 * gentpl.py: Add missing license header.
12096 * docs/grub.texi: Update copyright year.
12097
c8d9ead6
GS
120982012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12099
12100 Source grub-mkconfig_lib from the build directory at build time.
12101 Suggested by: Vladimir Serbinenko.
12102
12103 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
12104 * util/grub-install.in: Define pkgdatadir if not already set, and source
12105 grub-mkconfig_lib from there.
12106 * util/grub-kbdcomp.in: Likewise.
12107 * util/grub-mkconfig.in: Likewise.
12108 * util/grub-mknetdir.in: Likewise.
12109 * util/grub-mkrescue.in: Likewise.
12110 * util/grub-mkstandalone.in: Likewise.
12111 * util/grub-reboot.in: Likewise.
12112 * util/grub-set-default.in: Likewise.
12113 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12114
ebcecdf1
VS
121152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 Increase warning level.
12118
12119 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
12120 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
12121 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
12122 (TARGET_CFLAGS): Likewise.
12123 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
12124 * grub-core/Makefile.core.def (decompressor_xz): Add
12125 -Wno-unreachable-code.
12126 (normal): Add -Wno-redundant-decls.
12127 (xzio): Add -Wno-unreachable-code.
12128 (lzopio): Add -Wno-redundant-decls -Wno-error.
12129 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
12130 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
12131 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
12132 * grub-core/kern/dl.c: Add exception to -Wcast-align.
12133 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
12134 * grub-core/kern/i386/coreboot/init.c: Add exception to
12135 -Wsuggest-attribute=noreturn.
12136 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
12137 * grub-core/kern/ia64/dl_helper.c: Likewise.
12138 * grub-core/kern/mips/dl.c: Likewise.
12139 * grub-core/kern/sparc64/dl.c: Likewise.
12140 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
12141 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
12142 (memcmp): Likewise.
12143 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
12144 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
12145 * grub-core/loader/mips/linux.c: Likewise.
12146 * grub-core/loader/multiboot_elfxx.c: Likewise.
12147 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
12148 * grub-core/video/sm712.c: Add exception to -Wcast-align.
12149 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
12150 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
12151 fixme.
12152 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12153 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
12154 Fix prototype.
12155
37bb97fe
VS
121562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
12159 address.
12160
29a3550b
VS
121612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12164 Avoid improper use of strings.
12165 (grub_cmd_legacy_initrdnounzip): Likewise.
12166
dfdffd0d
VS
121672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12170 attribute.
12171 (grub_util_info): Likewise.
12172 (grub_util_error): Likewise.
12173
102fae4a
VS
121742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12177 * util/grub-fstest.c (fstest): Likewise.
12178
7e94d044
VS
121792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12182 (grub_md_sha512_real): Likewise.
12183 (grub_util_get_geli_uuid): Likewise.
12184 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12185 (grub_util_biosdisk_open): Fix format specification.
12186 Respect format security.
12187 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12188 (xrealloc): Likewise.
12189 (xasprintf): Likewise.
12190
5ebd9769
VS
121912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 * util/import_gcry.py: Include grub/crypto.h in init.c.
12194
495fc8c1
VS
121952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12198 (generate_image): Make prefix a const char *.
12199 Fix format specifications. Respect format security.
12200 Avoid void * arithmetics.
12201 Avoid shadowing.
12202 (argp_parser): Remove unused variable. Respect format security.
12203 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12204 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12205 (count_funcs): Remove unused variable.
12206 (relocate_addresses): Fix format specification.
12207 Disable x86-64 with elf32. Remove unused variables.
12208 (add_fixup_entry): Avoid shadowing.
12209 (make_reloc_section): Fix format specification.
12210 Use assert.
12211 (locate_sections): Fix format specifications.
12212 (load_image): Avoid shadowing.
12213
043c2ea3
VS
122142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12217 Fix format specifications. Respect format security.
12218 Don't translate already translated grub_errmsg.
12219 (argp_parser): Remove unused variable
12220
3ec65a81
VS
122212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12224
a4d9fe4a
VS
122252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12228 (main): Likewise. Use xmalloc. Respect format security.
12229
15b81d49
VS
122302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12233 a const char *.
12234 (argp_parser): Remove unused variable.
12235
31731fc0
VS
122362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12239 (add_pixel): Make static.
12240 (add_font): Likewise.
12241 (write_string_section): Make name and str a const char *.
12242 (write_be16_section): Make name a const char *.
12243 (print_glyphs): Make static.
12244 (write_font_ascii_bitmap): Likewise.
12245 (write_font_width_spec): Likewise.
12246 (write_font_pf2): Likewise.
12247 (argp_parser): Remove unused variable.
12248 Respect format security.
12249 (main): Avoid shadowing. Respect format security.
12250
0809527b
VS
122512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * util/grub-editenv.c (argp_parser): Make static.
12254 (create_envblk_file): Use xmalloc.
12255 (open_envblk_file): Likewise.
12256 Resepect format security.
12257 (set_variables): Respect format security.
12258
45b0c8b7
VS
122592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * util/getroot.c (grub_find_device): Respect format security.
12262 (get_mdadm_uuid): Remove unused variable.
12263 (grub_util_pull_device): Dont call gettext on already translated
12264 grub_errmsg.
12265 (find_system_device): Remove unused variable.
12266 (grub_util_get_grub_dev): Likewise.
12267 (grub_make_system_path_relative_to_its_root): Respect format security.
12268
1b024b4e
VS
122692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * util/grub-fstest.c (execute_command): Make first argument
12272 a const char *.
12273 (read_file): Avoid shadowing.
12274 Reuse underlying error message if device open fails.
12275 (cmd_cmp): Respect format security.
12276 (root): Make const char *.
12277 (fstest): Remove args argument and use global copy.
12278 Respect format security.
12279 (argp_parser): Make static.
12280 (main): Make default_root const char *.
12281
5d1d4e28
VS
122822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * util/grub-mount.c (root): Make const char *.
12285 (execute_command): Make first argument a const char *.
12286 (fuse_init): Respect format security.
12287 (argp_parser): Make static. Remove unused variable.
12288 (main): Make default_root a const char *.
12289 Respect format security.
12290
36eb7379
VS
122912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * util/grub-probe.c (probe): Don't call gettext on already translated
12294 grub_errmsg.
12295 Remove unused variables.
12296 (argp_parser): Remove unused variable.
12297
76fb2ea9
VS
122982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * util/grub-script-check.c (argp_parser): Remove unused variable.
12301 (main): Rename read to curread to avoid shadowing.
12302
56c98584
VS
123032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * util/misc.c (grub_util_write_image_at): Fix format specification.
12306 (grub_util_write_image): Likewise.
12307 (grub_script_execute_argument_to_string): Removed (unused).
12308 (grub_script_execute_menuentry): Likewise.
12309 (grub_putchar): Likewise.
12310
164ebb48
VS
123112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12314 (FUNCTION) [GRUB_UTIL]: Likewise.
12315 (VARIABLE) [GRUB_UTIL]: Likewise.
12316
44318d61
VS
123172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12320 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12321
31a26002
VS
123222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12325 buffer.
12326
123272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12330 (LzmaEnc_SaveState): Removed (unused).
12331 (LzmaEnc_RestoreState): Likewise.
12332 (LzmaEnc_InitPriceTables): Made static.
12333 (LzmaEnc_Construct): Likewise.
12334 (LzmaEnc_FreeLits): Likewise.
12335 (LzmaEnc_Destruct): Likewise.
12336 (LzmaEnc_Init): Likewise.
12337 (LzmaEnc_InitPrices): Likewise.
12338 (LzmaEnc_Finish): Likewise.
12339 (LzmaEnc_PrepareForLzma2): Removed (unused).
12340 (LzmaEnc_MemPrepare): Likewise.
12341 (LzmaEnc_GetNumAvailableBytes): Likewise.
12342 (LzmaEnc_GetCurBuf): Likewise.
12343 (LzmaEnc_CodeOneMemBlock): Likewise.
12344
6fa67967
VS
123452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12348 (grub_util_ldm_embed): Likewise.
12349
9a7428e6
VS
123502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * util/grub-editenv.c (print_var): Rename name to varname to
12353 avoid shadowing.
12354 (main): Rename index to curindex to avoid shadowing.
31a26002 12355 Make filename a const char *.
9a7428e6 12356
4f96abd1
VS
123572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12360 to arg_getline to avoid shadowing.
12361
44d10dad
VS
123622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12365 disk_ to avoid shadowing.
12366
340ba63e
VS
123672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12370 curindex to avoid shadowing.
12371 Make static.
12372 (MatchFinder_GetNumAvailableBytes): Make static.
12373
22965bce
VS
123742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12377 avoid shadowing.
12378
7b5784d4
VS
123792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12382 argument from encrypt to do_encrypt to avoid shadowing.
12383
6f48ca01
VS
123842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12387 incorrect nesting of #if's.
12388
a4ea2dff
VS
123892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12392 checks which are always false on some platforms.
12393 (grub_cmd_lsacpi): Likewise.
12394 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12395 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12396 Likewise.
12397
def9fc1b
VS
123982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12401 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12402
a67b2a04
VS
124032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12406 re_dfa_t to avoid breaking alignment invariants.
12407 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12408 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12409
44c6828d
VS
124102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12413 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12414
bebe0dd0
VS
124152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12418 Fix declaration.
12419
a9cdb3cf
VS
124202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12423 conserve alignment invariants.
12424 (grub_ehci_ehcc_read16): Likewise.
12425 (grub_ehci_oper_read32): Likewise.
12426 (grub_ehci_oper_write32): Likewise.
12427 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12428 Conserve alignment invariants.
12429
ccc3b1b8
VS
124302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12433 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12434 declarations.
12435
987fbd95
VS
124362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12439 Remove unused variable.
12440
0df363f3
VS
124412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12442
12443 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12444 Remove set in if.
12445
b2c0c4a6
VS
124462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * include/grub/net.h: Remove double declarations.
12449
690c531f
VS
124502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 Remove "payload" command in ia64 Linux loader since I couldn't
12453 find any evidence of it being used for anything.
12454 Replace "relocate" command with an environment variable
12455
12456 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12457 fields.
12458 (ia64_boot_payload): Removed.
12459 (last_payload): Likewise.
12460 (RELOCATE_OFF): Likewise.
12461 (RELOCATE_ON): Likewise.
12462 (RELOCATE_FORCE): Likewise.
12463 (relocate): Likewise.
12464 (free_pages): Don't free payloads.
12465 (grub_load_elf64): Use common error messages.
12466 Use "linux_relocate" variable.
12467 Increase the space after boot_params.
12468 (grub_cmd_payload): Removed.
12469 (grub_cmd_relocate): Likewise.
12470 (grub_cmd_fpswa): Improve messages.
12471 (cmd_payload): Removed.
12472 (cmd_relocate): Likewise.
12473 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12474 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12475
01783768
VS
124762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 Convert UHCI to DMA framework.
12479
12480 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12481 (grub_uhci_pci_iter): Fill new members
12482 (grub_alloc_td): Use P2V and V2P functions.
12483 (grub_free_queue): Likewise.
12484 (grub_alloc_qh): Likewise.
12485 (grub_uhci_setup_transfer): Likewise.
12486 (grub_uhci_check_transfer): Likewise.
12487
43206939
VS
124882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12491 Remove assignment in if while on it.
12492
571e140e
VS
124932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * util/grub-mkstandalone.in: Fix modules directory.
12496
a9d96eeb
VS
124972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12500 on i386-pc target.
12501 (argp_parser): Accept "auto" as compression specification.
12502
e4e37e8d
VS
125032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 Fix `help' with unloaded modules.
12506
12507 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12508 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12509 (grub_dyncmd_dispatcher): Small stylistic fix.
12510 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12511 explicit help is requested.
12512
e1ea3ade
VS
125132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12516 Explicitly init restart while on it.
12517
27556881
VS
125182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12521 uninited variable.
12522
d65f6b36
VS
125232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 * util/grub-mknetdir.in: Use . rather than source for POSIX
12526 compatibility.
12527
0a1e473c
VS
125282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12529
12530 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12531
ce6647c8
VS
125322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12535 variable.
12536
66747894
VS
125372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12540 without quotes.
12541
71645f6e
VS
125422012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12545
0e1c1f61
VS
125462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12549 iteration of partitions.
12550
9c4b5c13
VS
125512012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 Improve gettext support. Stylistic fixes and error handling fixes while
12554 on it.
12555
215c90cb
VS
125562012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12559 part. Instead setup the correct stack in RM.
12560 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12561 for stack.
12562 * include/grub/i386/relocator_private.h: New file.
12563
b5c1f9bf
VS
125642012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12567 argument.
12568 * util/grub-fstest.c (options): Add missing DEVICE part.
12569
b525fd83
VS
125702012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 Clarify and unify messages.
12573
12574 * grub-core/commands/hashsum.c (options): Unify messages.
12575 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12576 literal-only message as translatable.
12577 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12578 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12579 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12580 commands.
12581 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12582 key, not the key used to unlock. Clarify what it's used for.
12583 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12584 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12585 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12586 * util/grub-editenv.c (options): Unify "verbose" message.
12587 * util/grub-fstest.c (read_file): Unify error message.
12588 (fstest): Add quotes around commands.
12589 (options): Unify "verbose" message.
12590 * util/grub-install.in: Add quotes around variable name.
12591 * util/grub-kbdcomp.in: Unify error message.
12592 * util/grub-mkfont.c (main): Likewise.
12593 * util/grub-mkrescue.in: Likewise.
12594 * util/grub-mklayout.c (options): Unify "verbose" message.
12595 * util/grub-mkstandalone.in: Unify help and verbose messages.
12596 * util/grub-mount.c (options): Unify "verbose" message.
12597 * util/grub-probe.c (options): Likewise.
12598 * util/grub-script-check.c (options): Likewise.
12599 * util/grub-setup.c (setup): Unify no-terminator message.
12600 (options): Use DEVICE and not DEV.
12601 Unify "verbose" message.
12602 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12603
0ae70393
VS
126042012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 Improve and unify messages.
12607
12608 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12609 name. All users updated.
12610 Print filename in error.
12611 (read_device_map): Print filename in error.
12612 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12613 (grub_util_get_os_disk): Likewise.
12614 (grub_util_biosdisk_get_grub_dev): Likewise.
12615 (grub_util_check_block_device): Likewise.
12616 (grub_util_check_char_device): Likewise.
12617 (grub_make_system_path_relative_to_its_root): Likewise.
12618 * util/grub-editenv.c (create_envblk_file): Likewise.
12619 (open_envblk_file): Likewise.
12620 (write_envblk): Likewise.
12621 * util/grub-fstest.c (cmd_cp): Likewise.
12622 (cmd_cat): Likewise.
12623 (cmd_cmp): Likewise.
12624 * util/grub-menulst2cfg.c (main): Likewise.
12625 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12626 (write_font_width_spec): Likewise.
12627 (write_font_pf2): Likewise.
12628 * util/grub-mkimage.c (generate_image): New argument outname.
12629 All users updated.
12630 Remove unreacheable message.
12631 (options): Unify messages.
12632 (help_filter): Likewise.
12633 * util/grub-mklayout.c (usage): Removed (unused).
12634 (main): Print filename in error.
12635 * util/grub-mkrescue.in: Fix wrong quoting.
12636 * util/grub-setup.c (setup): Print filename in error.
12637 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12638 (check_sas): Likewise.
12639 * util/misc.c (grub_util_get_fp_size): Removed.
12640 (grub_util_get_image_size): Print filename in error.
12641 (grub_util_read_at): Removed.
12642 (grub_util_read_image): Print filename in error.
12643 (grub_util_load_image): Likewise.
12644 (grub_util_write_image_at): New argument filename. All users updated.
12645 Print filename in error.
12646 (grub_util_write_image): New argument filename. All users updated.
12647 Print filename in error.
12648 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12649 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12650
0a96117d
VS
126512012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * grub-core/Makefile.core.def (pxechain): New module.
12654 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12655 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12656 function.
12657 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12658 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12659
aca002f7
VS
126602012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12663 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12664 * include/grub/err.h (grub_error_saved): New struct.
12665 (grub_errmsg): Make array size explicit.
12666 * include/grub/misc.h (grub_error_save): New function.
12667 (grub_error_load): Likewise.
12668 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12669 (grub_error_push): Update `errno' member name.
12670 (grub_error_pop): Likewise
12671 * grub-core/net/tftp.c (tftp_data): New member save_err.
12672 (tftp_receive): Save error.
12673 (tftp_open): Restore error.
12674
a51dab13
VS
126752012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12678 to real mode down to execute A20-related code in protected mode as
12679 intended.
12680
eb6e6649
GS
126812012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12682
12683 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12684 NULL when the argument `level' has an unexpected value.
12685
92cd0f6e
VS
126862012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 Move platform-dependent files from $prefix to $prefix/$platform.
12689
12690 * config.h.in (GRUB_TARGET_CPU): New definition.
12691 (GRUB_PLATFORM): Likewise.
12692 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12693 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12694 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12695 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12696 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12697 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12698 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12699 * grub-core/normal/term.c (read_terminal_list): Likewise.
12700 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12701 $prefix/locale.
12702 (grub_gettext_init_ext): Likewise.
12703 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12704 grub_platform.
12705 * util/grub-install.in: Update directories.
12706 * util/grub-mknetdir.in: Likewise.
12707 * util/grub-mkrescue.in: Likewise.
12708
db606889
VS
127092012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12712 grub_error framework. All users updated.
12713
c39992a4
VS
127142012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12717 lists (by always binsearching), improve caching (cache strings
12718 used for binsearch, not only results), improve
12719 maintainability (by using more structured binary search) and correct
12720 error handling.
12721
1e5ec32f
VS
127222012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * grub-core/script/execute.c (grub_script_return): Fix warning.
12725
ac576cde
VS
127262012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 * grub-core/script/execute.c (grub_script_return): Fix potential
12729 NULL-dereference.
12730 Reported by: Jim Meyering.
12731
498453f6
VS
127322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * po/POTFILES.in: Regenerate.
12735 * util/grub-install.in: Gettextize the strings missed in first pass.
12736
8be63f2e
VS
127372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 * Makefile.util.def (grub-mkdevicemap): Removed.
12740 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12741 * include/grub/util/deviceiter.h: Removed.
12742 * util/deviceiter.c: Likewise.
12743 * util/getroot.c (grub_util_get_os_disk): New function.
12744 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12745 replacement for EFI.
12746 * util/grub-mkdevicemap.c: Removed.
12747 * util/grub-probe.c (probe): Handle PRINT_DISK.
12748 (argp_parser): Handle -t disk.
12749
8e1e4e39
VS
127502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * util/grub-mkfont.c: Migrate to argp.
12753 * util/grub-mklayout.c: Likewise.
12754 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12755 * util/grub-mkrelpath.c: Likewise.
12756 * util/grub-probe.c: Likewise.
12757 * util/grub-script-check.c: Likewise.
12758
4459819a
VS
127592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * util/grub-reboot.in: Add missing datarootdir.
12762 Add missing newline.
12763 * util/grub-set-default.in: Add missing datarootdir.
12764 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12765 * util/grub-mkrescue.in: Likewise.
12766
f65741c7
VS
127672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12770
c1a33466
VS
127712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * util/grub-kbdcomp.in: Add decent help and gettextize.
12774 * docs/man/grub-kbdcomp.h2m: New file.
12775
c76899a0
VS
127762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 Migrate grub-mkimage.c to argp.
12779
12780 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12781 (grub-setup): Likewise.
12782 * util/grub-setup.c (print_version): Move to ...
12783 * util/argp_common.c (print_version): ... here.
12784 * util/grub-setup.c (argp_program_version_hook): Move to ...
12785 * util/argp_common.c (argp_program_version_hook): ... here.
12786 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12787 safety.
12788 * util/grub-mkimage.c (main): Migrate to argp.
12789
57db0757
VS
127902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 * util/grub-mkrescue.in: Use same message as
12793 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12794 for better translations.
12795
18534ad9
VS
127962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12799 options with generic grub-mkrescue.in with the goal of future
12800 merge.
12801
c84ba308
VS
128022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * grub-core/kern/mm.c: Add missing include of i18n.h
12805 * grub-core/lib/relocator.c: Likewise.
12806
347998c2
VS
128072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12810 error.
12811 (allocate_pages): Check return value.
12812 Replace fatal with error.
12813 (grub_linux_boot): Replace printf with dprintf.
12814 Check find_mmap_size return value.
12815 Replace fatal with error.
12816 Don't call grub_machine_fini.
12817 (grub_load_elf64): Replace printf with dprintf.
12818 (grub_cmd_linux): Likewise.
12819 (grub_cmd_initrd): Likewise.
12820 (grub_cmd_payload): Likewise.
12821
c779226e
VS
128222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12825 message.
12826 * grub-core/video/radeon_fuloong2e.c
12827 (grub_video_radeon_fuloong2e_setup): Likewise.
12828 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12829 * grub-core/video/video.c (grub_video_set_mode): Don't override
12830 standard out of memory message.
12831
dc87d45a
GS
128322012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12833
12834 NetBSD disk wedge support.
12835
12836 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12837 [__NetBSD__]: Handle NetBSD disk wedges.
12838 * util/getroot.c (convert_system_partition_to_system_disk)
12839 [__NetBSD__]: Likewise.
12840
055f856f
MW
128412012-02-03 Mark Wooding <mdw@distorted.org.uk>
12842
12843 * util/grub-mkconfig.in: Use umask rather than chmod to create
12844 grub.cfg.new to avoid insecure grub.cfg.
12845
4a9f8346
VS
128462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 * grub-core/commands/ls.c: Gettextize.
12849 * grub-core/commands/setpci.c: Likewise.
12850 * grub-core/commands/videotest.c: Likewise.
12851 * grub-core/disk/geli.c: Likewise.
12852 * grub-core/kern/mm.c: Likewise.
12853 * grub-core/lib/relocator.c: Likewise.
12854 * grub-core/loader/efi/appleloader.c: Likewise.
12855 * grub-core/loader/i386/xnu.c: Likewise.
12856 * grub-core/loader/ia64/efi/linux.c: Likewise.
12857 * grub-core/loader/xnu.c: Likewise.
12858 * grub-core/net/dns.c: Likewise.
12859 * grub-core/net/net.c: Likewise.
12860 * grub-core/script/lexer.c: Likewise.
12861 * grub-core/script/parser.y: Likewise.
12862 * grub-core/script/yylex.l: Likewise.
12863 * util/getroot.c: Likewise.
12864 * util/grub-setup.c: Likewise.
12865
a646a366
VS
128662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12869 number.
12870
54e2be26
VS
128712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12874
f7c71e68
VS
128752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12878 macro.
12879 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12880 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12881
a32d5c71
VS
128822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12885 * util/grub-install.in: Gettextize.
12886 * util/grub-mkconfig.in: Likewise.
12887 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12888 if not available.
12889 (grub_warn): Gettextize.
12890 * util/grub-mknetdir.in: Gettextize.
12891 * util/grub-mkrescue.in: Likewise.
12892 * util/grub-mkstandalone.in: Likewise.
12893 * util/grub-reboot.in: Likewise.
12894 * util/grub-set-default.in: Likewise.
12895 * util/grub.d/00_header.in: Likewise.
12896 * util/grub.d/10_hurd.in: Likewise.
12897 * util/grub.d/10_kfreebsd.in: Likewise.
12898 * util/grub.d/10_linux.in: Likewise.
12899 * util/grub.d/10_netbsd.in: Likewise.
12900 * util/grub.d/10_windows.in: Likewise.
12901 * util/grub.d/20_linux_xen.in: Likewise.
12902 * util/grub.d/30_os-prober.in: Likewise.
12903 * po/POTFILES-shell.in: Regenerate.
12904
69edd81a
RL
129052012-02-03 Richard Laager <rlaager@wiktel.com>
12906
12907 * util/grub-mkimage.c (main): Fix format-security warning.
12908 * util/grub-mkrelpath.c (main): Likewise.
12909 * util/grub-probe.c (main): Likewise.
12910
65f08dbf
RL
129112012-02-03 Richard Laager <rlaager@wiktel.com>
12912
12913 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12914 failure.
12915 Put back lost PRINT_DRIVE.
12916
e9084abe
RL
129172012-02-03 Richard Laager <rlaager@wiktel.com>
12918
12919 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12920 (grub_guess_root_devices): Replace strlen with sizeof.
12921 Avoid crash.
12922 (find_root_devices_from_poolname): Remove unused variable.
12923 Handle raidzN.
12924
cf5f7ee7
VS
129252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 Support install on multi-device filesystems.
12928
12929 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12930 (grub_guess_root_devices): ...this. Return char **. All users updated.
12931 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12932 Removed.
12933 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12934 (find_root_devices_from_poolname): ... here.
12935 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12936 Support zfs-fuse.
12937 (grub_guess_root_device): Rename to ...
12938 (grub_guess_root_devices): ... this. Return char **. All users updated.
12939 * util/grub-install.in: Handle multi-device filesystems.
12940 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12941 argument. All users updated.
12942 Handle multi-device filesystems.
12943 Use 'delim' as separator.
12944 Remove device check to allow filesystems on file.
12945 (main): Support -0 argument. Handle multi-device.
12946 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12947 Fix a cross-device check while on it.
12948 (arguments): Remove root_dev.
12949 (argp_parser): Remove -r.
12950 (main): Remove root_dev.
12951
2f53a9ed
VS
129522012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12955
17e1d934
VS
129562012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12959 symbol.
12960 Reported by: NODA, Kai <nodakai>.
12961
d3e3fab5
VS
129622012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 Fix ehci on amd64.
12965
12966 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12967 pointers.
12968 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12969 (grub_ehci_setup_qh): Likewise.
12970 (grub_ehci_find_qh): Likewise.
12971 (grub_ehci_transaction): Likewise.
12972 (grub_ehci_setup_transfer): Likewise.
12973 (grub_ehci_check_transfer): Likewise.
12974 (grub_ehci_portstatus): Likewise.
12975 (grub_ehci_detect_dev): Likewise.
12976 (grub_ehci_transfer_controller_data): New field td_last_phys.
12977 (grub_ehci_setup_transfer): Fill td_last_phys.
12978 (grub_ehci_check_transfer): Use td_last_phys.
12979
3008675b
SG
129802012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12981
12982 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12983 if no submenu is present.
12984
fc9b5652
AN
129852012-02-01 Aleš Nesrsta <starous@volny.cz>
12986
12987 CBI support.
12988
12989 * include/grub/usb.h (grub_usbms_protocol_t): New values
12990 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12991 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12992 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12993 (grub_usbms_dev): Add subclass, protocol and intrpt.
12994 Remove in_maxsz and out_maxsz.
12995 (grub_usbms_reset): Rename to ...
12996 (grub_usbms_bo_reset): .. this.
12997 (grub_usbms_cbi_cmd): New function.
12998 (grub_usbms_cbi_reset): Likewise.
12999 (grub_usbms_reset): Likewise.
13000 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13001 (grub_usbms_transfer): Rename to ...
13002 (grub_usbms_transfer_bo): ... this.
13003 (grub_usbms_transfer_cbi): Likewise.
13004 (grub_usbms_transfer): Likewise.
13005
a2b81d53
AN
130062012-02-01 Aleš Nesrsta <starous@volny.cz>
130072012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13010 the support for the CS5536 modification thereos and few bugfixes.
13011
13012 * grub-core/Makefile.core.def (ehci): New module.
13013 * grub-core/bus/usb/ehci.c: New file.
13014 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13015 port and hubaddr. All users updated.
13016 Save port and hubaddr into dev structure.
13017 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13018 define.
13019 * include/grub/pci.h (grub_dma_phys2virt): New function.
13020 (grub_dma_virt2phys): Likewise.
13021 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13022
b1d51f02
VS
130232012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13026 check as some mkfs implementations omit it.
13027
fc694106
VS
130282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13031
6c0920e3
VS
130322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13033
13034 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13035 Add new member volname2.
13036 (grub_jfs_label): Use volname2 if available.
13037
d1a46f9a
VS
130382012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13041 over last_mounted as seen in image generated by mkfs.nilfs2.
13042 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13043
dec8ed14
VS
130442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13047 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13048 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
13049
7397c69b
VS
130502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
13053 over the sector.
13054
b3fe42ad
VS
130552012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13056
13057 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
13058 subvolume name (by removing a bogus and useless check).
13059
10476bb0
VS
130602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13063 sizeof while on it.
13064
9c08ad87
VS
130652012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13068 (grub_scsi_read_capacity10): ... this.
13069 (grub_scsi_read_capacity16): New function.
13070 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13071 0xffffffff.
13072 Fix off-by-one error.
13073 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13074 64-bit unsigned.
13075 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13076 (grub_scsi_read_capacity10): ... this.
13077 (grub_scsi_read_capacity_data): Rename to ...
13078 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13079 (grub_scsi_read_capacity16): New struct.
13080 (grub_scsi_read_capacity16_data): Likewise.
13081 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13082 grub_scsi_cmd_read_capacity10.
13083 New command grub_scsi_cmd_read_capacity16.
13084
bc8d0f45
VS
130852012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 SCSI >2TiB support.
13088
13089 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
13090 (grub_scsi_write16): Likewise.
13091 (grub_scsi_read): Use read16 when necessary.
13092 (grub_scsi_write): Likewise.
13093 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
13094 (grub_scsi_write16): Likewise.
13095 (grub_scsi_cmd_t): Add READ16 and WRITE16.
13096
cc774926
VS
130972012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 SCSI write support (for usbms mainly).
13100
13101 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
13102 a const pointer.
13103 (grub_scsi_write): Implement.
13104 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
13105
67639fd7
VS
131062012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
13109 variable.
13110
9079d3ed
VS
131112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * grub-core/lib/posix_wrap/string.h (memchr): New function.
13114
c6a6f204
VS
131152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * po/POTFILES.in: Regenerate.
13118
ecbf8cd1
VS
131192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
13122 with grub_printf to avoid unnecessary fatal failure.
13123
0b3b3b38
VS
131242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13127 (INT_MAX): Likewise.
13128 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
13129 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
13130 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
13131 (strcpy): Likewise.
13132 (strstr): Likewise.
13133 (strchr): Likewise.
13134 (strncpy): Likewise.
13135 (strcat): Likewise.
13136 (strncat): Likewise.
13137 (strcoll): Likewise.
13138 * include/grub/types.h (GRUB_SHRT_MAX): New define.
13139 (GRUB_INT_MAX): Likewise.
13140
db7337a3
VS
131412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
13144 unexpected error.
13145 (optimize_utf8): Likewise.
13146 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
13147
f37c87e1
VS
131482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/boot/i386/pc/lnxboot.S: Use
13151 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
13152 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13153 location.
13154 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
13155 definition.
13156 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
13157
63fe43f3
VS
131582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
13161 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
13162 now to avoid double free.
13163 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
13164 hostdisk.
13165 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
13166 * util/grub-probe.c (escape_of_path): Always return a new copy.
13167 (print_full_name): Escape path.
13168 (probe): Don't call grub_util_devname_to_ofpath on NULL.
13169 Fix hints on abstractions.
13170
ebe2c961
VS
131712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13174 Don't add "root" line if no compatibility hont is available.
13175 Suggested by: Seth Goldberg.
13176
2b5336a2
VS
131772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13180 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13181 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13182 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13183
74310bd8
VS
131842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13187
c30582ba
VS
131882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * util/grub-pe2elf.c (ehdr): Make static.
13191 (shdr): Likewise.
13192 (num_sections): Likewise.
13193 (offset): Likewise.
13194
5f47782c
VS
131952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 Eliminate ofpath limits and possible overflows.
13198
13199 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13200 (OF_PATH_MAX): Removed.
13201 (MAX_DISK_CAT): New const.
13202 (find_obppath): Use allocated rather than preallocated buffer.
13203 Return result. Argument of_path removed. All users updated.
13204 Add missing fdstat.
13205 (xrealpath): New function.
13206 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13207 Allocate rather than use preallocated buffer. All users updated.
13208 (__of_path_common): Use allocated rather than preallocatecd buffer.
13209 Return result. Argument of_path removed. All users updated.
13210 (vendor_is_ATA): Read only needed part form the file.
13211 (check_sas): Allocate depending on contents rather than fixed.
13212 (main) [STANDALONE]: Handle NULL result.
13213
f990cbf9
VS
132142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13217
9c6e84b8
VS
132182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 Cryptodisk write support.
13221
13222 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13223 (grub_cryptodisk_decrypt): Moved logic to ...
13224 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13225 (grub_cryptodisk_write): Implement.
13226 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13227 (grub_util_fd_write): ... this. Make global.
13228 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13229
87cf9744
VS
132302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 * include/grub/list.h (grub_list_remove): Don't crash if element is
13233 removed twice.
13234
ca8c0baf
VS
132352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 Rename ofconsole to console.
13238
13239 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13240 as sysnonym to console.
13241 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13242 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13243 Rename grub_ofconsole_ to grub_console_. All users updated
13244 (grub_console_term_output): Rename "ofconsole" to "console".
13245 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13246 as "console".
13247
64c8b8f6
VS
132482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13251 handling.
13252 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13253 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13254 GRUB_DISK_DEVICE_FILE_ID.
13255
f6c434d5
VS
132562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13259 and improve performance.
13260
5858b42d
VS
132612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13264 missing ieee1275/ prefix on whole disk.
13265
4ed3c26b
VS
132662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13269 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13270
df71143e
VS
132712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13274
076e7c0f
VS
132752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 Merge common RAID and LVM logic to an abstract diskfilter.
13278 Add LDM support using the same framework.
13279
13280 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13281 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13282 (libgrubmods): Remove grub-core/disk/raid.c and
13283 grub-core/partmap/gpt.c.
13284 * grub-core/Makefile.core.def (ldm): New module.
13285 (raid): Renamed to diskfilter. All users updated.
13286 * grub-core/disk/raid.c: Moved to ...
13287 * grub-core/disk/diskfilter.c: ... here.
13288 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13289 (lv_num): New var.
13290 (find_array): Renamed to ...
13291 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13292 (grub_is_array_readable): Renamed to ...
13293 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13294 (insert_array): New argument id.
13295 (is_node_readable): New function.
13296 (scan_device): Rename to ...
13297 (scan_disk): .. this. Restrict to one disk.
13298 (scan_devices): New function.
13299 (grub_diskfilter_iterate): Support multi-LV.
13300 Skip invisible and nameless LVs.
13301 (grub_diskfilter_memberlist): Support multi-LV.
13302 (grub_diskfilter_read_node): New function.
13303 (grub_raid_read): Most of logic moved to ...
13304 (read_segment): ... here
13305 (read_lv): New function.
13306 (grub_diskfilter_get_vg_by_uuid): New function.
13307 (grub_diskfilter_make_raid): Likewise.
13308 * grub-core/disk/ldm.c: New file.
13309 * grub-core/disk/lvm.c (vg_list): Removed.
13310 (lv_count): Likewise.
13311 (scan_depth): Likewise.
13312 (is_lv_readable): Likewise.
13313 (grub_lvm_getvalue): Advance pointer past the number.
13314 (find_lv): Removed.
13315 (do_lvm_scan): Refactored into ...
13316 (grub_lvm_detect): ... this. Support raid.
13317 (grub_lvm_iterate): Removed.
13318 (grub_lvm_memberlist): Likewise.
13319 (grub_lvm_open): Likewise.
13320 (grub_lvm_close): Likewise.
13321 (read_lv): Likewise.
13322 (read_node): Likewise.
13323 (is_node_readable): Likewise.
13324 (is_lv_readable): Likewise.
13325 (grub_lvm_read): Likewise.
13326 (grub_lvm_write): Likewise.
13327 (grub_lvm_dev): Use diskfilter
13328 (GRUB_MOD_INIT): Likewise.
13329 (GRUB_MOD_FINI): Likewise.
13330 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13331 new interface.
13332 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13333 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13334 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13335 grub_diskfilter_read_node.
13336 Fix a bug with xor.
13337 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13338 grub_diskfilter_read_node.
13339 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13340 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13341 (grub_disk_dev_iterate): Move from here...
13342 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13343 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13344 Make global.
13345 (grub_hostdisk_find_partition_start): Likewise.
13346 (grub_hostdisk_os_dev_to_grub_drive): New function.
13347 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13348 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13349 * util/getroot.c (make_device_name): ... here.
13350 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13351 Move to ...
13352 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13353 * grub-core/kern/emu/hostdisk.c
13354 (convert_system_partition_to_system_disk): Move to ...
13355 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13356 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13357 * util/getroot.c (device_is_wholedisk): ... here.
13358 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13359 * util/getroot.c (find_system_device): ... here.
13360 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13361 Move to ...
13362 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13363 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13364 Move to ...
13365 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13366 Handle LDM.
13367 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13368 Move to ...
13369 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13370 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13371 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13372 DISKFILTER.
13373 * include/grub/raid.h: Renamed to ...
13374 * include/grub/diskfilter.h: ... this.
13375 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13376 (GRUB_RAID_LAYOUT_*): Make into array.
13377 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13378 (grub_diskfilter_vg): New struct.
13379 (grub_diskfilter_pv_id): Likewise.
13380 (grub_raid_member): Removed.
13381 (grub_raid_array): Likewise.
13382 (grub_diskfilter_pv): New struct.
13383 (grub_diskfilter_lv): Likewise.
13384 (grub_diskfilter_segment): Likewise.
13385 (grub_diskfilter_node): Likewise.
13386 (grub_diskfilter_get_vg_by_uuid): New proto.
13387 (grub_raid_register): Inline.
13388 (grub_diskfilter_unregister): Likewise.
13389 (grub_diskfilter_make_raid): New proto.
13390 (grub_diskfilter_vg_register): Likewise.
13391 (grub_diskfilter_read_node): Likewise.
13392 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13393 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13394 (grub_util_is_ldm): Likewise.
13395 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13396 (grub_hostdisk_find_partition_start): Likewise.
13397 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13398 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13399 New definition.
13400 (grub_gpt_partition_map_iterate): New proto.
13401 * include/grub/lvm.h (grub_lvm_vg): Removed.
13402 (grub_lvm_pv): Likewise.
13403 (grub_lvm_lv): Likewise.
13404 (grub_lvm_segment): Likewise.
13405 (grub_lvm_node): Likewise.
13406 * util/getroot.c [...]
13407 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13408 (probe_abstraction): Likewise.
13409 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13410 (main): Remove dead logic.
13411
8a7f9b9c
VS
134122012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 Simplify root device discover and don't fail when trying to open
13415 incorrect devices.
13416
13417 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13418 function.
13419 (get_diskname_from_path): Likewise.
13420 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13421 of iterating.
13422
30545b85
VS
134232012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13426
28ea58cf
VS
134272012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13430 pastthe end.
13431
692dabca
VS
134322012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * util/grub-install.in: Add missing \.
13435 Reported by: gentoofan
13436
f6e4ea70
VS
134372012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13440 (direct_read): Use correct compressed size.
13441 (grub_squash_read_data): Likewise.
13442
134432012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13444
13445 * docs/grub.texi (Platform limitations): New section.
13446 (Platform-specific operations): Likewise.
13447 * docs/grub-dev.texi (Porting): Likewise.
13448
76261110
VS
134492012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 IEEE1275 disk write support.
13452
13453 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13454 const void *.
13455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13456 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13457 and seek loginc to ...
13458 (grub_ofdisk_prepare): ... here.
13459 (grub_ofdisk_write): Implement.
13460
fc36d603
VS
134612012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 ARC disk write support.
13464
13465 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13466 (reopen): New argument writable. All users updated.
13467 Handle required access mode.
13468 (grub_arcdisk_write): Implement.
13469 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13470 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13471
e06c2e7a
VS
134722012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13475 (read_sblock): Don't attempt to read superblocks outside the disk size.
13476
ff447958
VS
134772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13480 first superblock to find the second one when possible.
13481
9e88df39
VS
134822012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * util/grub-install.in: Fix an ARC bug.
13485 Print a warning if no platform-specific setup is available.
13486
bb26e4ff
VS
134872012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 Use static allocation rather than scratch pointer in reed_solomon.
13490 It decreases its size significantly and avoids a variable in .text.
13491
13492 * grub-core/lib/reed_solomon.c (scratch): Removed.
13493 (chosenstat): New const or static array.
13494 (sigma): Likewise.
13495 (errpot): Likewise.
13496 (errpos): Likewise.
13497 (sy): Likewise.
13498 (mstat): Likewise.
13499 (errvals): Likewise.
13500 (eqstat): Likewise.
13501 (pol_evaluate): Replace x with log_x argument. All users updated.
13502 (syndroms): Removed.
13503 (gauss_solve): Use statically allocated arrays.
13504 (rs_recover): Likewise.
13505 Calculate syndroms directly.
13506 (decode_block): Use statically allocated arrays.
13507 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13508 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13509
2e13ede5
VS
135102012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 Eliminate fixed limit on reed solomon decoder length.
13513
13514 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13515 rather than hardcoding the address.
13516 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13517 no_reed_solomon_length.
13518 Move gate_a20 to no-reed-solomon part.
13519 Don't force a particular size of no reed-solomon part.
13520 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13521 Removed.
13522 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13523 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13524
f8a9ab12
VS
135252012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * grub-core/commands/wildcard.c (match_files): Handle filenames
13528 without explicit device.
13529 (wildcard_expand): Don't add explicit device if not already present.
13530 * tests/grub_script_echo1.in: Add a new expansion test.
13531
87edb894
VS
135322012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 Replace single-linked with double-linked lists. It results in more
13535 compact and more efficient code.
13536
13537 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13538 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13539 (grub_list_remove): Moved from here ...
13540 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13541 (grub_prio_list_insert): Set prev.
13542 * include/grub/list.h (grub_list): Add prev. All users updated.
13543
48b391e9
VS
135442012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 Handle newer autotools. Add some missing quotes while on it.
13547
13548 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13549 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13550 (pkgdata_DATA): ... here.
13551 * Makefile.util.def (update-grub_lib): Removed.
13552 * conf/Makefile.common (pkglib_DATA): Removed.
13553 (pkglib_SCRIPTS): Likewise.
13554 (pkgdata_DATA): New variable.
13555 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13556 needed.
13557 Add missing quotes.
13558 Remove unused variable while on it.
13559 * tests/util/grub-shell.in: Likewise.
13560 * util/grub-install.in: Likewise.
13561 * util/grub-mkconfig.in: Likewise.
13562 * util/grub-mknetdir.in: Likewise.
13563 * util/grub-mkrescue.in: Likewise.
13564 * util/grub-mkstandalone.in: Likewise.
13565 * util/grub.d/00_header.in: Likewise.
13566 * util/grub.d/10_hurd.in: Likewise.
13567 * util/grub.d/10_illumos.in: Likewise.
13568 * util/grub.d/10_kfreebsd.in: Likewise.
13569 * util/grub.d/10_linux.in: Likewise.
13570 * util/grub.d/10_netbsd.in: Likewise.
13571 * util/grub.d/10_windows.in: Likewise.
13572 * util/grub.d/20_linux_xen.in: Likewise.
13573 * util/grub.d/30_os-prober.in: Likewise.
13574 * util/update-grub_lib.in: Removed.
13575
135762012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13577
13578 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13579 a workaround for intel problem.
13580
66832792
PRP
135812012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
135822012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
135832012-01-23 pfsmorigo
13584
13585 * util/grub-install.in: Support dd'in into PreP partition.
13586 * util/grub-probe.c (probe): Support discovering partition type.
13587 (main): Support -t msdos_parttype.
13588
7816a17e
VS
135892012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13592 infinite recursion using counter.
13593 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13594 init to skip it if the magic check fails.
13595 (dec_stream_header): Init s->crc32.
13596
8f9d3a8c
ZB
135972012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
135982012-01-22 Zachary Bedell <pendorbound@gmail.com>
135992012-01-22 Richard Laager <rlaager@wiktel.com>
13600
13601 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13602 All users updated.
13603 (find_bestub): Determine correct size.
13604 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13605 (scan_disk): Align the size down.
13606 Call check pool before find_bestub to have ashift.
13607
b055dd32
VS
136082012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13611 dprintf in no-malloc zone.
13612
d779e9bd
ML
136132012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13614
13615 * configure.ac: Add back in test for limits.h.
13616
b508af69
VS
136172012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 Support 4K-sector NTFS.
13620
13621 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13622 (grub_ntfs_data): Remove blocksize.
13623 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13624 Remove data argument. All users updated.
13625
dad9c8b5
VS
136262012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13629 being in .text to avoid dprel references.
13630 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13631 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13632 (grub_arch_highmemsize): Likewise.
13633 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13634 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13635 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13636
d43a777e
VS
136372012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13640
13641 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13642 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13643
34e4208f
VS
136442012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13647 GRUB_UTIL.
13648 (grub_set_datetime_cmos): Likewise.
13649
3ec0fc1c
VS
136502012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13651
13652 Make XZ compression parameters dependent on target and not host CPU.
13653
13654 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13655 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13656
22489834
VS
136572012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13660 set but not used variable.
13661
8502fbca
VS
136622012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13665 created when no uuid support is compiled into mkfs.reiser.
13666
76df2068
VS
136672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13670 (utf8_to_macroman): Do the opposite.
13671 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13672
64e3f8f6
VS
136732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * configure.ac: Refise build qemu_mips w/o unifont.
13676
9c271078
VS
136772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 Eliminate grub_min/grub_max prone to overflow usage.
13680
13681 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13682 (poll_nonroot_hub): Likewise.
13683 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13684 (grub_affs_label): Likewise.
13685 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13686 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13687 (grub_hfs_label): Likewise.
13688 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13689 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13690 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13691 (zap_leaf_array_get): Likewise.
13692 (dnode_get_path): Likewise.
13693 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13694 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13695 * grub-core/script/execute.c (grub_script_break): Likewise.
13696 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13697 grub_max.
13698 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13699 * include/grub/misc.h (grub_min): Removed.
13700 (grub_max): Likewise.
13701
80662dbc
VS
137022012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13703
13704 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13705 direct.inode = 0.
13706
e6da1467
VS
137072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13710
b1ac4cb1
VS
137112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13712
13713 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13714
b4bf7c3b
VS
137152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13718 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13719
8ee1101a
VS
137202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13723 rather than a hack for grub_strncasemap.
13724
137252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 Support multiple initrds
13728 Note: part of this was accidently committed in r3739.
13729
13730 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13731 initrd.
13732 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13733 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13734 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13735 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13736 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13737
4d1e2bc9
VS
137382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13741 disks with unknown size.
13742 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13743
75b49ebe
VS
137442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 Remove defines pertaining to arbitrary limits not affecting GRUB
13747 anymore.
13748
13749 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13750 (EXT2_MAX_SYMLINKCNT): Likewise.
13751 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13752 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13753 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13754 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13755 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13756 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13757 (DN_MAX_OBJECT_SHIFT): Likewise.
13758 (DN_MAX_OFFSET_SHIFT): Likewise.
13759 (DN_MAX_OBJECT): Likewise.
13760 (DNODES_PER_LEVEL_SHIFT): Likewise.
13761 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13762 (SPA_MAXBLOCKSIZE): Likewise.
13763 (SPA_BLOCKSIZES): Likewise.
13764 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13765 (MZAP_MAX_BLKSZ): Likewise.
13766
74a1dce7
VS
137672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13770 handle NULL appropriately.
13771 Remove MIN.
13772
30c7d3ce
VS
137732012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 Fix efiemu.
13776
13777 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13778 cpu/types.h.
13779 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13780 * configure.ac: Fix efiemu check.
13781
3c76ea0c
VS
137822012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13785 grub_probe.
13786 Reported by: adamwill
13787
7e532280
SG
137882012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13789
13790 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13791
30492374
VS
137922012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 Fix handling of wide characters in gfxterm.
13795
13796 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13797 (clear_char): Likewise.
13798 (paint_char): Skip code == NULL chars.
13799 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13800
e70cb72f
VS
138012012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/normal/charset.c: Move comment to right place.
13804
5c827cf9
VS
138052012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13808 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13809 (grub_affs_mount): Revert the correct version checking.
13810
53603892
VS
138112012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 * docs/grub.texi (Unicode): Mention several other unsupported features.
13814
ff094b9b
VS
138152011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13818 case statements as compile-time one.
13819 (direct_read): Prevent spurious warnings.
13820 (grub_squash_read_data): Likewise.
13821
c029da8a
VS
138222011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 Various squash4 fixes and LZO and XZ support.
13825
13826 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13827 Add xzembed source files.
13828 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13829 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13830 (grub_squash_inode): New subtype long_dir.
13831 (SQUASH_TYPE_LONG_DIR): New inode type.
13832 (COMPRESSION): New enum.
13833 (XZBUFSIZ): New const.
13834 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13835 (read_chunk): Use data->decompress.
13836 (zlib_decompress): New function.
13837 (lzo_decompress): Likewise.
13838 (xz_decompress): Likewise.
13839 (squash_mount): Set new data fields.
13840 (grub_squash_iterate_dir): Handle long dir.
13841 (squash_unmount): Free xzdec and xzbuf.
13842 (grub_squash_open): Check ino type.
13843 (direct_read): Stylistic fixes. Use data->decompress.
13844 (grub_squash_read_data): Likewise.
13845 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13846 (get_byte): Likewise.
13847 (grub_zlib_disk_read): Removed.
13848 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13849 (GRUB_POSIX_BOOL_DEFINED): New define.
13850 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13851 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13852 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13853 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13854
7a45a539
VS
138552011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 Don't override more informative errors.
13858
13859 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13860 * grub-core/font/font.c (open_section): Likewise.
13861 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13862 filename. Don't override errors.
13863 (grub_cmd_openbsd_ramdisk): Don't override errors.
13864 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13865 (grub_cmd_initrd): Likewise.
13866 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13867 (grub_cmd_initrd): Likewise.
13868 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13869 (grub_cmd_linux): Likewise.
13870 (grub_cmd_initrd): Likewise.
13871 (grub_cmd_payload): Likewise.
13872 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13873 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13874 (grub_cmd_module): Likewise.
13875 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13876 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13877 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13878 (grub_cmd_xnu_mkext): Likewise.
13879 (grub_cmd_xnu_ramdisk): Likewise.
13880 (grub_xnu_check_os_bundle_required): Likewise.
13881 (grub_xnu_load_kext_from_dir): Likewise.
13882 (grub_cmd_xnu_kextdir): Likewise.
13883 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13884
b2d004db
VS
138852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13888 as 1024 in block size field. Found on one of my test images.
13889 Small optimisation while on it.
13890
ec000eac
VS
138912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13894 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13895 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13896 performance fixes while on it.
13897 (grub_sfs_close): Fix memory leak while on it.
13898 (grub_sfs_label): Convert Latin1 to UTF-8.
13899
f50e1165
VS
139002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13903 space to avoid overflows.
13904 (grub_hfs_label): Convert from macroman to UTF-8.
13905
2ae254de
VS
139062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13909
0108f491
VS
139102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13913
f45f5f89
VS
139142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * unicode: Import Unicode 6.0 data.
13917
4d8c4765
VS
139182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13919
63fa8ef9
VS
13920 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13921 outside of range.
13922
139232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13926
13927 * include/grub/charset.h (grub_getend): New function.
13928 * grub-core/script/function.c (grub_script_function_find): Use
13929 grub_getend.
13930 * grub-core/normal/completion.c (add_completion): Likewise.
13931
f3cb4a4e
VS
139322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13935 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13936 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13937 (GRUB_UNICODE_TAG_END): Likewise.
13938 (GRUB_UNICODE_LAST_VALID): Likewise.
13939
5da8dbc5
VS
139402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13943 len and make it smaller. All users updated.
13944 * util/import_unicode.py: Put length and not end character.
13945 Check length.
13946
8569f13d
VS
139472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 Make better Unicode-compliant and unify some UTF-8 code pathes.
13950
13951 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13952 valid character.
13953 (grub_is_valid_utf8): Use grub_utf8_process.
13954 Check resulting code range.
13955 (grub_utf8_to_ucs4): Use grub_utf8_process.
13956 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13957 valid character.
13958
cc4fddf5
VS
139592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13962
bbc47747
VS
139632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 * docs/grub.texi (Filesystems): Mention AFS.
13966
f63d6bf4
VS
139672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13968
13969 * docs/grub.texi (Filesystems): Clarify restrictions.
13970 (Regexp): Mention non-Unicode regexp behaviour.
13971 (Other): Mention non-Unicode matching behaviour.
13972
74bbf0db
VS
139732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13974
f63d6bf4 13975 Make HFS implementation use MacRoman.
74bbf0db
VS
13976
13977 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13978 (macroman): New const array.
13979 (macroman_to_utf8): New function.
13980 (utf8_to_macroman): Likewise.
13981 (grub_hfs_find_dir): Use utf8_to_macroman.
13982 (grub_hfs_dir): Use macroman_to_utf8.
13983 Set case_insensitive.
13984
4ea0316e
VS
139852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13988
d3c13cbd
VS
139892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 Integrate hints into autogeneration scripts.
13992
13993 * docs/grub.texi (Filesystems): Add a hostdisk example.
13994 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13995 (grub-probe): Add ofpath.
13996 * gentpl.py: Remove group nosparc64.
13997 * grub-core/commands/search.c (cache_entry): New struct.
13998 (cache): New var.
13999 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14000 * grub-core/commands/search_wrap.c (options): Add platform-specific
14001 hint options.
14002 (grub_cmd_search): Handle platform-specific hints.
14003 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14004 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14005 (grub_util_biosdisk_data): Likewise.
14006 (grub_util_biosdisk_open): Set device_map.
14007 (read_device_map): Handle "" as indication of no map.
14008 Set device_map.
14009 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14010 (grub_util_biosdisk_get_compatibility_hint): New function.
14011 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14012 * include/grub/emu/hostdisk.h
14013 (grub_util_biosdisk_get_compatibility_hint): New proto.
14014 * util/grub-install.in: Don't call grub-mkdevicemap.
14015 Add platform-specific hint to load.cfg.
14016 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14017 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14018 hints. Set root preliminary to compatibility hint, not to OS name.
14019 * util/grub-probe.c (PRINT_*): Add hints.
14020 (print): Make static.
14021 (escape_of_path): New function.
14022 (guess_bios_drive): Likewise.
14023 (guess_efi_drive): Likewise.
14024 (guess_baremetal_drive): Likewise.
14025 (print_full_name): Likewise.
14026 (probe): Handle hints.
14027 (main): Likewise.
14028 * util/ieee1275/devicemap.c: Removed.
14029 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14030 updated.
14031 (grub_util_devname_to_ofpath): Return NULL on failure.
14032
14033 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14034 resource leak.
14035 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14036
14037 * po/POTFILES.in: Regenerated.
14038
14039 Allow purely long options
14040
14041 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14042 (SHORT_ARG_USAGE): Likewise.
14043 (grub_arg_show_help): Compare opt with help_options.
14044 (parse_option): Receive opt as argument. If makes big simplificatons.
14045 All users updated
14046
00ce2df3
VS
140472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
14050 Restructure to avoid warning.
14051
e77e325f
VS
140522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * util/grub-install.in: Account for possible escaped comma in device
14055 name.
14056
165099ea
VS
140572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14060 channel.
14061
ce4a999d
VS
140622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14065 allocation and zero-setting.
14066 (grub_ieee1275_get_devname): Check that alias is complete.
14067
379586ad
VS
140682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14071 unaligned segments.
14072
9197b0ad
VS
140732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14076 prefix.
14077 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14078 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14079 Add ieee1275 prefix.
14080
edddb7f9
VS
140812011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * docs/grub.texi (Filesystems): Update.
14084
a1a8b1b9
VS
140852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 Support odc, newc and bigendian cpio formats.
14088
14089 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
14090 * grub-core/Makefile.core.def (newc): New module.
14091 (odc): Likewise.
14092 (cpio_be): Likewise.
14093 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
14094 (MAGIC): Likewise.
14095 (MAGIC2): Likewise.
14096 (head) [MODE_ODC]: Adapt for the format.
14097 (head) [MODE_NEWC]: Likewise.
14098 (head) [!MODE_*]: Write fields of interest as arrays.
14099 (MAGIC_USTAR): Removed.
14100 (read_number) [MODE_NEWC]: Change to hex.
14101 (read_number) [!MODE_*]: Parse binary arrays.
14102 (grub_cpio_find_file): Factor out the code for better structure and
14103 always use read_number.
14104 (grub_cpio_mount): Use MAGIC and MAGIC2.
14105 (grub_cpio_dir): Exit on first hook non-0 return.
14106 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
14107 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
14108 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
14109 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
14110 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
14111 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
14112 * grub-core/fs/newc.c: New file.
14113 * grub-core/fs/odc.c: Likewise.
14114 * grub-core/fs/cpio_be.c: Likewise.
14115
58eba9ee
VS
141162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Fix handling of tar numbers occupying the whole field.
14119
14120 * grub-core/fs/cpio.c (read_number): New function.
14121 (grub_cpio_find_file): Use read_number instead of strtoull.
14122
a54a0e12
VS
141232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
14126 occupying the whole field size.
14127
a6120aca
LA
141282011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
14129
14130 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
14131
a93964ce
VS
141322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14133
14134 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
14135
3ea1ca46
SG
141362011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
14137
14138 * grub-core/Makefile.core.def (lzma_decompress): Add missing
14139 TARGET_IMG_LDFLAGS.
14140
b87f7ef2
VS
141412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14142
14143 * util/getroot.c (ESCAPED_PATH_MAX): New define.
14144 (mountinfo_entry): Increase the field size to take escaping into
14145 account.
14146 (find_root_device_from_libzfs): Add one byte to size of strings for
14147 security.
14148
62092395
VS
141492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
14152 an assert.
14153 * util/grub-setup.c (setup): Likewise.
14154
1f0b1a77
VS
141552011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
14158 _LzmaDecodeA.
14159
8eba9997
VS
141602011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * docs/grub.texi (Internationalisation): New section.
14163
dd0c91e9
VS
141642011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * docs/grub.texi (Loopback booting): New section.
14167
141682011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
14169
14170 * util/grub-mkstandalone.in: Fix minor typo errors.
14171
198e150a
VS
141722011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14175
14176 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14177 net/icmp.c and net/icmp6.c.
14178 (http): New module.
14179 (priority_queue): Likewise.
14180 * grub-core/io/bufio.c: Rewritten.
14181 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14182 TYPE_WITH_CONFIGFILE_OPTION.
14183 (legacy_commands): Add bootp and dhcp.
14184 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14185 (grub_legacy_parse): Likewise.
14186 * grub-core/lib/priority_queue.c: New file.
14187 * grub-core/net/arp.c: Add missing license header.
14188 (arp_find_entry): Removed.
14189 (arp_find_entry): Likewise.
14190 (grub_net_arp_resolve): Rename to ...
14191 (grub_net_arp_send_request): ...this.
14192 (grub_net_arp_receive): New card argument.
14193 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14194 Set router and DNS server.
14195 (grub_net_configure_by_dhcp_ack): Handle routing information.
14196 (grub_cmd_bootp): Set checksum.
14197 (grub_bootp_init): Remove net_dhcp.
14198 * grub-core/net/dns.c: New file.
14199 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14200 completion.
14201 (get_card_packet): Handle allocation.
14202 (grub_efinet_findcards): Set mtu.
14203 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14204 (get_card_packet): Handle allocation.
14205 (emucard): Set mtu.
14206 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14207 (GRUB_MOD_INIT): Set mtu.
14208 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14209 mtu.
14210 (get_card_packet): Handle allocation.
14211 (grub_ofnet_findcards): Set mtu.
14212 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14213 assert.
14214 (grub_net_recv_ethernet_packet): Handle IPv6.
14215 * grub-core/net/http.c: New file.
14216 * grub-core/net/icmp.c: Likewise.
14217 * grub-core/net/icmp6.c: Likewise.
14218 * grub-core/net/ip.c (ip6addr): New type.
14219 (ip6hdr): Likewise.
14220 (reassemble): Likewise.
14221 (cmp): New function.
14222 (reassembles): New variable.
14223 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14224 (id): New variable.
14225 (send_fragmented): New function.
14226 (grub_net_send_ip_packet): Rename to ...
14227 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14228 Handle non-UDP.
14229 (grub_net_recv_ip_packets): Rename to ...
14230 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14231 (free_rsm): New function.
14232 (free_old_fragments): Likewise.
14233 (grub_net_recv_ip4_packets): New function.
14234 (grub_net_send_ip6_packet): Likewise.
14235 (grub_net_send_ip_packet): Likewise.
14236 (grub_net_recv_ip6_packets): Likewise.
14237 (grub_net_recv_ip_packets): Likewise.
14238 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14239 (LINK_LAYER_CACHE_SIZE): New const.
14240 (link_layer_find_entry): New function.
14241 (grub_net_link_layer_add_address): Likewise.
14242 (grub_net_link_layer_resolve_check): Likewise.
14243 (grub_net_link_layer_resolve): Likewise.
14244 (grub_net_ipv6_get_slaac): Likewise.
14245 (grub_net_ipv6_get_link_local): Likewise.
14246 (grub_cmd_ipv6_autoconf): Likewise.
14247 (parse_ip): Handle one number representation.
14248 (parse_ip6): New functoion.
14249 (match_net): Handle IPv6.
14250 (grub_net_resolve_address): Handle IPv6 and DNS.
14251 (grub_net_resolve_net_address): Handle IPv6.
14252 (route_cmp): New function.
14253 (grub_net_route_address): Find best route.
14254 (grub_net_addr_to_str): Handle IPv6.
14255 (grub_net_addr_cmp): New function.
14256 (grub_net_add_addr): Register local route.
14257 (print_net_address): Handle net address.
14258 (grub_net_poll_cards): Retransmit TCP.
14259 (grub_net_poll_cards_idle_real): Likewise.
14260 (have_ahead): New function.
14261 (grub_net_seek_real): Use underlying seek.
14262 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14263 * grub-core/net/tcp.c: New file.
14264 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14265 (cmp): New function.
14266 (ack): Likewise.
14267 (tftp_receive): Handle unordered input.
14268 (destroy_pq): New function.
14269 (tftp_close): Close pq.
14270 * grub-core/net/udp.c: Put missing license header.
14271 (grub_net_udp_socket): New function.
14272 (udp_socket_register): Likewise.
14273 (grub_net_udp_close): Likewise.
14274 (grub_net_recv_udp_packet): Check checksum.
14275 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14276 * include/grub/misc.h (grub_memchr): New function.
14277 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14278 (grub_net_card_driver): Return buf in recv.
14279 (grub_net_slaac_mac_list): New struct.
14280 (grub_network_level_protocol_id): Add ipv6.
14281 (grub_net_network_level_addr): Likewise.
14282 (grub_net_network_level_net_addr): Likewise.
14283 (grub_net_app_protocol): Add seek.
14284 (grub_net_socket): Removed.
14285 (grub_net_sockets): Likewise.
14286 (grub_net_socket_register): Likewise.
14287 (grub_net_socket_unregister): Likewise.
14288 (FOR_NET_SOCKETS): Likewise.
14289 (grub_net_add_addr): Add const.
14290 (GRUB_NET_BOOTP_*): New enum.
14291 (grub_net_addr_cmp): New proto.
14292 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14293 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14294 (grub_net_hwaddr_to_str): NEw proto.
14295 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14296 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14297 (grub_dns_init): New proto.
14298 (grub_dns_fini): Likewise.
14299 (grub_net_tcp_retransmit): Likewise.
14300 (grub_net_link_layer_add_address): Likewise.
14301 (grub_net_link_layer_resolve_check): Likewise.
14302 (grub_net_link_layer_resolve): Likewise.
14303 (grub_net_dns_lookup): Likewise.
14304 (grub_net_add_dns_server): Likewise.
14305 (grub_net_remove_dns_server): Likewise.
14306 (GRUB_NET_TRIES): New const.
14307 (GRUB_NET_INTERVAL): Likewise.
14308 * include/grub/net/arp.h: Mostly rewritten.
14309 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14310 * include/grub/net/ip.h: Mostly rewritten.
14311 * include/grub/net/netbuff.h: Indent.
14312 * include/grub/net/tcp.h: New file.
14313 * include/grub/net/udp.h: Mostly rewritten.
14314 * include/grub/priority_queue.h: New file.
14315 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14316 (grub_swap_bytes64_compile_time): Likewise.
14317 (grub_cpu_to_be16_compile_time): Likewise.
14318 (grub_cpu_to_be32_compile_time): Likewise.
14319 (grub_cpu_to_be64_compile_time): Likewise.
14320 (grub_be_to_cpu64_compile_time): Likewise.
14321
215c1800
VS
143222011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14325 UINT_TO_PTR with cast.
14326
c17e546c
VS
143272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14330 don't use them.
14331
ff6b18b6
VS
143322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14335 already there.
14336
70ffcc93
VS
143372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14340 confusing ipxe.
14341
e5f4d260
VS
143422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14345 Add missing const attribute.
14346 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14347 Likewise.
14348 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14349 Likewise.
14350
8e54b4b7
VS
143512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14354 misaligned access.
14355 (serpent_setkey): Likewise.
14356 (serpent_encrypt_internal): Likewise.
14357 (serpent_decrypt_internal): Likewise.
14358 (serpent_encrypt): Don't put an alignment-increasing cast.
14359 (serpent_decrypt): Likewise.
14360 (serpent_test): Likewise.
14361
813c0a2b
VS
143622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14365
f2b60fbd
VS
143662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14367
14368 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14369
14370 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14371 grub_addr_t casts.
14372 (PTR_TO_UINT64): Likewise.
14373 (PTR_TO_UINT32): Likewise.
14374
5ef5c511
VS
143752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14378 because of stack.
14379 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14380 limit.
14381
c476e6df
VS
143822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14383
14384 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14385 text_width > available width a bit more gracefully.
14386
384ad7cc
VS
143872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14390 current address calculation.
14391
96f8caf8
VS
143922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14395 stack.
14396 (encode_block): Likewise.
14397
276b7a8b
VS
143982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14401 certainety.
14402
e3fd394a
VS
144032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14406 non-RS part to avoid RS messing with GDT.
14407 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14408 Increase to suit in realmode routines.
14409
144102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 * grub-core/kern/i386/realmode.S: Increase alignment.
14413 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14414
ee9c2e7a
VS
144152011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14418 be deterministic.
14419 (syndroms): Compute 0 syndrom.
14420 (rs_recover): Use 0 syndrom.
14421
7a7f7cc9
VS
144222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14425
a14b16d1
VS
144262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14427
14428 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14429 brackets.
14430
9f59e9fc
VS
144312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14432
ca1b552c
VS
14433 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14434 account.
14435 (get_top_pad): Likewise.
14436 (get_right_pad): Likewise.
14437 (get_bottom_pad): Likewise.
14438
144392011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14442
e739d698
VS
144432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14446 attribute as the structure isn't guaranteed to be properly aligned.
14447 (grub_efi_pci_device_path): Likewise.
14448 (grub_efi_pccard_device_path): Likewise.
14449 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14450 specify the size of `memory_type'.
14451 (grub_efi_vendor_device_path): Likewise.
14452 (grub_efi_controller_device_path): Likewise.
14453 (grub_efi_acpi_device_path): Likewise.
14454 (grub_efi_expanded_acpi_device_path): Likewise.
14455 (grub_efi_atapi_device_path): Likewise.
14456 (grub_efi_scsi_device_path): Likewise.
14457 (grub_efi_fibre_channel_device_path): Likewise.
14458 (grub_efi_1394_device_path): Likewise.
14459 (grub_efi_usb_device_path): Likewise.
14460 (grub_efi_usb_class_device_path): Likewise.
14461 (grub_efi_i2o_device_path): Likewise.
14462 (grub_efi_mac_address_device_path): Likewise.
14463 (grub_efi_ipv4_device_path): Likewise.
14464 (grub_efi_ipv6_device_path): Likewise.
14465 (grub_efi_infiniband_device_path): Likewise.
14466 (grub_efi_uart_device_path): Likewise.
14467 (grub_efi_vendor_messaging_device_path): Likewise.
14468 (grub_efi_hard_drive_device_path): Likewise.
14469 (grub_efi_cdrom_device_path): Likewise.
14470 (grub_efi_vendor_media_device_path): Likewise.
14471 (grub_efi_file_path_device_path): Likewise.
14472 (grub_efi_protocol_device_path): Likewise.
14473 (grub_efi_piwg_device_path): Likewise.
14474 (grub_efi_bios_device_path): Likewise.
14475
cb8f88ea
VS
144762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14479 (grub_ucs4_to_utf8_alloc): Likewise.
14480 (grub_ucs4_to_utf8): Likewise.
14481 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14482 (grub_ucs4_to_utf8_alloc): Likewise.
14483
309e5352
VS
144842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 AFFS never uses unicode.
14487
14488 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14489 (grub_latin1_to_utf8): New inline function.
14490 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14491
e7987e1b
VS
144922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14495 overflow.
14496
efc2616e
VS
144972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14500 (grub_squash_dirent_header): Likewise.
14501 (read_chunk): Don't double swap.
14502 (grub_squash_iterate_dir): Fix swap sizes.
14503
3c349f5a
VS
145042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14507
b453412d
VS
145082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14511 (grub_hfs_iterate_dir): Likewise.
14512
12e9d4d1
VS
145132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 Fix video on platforms where unaligned access is forbidden.
14516 Make several optimisations while on it.
14517
14518 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14519 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14520 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14521 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14522 Disable.
14523 (grub_video_fbblit_replace_16bit_1bit):
14524 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14525 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14526 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14527 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14528 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14529 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14530 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14531 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14532 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14533 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14534 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14535 (grub_video_fbblit_replace_index_RGB888): Likewise.
14536 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14537 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14538 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14539 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14540 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14541 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14542 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14543 Disable.
14544 (grub_video_fbblit_blend_XXX565_1bit):
14545 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14546 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14547 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14548 void *.
14549 * grub-core/video/fb/video_fb.c (common_blitter)
14550 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14551 (grub_video_fb_create_render_target_from_pointer)
14552 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14553 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14554 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14555 definition.
14556 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14557
ace96609
VS
145582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14561 HH22 and HM10 relocations.
14562
fd261d73
VS
145632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14564
14565 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14566
e59b7857
VS
145672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14570 allocation succeeded.
14571
9b4baaa4
VS
145722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14573
14574 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14575 argument a u8 pointer. All users updated.
14576 Handle unaligned buffers.
14577
dc713193
VS
145782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14581 add_part to workaround compiler bug.
14582
30dd48c2
VS
145832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14584
14585 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14586
0c6087a8
VS
145872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14590 Reserve alignment invariants.
14591 (grub_multiboot_load): Likewise.
14592 (retrieve_video_parameters): Likewise.
14593 (grub_multiboot_make_mbi): Likewise.
14594
c2e77777
VS
145952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14598 incorrect pointer.
14599
b70b6d11
VS
146002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14601
14602 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14603 (grub_pata_pio_write): Likewise.
14604
02a2bf83
VS
146052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 Add noreturn attributes and remove unreachable code.
14608
14609 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14610 code.
14611 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14612 code. Mark as noreturn.
14613 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14614 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14615 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14616 unreachable code.
14617 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14618 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14619 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14620 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14621 * include/grub/kernel.h (grub_main): Mark as noreturn.
14622 * include/grub/reader.h (grub_rescue_run): Likewise.
14623
2019d09e
VS
146242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14627 redundant declaration.
14628
d1c501ee
VS
146292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14632 redundant declaration.
14633 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14634
61664420
VS
146352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14638 to ensure alignment.
14639 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14640 alignment. Ensure tmp alignment.
14641 (grub_cmd_hdparm): Ensure buf alignment.
14642 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14643 to ensure alignment.
14644 (grub_ata_dumpinfo): Ensure text alignment.
14645 (grub_atapi_identify): Preserve alignment invariant.
14646 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14647
0d51ee20
VS
146482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14651 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14652 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14653 * include/grub/misc.h (grub_reboot)
14654 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14655 (grub_halt) [__mips__]: Likewise.
14656
753ef8c1
VS
146572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14658
14659 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14660 Remove redundant declaration.
14661 (grub_mmap_get_post64): Likewise.
14662 (grub_mmap_get_upper): Likewise.
14663 (grub_mmap_get_lower): Likewise.
14664
85c85365
VS
146652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14668 uint32_t * to ensure alignment.
14669 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14670
a23f2cc4
VS
146712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14672
93018f64
VS
14673 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14674 uint16_t * to ensure alignment.
14675 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14676 alignment.
14677
146782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14681 to ensure alignment.
14682 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14683
58acccd6
VS
146842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14687 Handle unaligned pointers.
14688 (u32at): Likewise.
14689 (u64at): Likewise.
14690 (fixup): Use byte access instead of v16at.
14691 (find_attr): Fix imporper usage of v32at.
14692 (read_data): Likewise.
14693 (list_file): Handle byte-swapping and unaligned strings.
14694 (grub_ntfs_label): Likewise.
14695
9b05cad7
VS
146962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14699 as it's not necessarily aligned.
14700
b3950b84
VS
147012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14704 redundant declaration.
14705 (grub_serial_init): Likewise.
14706 (grub_terminfo_init): Likewise.
14707
fcd232b7
VS
147082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14711 function.
14712 (ZAP_HASH_IDX): Likewise.
14713 (ZAP_LEAF_HASH_SHIFT): Likewise.
14714 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14715 (LEAF_HASH): Likewise.
14716 (ZAP_LEAF_NUMCHUNKS): Likewise.
14717 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14718 alignment invariants. Return pointer. All users updated.
14719 (ZAP_LEAF_ENTRY): Make into inline function.
14720 (NBBY): Removed.
14721 (xor): LIkewise.
14722 (xor_out): Use grub_crypto_xor.
14723 (dnode_get_path): Use grub_get_unaligned.
14724 (nvlist_find_value): Likewise.
14725 (grub_zfs_nvlist_lookup_uint64): Likewise.
14726 (grub_zfs_nvlist_lookup_string): Likewise.
14727 (get_nvlist_size): Likewise.
14728 (grub_zfs_open): Likewise.
14729 (fill_fs_info): Likewise.
14730 (grub_zfs_dir): Likewise.
14731 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14732 alignment invariants.
14733 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14734 necessarily aligned.
14735
f138623a
VS
147362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14739
564840dc
VS
147402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14743 arithmetic to conserve alignment invariants.
14744
9b40df20
VS
147452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14748 redundant declaration.
14749 (grub_efiemu_mm_obtain_request): Likewise.
14750 (grub_efiemu_prepare): Likewise.
14751
d1c930f9
VS
147522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14755 to match types.
14756
4c5f3056
VS
147572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14760 case of aunaligned recptr.
14761 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14762 alignment.
14763 (grub_hfsplus_btree_search): Handle unaligned index.
14764
728cba91
VS
147652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14768 to get freetag and skip.
14769
eb561f31
VS
147702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14773 array.
14774 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14775 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14776
20993fbb
VS
147772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14780 name for checksum and fix allocation algorithm.
14781
1f313b94
VS
147822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 * include/grub/types.h (grub_properly_aligned_t): New type.
14785 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14786 (grub_get_unaligned16): Add explicit casts.
14787 (grub_get_unaligned32): Likewise.
14788 (grub_get_unaligned64): Likewise.
14789 (grub_set_unaligned16): New function.
14790 (grub_set_unaligned32): Likewise.
14791
47ae27ec
VS
147922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14793
14794 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14795
78c2cd1c
VS
147962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14799 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14800 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14801
53072f9b
VS
148022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14805 conditionals.
14806
055dc239
VS
148072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14810 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14811
496bd074
VS
148122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 Unify and improve RAID and crypto xor.
14815
14816 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14817 changed to grub_crypto_xor
14818 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14819 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14820 Use bigger types when possible.
14821
ef6e4335
VS
148222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * grub-core/disk/raid.c (scan_devices): Fix condition.
14825
5d048bf2
VS
148262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14829 Make name a const ptr.
14830
ee533335
VS
148312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14834 first argument a const pointer.
14835 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14836 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14837 proto.
14838 (grub_children_iterate): Likewise.
14839 (grub_machine_mmap_iterate): Remove redundant declaration.
14840
cc8f3668
VS
148412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14844 (grub_cmd_acpi) [!x86]: Disable EBDA.
14845
c5fc563a
VS
148462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 Enable UTF8 in gnulib regexp.
14849
14850 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14851 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14852 (isupper): Use grub_isupper.
14853 (isascii): New inline function.
14854 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14855 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14856 * grub-core/normal/charset.c (grub_utf8_process): New function.
14857 (grub_utf8_to_utf16): Use grub_utf8_process.
14858 (grub_encode_utf8_character): New function.
14859 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14860 * include/grub/charset.h (grub_utf8_process): New declaration.
14861 (grub_encode_utf8_character): Likewise.
14862 * include/grub/misc.h (grub_islower): New inline function.
14863 (grub_isupper): Likewise.
14864 (grub_strchrsub): Moved down to fix the definitions.
14865
0af2346f
VS
148662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14867
14868 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14869 specification.
14870
74dbd244
VS
148712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 * include/grub/loader.h (grub_loader_register_preboot_hook):
14874 Use struct preboot * and not void * for handle. All users updated.
14875 (grub_loader_unregister_preboot_hook): Likewise.
14876
1bc8f60d
VS
148772011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14878
14879 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14880 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14881 UTF-16-BE. All users updated.
14882 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14883 (grub_hfsplus_iterate_dir): Likewise.
14884 (grub_hfsplus_label): Likewise.
14885
48d6e456
VS
148862011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14889
bf3a3857
VS
148902011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 Add missing const qualifiers.
14893
14894 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14895 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14896 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14897 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14898 (grub_lvm_check_flag): Likewise.
14899 * grub-core/efiemu/i386/coredetect.c
14900 (grub_efiemu_get_default_core_name): Likewise
14901 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14902 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14903 * grub-core/fs/ntfs.c (fixup): Likewise.
14904 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14905 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14906 (fzap_lookup): Likewise.
14907 (zap_lookup): Likewise.
14908 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14909 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14910 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14911 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14912 (grub_freebsd_add_meta_module): Likewise.
14913 (grub_cmd_freebsd_module): Likewise.
14914 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14915 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14916 (grub_xnu_writetree_get_size): Likewise.
14917 (grub_xnu_writetree_toheap_real): Likewise.
14918 (grub_xnu_find_key): Likewise.
14919 (grub_xnu_create_key): Likewise.
14920 (grub_xnu_create_value): Likewise.
14921 (grub_xnu_register_memory): Likewise.
14922 (grub_xnu_check_os_bundle_required): Likewise.
14923 (grub_xnu_scan_dir_for_kexts): Likewise.
14924 (grub_xnu_load_kext_from_dir): Likewise.
14925 * grub-core/normal/color.c (color_list): Likewise.
14926 * grub-core/normal/completion.c (current_word): Likewise.
14927 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14928 * grub-core/term/serial.c (grub_serial_find): Likewise.
14929 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14930 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14931 Likewise.
14932 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14933 (grub_freebsd_add_meta_module): Likewise.
14934 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14935 * include/grub/net.h (grub_net_card_driver): Likewise.
14936 (grub_net_card): Likewise.
14937 (grub_net_app_protocol): Likewise.
14938 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14939 * include/grub/serial.h (grub_serial_find): Likewise.
14940 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14941 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14942 (grub_xnu_create_value): Likewise.
14943 (grub_xnu_find_key): Likewise.
14944 (grub_xnu_scan_dir_for_kexts): Likewise.
14945 (grub_xnu_load_kext_from_dir): Likewise.
14946
14947 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14948 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14949 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14950 Moved from here ...
14951 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14952
112b4837
CW
149532011-11-28 Colin Watson <cjwatson@ubuntu.com>
14954
14955 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14956
49e891ac
VS
149572011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14960 (read_device): Fix size calculation.
14961
fd258e5c
RM
149622011-11-25 Robert Millan <rmh@gnu.org>
14963
14964 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14965 (find_root_device_from_libzfs): Add zpool output parser to be used
14966 as fallback when libzfs isn't available.
14967
78845dc2
SG
149682011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14969
14970 * po/Makefile.in.in: Add missing escape-continuation.
14971
adac5211
VS
149722011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14975
10b64f1c
VS
149762011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14977
14978 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14979
bb416954
VS
149802011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14983
bdfe9eeb
VS
149842011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14987
581ffa8a
VS
149882011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * grub-core/lib/adler32.c: Add missing license specification.
14991 * grub-core/lib/crc64.c: Likewise.
14992 * grub-core/loader/i386/pc/plan9.c: Likewise.
14993 * grub-core/partmap/plan.c: Likewise.
14994
2536cf64
LK
149952011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14996
14997 Add facility to debug GRUB with gdb under qemu.
14998
14999 * grub-core/gdb_grub.in: New file.
15000 * grub-core/gmodule.pl.in: Likewise.
15001 * grub-core/Makefile.core.def (gmodule.pl): New script.
15002 (gdb_grub): Likewise.
15003
bc108a4a
VS
150042011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 * util/grub-mount.c (argp_parser): Accept relative pathes.
15007 * util/grub-fstest.c (argp_parser): Likewise.
15008
111c1778
VS
150092011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 Plan9 support.
15012
15013 * Makefile.util.def (libgrubmods): Add
15014 grub-core/partmap/plan.c.
15015 * docs/grub.texi: Notice Plan9 support.
15016 * grub-core/Makefile.core.def (plan9): New module.
15017 (part_plan): Likewise.
15018 * grub-core/loader/i386/pc/plan9.c: New file.
15019 * grub-core/partmap/plan.c: Likewise.
15020 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15021 define.
15022 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15023 * include/grub/mm.h (grub_extend_alloc): New inline function.
15024
c30be3b6
VS
150252011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 Make Reed-Solomon faster by using power of generator representation of
15028 GF(256)*.
15029
15030 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15031 (gf_double_t): Likewise.
15032 (gf_invert): Removed.
15033 (gf_powx): New array.
15034 (gf_powx_inv): Likewise.
15035 (scratch): Move higher.
15036 (gf_reduce): Removed.
15037 (gf_mul): Use powx.
15038 (gf_invert): Likewise.
15039 (init_inverts): Replaced with ...
15040 (init_powx): ...this. All users updated.
15041 (pol_evaluate): Replace multiplications with additions.
15042 (rs_encode): Likewise.
15043 (gauss_eliminate): Call gf_invert.
15044 (grub_reed_solomon_add_redundancy): Call init_powx.
15045 (grub_reed_solomon_recover): Call init_powx unconditionally.
15046
fa5aeffc
VS
150472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
15050
a346b81c
VS
150512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15052
15053 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
15054 disk->partiton for safety.
15055
d89ee414
VS
150562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
15059 Fix a memory leak.
15060 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15061
91ee7b6d
VS
150622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15065
91e5a33d
VS
150662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15069
9edd7be2
VS
150702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15071
15072 Fix spaces handling in proc/self/mountinfo.
15073
15074 * util/getroot.c (unescape): New function.
15075 (grub_find_root_device_from_mountinfo): Use unescape.
15076
ba102053
VS
150772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 Support ZFS embedding.
15080
15081 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15082 (grub_zfs_fs): Register grub_zfs_embed.
15083
aa94b870
VS
150842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 Fix MIPS compilation.
15087
15088 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
15089 * include/grub/offsets.h: Rename decompressor fields from
15090 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
15091 * util/grub-mkimage.c (image_targets): Use new names.
15092
5fbdac14
VS
150932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 Defer multiboot device parsing until we're in compressed part.
15096
15097 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
15098 bsd_part. setdevice has fallen into disuse.
15099 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
15100 (bsd_part): Likewise.
15101 (boot_dev): New variable.
15102 (multiboot_trampoline): Don't parse multiboot device.
15103 Pass multiboot device in %edx.
15104 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
15105 grub_boot_device.
15106 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
15107 Likewise.
15108 * grub-core/kern/i386/pc/startup.S: Save edx.
15109 (grub_boot_drive): Removed.
15110 (grub_install_dos_part): Likewise.
15111 (grub_install_bsd_part): Likewise.
15112 (grub_boot_device): New variable.
15113 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
15114 (grub_install_bsd_part): Likewise.
15115 (grub_boot_drive): Likewise.
15116 (grub_boot_device): New variable.
15117 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
15118 Removed.
15119 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15120 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
15121 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
15122 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
15123 * util/grub-install.in: Remove redundant condition.
15124
691cbb58
VS
151252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15126
15127 Fix bug introduced by previous commit.
15128
15129 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
15130
60240b8b
VS
151312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 Use decompressors framework on i386-pc. It increases core size
15134 by 46 bytes but improves compatibility and maintainability.
15135
15136 * grub-core/Makefile.core.def (lzma_decompress): New image.
15137 (kernel): Add i386_pc_ldflags.
15138 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
15139 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
15140 to real_to_prot, prot_to_real and device info.
15141 * include/grub/offsets.h: Renamed decompressor offsets.
15142 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
15143 (image_target_desc): Remove raw_size and rename decompressor fields.
15144 (compress_kernel): Handle lzma.
15145 (generate_image): Handle decompressors on i386-pc.
15146
e9d3421c
VS
151472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * configure.ac: Add -fno-asynchronous-unwind-tables.
15150
2b23074a
VS
151512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15152
15153 Move assembly code to C by using intwrap. It increases core size
15154 by 88 bytes but improves compatibility and maintainability.
15155
15156 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
15157 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
15158 ... here. Translated to C.
15159 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
15160 * grub-core/term/i386/pc/console.c (grub_console_getkey):
15161 ... here. Translated to C.
15162 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
15163 * grub-core/term/i386/pc/console.c (grub_console_getxy):
15164 ... here. Translated to C.
15165 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
15166 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
15167 ... here. Translated to C.
15168 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
15169 * grub-core/term/i386/pc/console.c (grub_console_cls):
15170 ... here. Translated to C.
15171 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15172 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15173 ... here. Translated to C.
15174 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15175 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15176 Translated to C.
15177 * grub-core/term/i386/pc/console.c (int10_9): New function.
15178 (grub_console_putchar): Likewise.
15179 * include/grub/i386/pc/console.h: Removed the not anymore shared
15180 functions.
15181
678f4b67
VS
151822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 Move grub_chainloader_real_boot out of the kernel.
15185
15186 * grub-core/Makefile.am: Remove machine/loader.h.
15187 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15188 Removed.
15189 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15190 variable.
15191 (grub_relocator16_keep_a20_enabled): Likewise.
15192 (grub_relocator16_boot): Fill new variables.
15193 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15194 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15195 relocator.
15196 (grub_chainloader_unload): Likewise.
15197 (grub_chainloader_cmd): Likewise.
15198 * include/grub/i386/pc/loader.h: Removed.
15199 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15200 and esi. All initialisers updated.
15201
4626edf6
VS
152022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
152032011-11-12 Colin Watson <cjwatson@ubuntu.com>
15204
15205 * Makefile.util.def (grub-mount): New util.
15206 * .bzrignore: Add grub-mount.
15207 * configure.ac: Check for fuse and enable grub-mount if available.
15208 * docs/man/grub-mount.h2m: New file.
15209 * util/grub-mount.c: Likewise.
15210
10f0117b
VS
152112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * grub-core/commands/efi/fixvideo.c: Gettextize.
15214 * grub-core/commands/hashsum.c: Likewise.
15215 * grub-core/commands/i386/cmostest.c: Likewise.
15216 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15217 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15218 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15219 * grub-core/commands/lsmmap.c: Likewise.
15220 * grub-core/commands/menuentry.c: Likewise.
15221 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15222 * grub-core/commands/setpci.c: Likewise.
15223 * grub-core/loader/i386/bsd.c: Likewise.
15224 * grub-core/loader/i386/linux.c: Likewise.
15225 * util/getroot.c: Likewise.
15226 * util/grub-editenv.c: Likewise.
15227 * util/grub-fstest.c: Likewise.
15228 * util/grub-mkfont.c: Likewise.
15229 * util/grub-mkimage.c: Likewise.
15230 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15231 * util/grub-pe2elf.c: Likewise.
15232 * util/grub-probe.c: Likewise.
15233 * util/grub-setup.c: Likewise.
15234 * util/ieee1275/ofpath.c: Likewise.
15235 * util/misc.c: Likewise.
15236 * util/raid.c: Likewise.
15237
566f779b
RM
152382011-11-11 Robert Millan <rmh@gnu.org>
15239
15240 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15241 __attribute__((unused)) from `os_dev', which *is* being used.
15242
b50787de
VS
152432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15246 forgotten define.
15247 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15248 GRUB_IA64_DL_GOT_ALIGN.
15249 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15250 GRUB_IA64_DL_TRAMP_ALIGN.
15251
119d11c8
VS
152522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 Replace grub_fatal with normal errors in i386 linux loader.
15255
15256 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15257 (allocate_pages): Check find_efi_mmap_size return value.
15258 (grub_e820_add_region): Return error.
15259 (grub_linux_boot): Check mmap return value.
15260
6e0632e2
VS
152612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * grub-core/commands/acpihalt.c: Gettextized.
15264 * grub-core/commands/cacheinfo.c: Likewise.
15265 * grub-core/commands/cmp.c: Likewise.
15266 * grub-core/commands/efi/loadbios.c: Likewise.
15267 * grub-core/commands/gptsync.c: Likewise.
15268 * grub-core/commands/ieee1275/suspend.c: Likewise.
15269 * grub-core/commands/legacycfg.c: Likewise.
15270 * grub-core/commands/memrw.c: Likewise.
15271 * grub-core/commands/minicmd.c: Likewise.
15272 * grub-core/commands/parttool.c: Likewise.
15273 * grub-core/commands/time.c: Likewise.
15274 * grub-core/commands/videoinfo.c: Likewise.
15275 * grub-core/disk/geli.c: Likewise.
15276 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15277 * grub-core/disk/luks.c: Likewise.
15278 * grub-core/disk/lvm.c: Likewise.
15279 * grub-core/font/font_cmd.c: Likewise.
15280 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15281 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15282 * grub-core/gfxmenu/view.c: Likewise.
15283 * grub-core/kern/emu/hostdisk.c: Likewise.
15284 * grub-core/kern/emu/main.c: Likewise.
15285 * grub-core/kern/emu/misc.c: Likewise.
15286 * grub-core/kern/emu/mm.c: Likewise.
15287 * grub-core/kern/mips/arc/init.c: Likewise.
15288 * grub-core/kern/mips/loongson/init.c: Likewise.
15289 * grub-core/kern/partition.c: Likewise.
15290 * grub-core/lib/i386/halt.c: Likewise.
15291 * grub-core/lib/mips/arc/reboot.c: Likewise.
15292 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15293 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15294 * grub-core/loader/i386/xnu.c: Likewise.
15295 * grub-core/loader/multiboot.c: Likewise.
15296 * grub-core/net/bootp.c: Likewise.
15297 * grub-core/net/net.c: Likewise.
15298 * grub-core/normal/term.c: Likewise.
15299 * grub-core/partmap/bsdlabel.c: Likewise.
15300 * grub-core/parttool/msdospart.c: Likewise.
15301 * grub-core/term/gfxterm.c: Likewise.
15302 * grub-core/term/terminfo.c: Likewise.
15303 * grub-core/video/i386/pc/vbe.c: Likewise.
15304 * util/grub-menulst2cfg.c: Likewise.
15305 * util/grub-mkdevicemap.c: Likewise.
15306 * util/grub-mklayout.c: Likewise.
15307 * util/grub-mkrelpath.c: Likewise.
15308 * util/grub-script-check.c: Likewise.
15309 * util/ieee1275/grub-ofpathname.c: Likewise.
15310 * util/resolve.c: Likewise.
15311
073aa7a9
VS
153122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 Support %1$d syntax.
15315
15316 * tests/printf_unit_test.c: New file.
15317 * Makefile.util.def (printf_test): New test.
15318 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15319
c76b5417
VS
153202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15323 fix.
15324
df067ad1
VS
153252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15328 dprintf.
15329 * grub-core/font/font.c (grub_font_load): Likewise.
15330
5b289bc5
VS
153312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * util/grub-macho2img.c: Add comment concerning gettext.
15334 * grub-core/lib/legacy_parse.c: Likewise.
15335
c1860f87
VS
153362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15339 (grub_xvasprintf): Likewise.
15340
d35d0d37
VS
153412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 Add const keyword to grub_env_get and gettextize week days.
15344
15345 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15346 (grub_read_hook_datetime): Return const char *.
15347 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15348 updated.
15349 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15350 Mark for gettext.
15351 (grub_get_weekday_name): Return const char *. Call gettext.
15352 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15353 char * and len as the argument. All users updated.
15354 (grub_script_argv_split_append): Receive const char *.
15355 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15356 * include/grub/env.h (grub_env_get): Likewise.
15357 (grub_env_read_hook_t): Return const char *.
15358 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15359 (grub_script_argv_split_append): Likewise.
15360
9aed8a71
VS
153612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15364
067fdf00
VS
153652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15368 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15369
a8bd9d39
VS
153702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15373 Fix prototype.
15374
f7ce5baf
VS
153752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 Fix mips compilation.
15378
15379 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15380 normal decoder.
15381 (hashes): Use in embed decoder as well (for sizes).
15382 (dec_stream_header): Fix embed decompressor logic.
15383 (dec_stream_footer): Likewise.
15384
9bb182f3
VS
153852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15388 an error and not a fatal on unrecognised relocation types.
15389
63a9e6f6
VS
153902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15393 Issue error rather than printf on unknown arguments.
15394
4c458569
VS
153952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15398 Make buf a const.
15399
e2d22baf
VS
154002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15403 Fix module name.
15404
53dc8590
VS
154052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15408 leftover debug printf.
15409
6c189294
VS
154102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15413
f7688369
VS
154142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15417 A stylistic fix.
15418
11a775a3
VS
154192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15422
33f784e8
SL
154232011-11-10 Shea Levy <slevy@tieronedesign.com>
15424
15425 Allow all modules to perform serial IO
15426
15427 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15428 * include/grub/serial.h (grub_serial_port_configure): New inline
15429 function.
15430 (grub_serial_port_fetch): Likewise.
15431 (grub_serial_port_put): Likewise.
15432 (grub_serial_port_fini): Likewise.
15433 (grub_serial_find): New proto.
15434
f6276525
VS
154352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 Put symlink at the end of the node and fix a potential
15438 memory corruption.
15439
15440 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15441 Make symlink into an array.
15442 (set_rockridge): Set have_symlink and alloc_dirents.
15443 (grub_iso9660_read_symlink): Use new layout.
15444 (grub_iso9660_iterate_dir): Fix memory corruption.
15445 Use new layout.
15446 (grub_iso9660_dir): Set have_symlink.
15447 (grub_iso9660_open): Likewise.
15448
c3591189
VS
154492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 Remove local keyword.
15452
15453 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15454 (version_test_gt): Likewise.
15455 (version_find_latest): Likewise.
15456 (gettext_printf): Likewise.
15457 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15458
cb544caa
VS
154592011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15462
45bd824d
VS
154632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 Fix ZFS memory and resource leaks.
15466
15467 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15468 All users updated.
15469 Free type on exit.
15470 (fill_vdev_info): New parameter inserted. All users updated.
15471 (check_pool_label): Likewise.
15472 (scan_disk): Likewise.
15473 (scan_devices): Close non-inserted disks.
15474 (fzap_iterate): Free l.
15475 (unmount_device): Free children descripto memory.
15476
ad9a2f44
VS
154772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15480 argument (access out of bounds).
15481
6b68db81
VS
154822011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15485 >= 6 drives.
15486
28840fda
VS
154872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15490 Fix declaration.
15491
8a5a3a5b
VS
154922011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 Fix several memory leaks.
15495
15496 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15497 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15498 (grub_cpio_dir): Likewise.
15499 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15500 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15501 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15502 (grub_romfs_label): Likewise.
15503 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15504 (squash_unmount): New function.
15505 (grub_squash_dir): Fix memory leak.
15506 (grub_squash_open): Likewise.
15507 (grub_squash_read): Likewise.
15508 (grub_squash_mtime): Likewise.
15509 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15510 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15511 * util/grub-fstest.c (fstest): Likewise.
15512
57b01250
VS
155132011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15516 avoid accessing beyond the array.
15517
19e81ba7
VS
155182011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15521
52b656c0
VS
155222011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15523
15524 Several AFFS fixes.
15525
15526 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15527 (GRUB_AFFS_FLAG_FFS): Removed.
15528 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15529 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15530 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15531 (grub_fshelp_node): Make block 32-bit.
15532 Add block_cache and last_block_cache.
15533 (grub_affs_read_block): Fill and use block cache.
15534 (grub_affs_read_file): Removed.
15535 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15536 boot block.
15537 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15538 safety.
15539 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15540 space.
15541 (grub_affs_close): Free block cache.
15542 (grub_affs_read): Use grub_fshelp_read_file directly.
15543
438a746a
VS
155442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15545
15546 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15547 with no error set.
15548
49a45021
VS
155492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15552 used variable.
15553 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15554 Likewise.
15555
3ae17eb8
VS
155562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15559
15560 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15561 byteswap when needed.
15562
27610c38
VS
155632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 Fix FreeBSD compilation.
15566
15567 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15568 to avoid circular dependency.
15569 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15570 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15571 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15572
4a19b601
VS
155732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 Fix ZFS crypto error types.
15576
15577 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15578 (grub_gcm_decrypt): Likewise.
15579 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15580 from PBKDF2.
15581
958ee221
VS
155822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 Illumos support.
15585
15586 * Makefile.util.def (10_illumos): New script.
15587 * configure.ac: Set COND_HOST_ILLUMOS.
15588 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15589 Support Illumos calls.
15590 (find_partition_start) [__sun__]: Likewise.
15591 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15592 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15593 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15594 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15595 device.
15596 * util/grub-probe.c (probe) [__sun__]: Do character check.
15597 * util/grub.d/10_illumos.in: New file.
15598
cac14fb6
VS
155992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 Support escaped commas in hostdisk.
15602
15603 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15604 (find_grub_drive): Use unescape_cmp.
15605 (make_device_name): Escape commas.
15606
78e08dc3
VS
156072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15610
9f421dd1
VS
156112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15614 variable.
15615
ed64e9e2
VS
156162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 Support trampoline jumps on powerpc.
15619
15620 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15621 __ia64__ path.
15622 (grub_dl_load_segments): Set mod->sz.
15623 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15624 segments.
15625 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15626 (jump): Likewise.
15627 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15628 function.
15629 (trampoline): New struct.
15630 (trampoline_template): New const.
15631 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15632 * include/grub/dl.h (grub_dl): Add sz element.
15633 [__powerpc__]: Follow __ia64__.
15634 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15635 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15636 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15637 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15638
3084ede4
VS
156392011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 ZFS crypto support.
15642
15643 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15644 * grub-core/Makefile.core.def (zfscrypt): New module.
15645 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15646 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15647 it. All users updated.
15648 (grub_zfs_decrypt): New var.
15649 (grub_zfs_load_key): Likewise.
15650 (zio_checksum_functions): Add SHA256+MAC.
15651 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15652 (zio_read): Handle encrypted blocks.
15653 (zap_verify): Remove incorrect check.
15654 (fzap_iterate): Handle non-standard fzap.
15655 (zap_iterate): Likewise.
15656 (zap_iterate_u64): New function.
15657 (dnode_get_fullpath): Load keys.
15658 * grub-core/fs/zfs/zfscrypt.c: New file.
15659 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15660 (grub_crypto_ecb_encrypt): Make input const.
15661 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15662 (grub_crypto_ecb_encrypt): Make input const.
15663 (GRUB_CIPHER_AES): New macro.
15664 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15665 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15666 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15667 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15668 prefix. All users updated.
15669 (grub_zfs_add_key): New proto.
15670 (grub_zfs_decrypt): Likewise.
15671 (grub_zfs_load_key): Likewise.
15672 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15673 * util/grub-fstest.c (options): Add -K option.
15674 (argp_parser): Likewise.
15675
b632b404
VS
156762011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15677
15678 Support zle compression on ZFS.
15679
15680 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15681 (decomp_table): Add zle.
15682 * include/grub/zfs/zio.h (zio_compress): Add zle.
15683
c7ba4f69
VS
156842011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 Support BtrFS embedding.
15687
15688 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15689 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15690 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15691 * util/grub-setup.c (setup): Use fs embedding if available.
15692 Add additional sanity check.
15693
455377d9
VS
156942011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 * util/grub-install.in: Fix condition for config_opt.
15697
c2fd16ca
VS
156982011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 Support third redundancy strip on raidz3.
15701
15702 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15703 Return error on singularity. All users updated.
15704 (read_device): Don't stop on 3rd failure on raidz3.
15705
8622923b
VS
157062011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 Support case-insensitive ZFS subvolumes.
15709
15710 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15711 All users updated.
15712 (zap_hash): Likewise.
15713 (name_cmp): New function.
15714 (zap_leaf_array_equal): New parameter case_insensitive.
15715 All users updated.
15716 (zap_leaf_lookup): Likewise.
15717 (fzap_lookup): Likewise.
15718 (zap_lookup): Likewise.
15719 (dnode_get_path): New parameter case_insensitive. Retrieve case
15720 sensitiviness of a volume. All users updated.
15721 (dnode_get_fullpath): New parameter case_insensitive.
15722 All users updated.
15723 (grub_zfs_dir): Set info.case_insensitiveness.
15724
95f2e860
VS
157252011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 Support second redundancy strip on raidz(2,3).
15728
15729 * grub-core/fs/zfs/zfs.c (powx): New array.
15730 (powx_inv): Likewise.
15731 (poly): New const.
15732 (xor_out): New function.
15733 (gf_mul): Likewise.
15734 (recovery): Likewise.
15735 (read_device): Use second redundancy strip.
15736
11ee4389
VS
157372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 Use a power of generator representation of GF(256) multiplication group
15740 to save space time and complexity.
15741
15742 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15743 (raid6_table2): Likewise.
15744 (powx): New array.
15745 (powx_inv): Likewise.
15746 (poly): New const.
15747 (grub_raid_block_mul): Replace with ...
15748 (grub_raid_block_mulx): ...this.
15749 (grub_raid6_init_table): Rewritten.
15750 (grub_raid6_recover): Use power of generator representation.
15751
09e2763f
VS
157522011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15755 for the right device.
15756
8bec9a28
VS
157572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15760 expected by grub-mkimage and it's more clear since there is no implicit
15761 padding.
15762
dbd3a32e
VS
157632011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15766 disk.
15767 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15768
182c872a
PMH
157692011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15770
15771 * util/grub-mkrescue.in: Fix handling xorriso option.
15772
1e51cabd
VS
157732011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15776 NULL.
15777
9cc3581d 157782011-11-03 crocket <crockabiscuit@gmail.com>
15779
15780 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15781
158dc1ea
VS
157822011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 XZ CRC64 and SHA256 support.
15785
15786 * Makefile.util.def (libgrubmods): Add crc64.c.
15787 * grub-core/Makefile.core.def (crc64): New module.
15788 * grub-core/lib/crc64.c: New file.
15789 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15790 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15791 Fix the type.
15792 (MAX_HASH_SIZE): New define.
15793 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15794 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15795 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15796 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15797 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15798 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15799 Handle non-crc32 hashes.
15800 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15801 (dec_stream_header): Handle non-crc32 hashes.
15802 (dec_stream_footer): Likewise.
15803 (dec_block_header): Likewise.
15804 (dec_main): Likewise.
15805 (xz_dec_init): Likewise.
15806 (xz_dec_reset): Likewise.
15807 (xz_dec_end): Likewise.
15808 * util/import_gcry.py: Add CRC64 line.
15809
9d9b3d2f
VS
158102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15813 as well.
15814
7d0ac931
VS
158152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 Make reiserfs label retrieval similar to other *_label functions.
15818
15819 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15820 (REISERFS_MAX_LABEL_LENGTH): Removed.
15821 (REISERFS_LABEL_OFFSET): Likewise.
15822 (grub_reiserfs_label): Rewritten.
15823
158242011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15825
15826 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15827 field.
15828
cf5ba824
VS
158292011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15832
17744004
VS
158332011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15836 drive failure on both raidz and raidz2.
15837
aca5aefc
VS
158382011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 Fix RAIDZ(2) for >= 5 devices.
15841
15842 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15843 asize argument. All users updated.
15844
ce8ca56e
VS
158452011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 Fix RAIDZ(2).
15848
15849 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15850 (fill_vdev_info_real): Set ashift.
15851 (read_device): Rewrite RAIDZ part based on reverse engineering.
15852
7c01e783
VS
158532011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15856 don't report potentially unavialiable fields in debug output.
15857 (find_path): Fix double-free and memory leak.
15858
ce109e84
VS
158592011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 Read label on UFS1.
15862
15863 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15864 (grub_ufs_fs): Always set .label.
15865
87661123
VS
158662011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 Use shifts in UFS.
15869
15870 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15871 (grub_ufs_data): New field log2_blksz.
15872 (grub_ufs_read_file): Use shifts.
15873 (grub_ufs_mount): Check block size and logarithm it.
15874
46bc1dc2
VS
158752011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15878 long symlinks.
15879
19ee2987
VS
158802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 Handle symlinks and long names on tar and cpio.
15883
15884 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15885 (ATTR_FILE): Likewise.
15886 (ATTR_DIR): Likewise.
15887 (ATTR_LNK): Likewise.
15888 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15889 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15890 L and K entries.
15891 (grub_cpio_mount): Zero-fill data.
15892 (handle_symlink): New function.
46bc1dc2
VS
15893 (grub_cpio_dir): Handle symlinks.
15894 (grub_cpio_open): Likewise.
15895 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15896
c83a08d8
VS
158972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 Fix iso9660 filename limitations and fix memory leaks.
15900
15901 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15902 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15903
45cdd3ea
VS
159042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 Fix JFS file name length limitations.
15907
15908 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15909 (grub_jfs_diropen): Fix maximum filename length.
15910 (grub_jfs_getent): Fix filename length.
15911 (grub_jfs_lookup_symlink): Fix size checks.
15912
94ef05c2
VS
159132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15916 string.
15917
785ab8c7
VS
159182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15919
eb0b6b45
VS
15920 Leverage BFS implementation to read AFS.
15921
15922 * Makefile.util.def (libgrubmods): Add afs.c.
15923 * grub-core/Makefile.core.def (afs): New module
15924 * grub-core/fs/afs.c: New file.
15925 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15926
159272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15930
c4a1628f
VS
159312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 * grub-core/fs/bfs.c: Run indent.
15934
5825b379
VS
159352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 BFS implementation based on the specification.
15938
15939 * grub-core/fs/bfs.c: New file.
15940 * Makefile.util.def (libgrubmods): Add bfs.c.
15941 * grub-core/Makefile.core.def (bfs): New module.
15942
42b2a706
VS
159432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * util/grub-fstest.c (cmd_cp): Clarify error message.
15946 (cmd_cmp): Likewise.
15947
61b99bfc
YB
159482011-10-30 Yves Blusseau <blusseau@zetam.org>
15949
15950 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15951 and befs_be.
15952
faba3d16
VS
159532011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15954
15955 Remove afs and befs because of copyright problem.
15956
15957 * grub-core/fs/afs.c: Removed.
15958 * grub-core/fs/afs_be.c: Removed.
15959 * grub-core/fs/befs.c: Removed.
15960 * grub-core/fs/befs_be.c: Removed.
15961 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15962 * grub-core/Makefile.core.def (afs): Removed.
15963 (afs_be): Likewise.
15964 (befs): Likewise.
15965 (befs_be): Likewise.
15966
c39224b0
VS
159672011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 Prefer rockridge over Joliet.
15970
15971 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15972 to ...
15973 (set_rockridge): ... here.
15974 (grub_iso9660_mount): Check rockridge on the primary label when
15975 discovering. Ignore Joliet if Rockridge is present.
15976
e551115a
VS
159772011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 Use shifts in nilfs2.
15980
15981 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15982 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15983 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15984 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15985 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15986 (grub_nilfs2_entries_per_block): Replaced with ...
15987 (grub_nilfs2_log_entries_per_block_log): ... this.
15988 (grub_nilfs2_blocks_per_group): Replaced with ...
15989 (grub_nilfs2_blocks_per_group_log): ... this.
15990 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15991 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15992 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15993 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15994 (grub_nilfs2_palloc_entry_offset): Replaced ...
15995 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15996 (grub_nilfs2_dat_translate): Use shifts.
15997 (grub_nilfs2_read_inode): Likewise.
15998 (GRUB_MOD_INIT): Ensure that logs are correct.
15999
564dd58c
VS
160002011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 Use shifts in minix filesystem.
16003
16004 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16005 (GRUB_MINIX_ZONE2SECT): Likewise.
16006 (grub_minix_data): Replace block_size with log_block_size.
16007 (grub_minix_read_file): Use shifts.
16008 (grub_minix_mount): Check block size and take a logarithm.
16009
ed9ba06d
VS
160102011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 Use shifts in squash4.
16013
16014 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16015 (squash_mount): Check block size and take logarithm.
16016 (direct_read): Use shifts.
16017
ad03fe76
VS
160182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 Correct befs block counting logic.
16021
16022 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16023 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16024 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16025 (grub_afs_read_inode): Use block_shift.
16026 (RANGE_SHIFT): New definition.
16027 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16028 unexpected conditions, use shifts and appropriate types.
16029 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16030
6563f63d
VS
160312011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 * grub-core/disk/raid.c (scan_devices): Check partition.
16034 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16035
5b1ae25f
VS
160362011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Support BFS (befs) UUID.
16039
16040 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16041 (grub_afs_small_data_element_header): New struct.
16042 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16043 (grub_afs_read_attribute) [MODE_BFS]: New function.
16044 (grub_afs_iterate_dir): Allocate for complete inode.
16045 (grub_afs_mount): Likewise.
16046 (grub_afs_uuid) [MODE_BFS]: New function.
16047 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16048
f8d82408
VS
160492011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16050
16051 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
16052 (zfs_unmount): Fix memory leak.
16053
5773fb64
VS
160542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 Support NTFS reparse points.
16057
16058 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
16059 (symlink_descriptor): New struct.
16060 (grub_ntfs_read_symlink): New function.
16061 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16062 (grub_ntfs_open): Likewise.
16063
91c3fdde
VS
160642011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16067
3be82e10
VS
160682011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 fstest xnu_uuid subcommand.
16071
16072 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16073 grub-core/commands/xnu_uuid.c.
16074 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16075 (fstest): Handle xnu_uuid.
16076 (options): Document xnu_uuid.
16077 (argp_parser): Parse xnu_uuid.
16078
8e32442e
VS
160792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16082 -l argument. Add newline at the end if printing.
16083 (GRUB_MOD_INIT): Document -l.
16084
52a05075
VS
160852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
16088
1869edb5
VS
160892011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 ZFS multi-device and version 33 support.
16092
16093 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
16094 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
16095 (grub_zfs_data): Add multidev-ice-related fields.
16096 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
16097 (dva_get_offset): Make dva const.
16098 (zfs_fetch_nvlist): New function.
16099 (fill_vdev_info_real): Likewise.
16100 (fill_vdev_info): Likewise.
16101 (check_pool_label): Likewise.
16102 (scan_disk): Likewise.
16103 (scan_devices): Likewise.
16104 (read_device): Likewise.
16105 (read_dva): Likewise.
16106 (zio_read_gang): Use read_dva.
16107 (zio_read_data): Likewise.
16108 (zap_leaf_lookup): Add missing endian conversion.
16109 (zap_verify): Add missing endian conversion. All users updated.
16110 (fzap_lookup): Likewise.
16111 (fzap_iterate): Likewise.
16112 (dnode_get_path): Handle SA bonus.
16113 (nvlist_find_value): Make input const. All users updated.
16114 (unmount_device): New function.
16115 (zfs_unmount): Use unmount_device.
16116 (zfs_mount): Use scan_disk.
16117 (zfs_mtime): New function.
16118 (grub_zfs_open): Handle system attributes.
16119 (fill_fs_info): Likewise.
16120 (grub_zfs_dir): Likewise.
16121 (grub_zfs_fs): Add mtime.
16122 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
16123 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
16124 (SA_MTIME_OFFSET): Likewise.
16125 (SA_SYMLINK_OFFSET): Likewise.
16126 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
16127 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
16128 (fstest): Support zfsinfo.
16129 (argp_parser): Likewise.
16130
186b4028
VS
161312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
16134 error.
16135
161362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
16137
16138 ZFS fixes.
16139
16140 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
16141 sharing the same block. Iterate over correct number of indices.
16142 (dnode_get_path): Handle symlinks correctly.
16143
c0584900
VS
161442011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
16147
67e2bd71
VS
161482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 Read label on HFS+.
16151
16152 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
16153 (grub_hfsplus_btree_search): Fix types.
16154 (grub_hfsplus_label): Implement.
16155
e9cc6b7b
VS
161562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
16159
19832ddb
VS
161602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
16163
66b40850
VS
161642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 Fix symlink handling on iso9660.
16167
16168 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
16169 All users updated.
16170 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16171 (grub_iso9660_read_symlink): Moved most of code ...
16172 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16173
db821363
VS
161742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16177 Use union to avoid breaking strict-aliasing rules.
16178
e1211949
VS
161792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 Support multi-extent iso files.
16182
16183 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16184 Add node.
16185 (grub_fshelp_node): Revamp. All users updated.
16186 (FLAG_*): New enum.
16187 (read_node): New function.
16188 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16189 All users updated.
16190 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16191 (get_node_size): New function.
16192 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16193 entries.
16194 Fix memory leak on . and ..
16195 (grub_iso9660_read): Use read_node.
16196 (grub_iso9660_close): Free node.
16197
d4888031
VS
161982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16199
16200 Fix tar 4G limit and handle paths containing dot.
16201
16202 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16203 (canonicalize): New function.
16204 (grub_cpio_find_file): Use canonicalize. Store offs in
16205 grub_disk_addr_t.
16206 (grub_cpio_dir): Use grub_disk_addr_t.
16207 (grub_cpio_open): Likewise.
16208
9f12e664
VS
162092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16212
16213 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16214 unused flags.
16215 (grub_squash_inode): Add long_file and block_size.
16216 (grub_squash_cache_inode): New struct.
16217 (grub_squash_dirent): Make types into enum.
16218 (SQUASH_TYPE_LONG_REGULAR): New type.
16219 (grub_squash_frag_desc): Add field size.
16220 (SQUASH_BLOCK_FLAGS): New enum.
16221 (grub_squash_data): Use grub_squash_cache_inode.
16222 (grub_fshelp_node): Make ino_chunk 64-bit.
16223 (read_chunk): Minor argument change. All users updated.
16224 (squash_mount): Use correct le_to_cpu.
16225 (grub_squash_open): Handle LONG_REGULAR.
16226 (direct_read): New function.
16227 (grub_squash_read_data): Handle blocks correctly.
16228
9f326fba
VS
162292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16232
f4d9b64b
VS
162332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16236
5bbd28b8
VS
162372011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 Fix 2G limit on ZFS.
16240
16241 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16242 types.
16243 (uberblock_verify): Likewise.
16244 (dmu_read): Likewise.
16245 (grub_zfs_read): Likewise. Remove invalid cast.
16246
68c72069
VS
162472011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16250 (grub_jfs_blkno): Fix incorrect shift.
16251 (grub_jfs_read_file): Use more appropriate types.
16252
6e536dc8
VS
162532011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 Support triple indirect on minix2 and minix3.
16256
16257 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16258 Declare triple_indir_zone.
16259 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16260 indirect.
16261
e0864e7a
VS
162622011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 Minix FS fixes.
16265
16266 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16267 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16268 Rename ctime to mtime. All users updated.
16269 (grub_minix_get_file_block): Fix types and double indirect computations.
16270
89481cab
VS
162712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16274 if no label is found.
16275 (grub_fat_iterate_dir): Fix file size type.
16276 (grub_fat_iterate_dir): Likewise.
16277
f646e143
VS
162782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16281 save some space.
16282 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16283 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16284
534d769e
VS
162852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16288
e084ba18
VS
162892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 * util/import_gcry.py: Accept space between # and include.
16292
3471ecdf
VS
162932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16296
124df5f6
VS
162972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16298
16299 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16300
16301 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16302 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16303 yylex_strncpy.
16304 * grub-core/script/yylex.l: Add fine-grained #pragma.
16305
4defb8d5
VS
163062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16309 New inline function.
16310 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16311 Likewise.
16312 (memset) [GRUB_UTIL]: Likewise.
16313 (memcmp) [GRUB_UTIL]: Likewise.
16314
4e94ae65
VS
163152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16316
16317 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16318 inline function rather than a define.
16319
18c575e5
VS
163202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 * util/grub-setup.c: Add missing include.
16323
f8bc22a8
VS
163242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16325
16326 * util/ieee1275/grub-ofpathname.c: Add missing include.
16327
3ce69fc9
VS
163282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16329
16330 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16331 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16332 Likewise.
16333
d1e293bb
VS
163342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16335
16336 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16337 grub_memcmp usage.
16338
7a5c54a4
VS
163392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16340
16341 * util/grub-install.in: Add datarootdir as per automake manual
16342 suggestion.
16343 * util/grub-mknetdir.in: Likewise.
16344
163452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16346
16347 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16348 suggestion.
16349 * util/grub.d/10_kfreebsd.in: Likewise.
16350 * util/grub.d/10_linux.in: Likewise.
16351 * util/grub.d/10_netbsd.in: Likewise.
16352 * util/grub.d/10_windows.in: Likewise.
16353 * util/grub.d/20_linux_xen.in: Likewise.
16354
766f7d08
VS
163552011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 Remove redundant grub_kernel_image_size.
16358
16359 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16360 _edata and _start.
16361 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16362 the small code. It moves it only by few bytes but simplifies the code.
16363 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16364 _start.
16365 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16366 (grub_kernel_image_size): Removed.
16367 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16368 (grub_kernel_image_size): Removed.
16369 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16370 compiled with Apple toolchain.
16371 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16372 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16373 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16374 (grub_total_module_size): Likewise.
16375 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16376 Removed.
16377 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16378 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16379 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16380 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16381 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16382 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16383 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16384 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16385 Removed.
16386 (grub_total_module_size): Removed.
16387 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16388 (image_targets): Likewise.
16389 Set .compressed_size to no field on sparc.
16390 (generate_image): Remove kernel_image_size handling.
16391
fcf1d672
SJ
163922011-10-19 Szymon Janc <szymon@janc.net.pl>
16393
16394 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16395 NULL pointer dereference.
16396
de9c615e
VS
163972011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16400 done with a dedicated section.
16401
16402 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16403 Ensure the correct position of boot_path.
16404 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16405 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16406 other fields.
16407 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16408 * include/grub/boot.h: Removed. All references removed.
16409 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16410 Removed.
16411 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16412
e55599dc
VS
164132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16414
16415 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16416 name.
16417
36dd20ad
VS
164182011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16421
f8f72eb8
VS
164222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16425 Don't add the bogus brackets.
16426
a374751b
VS
164272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16428
16429 ExFAT support.
16430
16431 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16432 * grub-core/Makefile.core.def (exfat): New module.
16433 * grub-core/fs/exfat.c: New file.
16434 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16435 (GRUB_FAT_ATTR_*): Make into an enum.
16436 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16437 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16438 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16439 (GRUB_FAT_MAXFILE): Removed.
16440 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16441 (grub_current_fat_bpb_t): New type.
16442 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16443 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16444 (grub_fat_dir_node_t): New type.
16445 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16446 (fat_log2) [MODE_EXFAT]: Removed.
16447 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16448 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16449 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16450 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16451 (grub_fat_label) [MODE_EXFAT]: New function.
16452 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16453 reserved_first_sector to 0.
16454
544c2487
VS
164552011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16456
16457 Move grub_reboot out of the kernel.
16458
16459 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16460 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16461 * grub-core/lib/efi/reboot.c: ... here.
16462 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16463 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16464 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16465 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16466 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16467 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16468 * grub-core/lib/ieee1275/reboot.c: ... here.
16469 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16470 * grub-core/lib/mips/arc/reboot.c: ... here.
16471 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16472 * grub-core/lib/mips/loongson/reboot.c: ...here.
16473 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16474 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16475 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16476 * include/grub/i386/reboot.h: New file.
16477 * include/grub/mips/loongson/ec.h: Fix includes.
16478 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16479 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16480 * grub-core/lib/i386/reboot.c: New file.
16481
a97501d2
VS
164822011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16483
16484 Make grub_prefix into module to fix the arbitrary limit and save
16485 some space.
16486
16487 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16488 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16489 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16490 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16491 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16492 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16493 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16494 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16495 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16496 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16497 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16498 * include/grub/ia64/efi/kernel.h: Removed.
16499 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16500 (grub_prefix): Removed.
16501 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16502 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16503 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16504 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16505 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16506 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16507 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16508 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16509 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16510 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16511 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16512 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16513 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16514 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16515 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16516 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16517 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16518 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16519 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16520 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16521 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16522 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16523 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16524 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16525 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16526 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16527 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16528 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16529 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16530 from module.
16531 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16532 prefix_end.
16533 (image_targets): Likewise.
16534 (generate_image): Put prefix as a module.
16535
39705fad
VS
165362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 Replace grub_module_iterate with FOR_MODULES.
16539
16540 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16541 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16542 (grub_efi_modules_addr): ...this.
16543 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16544 (grub_efi_init): Set grub_modbase.
16545 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16546 (grub_modbase): New variable.
16547 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16548 (grub_modbase): New variable.
16549 (grub_machine_init): Set grub_modbase.
16550 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16551 (grub_modbase): New variable.
16552 (grub_machine_init): Set grub_modbase.
16553 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16554 (grub_modbase): New variable.
16555 (grub_machine_init): Set grub_modbase.
16556 * grub-core/kern/main.c (grub_module_iterate): Remove.
16557 (grub_modules_get_end): Use grub_modbase.
16558 (grub_load_modules): Use FOR_MODULES.
16559 (grub_load_config): Likewise.
16560 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16561 (grub_modbase): New variable.
16562 (grub_machine_init): Set grub_modbase.
16563 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16564 (grub_modbase): New variable.
16565 (grub_machine_init): Set grub_modbase.
16566 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16567 Removed.
16568 (grub_modbase): New variable.
16569 (grub_machine_init): Set grub_modbase.
16570 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16571 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16572 (grub_module_iterate): Likewise.
16573 (grub_modbase): New variable declaration.
16574 (FOR_MODULES): New macro.
16575
2afb7f6c
VS
165762011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16577
16578 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16579 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16580
366e34fa
VS
165812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16582
16583 Fix few obvious type discrepancies.
16584
16585 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16586 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16587 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16588 variable.
16589 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16590 and connected types.
16591 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16592 offset.
16593 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16594 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16595 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16596 and connected types.
16597
177b960e
VS
165982011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 Fix python 3.x incompatibilities.
16601
16602 * gentpl.py: Put brackets around print strings.
16603 * util/import_gcry.py: Open explicitly as utf-8.
16604 Use in instead of has_key.
16605
3b619ae1
VS
166062011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16609 (GRUB_XFS_INO_AGBITS): Make into inline function.
16610 (GRUB_XFS_INO_INOINAG): Likewise.
16611 (GRUB_XFS_INO_AG): Likewise.
16612 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16613 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16614 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16615 (GRUB_XFS_EXTENT_SIZE): Likewise.
16616 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16617 (GRUB_XFS_NEXT_DIRENT): Likewise.
16618 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16619 (grub_xfs_read_file): Fix offset type.
16620
8bcebcb8
RM
166212011-10-15 Robert Millan <rmh@gnu.org>
16622
16623 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16624
0017e5ef
RM
166252011-10-15 Robert Millan <rmh@gnu.org>
16626
16627 Fix build problem on FreeBSD and GNU/kFreeBSD.
16628
16629 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16630
d8919552
VS
166312011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16634
16635 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16636 types.
16637 (grub_hfsplus_btree_recoffset): Likewise.
16638 (grub_hfsplus_btree_recptr): Likewise.
16639 (grub_hfsplus_find_block): Likewise.
16640 (grub_hfsplus_btree_search): Likewise.
16641 (grub_hfsplus_read_block): Likewise.
16642 (grub_hfsplus_read_file): Likewise.
16643 (grub_hfsplus_mount): Likewise.
16644 (grub_hfsplus_btree_iterate_node): Likewise.
16645 (grub_hfsplus_btree_search): Likewise.
16646 (grub_hfsplus_iterate_dir): Likewise.
16647 (grub_hfsplus_read): A small code simplification.
16648
c81296b6
VS
166492011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * grub-core/kern/emu/hostdisk.c
16652 (convert_system_partition_to_system_disk): Don't assume that children
16653 of mapper nodes are mapper nodes.
16654
0eb8ffb1
VS
166552011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16658 * include/grub/misc.h (grub_isxdigit): New function.
16659 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16660 switched to grub_isxdigit.
16661 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16662 number starting with a letter.
16663
a98f4a08
RM
166642011-10-09 Robert Millan <rmh@gnu.org>
16665
16666 LVM support for FreeBSD and GNU/kFreeBSD.
16667
16668 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16669 GNU/kFreeBSD.
16670 (LVM_DEV_MAPPER_STRING): Move from here ...
16671 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16672 * util/getroot.c: Include `<grub/util/lvm.h>'.
16673 (grub_util_get_dev_abstraction): Enable
16674 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16675 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16676 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16677 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16678 support it.
16679 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16680 GNU/kFreeBSD.
16681 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16682 when LVM abstraction is required for ${GRUB_DEVICE}.
16683
050e8e90
SJ
166842011-10-06 Szymon Janc <szymon@janc.net.pl>
16685
16686 Add support for LZO compression in GRUB:
16687 - import of minilzo library,
16688 - LZO decompression for btrfs,
16689 - lzop files decompression.
16690
16691 * grub-core/io/lzopio.c: New file.
16692 * grub-core/lib/adler32.c: Likewise.
16693 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16694 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16695 * grub-core/lib/minilzo/minilzo.c: Likewise.
16696 * grub-core/lib/minilzo/minilzo.h: Likewise.
16697 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16698 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16699 grub-core/lib/minilzo/minilzo.c to common.
16700 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16701 cflags in cppflags.
16702 * grub-core/Makefile.core.def (btrfs): Likewise.
16703 * grub-core/Makefile.core.def (lzopio): New module.
16704 (adler32): Likewise.
16705 * grub-core/fs/btrfs.c: Include minilzo.h.
16706 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16707 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16708 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16709 (grub_btrfs_lzo_decompress): New function.
16710 (grub_btrfs_extent_read): Add support for LZO compression type.
16711 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16712 (GRUB_USHRT_MAX): Likewise.
16713 (GRUB_UINT_MAX): Likewise.
16714 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16715 (UINT_MAX): Likewise.
16716 (CHAR_BIT): Likewise.
16717 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16718 grub-core/lib/posix_wrap/limits.h
16719 (UCHAR_MAX): Likewise.
16720 * include/grub/file.h (grub_file_filter_id): New compression filter
16721 GRUB_FILE_FILTER_LZOPIO.
16722 * include/grub/file.h (grub_file_filter_id): Set
16723 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16724 * include/grub/types.h (grub_get_unaligned16): New function.
16725 (grub_get_unaligned32): Likewise.
16726 (grub_get_unaligned64): Likewise.
16727 * util/import_gcry.py (cryptolist): Add adler32.
16728
0eb8ffb1
VS
167292011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16732 in perspective decreases the complexity of build system and fixes
16733 compilation right now.
16734
ce79cc99 167352011-10-01 Ales Nesrsta <starous@volny.cz>
16736
16737 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16738 (fixed problem related to using UHCI with coreboot).
16739
8667a314
BC
167402011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16741
16742 * gentpl.py: Use Autogen macros so that the output template file
16743 (Makefile.tpl) size is reduced.
16744
fc5efcc0
MK
167452011-09-29 Mads Kiilerich <mads@kiilerich.com>
16746
16747 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16748 extra_dist.
16749
d1ab689d
ML
167502011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16751
16752 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16753 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16754
c05de032
ML
167552011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16756
16757 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16758 _fullpath.
16759
cca7ccd8
ML
167602011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16761
16762 Remove extra declaration of sleep for mingw32.
16763
16764 * util/misc.c (sleep) [__MINGW32__]: Removed.
16765 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16766
e0b0dc83
GS
167672011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16768
16769 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16770 type and packname.
16771 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16772 Resurrected.
16773 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16774 (grub_netbsd_btinfo_bootwedge): New struct.
16775 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16776 New function.
16777 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16778
91a1a164
TH
167792011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16780
16781 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16782 loader.
16783
2ded951e
AB
167842011-09-28 Andreas Born <futur.andy@googlemail.com>
16785
16786 Fix incorrect identifiers in bash-completion.
16787
16788 * util/bash-completion.d/grub-completion.bash.in
16789 (_grub_mkpasswd-pbkdf2): Rename to ...
16790 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16791 (_grub_script-check): Rename to ...
16792 (_grub_script_check): ... this. All users updated.
16793
69915030
VS
167942011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16797 Return 0 if disk isn't biosdisk.
16798
20fd15f9
GS
167992011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16800
16801 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16802 on NetBSD.
16803 * Makefile.util.def (grub-fstest): Likewise.
16804
1a7d7db9
GS
168052011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16806
16807 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16808 Get sector size from disk label.
16809
2221ab6c
CW
168102011-09-05 Colin Watson <cjwatson@ubuntu.com>
16811
16812 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16813 */README* as well as README*.
16814 Reported by: Axel Beckert.
16815
ca51c4a0
VS
168162011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16819 case of less than 256 MiB of RAM.
16820
ab80f326
VS
168212011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 * grub-core/commands/wildcard.c (make_regex): Handle @.
16824
4155e697
VS
168252011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16828
ab178c08
SJ
168292011-08-21 Szymon Janc <szymon@janc.net.pl>
16830
16831 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16832 AC_LANG_CONFTEST macros.
16833
7dc3c686
SJ
168342011-08-20 Szymon Janc <szymon@janc.net.pl>
16835
16836 Add grub-fstest option to uncompress data for commands.
16837
16838 * util/grub-fstest.c (uncompress): New var.
16839 (options): New option -u.
16840
fe8d4a7b
SJ
168412011-08-20 Szymon Janc <szymon@janc.net.pl>
16842
16843 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16844 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16845
a5219af1
SJ
168462011-08-20 Szymon Janc <szymon@janc.net.pl>
16847
16848 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16849 file type was not recognized correctly (not gzip or corrupted).
16850
f87abff5
VS
168512011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16854 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16855
d94497ea
VS
168562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16859 loongson.
16860 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16861 video_radeon_fuloong2e.
16862 * grub-core/video/radeon_fuloong2e.c: New file.
16863 * include/grub/video.h (grub_video_id_t): Add new ID
16864 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16865
0d1fd011
VS
168662011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16867
16868 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16869 define.
16870 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16871 that PRID matches the detected subplatform and reset the subplatform
16872 if it doesn't.
16873
84beb0ee
VS
168742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16877
1227c133
VS
168782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16879
16880 Fix PCI iterating on functions >= 4.
16881
16882 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16883 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16884 Removed.
16885 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16886 (grub_pci_read): Fix bitmask.
16887 (grub_pci_read_word): Likewise.
16888 (grub_pci_read_byte): Likewise.
16889 (grub_pci_write): Likewise.
16890 (grub_pci_write_word): Likewise.
16891 (grub_pci_write_byte): Likewise.
16892
9594c689
VS
168932011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16896 can still be specified in TARGET_CFLAGS)
16897
14a2562c
VS
168982011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16901
16902 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16903 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16904 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16905 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16906 (FULOONG): Rename to ...
16907 (FULOONG2F): ... this. All users updated.
16908 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16909 (machtype_fuloong2f_str): ... this.
16910 (machtype_fuloong2e_str): New string.
16911 Check for machtype_fuloong2e_str.
16912 * grub-core/loader/mips/linux.c (loongson_machtypes)
16913 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16914 * grub-core/term/serial.c (loongson_defserial)
16915 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16916 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16917 loongson_defserial.
16918 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16919 Rename to ...
16920 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16921 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16922 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16923 to IMAGE_FULOONG2F_FLASH. All users updated.
16924 (image_targets): Rename images.
16925 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16926
b526cbb6
SJ
169272011-08-19 Szymon Janc <szymon@janc.net.pl>
16928
16929 Make enable of disk cache statistics code configurable.
16930
16931 * configure.ac: --enable-cache-stats added.
16932 * config.h.in (DISK_CACHE_STATS): New define.
16933 * grub-core/Makefile.core.def (cacheinfo): New command.
16934 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16935 * grub-core/commands/cacheinfo.c: New file.
16936 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16937 moved to cacheinfo.c.
16938 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16939 debug code.
16940 * include/grub/disk.h: Likewise.
16941
fb739ccd
SJ
169422011-08-19 Szymon Janc <szymon@janc.net.pl>
16943
16944 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16945 * grub-core/Makefile.am: Likewise.
16946
2bba8cfd
VS
169472011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16948
16949 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16950 non-zero pull.
16951
43526629
VS
169522011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16955 All users updated.
16956 (grub_jfs_lookup_symlink): Use correct starting inode.
16957
5c144cc8
VS
169582011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 * util/grub-setup.c (main): Add missing gcry initialisation.
16961
b1257f65
VS
169622011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 Don't accept text modes on EFI when booting Linux.
16965
16966 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16967 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16968
828bc390
ML
169692011-08-15 Mario Limonciello <mario_limonciello@dell.com>
169702011-08-15 Colin Watson <cjwatson@ubuntu.com>
16971
16972 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16973 use of "/path/.." as in grub-install for EFI as well as handling
16974 symlinks correctly.
16975 Fixes Debian bug #637768.
16976
5f60ccac
CW
169772011-08-15 Colin Watson <cjwatson@ubuntu.com>
16978
16979 * util/grub-probe.c: Remove duplicate #include.
16980
6dc212f9
RM
169812011-08-10 Robert Millan <rmh@gnu.org>
16982
16983 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16984
16985 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16986 function.
16987 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16988 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16989
66816d85
RM
169902011-08-03 Robert Millan <rmh@gnu.org>
16991
16992 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16993 la_array as packed.
16994 Reported by: Zachary Bedell
16995
20168fca
CW
169962011-07-26 Colin Watson <cjwatson@ubuntu.com>
16997
16998 * configure.ac: The Loongson port requires grub-mkfont due to its
16999 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17000 be built.
17001
303b6246
CW
170022011-07-26 Colin Watson <cjwatson@ubuntu.com>
17003
17004 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17005 processing arguments (otherwise help2man fails when GRUB has not yet
17006 been installed).
17007
6795300e
VS
170082011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17009
41aa28ea
VS
17010 New script grub-mkstandalone.
17011
17012 * Makefile.util.def (grub-mkstandalone): New script.
17013 * docs/man/grub-mkstandalone.h2m: New file.
17014 * util/grub-mkstandalone.in: Likewise.
17015
170162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17017
17018 Support ATA disks with 4K sectors.
6795300e
VS
17019
17020 * include/grub/ata.h (grub_ata): New member log_sector_size.
17021 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17022 (grub_ata_identify): Read sector size.
17023 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17024
92227597
VS
170252011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 * util/grub-install.in: Don't use uhci outside of x86.
17028
c77069f5
VS
170292011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 * util/grub-mkrescue.in: Add missing quotes.
17032
170332011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
17034
17035 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17036 dereference.
17037
583168a2
VS
170382011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17041
6be1c01f
VS
170422011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17043
17044 * include/grub/video.h: add missing EXPORT_FUND on
17045 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17046
a1167439
VS
170472011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 * include/grub/mips/kernel.h: Fix define conflict.
17050
bf66054f
VS
170512011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
17054 all four ways.
17055
8fc4fa45
CW
170562011-07-21 Colin Watson <cjwatson@ubuntu.com>
17057
17058 Preferred resolution detection for VBE.
17059
17060 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17061 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17062 the Flat Panel extension, in line with the X.org VESA driver.
17063 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17064 New function.
17065 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17066 (grub_vbe_bios_read_edid): Likewise.
17067 (grub_vbe_get_preferred_mode): Likewise.
17068 (grub_video_vbe_setup): When the mode is "auto", try to get the
17069 preferred mode from VBE, and use the largest mode that is no larger
17070 than the preferred mode (some BIOSes expose a preferred mode that is
17071 not in their mode list!). If this fails, fall back to 640x480 as a
17072 safe conservative choice.
17073 (grub_video_vbe_get_edid): New function.
17074 (grub_video_vbe_adapter): Add get_edid.
17075 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17076 (struct grub_video_adapter): Add get_edid.
17077 (grub_video_edid_checksum): Add prototype.
17078 (grub_video_edid_preferred_mode): Likewise.
17079 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17080 structure.
17081
17082 * grub-core/commands/videoinfo.c (print_edid): New function.
17083 (grub_cmd_videoinfo): Print EDID if available.
17084
17085 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
17086 is more appropriate on a wider range of platforms than 640x480.
17087 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
17088 documentation.
17089
ca5572a9
VS
170902011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
17093
e4bcf625
VS
170942011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17095
17096 * po/POTFILES.in: Regenerate.
17097
c4edd548
VS
170982011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
17101 incorrect memory usage.
17102
16a2bab0
VS
171032011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * util/grub-install.in: Source grub-mkconfig_lib.
17106
2e418de6
VS
171072011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 Remove getroot.c from core on emu platform.
17110
17111 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
17112 kern/emu/raid.c.
17113 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
17114 useless.
17115 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
17116 * util/getroot.c (get_win32_path): ... here.
17117 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
17118 * util/getroot.c (fini_libzfs): ... here.
17119 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
17120 * util/getroot.c (grub_get_libzfs_handle): ... here.
17121 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
17122 Moved from here...
17123 * util/getroot.c (grub_find_zpool_from_dir): ... here.
17124 * grub-core/kern/emu/misc.c
17125 (grub_make_system_path_relative_to_its_root): Moved from here...
17126 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
17127 * grub-core/kern/emu/getroot.c: Moved from here ...
17128 * util/getroot.c: ... here. All users updated.
17129 * grub-core/kern/emu/raid.c: Moved from here ...
17130 * util/raid.c: ... here. All users updated.
17131
def9832a
VS
171322011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * po/POTFILES.in: Regenerate.
17135
cd8fe79a
VS
171362011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 Fix compilation on GNU/Linux.
17139
17140 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
17141 Disable geli.
17142 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
17143 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
17144 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
17145
a251b719
VS
171462011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
171472011-07-07 Michael Gorven <michael@gorven.za.net>
171482011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
17149
17150 LUKS and GELI support.
17151
17152 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
17153 grub-core/disk/luks.c, grub-core/disk/geli.c,
17154 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
17155 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
17156 grub-core/lib/arg.c.
17157 (libgrubmods.a): Remove gcrypts cflags and cppflags.
17158 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
17159 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
17160 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
17161 (grub-bin2h): Add libgcry.a.
17162 (grub-mkimage): Likewise.
17163 (grub-mkrelpath): Likewise.
17164 (grub-script-check): Likewise.
17165 (grub-editenv): Likewise.
17166 (grub-mkpasswd-pbkdf2): Likewise.
17167 (grub-pe2elf): Likewise.
17168 (grub-fstest): Likewise.
17169 (grub-mkfont): Likewise.
17170 (grub-mkdevicemap): Likewise.
17171 (grub-probe): Likewise.
17172 (grub-ofpath): Likewise.
17173 (grub-mklayout): Likewise.
17174 (example_unit_test): Likewise.
17175 (grub-menulst2cfg): Likewise.
17176 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17177 * grub-core/Makefile.core.def (cryptodisk): New module.
17178 (luks): Likewise.
17179 (geli): Likewise.
17180 * grub-core/disk/AFSplitter.c: New file.
17181 * grub-core/disk/cryptodisk.c: Likewise.
17182 * grub-core/disk/geli.c: Likewise.
17183 * grub-core/disk/luks.c: Likewise.
17184 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17185 grub_util_is_lvm.
17186 (grub_util_get_dm_abstraction): New function.
17187 (grub_util_follow_gpart_up): Likewise.
17188 (grub_util_get_geom_abstraction): Likewise.
17189 (grub_util_get_dev_abstraction): Use new functions.
17190 (grub_util_pull_device): Pull GELI and LUKS.
17191 (grub_util_get_grub_dev): Handle LUKS and GELI.
17192 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17193 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17194 (follow_geom_up): Removed.
17195 (grub_util_fd_seek): New function.
17196 (open_device): Use grub_util_fd_seek.
17197 (nread): Rename to ..
17198 (grub_util_fd_read): ... this. All users updated.
17199 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17200 (grub_crypto_cbc_decrypt): Likewise.
17201 (grub_crypto_hmac_write): Likewise.
17202 (grub_crypto_hmac_buffer): Likewise.
17203 (grub_password_get): Extend to util.
17204 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17205 New member modname.
17206 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17207 * include/grub/cryptodisk.h: New file.
17208 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17209 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17210 LUKS and GELI.
17211 (grub_util_follow_gpart_up): New proto.
17212 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17213 (grub_util_fd_read): Likewise.
17214 (grub_cryptodisk_cheat_mount): Likewise.
17215 (grub_util_cryptodisk_print_uuid): Likewise.
17216 (grub_util_get_fd_sectors): Likewise.
17217 * util/grub-fstest.c (mount_crypt): New var.
17218 (fstest): Mount crypto if requested.
17219 (options): New option -C.
17220 (argp_parser): Parse -C.
17221 (main): Init and fini gcry.
17222 * util/grub-install.in: Support cryptodisk install.
17223 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17224 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17225 cryptodisk.
17226 (prepare_grub_to_access_device): Likewise.
17227 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17228 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17229 (probe_cryptodisk_uuid): New function.
17230 (probe_abstraction): Likewise.
17231 (probe): Use new functions.
17232 * util/import_gcry.py: Create Makefile.utilgcry.def.
17233 Add modname member.
17234
9bfdcbbc
VS
172352011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17236
17237 Lazy device scanning.
17238
17239 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17240 (grub-setup): Remove util/raid.c.
17241 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17242 * grub-core/disk/lvm.c (scan_depth): New variable.
17243 (grub_lvm_iterate): Rescan if necessary.
17244 (find_lv): New function based on grub_lvm_open.
17245 (grub_lvm_open): Use find_lv. Rescan on error.
17246 (is_node_readable): New function.
17247 (is_lv_readable): Likewise.
17248 (grub_lvm_scan_device): Skip already found disks.
17249 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17250 Stop if searched device is found and readable.
17251 * grub-core/disk/raid.c (inscnt): New variable.
17252 (scan_depth): Likewise.
17253 (scan_devices): New function based on grub_raid_register. Abort if
17254 looked for device is found.
17255 (grub_raid_iterate): Rescan if needed.
17256 (find_array): NEw function based on -grub_raid_open.
17257 (grub_raid_open): Use find_array and rescan.
17258 (insert_array): Set became_readable_at.
17259 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17260 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17261 New function.
17262 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17263 (grub_util_pull_device): New function.
17264 (grub_util_get_grub_dev): Call grub_util_pull_device.
17265 * util/raid.c: Moved to ..
17266 * grub-core/kern/emu/raid.c: ... here.
17267 (grub_util_raid_getmembers): New parameter "bootable".
17268 All users updated. Support 1.x.
17269 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17270 All users updated.
17271 * include/grub/disk.h (grub_disk_pull_t): New enum.
17272 (grub_disk_dev): Change iterate prototype.
17273 All users updated.
17274 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17275 New proto.
17276 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17277 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17278 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17279 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17280 All users updated.
17281 * include/grub/util/raid.h: Removed.
17282
1c358e59
VS
172832011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * po/POTFILES.in: Regenerate.
17286
abee94ed
VS
172872011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 Unify sparc init with other ieee1275.
17290
17291 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17292 instead of kern/sparc64/ieee1275/init.c.
17293 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17294 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17295 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17296 grub/machine/kernel.h.
17297 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17298 (grub_claim_heap) [__sparc__]: Use sparc version.
17299 (grub_machine_init): Moved args parsing to
17300 (grub_parse_cmdline): ...this.
17301 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17302 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17303 New definition.
17304 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17305
17306 Move BOOTP to separate file.
17307
17308 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17309 * grub-core/net/net.c: Move all BOOTP functions to
17310 * grub-core/net/bootp.c: ... here.
17311
17312 Use frame interface on PXE.
17313
17314 * grub-core/Makefile.core.def (pxecmd): Removed.
17315 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17316 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17317 * grub-core/i386/pc/pxe.c: Moved from here ...
17318 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17319 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17320 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17321
17322 EFI network support.
17323
17324 * grub-core/Makefile.core.def (efinet): New module.
17325 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17326 here...
17327 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17328 All users updated.
17329 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17330 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17331 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17332 * grub-core/net/drivers/efi/efinet.c: New file.
17333 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17334 (grub_efi_net_config): New extern var.
17335
17336 Various cleanups and bugfixes.
17337
17338 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17339 error.
17340 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17341 disk declared as partition.
17342 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17343 leak on failure.
17344 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17345 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17346 (grub_debug_zalloc): Likewise.
17347 (grub_debug_realloc): Likewise.
17348 (grub_debug_memalign): Likewise.
17349 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17350 Check that target is IPv4.
17351 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17352 local-mac-address as fallback.
17353 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17354 memory leak.
17355 * grub-core/net/ip.c (ipchksum): Rename to ...
17356 (grub_net_ip_chksum): ... this. All users updated.
17357 (grub_net_recv_ip_packets): Special handling for DHCP.
17358 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17359
17360 Unify prefix handling
17361
17362 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17363 (grub_machine_get_bootlocation): ... this.
17364 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17365 (grub_machine_get_bootlocation): ... this.
17366 (grub_prefix): New variable.
17367 (prefix): Removed.
17368 (root_dev): New variable.
17369 (dir): Likewise.
17370 (main): Use new variables.
17371 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17372 Revamped into ...
17373 (grub_machine_get_bootlocation): ... this.
17374 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17375 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17376 (grub_machine_get_bootlocation): ... this.
17377 (grub_machine_set_prefix): Removed.
17378 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17379 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17380 Revamped into ...
17381 (grub_machine_get_bootlocation): ... this.
17382 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17383 (grub_set_prefix_and_root): ... this. All users updated.
17384 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17385 Revamped into ...
17386 (grub_machine_get_bootlocation): ... this.
17387 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17388 (grub_machine_get_bootlocation): New proto.
17389 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17390
17391 Less intrusive and more reliable seek on network implementation.
17392
17393 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17394 (grub_file_seek): Don't call grub_file_net_seek.
17395 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17396 (grub_net_fs_read_real): .. this.
17397 (grub_net_seek_real): Use net->offset.
17398 (grub_net_fs_read): Seek if necessary.
17399
17400 Unify IEEE1275 netwotk config with the other platforms.
17401
17402 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17403 New variable.
17404 (grub_machine_get_bootlocation): Support network.
17405 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17406 Support type and device parsing.
17407 (grub_ieee1275_get_device_type): New function.
17408 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17409 into ...
17410 (grub_ieee1275_net_config_real): ... this.
17411 (grub_ofnet_probecards): Removed.
17412 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17413 * include/grub/ieee1275/ofnet.h: Removed.
17414 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17415 extern var.
17416 (grub_ieee1275_get_device_type): New function.
17417
17418 Unify network device closing across platforms and make more robust.
17419
17420 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17421 grub_grubnet_fini.
17422 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17423 already.
17424 * grub-core/net/net.c (grub_net_network_level_interface_register):
17425 Update num_ifaces.
17426 (grub_net_card_unregister): Close all interfaces.
17427 (receive_packets): Don't poll if no iterfaces are registered.
17428 Open if necessary.
17429 (grub_net_fini_hw): New function.
17430 (grub_net_restore_hw): Likewise.
17431 (fini_hnd): New variable.
17432 (GRUB_MOD_INIT): Register preboot hook.
17433 (GRUB_MOD_FINI): Run and unregister preboot hook.
17434
17435 Poll network cards when idle.
17436
17437 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17438 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17439 * grub-core/net/net.c (receive_packets): Save last poll time.
17440 (grub_net_poll_cards_idle_real): New function.
17441 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17442 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17443 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17444
17445 Rename ofnet interfaces.
17446
17447 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17448 (grub_ofnet_findcards): Use ofnet_%s names.
17449
17450 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17451
17452 Cleanup socket opening.
17453
17454 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17455 (grub_net_fs_close): Likewise.
17456 (grub_net_fs_read_real): Use eof member.
17457 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17458 (+grub_net_udp_close): New inline function.
17459
17460 * include/grub/net/tftp.h: Moved to the top of ...
17461 * grub-core/net/tftp.c: ... here.
17462 * include/grub/net/ip.h: Moved mostly to the top of ...
17463 * grub-core/net/ip.c: ... here.
17464 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17465 * grub-core/net/ethernet.c: ... here.
17466
17467 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17468
17469 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17470 FS name.
17471
17472 * include/grub/net/ip.h (ipv4_ini): Removed.
17473 (ipv4_fini): Likewise.
17474
17475 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17476 (grub_net_send_ip_packets): Likewise.
17477
cf1337aa
VS
174782011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17479
17480 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17481 grub_read_cmos prototype.
17482
93c06ff9
VS
174832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 VGA text support in qemu-mips
17486
17487 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17488 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17489 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17490 text.
17491 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17492 * grub-core/kern/vga_init.c: ... this.
17493 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17494 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17495 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17496 Adjust.
17497 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17498 GRUB_MACHINE_PCI_IO_BASE.
17499
748ccabe
VS
175002011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 MIPS qemu flash support.
17503
17504 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17505 magic.
17506 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17507 (grub_machine_init): Probe memory if its size isn't known.
17508 * util/grub-mkimage.c (image_targets): Add flash targets.
17509 (generate_image): Handle flash targets.
17510
d7345994
VS
175112011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 MIPS qemu at_keyboard support.
17514
17515 * gentpl.py (videoinkernel): Add qemu-mips.
17516 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17517 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17518 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17519 modules.
17520 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17521 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17522 * grub-core/term/serial.c (grub_serial_register)
17523 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17524
a07a81b3
VS
175252011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 CMOS support on sparc.
17528
17529 * gentpl.py (cmos): Add powerpc and sparc.
17530 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17531 powerpc and sparc.
17532 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17533 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17534 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17535 grub_set_datetime_cmos.
17536 * grub-core/lib/ieee1275/cmos.c: New file.
17537 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17538 (find_rtc): Set no_ieee1275_rtc on error.
17539 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17540 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17541 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17542 fail. Move value to argument. All users updated
17543 (grub_cmos_write): Likewise.
17544 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17545 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17546 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17547 grub_get_datetime_cmos and grub_set_datetime_cmos.
17548
77546584
GS
175492011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17550
17551 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17552 sourcing grub-mkconfig_lib.
17553 * util/update-grub_lib.in: Likewise.
17554 * util/grub.d/00_header.in: Likewise.
17555 * util/grub.d/10_hurd.in: Likewise.
17556 * util/grub.d/10_kfreebsd.in: Likewise.
17557 * util/grub.d/10_linux.in: Likewise.
17558 * util/grub.d/10_netbsd.in: Likewise.
17559 * util/grub.d/10_windows.in: Likewise.
17560 * util/grub.d/20_linux_xen.in: Likewise.
17561 * util/grub.d/30_os-prober.in: Likewise.
17562
54894791
CW
175632011-06-28 Colin Watson <cjwatson@ubuntu.com>
17564
17565 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17566 default_bg_color rather than black.
17567 (grub_gfxterm_fullscreen): Likewise.
17568 (grub_gfxterm_background_color_cmd): Save new background color in
17569 default_bg_color.
17570
8d5d8444
VS
175712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17574
5afeb5bd
VS
175752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17576
17577 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17578 mismerge.
17579
ba7df45e
VS
175802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 Chainloading on coreboot support.
17583
17584 * grub-core/Makefile.core.def (chain): Add coreboot.
17585 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17586
d0b526b2
VS
175872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17588
17589 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17590 if it happens.
17591
5ff1d945
VS
175922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17593
17594 Implement time command.
17595
17596 * grub-core/Makefile.core.def (time): New module.
17597 * grub-core/commands/time.c: New file.
17598 * grub-core/script/parser.y: Remove "time" keyword.
17599 * grub-core/script/yylex.l: Likewise.
17600
5ebaad7e
VS
176012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17602
17603 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17604
bdea3798
VS
176052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17608 when handling leftovers.
17609
b28c5655
VS
176102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17611
17612 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17613 so that help2man doesn't fail.
17614
b6f945dc
VS
176152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17618 type in pointers on sparc64.
17619 (get_card_packet): Likewise.
17620
f9b75e8a
CW
176212011-06-27 Colin Watson <cjwatson@ubuntu.com>
17622
17623 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17624 with `*'.
17625 (grub_cmd_videoinfo): Fetch current video mode.
17626
1e3d9b86
VS
176272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17630 because of underlying system restrictions.
17631
efff4b1c
VS
176322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17635 necessary.
17636
9fc9ce37
VS
176372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 Coreboot video support.
17640
17641 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17642 (vbe): Likewise.
17643 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17644 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17645 here ...
17646 * grub-core/kern/i386/int.S: ... here.
17647 * grub-core/video/i386/pc/vbe.c: Updated includes.
17648 * grub-core/video/i386/pc/vga.c: Likewise.
17649 * include/grub/i386/coreboot/memory.h
17650 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17651 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17652 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17653 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17654 Disable interrupts.
17655 * include/grub/i386/pc/vga.h: Removed. All users updated.
17656
41bec7fe
VS
176572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17658
17659 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17660 definitions for dprintf.
17661 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17662
ca80309d
VS
176632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17664
17665 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17666 prototype.
17667 (get_card_packet): Likewise.
17668
9e322ce8
YB
176692011-06-26 Yves Blusseau <blusseau@zetam.org>
17670
17671 Display the path of the file when file is not found
17672
17673 * grub-core/fs/fat.c: Display the filename when file is not found.
17674 * grub-core/fs/fshelp.c: Likewise.
17675 * grub-core/fs/hfs.c: Likewise.
17676 * grub-core/fs/jfs.c: Likewise.
17677 * grub-core/fs/minix.c: Likewise.
17678 * grub-core/fs/ufs.c: Likewise.
17679 * grub-core/fs/btrfs.c: Likewise.
17680 * grub-core/commands/i386/pc/play.c: Likewise.
17681
cbf597af
SJ
176822011-06-26 Szymon Janc <szymon@janc.net.pl>
17683
17684 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17685 pointer checks before calling grub_free().
17686 * grub-core/commands/wildcard.c (match_devices): Likewise.
17687 * grub-core/commands/wildcard.c (match_files): Likewise.
17688 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17689 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17690 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17691 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17692 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17693 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17694 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17695 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17696 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17697
6295b32f
P
176982011-06-25 Patrick <p55@mailinator.com>
17699
17700 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17701
77c0840b
VS
177022011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17703
17704 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17705 (grub_pxe_send): Likewise.
17706 (GRUB_MOD_INIT): Fix types.
17707
40ea05de
SJ
177082011-06-24 Szymon Janc <szymon@janc.net.pl>
17709
17710 * grub-core/io/xzio.c: Fix code style issues
17711
90162423
MRA
177122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
177132011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17714
17715 Network infrastructure.
17716 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17717
17718 * include/grub/net/arp.h: New file.
90162423
MRA
17719 * include/grub/net/device.h: Likewise.
17720 * include/grub/net/ethernet.h: Likewise.
17721 * include/grub/net/ip.h: Likewise.
17722 * include/grub/net/netbuff.h: Likewise.
17723 * include/grub/net/tftp.h: Likewise.
17724 * include/grub/net/udp.h: Likewise.
17725 * include/grub/ieee1275/ofnet.h: Likewise.
17726 * include/grub/emu/export.h: Likewise.
17727 * include/grub/net.h: Likewise.
17728 * grub-core/net/arp.c: Likewise.
17729 * grub-core/net/ethernet.c: Likewise.
17730 * grub-core/net/ip.c: Likewise.
17731 * grub-core/net/udp.c: Likewise.
17732 * grub-core/net/tftp.c: Likewise.
17733 * grub-core/net/netbuff.c: Likewise.
17734 * grub-core/net/net.c: Likewise.
17735 * grub-core/net/drivers/emu/emunet.c: Likewise.
17736 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17737 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17738 export.h.
17739 * grub-core/Makefile.core.def (net): New module.
17740 (tftp): Likewise.
17741 (ofnet): Likewise.
17742 (emunet): Likewise.
17743 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17744 network protocols.
17745 * grub-core/kern/device.c (grub_net_open) : New variable.
17746 (grub_device_open): Handle network device.
17747 (grub_device_close): Likewise.
17748 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17749 (grub_grubnet_fini): Likewise.
17750 (grub_file_seek): Seek in network device.
17751 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17752 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17753 network root.
17754 (grub_machine_fini): Call grub_grubnet_fini.
17755 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17756 network.
17757 (grub_ieee1275_get_aliasdevname): New function.
17758 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17759 Add unofficial Solaris network info.
17760 (grub_multiboot_make_mbi): Likewise.
17761 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17762 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17763 * include/grub/device.h (grub_fs): Removed.
17764 * include/grub/err.h (grub_err_t): Add network-related values.
17765 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17766 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17767 (grub_ieee1275_get_aliasdevname): New proto.
17768 * include/grub/net.h: Rewritten.
423a1849 17769
031f22a0
VS
177702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17773 names.
17774
4388ca72
VS
177752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17776
17777 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17778 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17779 it truncates the output.
17780 Reported by: Ximin Luo.
17781
98e2f506
VS
177822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17785
2a5e94d8
VS
177862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17789 partmap before abstraction.
17790
535c1910
AK
177912011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17792
17793 * util/grub-mkconfig_lib.in: Add missing quotes.
17794
bc09e1a2
VS
177952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17798 old method if mountinfo would return /dev/root and /dev/root doesn't
17799 exist.
17800
290766fb
VS
178012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17802
17803 ZFS zlib support
17804
17805 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17806 (decomp_table): Add zlib entries.
17807 (zio_read): USe 8 bits for compression function rather than 3.
17808 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17809
178102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 * grub-core/disk/ahci.c: Add missing license statements.
17813 * grub-core/fs/romfs.c: Likewise.
17814 * grub-core/lib/ia64/setjmp.S: Likewise.
17815 * grub-core/loader/i386/pc/freedos.c: Likewise.
17816 * grub-core/loader/ia64/efi/linux.c: Likewise.
17817 * grub-core/video/colors.c: Likewise.
17818 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17819
5ab3f48a
VS
178202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 AHCI support.
17823
17824 * grub-core/Makefile.core.def (ata_pthru): Removed.
17825 (ahci): New module.
17826 (pata): Likewise.
17827 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17828 on unload.
17829 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17830 readwrite.
17831 (grub_hdparm_do_check_powermode_cmd): Likewise.
17832 (grub_hdparm_do_smart_cmd): Likewise.
17833 (grub_hdparm_set_val_cmd): Likewise.
17834 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17835 * grub-core/disk/ahci.c: New file.
17836 * grub-core/disk/ata.c: Factor out the low-level part into ...
17837 * grub-core/disk/pata.c: ... here.
17838 * grub-core/disk/ata_pthru.c: Contents moved to ...
17839 * grub-core/disk/pata.c: ... here.
17840 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17841 (grub_scsi_iterate): Use grub_scsi_names.
17842 (grub_scsi_open): Likewise.
17843 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17844 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17845 (grub_ata_regs_t): New struct.
17846 (grub_disk_ata_pass_through_parms): Likewise.
17847 (grub_ata_device): Renamed to ...
17848 (grub_ata): ... this.
17849 (grub_ata_dev): New struct.
17850 Removed all low-level inline functions.
17851 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17852 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17853 iterate hooks and open. All users updated.
17854 * util/grub-install.in: Handle AHCI disk module.
17855
c31dc5f5
SJ
178562011-06-23 Szymon Janc <szymon@janc.net.pl>
17857
17858 Add support for DRI and RSTn markers in JPEG files.
17859
17860 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17861 (JPEG_MARKER_RST0): Likewise.
17862 (JPEG_MARKER_RST1): Likewise.
17863 (JPEG_MARKER_RST2): Likewise.
17864 (JPEG_MARKER_RST3): Likewise.
17865 (JPEG_MARKER_RST4): Likewise.
17866 (JPEG_MARKER_RST5): Likewise.
17867 (JPEG_MARKER_RST6): Likewise.
17868 (JPEG_MARKER_RST7): Likewise.
17869 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17870 (grub_jpeg_decode_dri): New function.
17871 (grub_jpeg_decode_sos): Move image data related part into
17872 grub_jpeg_decode_data function.
17873 (grub_jpeg_decode_data): New function.
17874 (grub_jpeg_reset): New function.
17875 (grub_jpeg_decode_jpeg): Handle new markers.
17876
fe12fd5b
VS
178772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 * util/ieee1275/ofpath.c (check_sas): Close fd.
17880 (main): Free of_path.
17881 Reported by: David Volgyes <dvolgyes>.
17882
03147f46
VS
178832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17886 Reported by: David Volgyes <dvolgyes>.
17887
cad3237f
VS
178882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17889
17890 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17891 file after stat.
17892 Reported by: David Volgyes <dvolgyes>.
17893
13548d26
VS
178942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17895
17896 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17897
17898 Reported by: David Volgyes <dvolgyes>.
17899
e061a1b5
VS
179002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17903 Prevent memory leak.
17904
1abe47dc
VS
179052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17908 (main): Close file.
e061a1b5 17909 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17910
fbc62666
VS
179112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17912
17913 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17914 to continue if allocation is failed.
17915
17916 Reported by: David Volgyes <dvolgyes>.
17917
e98c83e9
DV
179182011-06-23 David Volgyes <dvolgyes>
17919
17920 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17921 dereference.
17922
a199a8cd
VS
179232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17924
17925 Fix spurious warning.
17926
17927 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17928 (acorn_partition_map_find): Use .bin member.
17929
e2d1dba0
VS
179302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17933 /dev/root as a valid device.
17934
8a5d6919
JM
179352011-06-23 Jim Meyering <meyering@redhat.com>
17936
e2d1dba0
VS
17937 Avoid NULL deref in grub_device_open.
17938
8a5d6919
JM
17939 * grub-core/kern/device.c (grub_device_open): Don't dereference
17940 a NULL pointer upon failed grub_env_get.
17941
f7db6f4a
VS
179422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17943
17944 Support non-512B sectors and agglomerate reads.
17945
17946 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17947 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17948 (disk_io_guid): Removed.
17949 (make_devices): Locate solely by BlockIO.
17950 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17951 (grub_efidisk_read): Use read_blocks.
17952 (grub_efidisk_write): Use write_blocks.
17953 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17954 log_sector_size.
17955 (get_safe_sectors): Handle non-512B sectors.
17956 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17957 sectors.
17958 (grub_biosdisk_write): Handle non-512B sectors.
17959 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17960 (grub_scsi_read): Remove special non-512B block handling (now handled
17961 one level up).
17962 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17963 and do sanity checks.
17964 (grub_disk_adjust_range): Handle non-512B sectors.
17965 (transform_sector): New function.
17966 (grub_disk_read_small): Likewise.
17967 (grub_disk_read): Rewritten.
17968 (grub_disk_write): Handle non-512B sectors.
17969 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17970 log_sector_size.
17971 (open_device): Use log_sector_size.
17972 (grub_util_biosdisk_read): Likewise.
17973 (grub_util_biosdisk_write): Likewise.
17974 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17975 non-512B sectors.
17976 (pc_partition_map_embed): Likewise.
17977 * include/grub/disk.h (grub_disk): New field log_sector_size.
17978 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17979 (GRUB_DISK_CACHE_BITS): Increased to 6.
17980 * util/grub-fstest.c (fstest): New command testload.
17981 (argp_parser): Likewise.
17982
881ac815
RM
179832011-06-16 Robert Millan <rmh@gnu.org>
17984
17985 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17986 `ata' driver on kernel of FreeBSD 9.
17987
17988 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17989 (get_ataraid_disk_name): New functions.
17990 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17991 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17992 get_ataraid_disk_name() and get_ada_disk_name().
17993
1e9aef7d
CW
179942011-06-13 Colin Watson <cjwatson@ubuntu.com>
17995
17996 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17997 input format.
17998
351c7c8a
CW
179992011-05-29 Colin Watson <cjwatson@ubuntu.com>
18000
18001 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18002 `ftp.gnu.org' for `alpha.gnu.org'.
18003
6b4e6430
CW
180042011-05-27 Colin Watson <cjwatson@ubuntu.com>
18005
18006 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18007 partitions under /dev/disk/by-id/.
18008
c64db050
CW
180092011-05-27 Colin Watson <cjwatson@ubuntu.com>
18010
18011 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18012 after ten consecutive open failures. Scanning all the way up to
18013 10000 is excessive and can cause serious performance problems in
18014 some configurations.
18015 Fixes Ubuntu bug #787461.
18016
245f4aba
VS
180172011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18018
18019 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18020 opening new one.
18021
f767c929
VS
180222011-05-21 Colin Watson <cjwatson@ubuntu.com>
180232011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 Don't stat devices unless we have to.
18026
18027 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18028 dir == /dev/mapper.
18029 (grub_guess_root_device): Use already known os_dev if possible.
18030 * grub-core/kern/emu/hostdisk.c
18031 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18032 if device is known to be a dm one.
18033
f35fa3a6
CW
180342011-05-20 Colin Watson <cjwatson@ubuntu.com>
18035
18036 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18037 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18038 Reported by: Pawel Tecza.
18039
9a79fcf2
VS
180402011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18043 (lsefisystab): Likewise.
18044 (lssal): Likewise.
18045 (lsefimmap): Likewise.
18046 (hdparm): Enable on qemu-mips.
18047 (setjmp): Add ia64 nodist.
18048 (serial): Simplify tags.
18049
63e3eea9
CW
180502011-05-18 Colin Watson <cjwatson@ubuntu.com>
18051
18052 * Makefile.util.def (grub-ofpathname): Install manual page.
18053
09728256
CW
180542011-05-18 Colin Watson <cjwatson@ubuntu.com>
18055
18056 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
18057
8b63a142
CW
180582011-05-18 Colin Watson <cjwatson@ubuntu.com>
18059
18060 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18061
e775d8ed
VS
180622011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18065 into dprintf.
18066
bf947d36
VS
180672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 Use full 64-bit division.
18070
18071 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18072 (grub_divmod64): ... this.
18073 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18074 version.
18075
b84f26c5
CW
180762011-05-18 Colin Watson <cjwatson@ubuntu.com>
18077
18078 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18079 `source'.
18080
5626056f
CW
180812011-05-18 Colin Watson <cjwatson@ubuntu.com>
18082
18083 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
18084 to avoid accidents when debugging with 'sh -x'.
18085 * grub-core/gensyminfo.sh.in: Likewise.
18086 * tests/example_scripted_test.in: Likewise.
18087 * tests/grub_cmd_regexp.in: Likewise.
18088 * tests/grub_script_blanklines.in: Likewise.
18089 * tests/grub_script_dollar.in: Likewise.
18090 * tests/grub_script_expansion.in: Likewise.
18091 * tests/grub_script_final_semicolon.in: Likewise.
18092 * tests/partmap_test.in: Likewise.
18093 * tests/util/grub-shell-tester.in: Likewise.
18094 * tests/util/grub-shell.in: Likewise.
18095
e2965f4a
CW
180962011-05-18 Colin Watson <cjwatson@ubuntu.com>
18097
18098 Move gfxmenu color handling to video, so that gfxterm can use it
18099 too.
18100
18101 * grub-core/gfxmenu/named_colors.c: Move to ...
18102 * grub-core/video/colors.c: ... here. Rename
18103 grub_gui_get_named_color to grub_video_get_named_color.
18104 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
18105 * grub-core/video/colors.c (my_isxdigit): ... here.
18106 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
18107 Move to ...
18108 * grub-core/video/colors.c (parse_hex_color_component): ... here.
18109 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
18110 to ...
18111 * grub-core/video/colors.c (grub_video_parse_color): ... here.
18112
18113 * include/grub/gui.h (grub_gui_color_t): Move to ...
18114 * include/grub/video.h (grub_video_rgba_color_t): ... here.
18115 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
18116 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
18117 * include/grub/gui.h (grub_gui_map_color): Move to ...
18118 * include/grub/video.h (grub_video_map_rgba_color): ... here.
18119 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
18120 to ...
18121 * include/grub/video.h (grub_video_get_named_color): ... here.
18122 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
18123 * include/grub/video.h (grub_video_parse_color): ... here.
18124
18125 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
18126 video/colors.c.
18127 (gfxmenu): Remove gfxmenu/named_colors.c.
18128 (video) [videomodules]: Add video/colors.c.
18129
18130 Add a background_color command.
18131
18132 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
18133 function.
18134 (GRUB_MOD_INIT): Register background_color command.
18135 (GRUB_MOD_FINI): Unregister background_color command.
18136 (redraw_screen_rect): Allow blend/replace of text layer to be
18137 controlled independently from whether there is a background bitmap.
18138 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
18139 changing bitmap.
18140
1e4b4390
VS
181412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18142
26618ff0
VS
18143 Patch BPB in ntldr and chainloader --bpb.
18144
1e4b4390
VS
18145 * grub-core/fs/fat.c: Include grub/fat.h.
18146 (grub_fat_bpb): Moved to ...
18147 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
18148 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
18149 grub/ntfs.h.
18150 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
18151 Moved from here...
18152 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
18153 here.
18154 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
18155 New function.
18156 (grub_chainloader_cmd): Patch BPB if --bpb is given.
18157 (GRUB_MOD_INIT): Show --bpb.
18158 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
18159 * grub-core/normal/main.c (features): New variable.
18160 (GRUB_MOD_INIT): Set feature_* variables.
18161 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
18162 proto.
18163 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
18164
cf02731e
VS
181652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
18168 for cleanness.
18169
e3a1073f
VS
181702011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 FreeDOS direct loading support.
18173
18174 * docs/grub.texi (Supported OS): Add FreeDOS.
18175 * grub-core/Makefile.core.def (freedos): New module.
18176 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18177 variable.
18178 (grub_relocator16_boot): Handle %ebx.
18179 * grub-core/lib/i386/relocator16.S: Likewise.
18180 * grub-core/loader/i386/pc/freedos.c: New file.
18181
05caa461
VS
181822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 Long Linux command line support.
18185
18186 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18187 (maximal_cmdline_size): New variable.
18188 (allocate_pages): Use maximal_cmdline_size.
18189 (grub_cmd_linux): Set and use maximal_cmdline_size.
18190 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18191 (allocate_pages): Use maximal_cmdline_size.
18192 (grub_cmd_linux): Set and use maximal_cmdline_size.
18193 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18194 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18195 and cmdline_size.
18196
a2491e23
VS
181972011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
181982011-05-18 Colin Watson <cjwatson@ubuntu.com>
18199
18200 Improve devmapper support
18201
18202 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18203 (grub_util_is_lvm): New function.
18204 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18205 than lvm if not dmraid.
18206 Handle mapped md nodes.
18207 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18208 (grub_util_device_is_mapped): ... this. Make always available. All users
18209 updated.
18210 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18211 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18212 dmraid nodes.
18213 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18214
6ad6223e
VS
182152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18216
18217 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18218
18219 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18220 * grub-core/modinfo.sh.in: New file.
18221 * grub-core/Makefile.core.def (modinfo.sh): New script.
18222 * util/grub-mknetdir.in: Use modinfo.sh.
18223 * util/grub-mkrescue.in: Likewise.
18224
543a8f6e
VS
182252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18228 Fix potential usage of Elf32 instead of Elf64 when compiling on
18229 32-bit architecture. Add endianness macros while on it.
18230
4959e111
VS
182312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 Use mipsel- rather than mips- in directories involving mipsel ports to
18234 allow both endiannesses coexist.
18235
18236 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18237 mips. All conditions adjusted.
18238 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18239 variable.
18240 * util/grub-install.in: Adjust conditions to take renaming into account.
18241 * util/grub-mkimage.c (image_targets): Likewise. New target
18242 mips-qemu_mips-elf for bigendian mips.
18243
35341bbc
VS
182442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Avoid unnecessary copying on MIPS.
18247
18248 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18249 early if src == dest.
18250 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18251 compression is none.
18252
b772baed
VS
182532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 Reduce memory footprint on SGI by putting modules before the kernel
18256 as opposed to after.
18257
18258 * grub-core/Makefile.core.def (kernel): Increase linking address.
18259 (none_decompress): Likewise.
18260 (xz_decompress): Likewise.
18261 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18262 address.
18263 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18264 layout change.
18265 (grub_arch_modules_addr): New function.
18266 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18267 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18268 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18269 here.
18270 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18271 (grub_total_modules_size): ... this. Make global.
18272 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18273 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18274 New definition.
18275 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18276 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18277 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18278 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18279 * util/grub-mkimage.c (image_target_desc): New flag
18280 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18281 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18282 (generate_image): Handle images with modules before kernel.
18283
566a1917
VS
182842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 Prevent potential loss of memory map by overwrite on qemu-mips.
18287
18288 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18289 Save ram size in $s4.
18290 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18291 All users changed to grub_arch_memsize.
18292 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18293 Loongson.
18294 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18295 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18296 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18297 external variable.
18298
5d420cd9
CW
182992011-05-17 Colin Watson <cjwatson@ubuntu.com>
18300
18301 * .bzrignore: Remove grub-dumpbios.
18302
d064b830
CW
183032011-05-17 Colin Watson <cjwatson@ubuntu.com>
18304
18305 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18306 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18307 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18308 existing options which append).
18309 * docs/grub.texi (Simple configuration): Document new options.
18310 Reported by: Ian Jackson. Fixes Debian bug #617538.
18311
3ca2b466
CW
183122011-05-17 Colin Watson <cjwatson@ubuntu.com>
18313
18314 * util/grub-fstest.c (cmd_cat): New function.
18315 (fstest): Handle CMD_CAT.
18316 (options): Add cat.
18317 (argp_parser): Handle cat.
18318
24c9143a
CW
183192011-05-17 Colin Watson <cjwatson@ubuntu.com>
18320
18321 * Makefile.util.def (grub-bin2h): Don't install.
18322 * docs/man/grub-bin2h.h2m: Remove.
18323
90f7ac19
VS
183242011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18327 place.
18328
8d4a5178
VS
183292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 Reenable qemu-mips port.
18332
18333 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18334 Fix small arc bug while on it.
18335 * gentpl.py: Handle qemu_mips.
18336 * grub-core/Makefile.am: Likewise.
18337 * grub-core/Makefile.core.def: Likewise.
18338 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18339 inappropriate includes.
18340 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18341 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18342 * grub-core/kern/main.c (grub_modules_get_end)
18343 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18344 * grub-core/kern/mips/qemu-mips: Moved to ..
18345 * grub-core/kern/mips/qemu_mips: ... this.
18346 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18347 (grub_machine_init): Call terminfo_init and serial_init.
18348 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18349 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18350 New variable.
18351 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18352 parameter passing.
18353 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18354 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18355 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18356 * include/grub/mips/qemu_mips/cmos.h: New file.
18357 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18358 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18359 Removed.
18360 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18361 Use correct mips-style address.
18362 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18363 (GRUB_TICKS_PER_SECOND): Removed.
18364 (grub_get_rtc): Likewise.
18365 (grub_cpu_idle): Likewise.
18366 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18367 New definition.
18368 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18369 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18370 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18371 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18372 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18373 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18374 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18375 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18376
400b9371
VS
183772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 SGI ARCS port.
18380
18381 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18382 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18383 platforms.
18384 * configure.ac: New target mips-arc.
18385 * gentpl.py: Likewise.
18386 * grub-core/Makefile.am: Likewise.
18387 * grub-core/Makefile.core.def: Likewise.
18388 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18389 (none_decompress): Likewise.
18390 (lsdev): New module.
18391 (datetime): Use lib/arc/datetime.c on ARC.
18392 (part_dvh): New module.
18393 * grub-core/commands/arc/lsdev.c: New file.
18394 * grub-core/disk/arc/arcdisk.c: Likewise.
18395 * grub-core/kern/mips/arc/init.c: Likewise.
18396 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18397 aligned addresses.
18398 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18399 support.
18400 (grub_arch_dl_relocate_symbols): Likewise.
18401 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18402 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18403 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18404 platforms.
18405 * grub-core/lib/arc/datetime.c: New file.
18406 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18407 pci.h on non-loongson.
18408 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18409 (grub_linux_boot): Set unused registers to 0.
18410 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18411 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18412 * grub-core/mmap/mips/uppermem.c: ...here.
18413 * grub-core/partmap/dvh.c: New file.
18414 * grub-core/term/arc/console.c: Likewise.
18415 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18416 (grub_terminfo_set_current): Add terminal "arc".
18417 (grub_terminfo_readkey): Support ARC sequences.
18418 * include/grub/arc/arc.h: New file.
18419 * include/grub/arc/console.h: Likewise.
18420 * include/grub/disk.h (grub_disk_dev_id): Add
18421 GRUB_DISK_DEVICE_ARCDISK_ID.
18422 * include/grub/mips/arc/kernel.h: New file.
18423 * include/grub/mips/arc/memory.h: Likewise.
18424 * include/grub/mips/arc/time.h: Likewise.
18425 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18426 * include/grub/mips/kernel.h (grub_halt): ... here.
18427 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18428 here...
18429 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18430 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18431 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18432 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18433 proto.
18434 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18435 from here ...
18436 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18437 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18438 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18439 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18440 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18441 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18442 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18443 (grub_phys_addr_t): Moved from here ...
18444 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18445 (grub_vtop): Moved from here ...
18446 * include/grub/mips/memory.h (grub_vtop): ... here.
18447 (grub_map_memory): Moved from here ...
18448 * include/grub/mips/memory.h (grub_map_memory): ... here.
18449 (grub_unmap_memory): Moved from here ...
18450 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18451 (grub_machine_mmap_iterate): Moved from here ...
18452 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18453 (grub_mmap_get_lower): Moved from here ...
18454 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18455 (grub_mmap_get_upper): Moved from here ...
18456 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18457 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18458 here ...
18459 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18460 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18461 here ...
18462 * include/grub/mips/time.h (grub_get_rtc): ... here.
18463 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18464 here ...
18465 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18466 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18467 here ...
18468 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18469 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18470 definition.
18471 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18472 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18473 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18474 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18475 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18476 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18477 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18478 (GRUB_MACHINE_LINK_ADDR): Likewise.
18479 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18480 to 6.
18481 * util/grub-install.in: Run dvhtool on ARC.
18482 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18483 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18484
c8ecc840
VS
184852011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18486
18487 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18488 blocks.
18489
153a4b55
VS
184902011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18491
18492 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18493 after enabling port.
18494
ff44d107
VS
184952011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18496
18497 Skip incorrect USB devices.
18498
18499 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18500 configcnt == 0.
18501 * include/grub/usb.h (grub_usb_err_t): New enum value
18502 GRUB_USB_ERR_BADDEVICE.
18503
638dbe4f
VS
185042011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18505
18506 Fuloong video init support.
18507
18508 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18509 well.
18510 (grub_vga_read_arx): New function.
18511 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18512 definition.
18513 (framebuffer): New members io, mmioptr and mmiobase.
18514 (read_sis_cmd): New function.
18515 (write_sis_cmd): Likewise.
18516 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18517 rather than 640x400.
18518 * grub-core/video/sis315_init.c: New file.
18519
c3fc520c
VS
185202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18521
18522 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18523 non-loongson.
18524 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18525 to grub_dl_register_symbol.
18526
67b1e5c9
VS
185272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18528
18529 Fix compilation errors.
18530
18531 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18532 potentially unused.
18533 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18534 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18535 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18536 to loongson machines.
18537
b756f75f
VS
185382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 Several FS mtime support.
18541
18542 * grub-core/fs/affs.c (grub_affs_time): New struct.
18543 (grub_affs_file): New field mtime.
18544 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18545 type. Removed 'size'. New field 'di'. All users updated.
18546 (grub_affs_mount): Simplify checsum checking.
18547 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18548 (grub_affs_dir): Handle mtime.
18549 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18550 (grub_cpio_dir): Likewise.
18551 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18552 (grub_hfs_filerec): New field mtime.
18553 (grub_hfs_dir): Handle mtime.
18554 (grub_hfs_mtime): New function.
18555 (grub_hfs_fs): Register grub_hfs_mtime.
18556 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18557 (grub_iso9660_dir): New field mtime.
18558 (grub_fshelp_node): New field dirent.
18559 (iso9660_to_unixtime): New function.
18560 (iso9660_to_unixtime2): Likewise.
18561 (grub_iso9660_read_symlink): Use node->dirent.
18562 (grub_iso9660_iterate_dir): Likewise.
18563 (grub_iso9660_dir): Set mtime.
18564 (grub_iso9660_mtime): New function.
18565 (grub_iso9660_fs): Register grub_iso9660_mtime.
18566 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18567 (grub_jfs_inode): New fields atime, ctime and mtime.
18568 (grub_jfs_dir): Set mtime.
18569 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18570 * grub-core/fs/ntfs.c (list_file): Set mtime.
18571 (grub_ntfs_dir): Likewise.
18572 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18573 (grub_reiserfs_iterate_dir): Set mtime.
18574 (grub_reiserfs_dir): Likewise.
18575 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18576 (grub_fshelp_node): Likewise.
18577 (grub_sfs_iterate_dir): Set mtime.
18578 (grub_sfs_dir): Likewise.
18579 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18580 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18581 (grub_xfs_inode): New fields atime, mtime, ctime.
18582 (grub_xfs_dir): Set mtime.
18583 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18584 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18585 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18586
18587 Support UDF symlinks.
18588
18589 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18590 (grub_ufs_read_symlink): New function. All users updated.
18591
18592 Check amiga partmap checksum.
18593
18594 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18595 (grub_amiga_partition): Likewise.
18596 (amiga_partition_map_checksum): New function.
18597 (amiga_partition_map_iterate): Check checksum.
18598
5470225d
VS
185992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18600
18601 ROMFS support.
18602
18603 * Makefile.util.def (libgrubmods.a): Add romfs.
18604 * grub-core/Makefile.core.def (romfs): New module.
18605 * grub-core/fs/romfs.c: New file.
18606
d4680a35
VS
186072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 Squashfs v4 support.
18610
18611 * Makefile.util.def (libgrubmods.a): Add squash4.
18612 * grub-core/Makefile.core.def (squash4): New module.
18613 * grub-core/fs/squash4.c: New file.
18614 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18615 disk_input_start, disk_input.
18616 (get_byte): Handle disk_input.
18617 (grub_zlib_disk_read): New function.
18618 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18619
bcb18e74
FZ
186202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
186212011-05-15 Feiran Zheng <famcool@gmail.com>
18622
18623 * Makefile.util.def (libgrubmods.a): Add minix3.
18624 * grub-core/Makefile.core.def (minix3): New module.
18625 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18626 (GRUB_MINIX_BSIZE): Removed.
18627 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18628 (grub_minix_ino_t): New type.
18629 (grub_minix_le_to_cpu_ino): New macro.
18630 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18631 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18632 (grub_minix_data): New field block_size.
18633 (grub_minix_read_file): Handle 64-bit correctly.
18634 * grub-core/fs/minix3.c: New file.
18635
32297d5f
TG
186362011-05-15 Tristan Gingold <gingold@free.fr>
186372011-05-15 Robert Millan <rmh.grub@aybabtu.com>
186382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18639
18640 IA64 support.
18641
18642 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18643 * configure.ac: Add ia64-efi target.
18644 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18645 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18646 * gentpl.py: Add ia64_efi platform.
18647 Rename x86_efi to efi and Add ia64-efi. All users updated.
18648 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18649 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18650 Remove kern/generic/rtc_get_time_ms.c on EFI.
18651 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18652 kern/ia64/dl_helper.c on ia64-efi.
18653 Add kern/emu/cache.c on emu.
18654 (linux): Use on loader/ia64/efi/linux.c on ia64.
18655 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18656 whether symbol is a function.
18657 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18658 (grub_symbol): New field 'isfunc'.
18659 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18660 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18661 (grub_dl_load_segments): Place all sections into the same region.
18662 [__ia64__]: Create trampolines and got.
18663 [GRUB_MACHINE_EMU]: Call mprotect.
18664 (grub_dl_resolve_symbols): Resolve symbol type as well.
18665 [__ia64__]: Create function descriptors.
18666 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18667 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18668 (grub_get_rtc): New function.
18669 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18670 * grub-core/kern/emu/cache.S: Renamed to ...
18671 * grub-core/kern/emu/cache_s.S: ... this.
18672 [__ia64__]: Add a nop.
18673 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18674 [__ia64__]: New function.
18675 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18676 * grub-core/kern/ia64/dl.c: New file.
18677 * grub-core/kern/ia64/dl_helper.c: Likewise.
18678 * grub-core/kern/ia64/efi/init.c: New file.
18679 * grub-core/kern/ia64/efi/startup.S: Likewise.
18680 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18681 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18682 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18683 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18684 * grub-core/loader/ia64/efi/linux.c: New file.
18685 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18686 (GRUB_MOD_DEP): Likewise.
18687 (grub_dl) [__ia64__]: New fields got and tramp.
18688 (grub_dl): New field 'base'.
18689 (grub_dl_register_symbol): New argument isfunc. All users updated.
18690 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18691 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18692 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18693 (grub_ia64_dl_get_tramp_got_size): New proto.
18694 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18695 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18696 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18697 * include/grub/efi/api.h: Skip call wrappers on ia64.
18698 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18699 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18700 * include/grub/elf.h (ELF_ST_INFO): New definition.
18701 * include/grub/ia64/efi/kernel.h: New file.
18702 * include/grub/ia64/efi/memory.h: Likewise.
18703 * include/grub/ia64/efi/time.h: Likewise.
18704 * include/grub/ia64/kernel.h: Likewise.
18705 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18706 * include/grub/ia64/time.h: New file.
18707 * include/grub/ia64/types.h: Likewise.
18708 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18709 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18710 New protos.
18711 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18712 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18713 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18714 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18715 All users updated.
18716 (EFI64_HEADER_SIZE): New definition. All users updated.
18717 (image_targets): Add ia64-efi.
18718 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18719 jumpers_addr. All users updated.
18720 Create function descriptors.
18721 (count_funcs): New function.
18722 (unaligned_uint32): New struct.
18723 (MASK20): New definition.
18724 (MASK19): Likewise.
18725 (MASKF21): Likewise.
18726 (add_value_to_slot_20b): New function.
18727 (add_value_to_slot_21_real): Likewise.
18728 (add_value_to_slot_21): Likewise.
18729 (ia64_kernel_trampoline): New struct.
18730 (nopm): New variable.
18731 (jump): Likewise.
18732 (make_trampoline): New function.
18733 (relocate_addresses): Handle ia64.
18734 (make_reloc_section): Likewise.
18735 (load_image): Likewise.
18736
983b414d
VS
187372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18740 warning. Move variables before code while on it.
18741
5d063cdc
VS
187422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 Fuloong support.
18745
18746 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18747 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18748 * grub-core/boot/mips/loongson/fuloong.S: New file.
18749 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18750 Explicitly init CS5536.
18751 [FULOONG]: Don't use serial until CS5536 is available.
18752 Set GPIO based on dumps.
18753 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18754 [FULOONG]: Handle GPIO and memory controller differences.
18755 Parse machine type in $a2.
18756 * grub-core/boot/mips/startup_raw.S: Determine and save the
18757 architecture.
18758 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18759 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18760 init on architecture type.
18761 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18762 SIS315E. Don't init at_keyboard on fuloong.
18763 (grub_halt): Support Fuloong.
18764 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18765 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18766 (loongson_machtypes): New array.
18767 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18768 type.
18769 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18770 config. All users updated. Handle CS5536 serial.
18771 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18772 default port on machine type. Register serial as inactive.
18773 * grub-core/video/sis315pro.c: New file.
18774 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18775 definition.
18776 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18777 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18778 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18779 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18780 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18781 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18782 to ...
18783 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18784 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18785 definition.
18786 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18787 (grub_arch_machine): New extern var.
18788 * include/grub/mips/loongson/serial.h
18789 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18790 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18791 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18792 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18793 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18794 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18795 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18796 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18797 * include/grub/term.h (grub_term_register_input_inactive): New inline
18798 function.
18799 (grub_term_register_output_inactive): Likewise.
18800 * include/grub/video.h (grub_video_driver_id): New value
18801 GRUB_VIDEO_DRIVER_SIS315PRO.
18802 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18803 New field "names". All users updated.
18804 New field value IMAGE_FULOONG_FLASH.
18805 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18806
6ada82d1
JU
188072011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18808
18809 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18810 and add some clarification.
18811
90c571a4
VS
188122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18813
18814 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18815 platforms if kernel is compressed.
18816
de04eecf
VS
188172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18818
18819 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18820 unused modules since currently referrence counter isn't reliable and
18821 there isn't much memory to recover there anyway.
18822
57688121
VS
188232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18826 rather than resetting it to allow modules to reference themselves
18827 in init.
18828
3d2c7e35
VS
188292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18830
18831 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18832 counter on dependencies since grub_dl_unref already handles this.
18833
b25db218
VS
188342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18837 on error if not already done.
18838
25a45338
VS
188392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 Fix few potential memory misusage.
18842
18843 * grub-core/font/font.c (load_font_index): Don't free char_index to
18844 avoid double free.
b25db218
VS
18845 (grub_font_load): Zero-fill font at alloc for safety.
18846 Close file on error.
18847 (free_font): Free bmp_idx.
25a45338 18848
0cac83df
VS
188492011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18850
18851 * docs/grub.texi (Installation): Fix several outdated claims.
18852
2217a143
VS
188532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18854
18855 Handle module_license on windows.
18856
18857 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18858 sections shifted.
18859 (insert_string): Make argument const char * instead of char *.
18860 (write_section_data): Handle long section names.
18861 Handle module_license.
18862
d4de6b01
VS
188632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18864
18865 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18866 handle class-free menuentries.
18867 (grub_normal_add_menu_entry): Add a check to be sure.
18868
4c2a3b43
VS
188692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18872 PgUp and PgDown.
18873
85c6210f
VS
188742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 * configure.ac: Bump version to 1.99.
18877
36084912
VS
188782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 Give ATA device a bit more time on first try in order to allow disks
18881 to spin up.
18882
18883 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18884 if dev->present is 1. Reset dev->present on failure.
18885 (grub_ata_device_initialize): Set dev->present to 1.
18886 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18887 (grub_ata_device): New member 'present'.
18888
bda0e219
VS
188892011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * util/grub-mkimage.c (generate_image): Update hash.
18892
19e1c41b
VS
188932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 Flush caches on DMA memory.
18896
18897 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18898 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18899 (grub_dma_free): Likewise.
18900 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18901
91bbcc0c
VS
189022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18903
18904 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18905 to avoid asm treating ld and sd as macros.
18906
60ddfad3
VS
189072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18910 decompressor.
18911
a298aa04
VS
189122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18913
18914 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18915 grub_decompress_core since later would fail if grub_decompress_core
18916 is too far.
18917
9b44feca
VS
189182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18921 R_MIPS_JALR since it's used by newer compiler.
18922
56dbe7b4
VS
189232011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18924
18925 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18926
52856af2
VS
189272011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18928
18929 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18930 file_path to 0 for surety.
18931 (grub_chainloader_boot): Set exit_data to NULL.
18932 Unset the loader once done.
18933 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18934
9c9bfc6d
VS
189352011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18938 unknown key into a dprintf.
18939
dd94a3df
VS
189402011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18941
18942 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18943 on first non-existant partition.
18944
fa68d99c
VS
189452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18946
18947 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18948 openning fails.
18949 Reported by: Mark Korenberg.
18950
157effb7
VS
189512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18954 overflow.
18955
ea75312f
VS
189562011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18959 before closing to ensure that it will be readable by grub-setup.
18960
072b5d31
VS
189612011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18964 (devpath_1): Use MAKE_PIWG_PATH.
18965 (devpath_2): Likewise.
18966 (devpath_3): Likewise.
18967 (devpath_4): Likewise.
18968 (devpath_5): Likewise.
18969 (devpath_6): Likewise.
18970
18971 The appleldr.mod was checked that to be binary identical to previous
18972 version.
18973
7fae0051
Z
189742011-05-05 Zach <mikezackles>
18975
18976 Support 2010 Macbooks.
18977
18978 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18979 (devs): Add devpath_6.
18980
7c515bee
VS
189812011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18982
18983 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18984 /dev/random. /dev/urandom is good enough for our purposes (salting).
18985
ed660bd8
VS
189862011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18989
ee5614b7
VS
189902011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18993 hexadecimal.
18994
664889a6
VS
189952011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18996
18997 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18998 and not 0 on failure.
18999
bd405bbc
CW
190002011-05-03 Colin Watson <cjwatson@ubuntu.com>
19001
19002 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19003 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19004 disk; otherwise grub_fs_probe will not fall back to the next
19005 filesystem.
19006 (grub_pxefs_open): Likewise, for consistency.
19007 Reported and tested by: Ezekiel Grave.
19008
4ebff753
CW
190092011-05-03 Colin Watson <cjwatson@ubuntu.com>
19010
19011 * tests/partmap_test.in: Don't hardcode path to parted.
19012 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19013
8f942553
CW
190142011-05-01 Colin Watson <cjwatson@ubuntu.com>
19015
19016 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19017 of `ls' to find out which devices are available.
19018
3c62402d
VS
190192011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19022 than source address for efi mmap buffer.
19023
723f63f2
VS
190242011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19027 wrong action on non-detecting the magic.
19028
68797f92
VS
190292011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19032 already supplied by another part of the module (fixes compilation on
19033 FreeBSD).
19034
6be8715d
VS
190352011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19036
19037 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19038 match the one used by mdadm.
19039
e91dba5b
CW
190402011-04-21 Colin Watson <cjwatson@ubuntu.com>
19041
19042 * po/README: Add instructions for creating po/LINGUAS.
19043
c85140b3
CW
190442011-04-21 Colin Watson <cjwatson@ubuntu.com>
19045
19046 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19047 #551428.
19048
19049 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
19050 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
19051 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
19052 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
19053 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
19054 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
19055 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
19056 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
19057 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19058 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
19059 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19060 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19061 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19062 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19063 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19064 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19065 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19066 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19067 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19068 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19069 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19070 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19071
92051871
CW
190722011-04-21 Colin Watson <cjwatson@ubuntu.com>
19073
19074 * grub-core/kern/emu/getroot.c
19075 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19076 test that was incorrectly reintroduced in r3214.
19077 Reported by: Ian Dall. Fixes Savannah bug #33133.
19078
b13f79a4
CW
190792011-04-21 Colin Watson <cjwatson@ubuntu.com>
19080
19081 Fix stack pointer handling in 16-bit relocator.
19082
19083 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
19084 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
19085 Fixes Ubuntu bug #683904.
19086
9b710a88
VS
190872011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 * configure.ac: Bump version to 1.99~rc2.
19090
d97e7b59
VS
190912011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
19094 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
19095 * grub-core/lib/x86_64/setjmp.S: Likewise.
19096 * grub-core/lib/mips/setjmp.S: Likewise.
19097 * grub-core/lib/powerpc/setjmp.S: Likewise.
19098 * grub-core/lib/sparc64/setjmp.S: Likewise.
19099
0624551c
VS
191002011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
19103 * grub-core/lib/efi/datetime.c: Likewise.
19104
e8f28d4c
VS
191052011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
19108 New function.
19109 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
19110 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
19111 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
19112
bba79a15
VS
191132011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
19116 bitmap.
19117 (grub_gfxterm_term_init): Likewise.
19118
abc474ef
VS
191192011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19120
19121 Take into account the decorations the computing menu entry width.
19122
19123 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
19124 (grub_gfxmenu_create_box): Register get_border_width.
19125 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
19126 if available.
19127 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
19128 get_border_width.
19129
e74b3947
EP
191302011-04-18 Endres Puschner <code@e7p.de>
19131
19132 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
19133 Don't skip first class.
19134
34faa595
VS
191352011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
19138 chunks.
19139 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
19140
93a777e3
VS
191412011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 Complete 64-bit division support.
19144
19145 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
19146 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
19147 * include/grub/misc.h (grub_divmod64): Rename to ...
19148 (grub_divmod64_full): ... this.
19149 (grub_divmod64): New inline function.
19150
a5102d94
VS
191512011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19152
19153 * util/grub-mkimage.c (generate_image): Add forgotten comma.
19154
f3fb7b36
VS
191552011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
19158 performing the necessary test.
19159
9ac718b0
VS
191602011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
19163 (kfreebsd.elf): Likewise.
19164 (pc-chainloader.elf): Likewise.
19165 (ntldr.elf): Likewise.
19166
50d2cc5a
VS
191672011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 Identify RAID by its UUID rather than (guessed) name.
19170
19171 * grub-core/disk/raid.c (ascii2hex): New function.
19172 (grub_raid_open): Accept mduuid/%s specification.
19173 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19174 (get_mdadm_uuid): ... this.
19175 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19176
e03f7bea
VS
191772011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19180 to negative size.
19181
e74c3112
CW
191822011-04-13 Colin Watson <cjwatson@ubuntu.com>
19183
19184 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19185 btrfs subvolume.
19186 * util/grub.d/20_linux_xen.in: Likewise.
19187
78fa584f
CW
191882011-04-13 Colin Watson <cjwatson@ubuntu.com>
19189
19190 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19191 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19192
19193 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19194 Build a list of relevant visible mounts using the mnt_id and
19195 parent_mnt_id fields, and then scan that list at the end.
19196
9d5f8162
CW
191972011-04-12 Colin Watson <cjwatson@ubuntu.com>
19198
19199 * docs/grub.texi (normal): New section.
19200 (normal_exit): New section.
19201 (Embedded configuration): Add reference to normal.
19202 (GRUB only offers a rescue shell): Likewise.
19203 * docs/grub-dev.texi (Error Handling): Fix typo.
19204
09a9d66f
CW
192052011-04-12 Colin Watson <cjwatson@ubuntu.com>
19206
19207 * NEWS: Drop obsolete entry about probe-only btrfs support.
19208
0c676933
CW
192092011-04-12 Colin Watson <cjwatson@ubuntu.com>
19210
19211 * util/import_gcry.py: Fix typo.
19212
ec9f5e0d
VS
192132011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 * NEWS: Add btrfs support.
19216
fe6b2cba
VS
192172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
192182011-04-11 Colin Watson <cjwatson@ubuntu.com>
19219
19220 BtrFS support. Written by me (Vladimir) with important bugfixes and
19221 even more important testing by Colin.
19222
19223 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19224 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19225 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19226 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19227 mem_input_off and mem_input. All users updated to accept in-RAM input.
19228 (gzio_seek): New function.
19229 (test_zlib_header): Likewise.
19230 (grub_gzio_read): Likewise.
19231 (grub_zlib_decompress): Likewise.
19232 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19233 Accept partial and non-virtual mounts.
19234 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19235 avoid receiving /dev/dm-X as device.
19236 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19237 Handle bind and partial mounts.
19238 * grub-core/lib/crc.c: New file.
19239 * include/grub/deflate.h: Likewise.
19240 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19241 proto.
19242 * include/grub/lib/crc.h: New file.
19243
e745cf0c
VS
192442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19245
19246 Implement automatic module license checking according to new GNU
19247 guidelines.
19248
19249 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19250 (grub_dl_load_core): Use grub_dl_check_license.
19251 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19252 (GRUB_MOD_LICENSE): Likewise.
19253 (GRUB_MOD_DUAL_LICENSE): Likewise.
19254 All modules updated.
19255
2a9bc016
CW
192562011-04-11 Colin Watson <cjwatson@ubuntu.com>
19257
19258 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19259 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19260 loaders.
19261 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19262
8a3bc88e
VS
192632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19266
af869a4a
VS
192672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19268
19269 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19270 failed.
19271
9ee8d94f
VS
192722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19275 parenthesis in the middle of the filename.
19276
b01abe3e
VS
192772011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19280 rather than trying to put initrd way too high.
19281 Reported by: Ryan Lortie <desrt@desrt.ca>
19282
335bda1e
VS
192832011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19286 improperly removed string.
19287
5ca1a64d
VS
192882011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19291 is_disk.
19292 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19293 (open_device) Likewise.
19294 (grub_util_biosdisk_close): Likewise.
d8ce9995 19295 Reported by: Mark Korenberg.
5ca1a64d 19296
cbac5b1e
AK
192972011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19298
19299 * util/grub-mkconfig_lib.in: Add missing quotes.
19300
088cdb65
CW
193012011-04-10 Colin Watson <cjwatson@ubuntu.com>
19302
19303 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19304 is NULL.
19305
8b8a81fa
VS
193062011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19307
19308 Dynamically count the number of lines for the lower banner.
19309
19310 * grub-core/normal/menu_entry.c (per_term_screen): New member
19311 num_entries.
19312 (print_down): Use num_entries.
19313 (update_screen): Likewise.
19314 (grub_menu_entry_run): Set num_entries.
19315 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19316 num_entries.
19317 (grub_print_message_indented): Move real part to ...
19318 (grub_print_message_indented_real): ... here. Additional argument
19319 dry_run.
19320 (draw_border): Additional argument num_entries.
19321 (print_message): Additional argument dry_run.
19322 (print_entries): Receive menu viewer data.
19323 (grub_menu_init_page): New argment num_entries.
19324 (menu_text_set_chosen_entry): Use num_entries.
19325 (grub_menu_try_text): Likewise.
19326 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19327 All users updated.
19328 (grub_ucs4_count_lines): New function.
19329 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19330 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19331 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19332 (grub_term_border_height): Likewise.
19333 (grub_term_num_entries): Likewise.
19334
277f955b
VS
193352011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19338 Remove now unused string.
19339
536ce85a
CW
193402011-04-09 Colin Watson <cjwatson@ubuntu.com>
19341
19342 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19343 build system.
19344 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19345
19346 (Comment): Fix typo.
19347 (Getting started): General copy-editing.
19348 (Typical Development Experience): Likewise.
19349 (Error Handling): Likewise.
19350 (Video API): Likewise.
19351
2cf09e32
CW
193522011-04-09 Colin Watson <cjwatson@ubuntu.com>
19353
19354 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19355 throughout.
19356
1ec652f4
VS
193572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19360 directory.
19361
2c583728
CW
193622011-04-08 Colin Watson <cjwatson@ubuntu.com>
19363
19364 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19365 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19366 "development".
19367
d7a565e9
VS
193682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19371 grub_strcpy since the lines aren't necessarily 0-terminated.
19372
7c2e4909
VS
193732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19374
19375 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19376 root on legacy.
19377
34c09785
VS
193782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19381 (GRUB_MOD_INIT): DEVICE isn't optional.
19382
6a6f8058
VS
193832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19384
19385 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19386 word on new line if it's too long anyway. Fixes a hang.
19387
2e335e90
VS
193882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19389
19390 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19391 const.
19392 * util/grub-setup.c (main): Reuse md device name if available.
19393 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19394 not GRUB name as argument.
19395 Based on patch by: Florian Wagner <fwagner>.
19396
10a7a867
VS
193972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19398
19399 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19400 Place mbi on low memory for better compatibility.
19401
7a3d6cd9
VS
194022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19403
19404 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19405
18dd6b47
VS
194062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
194072011-04-08 Colin Watson <cjwatson@ubuntu.com>
19408
19409 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19410 * conf/Makefile.common: Likewise.
18dd6b47 19411
3c0e3f14
VS
194122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19413
f7148863
VS
19414 * grub-core/normal/menu.c: Add missing include.
19415
194162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19419
6d1fa41f
MZ
194202011-04-08 Martin Zuther <mzuther@mzuther.de>
19421
19422 * util/grub-mkconfig.in: Ignore emacsen backup.
19423
478182a8
VS
194242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19425
19426 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19427 on open.
19428 (grub_util_biosdisk_close): Likewise.
19429
72a89a54
VS
194302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19433 const attribute and use grub_isdigit.
19434
b5ebecfa
A
194352011-04-06 Andrey <dev_null@ukr.net>
19436
19437 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19438 gcc warning.
19439
7755f66e
VS
194402011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19443 useful grub_dprintf's.
19444
461121ff
VS
194452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19448
2a961775
VS
194492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19452
adf594cc
VS
194532011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 Output errors if theme loading failed.
19456
19457 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19458 grub_gfxterm_fullscreen on error paths to ...
19459 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19460 theme loading error.
19461
665900a3
VS
194622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19465 space for older compilers.
19466 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19467
a562b479
VS
194682011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19471 and report them as not RAID members since they are useless for GRUB.
19472 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19473
850e9373
VS
194742011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 Increase LVM implementation robustness in order not to crash on
19477 configurations like pvmove. Previously code assumed that in some places
19478 only lvs or only pvs are used whereas it seems that they are used
19479 interchangeably.
19480
19481 * grub-core/disk/lvm.c (read_node): New function.
19482 (read_lv): Use read_node.
19483 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19484 Match volumes only at the end when all lvs are found. Take both
19485 pvs (first) and lvs (second) into account.
19486 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19487 mirror_* into node_*. All users updated.
19488 (grub_lvm_stripe): Merge this ...
19489 (grub_lvm_mirror): ... and this ...
19490 (grub_lvm_node): ... into this. All users updated.
19491
6f332153
VS
194922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19495 of function to allow further scanning for LVMs.
19496
829ea451
VS
194972011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19498
19499 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19500 on failed seek as it breaks open fd reusage.
19501
09ceb9a5
VS
195022011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19503
19504 * util/grub-install.in: Add a recommendation to use --recheck before
19505 reporting bugs.
19506
67e11623
VS
195072011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19510 are obtained.
19511
caee5efd
VS
195122011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 GRUB developper manual based on existing Internals section and
19515 contributions by the various authors with active copyright assignment.
19516
19517 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19518 * docs/font_char_metrics.png: New file.
19519 * docs/font_char_metrics.txt: Likewise.
19520 * docs/grub-dev.texi: Likewise.
19521 * docs/grub.texi (Internals): Move from here ...
19522 * docs/grub-dev.texi: ... here.
19523
2cccc747
CW
195242011-04-01 Colin Watson <cjwatson@ubuntu.com>
19525
19526 Store the loopback device as data on loopback grub_disk structures,
19527 rather than the file it points to. This fixes use of freed memory
19528 if an existing loopback device is replaced.
19529
19530 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19531 disk->data, not dev->file.
19532 (grub_loopback_read): Adjust file assignment to match.
19533 Fixes Ubuntu bug #742967.
19534
186ae367
CW
195352011-04-01 Colin Watson <cjwatson@ubuntu.com>
19536
19537 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19538 when replacing an existing device.
19539
cfed2ad0
VS
195402011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19543 memory corruptions.
19544
19545 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19546 unsigned.
19547 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19548 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19549 (grub_jfs_read_inode): Likewise.
19550 (grub_jfs_opendir): Likewise. Remove now useless casts.
19551 (grub_jfs_getent): Likewise.
19552 Make ino a grub_uint32_t rather than int.
19553 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19554 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19555 division and module with bit operations.
19556 (grub_jfs_find_file): Make ino a grub_uint32_t.
19557 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19558
05d2ed32
CW
195592011-04-01 Colin Watson <cjwatson@ubuntu.com>
19560
19561 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19562 warning. (This was in fact always initialised before use, but GCC
19563 wasn't smart enough to prove that.)
19564 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19565
91dc6073
VS
195662011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19567
19568 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19569 stack alignment.
19570 (efi_wrap_1): Likewise.
19571 (efi_wrap_2): Likewise.
19572 (efi_wrap_3): Likewise.
19573 (efi_wrap_4): Likewise.
19574 (efi_wrap_5): Likewise.
19575 (efi_wrap_6): Likewise.
19576 (efi_wrap_10): Likewise.
19577 Based on information by: Red Hat/Peter Jones.
19578
a8afc1d1
CW
195792011-03-31 Colin Watson <cjwatson@ubuntu.com>
19580
19581 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19582 set-but-not-used variable.
19583
a826cc7d
CW
195842011-03-31 Colin Watson <cjwatson@ubuntu.com>
19585
19586 * docs/grub.texi (Simple configuration): Be more explicit about
19587 GRUB_DEFAULT, and add an example.
19588 Reported by: Leslie Rhorer.
19589
875b67ba
CW
195902011-03-30 Colin Watson <cjwatson@ubuntu.com>
19591
19592 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19593 shell".
19594
fd7cd914
AS
195952011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19596
19597 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19598 * util/grub.d/20_linux_xen.in: Likewise.
19599
090b1b6a
VS
196002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 * util/grub.d/10_linux.in: Try alternative config filenames where
19603 we parse config file.
19604 * util/grub.d/20_linux_xen.in: Likewise.
19605
baad885c
AS
196062011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19607
19608 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19609 * util/grub.d/20_linux_xen.in: Likewise.
19610
241e41f5
VS
196112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19612
19613 * grub-core/disk/raid.c (insert_array): Add few potentially
19614 useful grub_util_info.
19615 (grub_raid_register): Likewise.
19616
56445fb2
VS
196172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19618
19619 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19620 Preserve partition number in mdadm code path.
19621
c871b1c6
VS
196222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19625 few potentially useful grub_util_info.
19626
5e631b4f
CW
196272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19630
2d5d0333
CW
196312011-03-30 Colin Watson <cjwatson@ubuntu.com>
19632
19633 * docs/grub.texi (default): Use @example rather than nested
19634 itemized lists to avoid breaking gendocs.
19635
3d7ed04e
CW
196362011-03-30 Colin Watson <cjwatson@ubuntu.com>
19637
19638 * docs/grub.texi (Future): Update.
19639
abf04200 196402011-03-30 Colin Watson <cjwatson@ubuntu.com>
19641
19642 * docs/grub.texi (Environment): New chapter.
19643 (Changes from GRUB Legacy): Link to "Environment block" section for
19644 details of limitations.
19645 (Simple configuration): Likewise. Link to documentation of gfxmode
19646 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19647 respectively.
19648 (Shell-like scripting): Note that normal variables are stored in the
19649 environment.
19650 (gettext): Link to documentation of lang and locale_dir.
19651 (list_env): New section.
19652 (load_env): New section.
19653 (save_env): New section.
19654
19655 (Reporting bugs): Fix typo.
19656
e1ad0edd
VS
196572011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19660 the example.
19661
5d803174
VS
196622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19663
19664 * grub-core/term/at_keyboard.c (set_scancodes)
19665 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19666
2a2da1d0
CW
196672011-03-30 Colin Watson <cjwatson@ubuntu.com>
19668
19669 * docs/grub.texi (Menu-specific commands): Remove some semantics
19670 that were true in GRUB Legacy but not in GRUB 2.
19671 (submenu): New section.
19672 (false): New section.
19673 (read): New section.
19674 (true): New section.
19675
a7527639
CW
196762011-03-30 Colin Watson <cjwatson@ubuntu.com>
19677
19678 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19679
196802011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19681
19682 * docs/grub.texi (Simple configuration): Explain some of the
19683 current limitations of grub-mkconfig.
8a748df2 19684 Reported by: Leslie Rhorer.
e30af029 19685
fc858482
VS
196862011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19687
19688 Old macs search for boot.efi rather than for bootia32.efi.
19689
19690 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19691 * util/grub-mkrescue.in: Likewise.
19692 Suggested by: Peter Jones.
19693
e1eb511d
VS
196942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19697
70e75364
VS
196982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19701 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19702 (grub_lvm_mirror): New struct.
19703 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19704 (grub_lvm_iterate): Iterate only visible volumes.
19705 (grub_lvm_read): Factor out to ..
19706 (read_lv): ... this. Support mirrors.
19707 (grub_lvm_read): New wrapper function.
19708 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19709 stripped or mirrored.
19710
fc18f6a3
VS
197112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19714
5c650f4c
CW
197152011-03-29 Colin Watson <cjwatson@ubuntu.com>
19716
19717 * docs/grub.texi (loopback): New section.
19718
61d7156b
CW
197192011-03-29 Colin Watson <cjwatson@ubuntu.com>
19720
19721 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19722 removed -p option.
19723
994b8264
CW
197242011-03-29 Colin Watson <cjwatson@ubuntu.com>
19725
19726 * docs/grub.texi (BIOS installation): New section, partly based on
19727 previous text in other sections.
19728 (Installing GRUB using grub-install): Replace BIOS discussion with a
19729 cross-reference.
19730 (Images): Likewise.
19731
9e4d19e0
VS
197322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19733
19734 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19735 [HAVE_DIOCGDINFO]: Add safety checks.
19736
a307c0b2
VS
197372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19738
19739 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19740 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19741
b4db4f39
CW
197422011-03-29 Colin Watson <cjwatson@ubuntu.com>
19743
19744 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19745 real_sb->size is zero (e.g. RAID-0), get the disk size from
19746 real_sb->data_size instead.
19747 Fixes Ubuntu bug #743136.
19748
35e5f84c
VS
197492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19752 printf clauses for printing size and start.
19753
d2e29d81
VS
197542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19757 Reported and tested by: Timothy Nikkel.
19758
ed5587af
VS
197592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19762 (dirty_region_add_real): ... this.
19763 (dirty_region_add): Don't discard margin refresh when performing
19764 scheduled repaint.
19765
a1dc717c
VS
197662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19767
19768 * grub-core/lib/relocator.c (allocate_regstart)
19769 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19770 terminals are capabple of malloc-free operation.
19771 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19772 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19773
9f3677d3
VS
197742011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19775
19776 * util/grub-setup.c: Copy the partition table zone if floppy support
19777 is disabled, even if no partition table is found.
19778
19779 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19780 during POST if an invalid partition table is contained in the PBR
19781 of the active partition when GRUB is installed to a partition.
19782
24148725
CW
197832011-03-28 Colin Watson <cjwatson@debian.org>
19784
19785 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19786 comment.
19787
f329eda7
CW
197882011-03-28 Colin Watson <cjwatson@debian.org>
19789
19790 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19791 to be specific about what kind of RAID device we're scanning for.
19792
c482ad98
SG
197932011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19794
19795 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19796 return freed string.
19797
5ee04984
VS
197982011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19801
f4727da9
VS
198022011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19803
19804 Use libgeom on FreeBSD to detect partitions.
19805
19806 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19807 (grub-mkrelpath): Likewise.
19808 (grub-script-check): Likewise.
19809 (grub-editenv): Likewise.
19810 (grub-mkpasswd-pbkdf2): Likewise.
19811 (grub-fstest): Likewise.
19812 (grub-mkfont): Likewise.
19813 (grub-mkdevicemap): Likewise.
19814 (grub-probe): Likewise.
19815 (grub-setup): Likewise.
19816 (grub-ofpathname): Likewise.
19817 (grub-mklayout): Likewise.
19818 (example_unit_test): Likewise.
19819 (grub-menulst2cfg): Likewise.
19820 * grub-core/Makefile.core.def (grub-emu): Likewise.
19821 (grub-emu-lite): Likewise.
19822 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19823 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19824 define HAVE_DIOCGDINFO.
19825 (follow_geom_up) [FreeBSD]: New function.
19826 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19827 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19828 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19829 unconditionally of HAVE_DIOCGDINFO.
19830
82fe6c75
VS
198312011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19832
19833 Fix FreeBSD compilation problem.
19834
19835 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19836 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19837
4c6c9431
CW
198382011-03-24 Colin Watson <cjwatson@ubuntu.com>
19839
19840 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19841 Switch back to page zero before loading a kernel, since some kernel
19842 drivers expect that.
19843 Thanks to: Felix Kuehling.
19844
c7064d94
VS
198452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19846
19847 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19848 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19849 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19850
3f71cded
VS
198512011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19854 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19855
ef6de21a
VS
198562011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19859 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19860 malloc is disabled.
19861
8bc66a2c
VS
198622011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19863
19864 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19865 for modules headers when counting the needed allocation size.
19866
5657722c
VS
198672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19868
19869 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19870 if no ASCII character is found to prevent crash.
19871
41a85f55
AK
198722011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19873
19874 * grub-core/video/bitmap.c (match_extension): Ignore case.
19875
59e1e5f1
VS
198762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19879
bd4d051a
VS
198802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 * grub-core/script/parser.y: Declare "time" as valid argument.
19883
bae7fcc1
PJ
198842011-03-23 Peter Jones <pjones@redhat.com>
19885
19886 Fix incorrect assert failure reporting.
19887
19888 * grub-core/tests/example_functional_test.c (example_test): Add
19889 a failure comment.
19890 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19891 (failure_start): ...this. Check that malloc succeeded.
19892 Don't call xvasprintf. Return failure struct.
19893 (failure_append_vtext): New function.
19894 (failure_append_text): Likewise.
19895 (add_failure): Likewise.
19896 (grub_test_assert_helper): Likewise.
19897 * include/grub/test.h (grub_test_assert_helper): New declaration.
19898 (grub_test_assert): Macro rewritten.
19899
537dc9be
VS
199002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19903
fa3e01bf
VS
199042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19905
19906 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19907
b1d28404
VS
199082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19911 into GRUB-style one.
19912
2e3e2e09
VS
199132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19916 error and not grub_errno.
19917 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19918
ed57e557
VS
199192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19920
19921 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19922 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19923
d1611f01
VS
199242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19925
19926 * grub-core/efiemu/i386/pc/cfgtables.c
19927 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19928 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19929 (grub_xnu_unlock): Likewise.
19930 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19931
7d4e39d6
VS
199322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19933
19934 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19935 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19936 * grub-core/commands/hashsum.c (aliases): Likewise.
19937 * grub-core/commands/setpci.c (pci_registers): Likewise.
19938 * grub-core/disk/usbms.c (attach_hook): Likewise.
19939 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19940 (zio_checksum_table): Likewise.
19941 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19942 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19943 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19944 * grub-core/lib/relocator.c (leftovers): Likewise.
19945 (extra_blocks): Likewise.
19946 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19947 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19948 (modules_last): Likewise.
19949 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19950 (devices): Likewise.
19951 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19952 (modules_last): Likewise.
19953 * grub-core/normal/auth.c (users): Likewise.
19954 * grub-core/normal/context.c (initial_menu): Likewise.
19955 (current_menu): Likewise.
19956 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19957 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19958 (grub_serial_terminfo_input_template): Likewise.
19959 (grub_serial_terminfo_output_template): Likewise.
19960 (grub_serial_terminfo_input): Likewise.
19961 (grub_serial_terminfo_output): Likewise.
19962 (registered): Likewise.
19963 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19964
40fc4659
VS
199652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19968 grub_video_mode_type_t.
19969 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19970 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19971 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19972
2da48d28
VS
199732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 * util/grub-install.in: Correct the x86-64 name as x86_64.
19976
9b43bf39
CW
199772011-03-11 Colin Watson <cjwatson@ubuntu.com>
19978
19979 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19980 initial chunk read from the kernel always includes GRUB's multiboot
19981 header, which is now outside the first sector.
19982
be1a7ce0
CW
199832011-03-09 Colin Watson <cjwatson@ubuntu.com>
19984
19985 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19986 cached mmap_size, so that this works correctly when called multiple
19987 times.
19988 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19989
83a3c48d
CW
199902011-03-09 Colin Watson <cjwatson@ubuntu.com>
19991
19992 * docs/grub.texi (Simple configuration): Tidy up formatting.
19993
57d75699
SJ
199942011-03-07 Szymon Janc <szymon@janc.net.pl>
19995
19996 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19997 Set-but-not-used variable removed.
19998
028501a0
VS
199992011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 Workaround yet another IEEE1275 bug.
20002
20003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20004 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20005 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20006 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20007 is set.
20008 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20009 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20010
d998657d
VS
200112011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20012
20013 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20014 error.
20015
fee7cdd4
CW
200162011-02-11 Colin Watson <cjwatson@ubuntu.com>
20017
20018 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20019 empty, since in that case we can only generate either nothing or a
20020 syntactically invalid configuration file.
20021 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20022
97286eb5
CW
200232011-02-09 Colin Watson <cjwatson@ubuntu.com>
20024
20025 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20026 (Making a GRUB bootable CD-ROM): Likewise.
20027 (Invoking grub-mkrescue): New section.
20028 Reported by: Yann Dirson. Fixes Debian bug #612585.
20029
22b28eb3
CW
200302011-02-09 Colin Watson <cjwatson@ubuntu.com>
20031
20032 * util/grub-install.in: Remove unnecessary brackets from tr
20033 arguments.
20034 * util/grub.d/10_hurd.in: Likewise.
20035 * util/grub.d/10_kfreebsd.in: Likewise.
20036 * util/grub.d/10_linux.in: Likewise.
20037 * util/grub.d/20_linux_xen.in: Likewise.
20038 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20039
7e735e43
CW
200402011-02-08 Colin Watson <cjwatson@ubuntu.com>
20041
20042 * include/grub/file.h (not_easly_seekable): Rename to ...
20043 (not_easily_seekable): ... this. Update all users.
20044
800f1881
CW
200452011-01-28 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20048 grub-mkrescue.
20049
3281d3d6
VS
200502011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
20051
20052 * util/grub-mkimage.c (generate_image): Refuse to create the images
20053 bigger than the actual flash (512K) in Loongson machines. 512K is also
20054 the biggest chip supported by them.
20055
3533413c
VS
200562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
20059
73ae4f4f
VS
200602011-01-22 Anthony DeRobertis <anthony@derobert.net>
20061
20062 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20063 super_offset field.
20064
37f4f608
VS
200652011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 * util/grub-install.in: Ignore install device on platforms
20068 where it doesn't make sense. Always use UUIDs except on pc, efi and
20069 sparc64.
20070 Reported by: Daniel Kahn Gillmor.
20071
03a4ccb5
VS
200722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20075
ffc8f4d8
VS
200762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20079 (iterate_real): Don't rely on partition being non-NULL.
20080
80f23be7
VS
200812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
20084 supported platforms. Put a compile time assert for this rather than
20085 generate a warning with 32-bit shift.
20086
5d4f4dd5
VS
200872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
20090 logical expression more readable.
20091
e489601a
VS
200922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
20095 even if some elements have a name.
20096 Reported by: Alexander GQ Gerasiov.
20097
96e0a6ea
CW
200982011-01-22 Colin Watson <cjwatson@ubuntu.com>
20099
20100 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
20101 path unreadable if `grub-probe -t abstraction' fails, for example if
20102 memberlist fails on an LVM volume group.
20103 Reported by: Darius Jahandarie.
20104
81431e2b
CW
201052011-01-22 Colin Watson <cjwatson@ubuntu.com>
20106
20107 * docs/grub.texi (Simple configuration): Document
20108 GRUB_PRELOAD_MODULES.
20109
5e79d66a
CW
201102011-01-17 Colin Watson <cjwatson@ubuntu.com>
20111
20112 * .bzrignore: Remove nonexistent grub-pbkdf2.
20113
646ada34
VS
201142011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 * configure.ac: Bump version to 1.99~rc1.
20117
04360337
VS
201182011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
20121 for safety.
20122
46c9db88
VS
201232011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20124
20125 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
20126 module.
20127
201282011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
20129
20130 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
20131
4fbf1852
VS
201322011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
20135 diskdevid.
20136
f1632d4d
VS
201372011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 Fix compilation on cygwin.
20140
20141 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
20142 -R .drectve on cygwin.
20143 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
20144 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
20145 (COND_CYGWIN): New condition.
20146 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
20147 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
20148 not @TARGET_OBJ2ELF@.
20149 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
20150 type to determine whether aux is to be used.
20151
0b5e127b
VS
201522011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
20155 realpath'ed device string.
20156 Handle floppy (somewhat).
20157 Issue error in unknown case rather than garbage.
20158 Reported by: Axel Beckert.
20159
173b71e9
VS
201602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 * util/grub.d/00_header.in (load_video): Handle the case when no video
20163 drivers available.
20164 Thanks to: Axel Beckert.
20165
f8f479db
VS
201662011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
20169 variable. Fixes problem on big endian platforms.
20170
8fc0a245
VS
201712011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20172
20173 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20174 It doesn't work well there.
20175
b8494fbe
VS
201762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20179 warning.
20180 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20181 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20182 counter.
20183
b44a558c
VS
201842011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 Use alias->path rather than buggy "canon".
20187
20188 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20189 (ofdisk_hash_add): New argument curcan. All users updated.
20190
51fa856c
CW
201912011-01-11 Colin Watson <cjwatson@ubuntu.com>
20192
20193 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20194
9da068a5
VS
201952011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20196
20197 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20198 loadmask before doing any calculations. Use correct type for offset.
20199 (grub_linux_load64): Likewise.
20200
86205c94
CW
202012011-01-11 Colin Watson <cjwatson@ubuntu.com>
20202
20203 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20204 with NULL.
20205 (console_grub_equivalences_unshift): Likewise.
20206 Reported by: Daniel Dehennin.
20207
4531a206
VS
202082011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20211 (set_env_limn_ro): Likewise.
20212 (GRUB_MOD_INIT): Likewise.
20213 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20214 ARRAY_SIZE while on it.
20215 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20216 * grub-core/normal/context.c (grub_env_export): Move from here ...
20217 * grub-core/kern/env.c (grub_env_export): ... here.
20218 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20219 prefix.
20220 * grub-core/kern/main.c (grub_main): Export root and prefix.
20221 * include/grub/env.h (grub_env_export): Export.
20222 Reported by: Seth Goldberg.
20223
45146057
VS
202242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20227 Take into account space used by ELF sections and multiboot palette.
20228 Reported by: Grégoire Sutre.
20229
f093110b
VS
202302011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20231
20232 * BUGS: New file.
20233
3395fe52
VS
202342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 Pass more appropriate video id to Linux.
20237
20238 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20239 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20240 fill have_vga.
20241 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20242 shift params->lfb_size.
20243 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20244
c2fa6cbb
VS
202452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20246
20247 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20248
b3ff6ff0
VS
202492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20252 separator and pass bootpath/devid even if only one of them is available.
20253 Reported by: Seth Goldberg.
20254
ae67942e
VS
202552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20256
20257 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20258 implementations bug on them.
20259
20260 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20261 memory.
20262 (filter_memory_map): Likewise.
20263
d570097a
VS
202642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20267 Reported by: nebuchadnezzar.
20268
a508e776
VS
202692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20270
20271 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20272 Reported by: nebuchadnezzar.
20273
dcb883b1
VS
202742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 Submenu default support.
20277
20278 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20279 auto_boot. All users updated.
20280 Declared static.
20281 Handle chosen and default with submenus.
20282 (grub_menu_execute_with_fallback): Declared static.
20283 Don't notify failure if autobooted. Upper level does it.
20284 (menuentry_eq): New function.
20285 (get_entry_number): Use menuentry_eq.
20286 (show_menu): New parameter "autobooted". All users updated.
20287 (grub_show_menu): Likewise.
20288 * include/grub/normal.h (grub_show_menu): Likewise.
20289 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20290 (grub_menu_execute_with_fallback): Likewise.
20291
6fef99b4
VS
202922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20293
20294 * util/grub-mklayout.c (usage): Update help text.
20295
47a77af5
VS
202962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20297
20298 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20299
ce6bb3ee
VS
203002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * util/grub-menulst2cfg.c (main): Trim the line.
20303
db87be2a
VS
203042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20307 (grub_machine_init): Don't check amount of low memory as reportedly
20308 INT 12h can be broken and if low memory is too low we wouldn't have
20309 gotten into grub_machine_init anyway.
20310
c49849cc
VS
203112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20314 (grub_machine_mmap_iterate): Take low memory into account
20315
b1969b30
VS
203162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20317
20318 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20319 badfs.
20320 Reported by: TiCPU.
20321
cf0eaf13
VS
203222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20325 members errors.
20326
1f060f39
GS
203272011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20328
20329 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20330 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20331
a21e5672
GS
203322011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20333
20334 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20335 openbsd and netbsd types being in part_bsd module.
20336
c88172fa
VS
203372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20338
20339 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20340 (_FILE_OFFSET_BITS): Likewise.
20341 Reported by: Seth Goldberg.
20342
53798c4b
GS
203432011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20344
20345 * configure.ac: Check for libdevmapper header.
20346
e7121b69
VS
203472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20348
20349 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20350 avoid aliasing.
20351 (fzap_lookup): Likewise.
20352 (dnode_get): Likewise.
20353 (make_mdn): Likewise.
20354 (zfs_mount): Likewise.
20355 (fzap_iterate): Use temporary pointer to avoid aliasing.
20356 (grub_zfs_read): Likewise.
20357 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20358 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20359 pointers to avoid aliasing.
20360 (grub_cmd_xnu_kernel64): Likewise.
20361 (grub_xnu_load_driver): Likewise.
20362
fc836af9
VS
203632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20366 aliasing warning.
20367 (grub_cmd_terminal_output): Likewise.
20368 Reported and tested by: Grégoire Sutre.
20369
f9f37648
VS
203702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20371
20372 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20373 warning.
20374 Reported and tested by: Grégoire Sutre.
20375
ec1dfd63
VS
203762011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 * configure.ac: Do CPU substitution even if it's specified explicitly.
20379 Reported and tested by: Alain Greppin.
20380
9462775a
VS
203812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20384 Reported and tested by: Alain Greppin.
20385
0fd48e35
VS
203862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 Satisfy some bison versions need for inttypes.h.
20389
20390 * grub-core/lib/posix_wrap/inttypes.h: New file.
20391 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20392 (int16_t): Likewise.
20393 (int32_t): Likewise.
20394 (int64_t): Likewise.
20395 Reported and tested by: Alain Greppin.
20396
43f1bc83
VS
203972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20400 Silence spurious warning.
20401 Reported and tested by: Alain Greppin.
20402
64d1f041
SJ
204032011-01-07 Szymon Janc <szymon@janc.net.pl>
20404
20405 * docs/grub.texi (Support automatic decompression): Update with xz
20406 decompression support.
20407
25953e10
SJ
204082011-01-07 Szymon Janc <szymon@janc.net.pl>
20409
20410 Improve loaders' kernel command line handling.
20411
20412 * grub-core/lib/cmdline.c: New file.
20413 * include/grub/lib/cmdline.h: Likewise.
20414 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20415 grub_create_loader_cmdline to create kernel command line.
20416 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20417 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20418 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20419 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20420 (linux): Add lib/cmdline.c on common.
20421
e72d259f
VS
204222011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20423
20424 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20425 inopos might be unaligned.
20426
c0cf26da
VS
204272011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20430 endian transformations.
20431 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20432 Based on report by: Doug Nazar.
20433
0ca09e6c
DN
204342011-01-07 Doug Nazar <nazard.michi@gmail.com>
20435
20436 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20437 array->members[i].start_sector.
20438 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20439
014b6806
VS
204402011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20443 Reported and tested by: Grégoire Sutre.
20444
415502c2
CW
204452011-01-06 Colin Watson <cjwatson@ubuntu.com>
20446
20447 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20448 avoid causing test failures by clearing the screen.
20449
71b6a2b7
CW
204502011-01-06 Colin Watson <cjwatson@ubuntu.com>
20451
20452 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20453 Fix prefix check to handle the case where dir ends with a slash
20454 (most significantly, "/" itself).
20455 Reported by: Michael Vogt.
20456
b3f8d28a
VS
204572011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 Run terminfo_cls on initing terminfo output to clear the screen and
20460 move the cursor to (0,0).
20461
20462 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20463 Call grub_terminfo_output_init.
20464 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20465 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20466 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20467
4c3e4f37
VS
204682011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20471 only when needed.
20472
488f71f1
VS
204732011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20476 CTRL.
20477
18a38098
VS
204782011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 The E820 type 5 is BADRAM, not EXEC_CODE.
20481
20482 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20483 (GRUB_E820_BADRAM): New define.
20484 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20485 into reserved. Propagate BADRAM.
20486 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20487 (GRUB_E820_BADRAM): New define.
20488
9eae2084
VS
204892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20492 Ignore the memory post-4G.
20493 (grub_relocator_firmware_alloc_region): Additional debug statement.
20494
ebc71d28
VS
204952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20498 names.
20499 Reported by: David Pravec.
20500
446fa400
VS
205012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20502
20503 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20504 BIOSes.
20505
a0159f37
VS
205062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20507
20508 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20509 Prevent overflow.
20510 (grub_reed_solomon_recover): Likewise.
20511
e5146ca1
VS
205122011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20513
20514 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20515
205162011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20517
20518 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20519 variable.
20520
5b1bdf12
CW
205212011-01-04 Colin Watson <cjwatson@ubuntu.com>
20522
20523 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20524 descriptions of extract_legacy_entries_source and
20525 extract_legacy_entries_configfile.
20526 Reported by: Seung Soo, Ha.
20527
99d925aa
CW
205282011-01-03 Colin Watson <cjwatson@ubuntu.com>
20529
20530 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20531 on devices that do not implement function 0.
20532
4af0504b
DV
205332011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20534
20535 * grub-core/fs/hfsplus.c: Make parent unsigned.
20536 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20537 overflows.
20538 (grub_hfsplus_cmp_extkey): Likewise
20539
469ee10a
VS
205402011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 * util/grub-install.in: Correctly use bootloader_id and not
20543 GRUB_DISTRIBUTOR on efibootmgr line.
20544
323a8e9c
VS
205452011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20548
1b394975
IC
205492010-12-31 Ian Campbell <ijc@hellion.org.uk>
20550
20551 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20552 Xen and reorder menu item wording to make it clearer that this entry
20553 will launch Xen. Print separate messages when loading Xen and
20554 Linux.
20555
275bff5f
VS
205562010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20559 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20560 loop in case of incorrect amiga partmap.
20561
307806cb
VS
205622010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20565 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20566 Reported by:EHeM.
20567
b12b923e
VS
205682010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20571 spurious warning.
20572 Reported by: crocket
20573
14b48a19
VS
205742010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20577 Preload EFIemu.
20578 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20579
693db2df
VS
205802010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20581
20582 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20583 is loaded
20584 (grub_cmd_xnu_kextdir): Likewise.
20585 (grub_cmd_xnu_splash): Likewise.
20586
c7638645
VS
205872010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20588
20589 Avoid using Reed-Solomon with 0 redundancy.
20590
20591 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20592 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20593 or 0 redundancy.
20594 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20595 (grub_reed_solomon_recover): Likewise.
20596
25dd4780
VS
205972010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 Don't use disk subsystem in freebsd_boot.
20600
20601 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20602 (freebsd_biosdev): Likewise.
20603 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20604 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20605
0b2db943
VS
206062010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 Handling of files of unknown size is currently limited. They can't be
20609 used e.g. for initrd or modules. Moreover gzip handling of not
20610 easily seekable files is buggy. Disable unknown file size for now. May
20611 be inefficient but works.
20612
20613 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20614 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20615
5c408d0f
MP
206162010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20617
20618 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20619 floppy probe.
20620
190a011a
JD
206212010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20622
20623 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20624
022d01b8
SL
206252010-12-25 Shea Levy <shlevy>
20626
20627 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20628
c4855fdc
VS
206292010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20632 Windows Server 2008.
20633 Reported by: Devin Giddings.
20634
0354b867
VS
206352010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20638 writing an error message because of async power management.
20639 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20640 (grub_reboot): Likewise.
20641
ab66c69f
JU
206422010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20643
20644 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20645 keep unit tests from failing when they shouldn't.
20646
1426ef35
CW
206472010-12-21 Colin Watson <cjwatson@ubuntu.com>
20648
20649 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20650 previous patch increased the size of the RS code by 20 bytes (at
20651 least with gcc-4.4), so increase this by 20 bytes to match.
20652 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20653
20641b6b
CW
206542010-12-21 Colin Watson <cjwatson@ubuntu.com>
20655
20656 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20657 scratch area. Make sure to initialise chosen in standalone mode as
20658 well as non-standalone.
20659 Reported by: Robert Hooker and Andy Whitcroft.
20660 Tested by: Andy Whitcroft.
20661
d060ad60
CW
206622010-12-21 Colin Watson <cjwatson@ubuntu.com>
20663
20664 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20665 constructing a new unescaped string and passing it to grub_xputs in
20666 one go, rather than passing characters to grub_printf one at a time.
20667
b889cfad
CW
206682010-12-21 Colin Watson <cjwatson@ubuntu.com>
20669
20670 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20671 initialising utf16.
20672
4e01b6c8
CW
206732010-12-21 Colin Watson <cjwatson@ubuntu.com>
20674
20675 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20676 comment. Add an extra layer of quotation, requiring the output of
20677 this function to be used in a printf format string.
20678 (gettext_printf): New function.
20679 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20680 Extract translatable strings from here-documents and use a temporary
20681 variable instead, so that xgettext can find them.
20682 * util/grub.d/10_kfreebsd.in: Likewise.
20683 * util/grub.d/10_linux.in: Likewise.
20684 * util/grub.d/20_linux_xen.in: Likewise.
20685
20686 * po/grub.d.sed: New file.
20687 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20688 arguments. Set c-format flags on all strings extracted from
20689 util/grub.d/ (xgettext refuses to include these itself for strings
20690 it extracted from a shell file, but these really are c-format).
20691
5318fe98
VS
206922010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20695 Avoid next pointing to nowhere.
20696
6c85b743
VS
206972010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20700 rather than assuming than rootblock is exactly in the middle.
20701 (grub_affs_label): Likewise.
20702
a2a08a35
VS
207032010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20704
20705 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20706 reserved_first_sector to 0.
20707 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20708 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20709 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20710
7059d1ec
VS
207112010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20712
20713 Fix handling of UTF-16 UDF labels.
20714
20715 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20716 (read_string): .. here.
20717 (grub_udf_label): Use read_string.
20718
30aff4cb
BC
207192010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20720
20721 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20722 editor under argument scope.
20723 Reported by: Jordan Uggla
20724
5cf86f4b
VS
207252010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20726
20727 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20728
32570200
CW
207292010-12-18 Colin Watson <cjwatson@ubuntu.com>
20730
20731 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20732 line, and other keys scroll an entire page (previous handling was
20733 for \r and \n to scroll a page and other keys to scroll two lines).
20734
e1dffcf2
VS
207352010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20736
20737 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20738 Set ptrdest to correct get_physical_target_address rather than
20739 incorrect get_virtual_current_address.
20740
b04298cf 207412010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20742
20743 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20744 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20745
5367ecd3
CW
207462010-12-10 Colin Watson <cjwatson@ubuntu.com>
20747
20748 * .bzrignore: Ignore grub-core/rs_decoder.S.
20749
1fb430f8
CW
207502010-12-10 Colin Watson <cjwatson@ubuntu.com>
20751
20752 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20753 .mo/.mo.gz opening sequence to ...
20754 (grub_mofile_open_lang): ... here.
20755 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20756 * util/grub.d/00_header.in (grub_lang): Include country part of
20757 locale.
20758 Reported by: Mario Limonciello.
20759
a94a6671
RM
207602010-12-09 Robert Millan <rmh@gnu.org>
20761
20762 * NEWS: Document addition of ZFS support.
20763
24b7938b
CW
207642010-12-04 Colin Watson <cjwatson@ubuntu.com>
20765
20766 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20767 rather than `/ 2', as the latter requires -Wa,--divide which would
20768 require bumping our minimum binutils version.
20769
bddc3ef6
BC
207702010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20771
20772 * util/grub-script-check.c (main): Print script line number on
20773 error.
20774
bf78d5b2
RM
207752010-12-01 Robert Millan <rmh@gnu.org>
20776
20777 * grub-core/fs/zfs/zfs.c: New file.
20778 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20779 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20780 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20781 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20782
20783 * include/grub/zfs/dmu.h: Likewise.
20784 * include/grub/zfs/dmu_objset.h: Likewise.
20785 * include/grub/zfs/dnode.h: Likewise.
20786 * include/grub/zfs/dsl_dataset.h: Likewise.
20787 * include/grub/zfs/dsl_dir.h: Likewise.
20788 * include/grub/zfs/sa_impl.h: Likewise.
20789 * include/grub/zfs/spa.h: Likewise.
20790 * include/grub/zfs/uberblock_impl.h: Likewise.
20791 * include/grub/zfs/vdev_impl.h: Likewise.
20792 * include/grub/zfs/zap_impl.h: Likewise.
20793 * include/grub/zfs/zap_leaf.h: Likewise.
20794 * include/grub/zfs/zfs.h: Likewise.
20795 * include/grub/zfs/zfs_acl.h: Likewise.
20796 * include/grub/zfs/zfs_znode.h: Likewise.
20797 * include/grub/zfs/zil.h: Likewise.
20798 * include/grub/zfs/zio.h: Likewise.
20799 * include/grub/zfs/zio_checksum.h: Likewise.
20800
20801 * Makefile.util.def: Build ZFS into libgrubmods.
20802 * grub-core/Makefile.core.def: Build zfs.mod.
20803
3f0f3831
SJ
208042010-11-30 Szymon Janc <szymon@janc.net.pl>
20805
20806 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20807 variable.
20808 * grub-core/commands/wildcard.c (match_files): Likewise.
20809
3a4253b2
RM
208102010-11-30 Robert Millan <rmh@gnu.org>
20811
20812 * grub-core/loader/i386/bsd.c
20813 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20814 whether kernel is loaded using grub_loader_is_loaded(), rather
20815 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20816 certain error conditions.
20817
8c317b27
RM
208182010-11-30 Robert Millan <rmh@gnu.org>
20819
c5c9cd3e
RM
20820 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20821 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20822
49d3ab46
VS
208232010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 Avoid using tricks for initialising endian variables.
20826
20827 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20828 Make const.
20829 (GRUB_MOD_INIT): Don't byte-swap.
20830 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20831 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20832 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20833 (grub_swap_bytes32_compile_time): Likewise.
20834 (grub_cpu_to_le32_compile_time): Likewise.
20835 (grub_cpu_to_le16_compile_time): Likewise.
20836
f420a804
VS
208372010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20838
20839 * util/grub-setup.c (setup): Stop recommending --force. People who
20840 understand the dangers of blocklists are able to find this option
20841 anyway and the ones who don't shouldn't use it anyway.
20842
4e7db17b
RM
208432010-11-26 Robert Millan <rmh@gnu.org>
20844
20845 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20846 Update all users.
20847
9be57a0d
CW
208482010-11-26 Colin Watson <cjwatson@ubuntu.com>
20849
20850 Fix LVM-on-RAID probing.
20851
20852 * util/grub-probe.c (probe): Remember which disk was detected as
20853 RAID (perhaps an LVM physical volume). Use that disk's raidname
20854 rather than that of the top-level disk.
20855
2c7859b3 208562010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20857
d7647bb6
BC
20858 Fix cmdline argument quotes for setparams command of menuentry
20859 definitions.
7e623b0d
BC
20860
20861 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20862 quotes for arguments.
f866fe80 20863 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20864 grub_strchrsub function instead.
f866fe80 20865
7955bea0 20866 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20867
74f72a64
CW
208682010-11-24 Colin Watson <cjwatson@ubuntu.com>
20869
20870 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20871 effort by skipping "." and ".." entries up-front.
20872 Suggested by: Michael Lazarev.
20873
5a407278
CW
208742010-11-24 Colin Watson <cjwatson@ubuntu.com>
20875
20876 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20877 ldflags to ldadd, to fix link line ordering.
20878 (none_decompress): Likewise.
20879
3030d8ec
CW
208802010-11-24 Colin Watson <cjwatson@ubuntu.com>
20881
20882 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20883 platforms.
20884 (grub-emu-lite): Remove kern/emu/cache.S.
20885
b7fbac12
CW
208862010-11-23 Colin Watson <cjwatson@ubuntu.com>
20887
20888 * util/deviceiter.c (compare_devices): If the by-id link for a
20889 device couldn't be resolved, fall back to sorting by the by-id link
20890 rather than segfaulting.
20891 Reported and tested by: Daniel Mierswa.
20892
5225f328
CW
208932010-11-23 Colin Watson <cjwatson@ubuntu.com>
20894
20895 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20896 ldflags, to fix link line ordering.
20897
038b3ce8
CW
208982010-11-23 Colin Watson <cjwatson@ubuntu.com>
20899
20900 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20901 linkers are picky about this.
20902
bf16e98e
CW
209032010-11-23 Colin Watson <cjwatson@ubuntu.com>
20904
20905 * grub-core/Makefile.am (command.lst): Adjust sed expression
20906 ordering so that extended and priority commands aren't treated as
20907 ordinary commands.
20908
7242bab6
CW
209092010-11-23 Colin Watson <cjwatson@ubuntu.com>
20910
20911 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20912 Remove byte-swapping function calls, which are not valid in
20913 structure initialisers.
20914 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20915 non-const.
20916 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20917 grub_gpt_partition_type_bios_boot.
20918
14e8b279
CW
209192010-11-22 Colin Watson <cjwatson@ubuntu.com>
20920
20921 Fix test program build on GNU/kFreeBSD.
20922
20923 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20924 $(LIBNVPAIR)' library dependencies.
20925
e6f63338 209262010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20927
20928 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20929
cf8ffc38
CW
209302010-11-22 Colin Watson <cjwatson@ubuntu.com>
20931
20932 * util/grub-install.in: Remove excessive quoting that broke
20933 installations to RAID devices.
20934
7f8b0fd7
VS
209352010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20938 bootloader version instead of 0.
20939
dfd240b1
VS
209402010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20941
20942 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20943 warning.
20944
7b61e609
VS
209452010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20946
20947 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20948 retrieve the metadat sector if size isn't known.
20949 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20950
9dfe92d0
RM
209512010-11-18 Robert Millan <rmh@gnu.org>
20952
20953 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20954 with grub_memcmp().
20955
41cc919e
VS
209562010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20959 arrow.
20960 Reported by: Jordan Uggla.
20961
1afcc914
VS
209622010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 Make better UTF compliant.
20965
20966 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20967 sequences as incorrect.
20968 (grub_is_valid_utf8): Likewise.
20969 (grub_utf8_to_ucs4): Likewise.
20970 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20971 (grub_ucs4_to_utf8_alloc): Likewise.
20972 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20973
f1808884
VS
209742010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20975
20976 Make legacy_source behave like source.
20977
20978 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20979 grub_show_menu.
20980 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20981
24ec575b
CW
209822010-11-16 Colin Watson <cjwatson@debian.org>
20983
20984 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20985 (-Wunused implies -Wunused-parameter, but not vice versa).
20986
72b7c7aa
CW
209872010-11-16 Colin Watson <cjwatson@ubuntu.com>
20988
20989 * configure.ac: Make error messages less confusing by testing for
20990 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20991 accepted, but produces a diagnostic if something else is wrong).
20992
e98937aa
VS
209932010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20996 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20997 (now unused).
20998 (grub_keyboard_controller_init)
20999 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21000 read the initial state since controller isn't inited yet.
21001
f6bbabc3
VS
210022010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21005 allocate_regbeg may need to create new chunk header.
21006
22e7dbb2
VS
210072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21008
21009 Fix quoting in legacy parser.
21010
21011 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21012 single quotes.
21013 (grub_legacy_parse): Likewise.
21014 Reported by: Jordan Uggla.
21015 Tested by: Jordan Uggla.
21016
03f80960
VS
210172010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21018
21019 Don't add -lgcc on i386 and x86_64.
21020
21021 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21022 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21023 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21024
779dc15b
VS
210252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 * configure.ac: Add -Wno-trampolines when supported.
21028
d20a3b37
MV
210292010-11-14 Modestas Vainius <modax@debian.org>
21030
21031 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21032 fakeraid.
21033
e5360933
GC
210342010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21035
21036 Add generic logical block size support for UDF.
21037
21038 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21039 (GRUB_UDF_BLKSZ): Removed.
21040 (struct grub_udf_data): New field "lbshift" to hold the logical block
21041 size of the file system in log2 format. All users updated.
21042 (sblocklist): Change type to unsigned.
21043 (grub_udf_mount): Change type of "sblklist" to unsigned.
21044 Move AVDP search before VRS recognition, because the latter requires
21045 knowledge of the logical block size, which is detected during the
21046 former.
21047 Detect and validate logical block size during AVDP search, adding
21048 support for block sizes 512, 1024 and 4096.
21049 Make VRS recognition independent of block size.
21050
cb0229c5
GC
210512010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21052
21053 Properly handle deleted files on UDF.
21054
21055 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
21056 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
21057 set.
21058
406858a8
GC
210592010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21060
21061 Support reading files larger than 2 GiB.
21062
21063 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21064 "offset" to grub_off_t.
21065 (grub_udf_read_file): Likewise for parameter "pos".
21066
130da6a7
VS
210672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21068
21069 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21070 unavailable.
21071 (Simple configuration): Refer to Changes from GRUB Legacy about
21072 save_env availability.
21073
65e93f6b
VS
210742010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21075
21076 * util/grub-install.in: Ignore empty partition table detection
21077 instead of trying to include part_ module.
21078
1fd08bf1
VS
210792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21080
21081 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21082 LVM on RAID support.
21083
de1a024f
VS
210842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21085
21086 Properly define WORDS_BIGENDIAN in wrapped environments.
21087
21088 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
21089 definition.
21090 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
21091
21092 Reported by: Manoel Rebelo Abranches.
21093 Tested by: Manoel Rebelo Abranches.
21094
bc5dd0b9
VS
210952010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * util/grub-mkconfig.in: Fix quoting.
21098
58c184be
VS
210992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 Support big ext2 files.
21102
21103 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
21104 (grub_ext2_read_block): Support triple indirect blocks.
21105 (grub_ext2_read_file): Use 64-bit types and read size_high.
21106 (grub_ext2_open): Read size_high.
21107 Reported by: Ximin Luo.
21108 Tested by: Manoel Rebelo Abranches.
21109
5f0c02b3
VS
211102010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21111
21112 * util/grub-install.in: Handle filenames containing spaces.
21113 Reported by: Jordan Uggla.
21114 Tested by: Jordan Uggla.
21115
4417aae6
VS
211162010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 * util/grub-mkconfig.in (grub_script_check): New variable.
21119 Use grub_script_check instead of grub-script-check.
21120 Reported by: Barry Jackson.
21121
7625a68e
VS
211222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * docs/grub.texi (menu): Correct the order.
21125 Reported by: D. Hugh Redelmeier.
21126
10001ac5
VS
211272010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
21128
21129 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
21130 jump.
21131
9c4cf53b
MRA
211322010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21133
10001ac5
VS
21134 * include/grub/elfload.h (grub_elf32_size): New parameter.
21135 All users updated.
9c4cf53b
MRA
21136 Return maximum segments alignment.
21137 (grub_elf64_size): Likewise.
21138 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
21139 Return maximum segments alignment.
21140 (grub_elf64_size): Likewise.
21141 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
21142 (grub_linux_claimmap_iterate): New function. Uses the
21143 "available" property in the "memory" node for memory allocation
21144 for kernel in the PowerPC loader.
9c4cf53b
MRA
21145 (grub_linux_load32): Correctly find linux entry point offset.
21146 (grub_linux_load64): Likewise.
21147
d2bf06bf
RM
211482010-11-07 Robert Millan <rmh@gnu.org>
21149
21150 On mips-yeeloong, build with -march=loongson2f when this flag is
21151 available (GCC >= 4.4).
21152 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
21153 `-march=mips3'.
21154 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
21155 or otherwise add -march=mips3.
21156
898c99a2
BC
211572010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
21158
87220a68
BC
21159 Suppress shell expansion on echo '*' and echo "*" like cases.
21160 Reported by: Jordan Uggla.
898c99a2
BC
21161
21162 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
21163 string arguments before shell expansion.
21164 * tests/grub_cmd_echo.in: New testcases.
21165
4f9b406a
RM
211662010-11-07 Robert Millan <rmh@gnu.org>
21167
21168 * conf/mips-qemu-mips.rmk: Remove stale file from previous
21169 transition.
21170
80c6d25e
VS
211712010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 * grub-core/kern/emu/hostdisk.c
21174 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21175
4a1a0153
VS
211762010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21177
21178 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21179 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21180 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21181
34706ddc
VS
211822010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21185
6972dea9
VS
211862010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21187
21188 * util/grub-install.in: Replace useless recomendation to pass
21189 --modules with a recomendation to report a bug.
21190
9c693bd6
VS
211912010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21192
21193 Properly register serial terminfo.
21194 Reported by: Jordan Uggla
21195
21196 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21197 const.
21198 (grub_serial_terminfo_output_template): Likewise.
21199 (grub_cmd_serial): Register "serial" with terminfo.
21200 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21201 grub_serial_terminfo_output.
21202
6c9e4c0c
RM
212032010-11-05 Robert Millan <rmh@gnu.org>
21204
21205 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21206 needed).
21207
b9b3839f
RM
212082010-11-05 Robert Millan <rmh@gnu.org>
21209
21210 On Yeeloong, pass machine type information to Linux.
21211
21212 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21213 (LOONGSON_MACHTYPE): New macro, set to
21214 "machtype=lemote-yeeloong-2f-8.9inches".
21215 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21216 additional argument to Linux.
21217
1a3aaff4
RM
212182010-11-04 Robert Millan <rmh@gnu.org>
21219
21220 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21221 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21222 (its SATA disks are detected as slaveless IDE master drives on
21223 kFreeBSD).
21224 Reported by Carsten Aulbert.
21225
a75f4f62
CW
212262010-11-02 Colin Watson <cjwatson@ubuntu.com>
21227
21228 * util/bin2h.c (main): Fix spelling error in generated output.
21229
33b4b0c6
GS
212302010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21231
21232 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21233
2b36fbf4
VS
212342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21237 vga= option is supplied.
21238
74aaf558
VS
212392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21242 * util/grub.d/10_kfreebsd.in: Likewise.
21243 * util/grub.d/10_linux.in: Likewise.
21244 * util/grub.d/20_linux_xen.in: Likewise.
21245
6428dec3
VS
212462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21247
21248 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21249 argument as an argument to no-argument option.
21250
f8729d98
VS
212512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21252
21253 * util/grub.d/10_linux.in: Add missing load_video with explicit
21254 GRUB_GFXPAYLOAD_LINUX.
21255
89d68fa6
VS
212562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21259
3a1197cd
VS
212602010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21261
21262 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21263 elements with invlid index.
21264 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21265 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21266 members.
21267 * include/grub/raid.h (grub_raid_member): New struct.
21268 (grub_raid_array): Transform devices and start_sector into usage of
21269 grub_raid_member. All users updated
21270 (allocated_devs): New member.
21271
71574288
VS
212722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21273
21274 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21275 is modified
21276
8d40ec65
BC
212772010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21278
21279 NetBSD build fix for getline function conflict from gnulib.
21280
21281 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21282 components that depend on gnulib headers.
21283 (libgrubmods.a): Renamed from earlier libgrub.a.
21284 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21285
95b9257e
VS
212862010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21289 install rather than creating a broken install.
21290
26c53dc6
VS
212912010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 * util/grub-setup.c (argp): Remove misleading example of installing to
21294 a partition.
21295
4171b3c5
VS
212962010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21297
21298 * util/grub-setup.c (setup): Clarify the error message.
21299
18568d18
VS
213002010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21301
21302 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21303
4f6a2e21
VS
213042010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21305
21306 * grub-core/kern/emu/misc.c
21307 (grub_make_system_path_relative_to_its_root)
21308 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21309
213102010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21311
21312 * grub-core/kern/emu/misc.c
21313 (grub_make_system_path_relative_to_its_root): Revert r2882.
21314
e138c458
VS
213152010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21316
21317 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21318 useless field head. All users updated.
21319 (free_subchunk): Correct handling of IN_REGION subchunk.
21320
0cbcdf0e
CW
213212010-10-22 Colin Watson <cjwatson@ubuntu.com>
21322
21323 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21324 (Supported kernels): Likewise.
21325
b65ea155
GS
213262010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21327
21328 Make mktemp invocations portable.
21329
21330 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21331 exit if mktemp fails.
21332 * tests/grub_script_blockarg.in: Likewise.
21333 * tests/partmap_test.in: Likewise.
21334 * tests/util/grub-shell-tester.in: Likewise.
21335 * tests/util/grub-shell.in: Likewise.
21336 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21337 * Makefile.am: Likewise, and chain shell commands with `&&'
21338 instead of ';'.
21339 * util/grub-mkrescue.in: Use the same explicit template as above, and
21340 exit if mktemp fails.
21341
05f43cdd
BC
213422010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21343
21344 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21345 Linux kernel, reported by Dennis Schridde.
21346
800e6a9b
SJ
213472010-10-17 Szymon Janc <szymon@janc.net.pl>
21348
21349 * grub-core/normal/auth.c (grub_auth_check_authentication):
21350 Set-but-not-used variable removed.
21351
d82df574
VS
213522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21353
21354 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21355 32-bit linux protocol.
21356
7bced458
VS
213572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21358
21359 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21360 cursor shape for sanity.
21361
5b027690
VS
213622010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21363
21364 * docs/grub.texi (Installation): Document buggy BIOS install.
21365
ba5f65cf
VS
213662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21367
21368 * docs/grub.texi (Installation): Indent.
21369
fdf2ec9c
VS
213702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21371
21372 * util/grub-setup.c (setup): New parameter allow_floppy.
21373 (arguments): New member allow_floppy.
21374 (argp_parser): Handle --allow-floppy.
21375 (main): Pass allow_floppy.
21376 * util/grub-install.in: New option --allow-floppy passed though to
21377 grub-setup.
21378
861dfd4c
VS
213792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 * util/grub-install.in: Handle partitionless disks.
21382
f77a8c24
VS
213832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21384
21385 * util/grub-setup.c (setup): Don't clean blocklists before readability
21386 verfification.
21387
27d9ee32
VS
213882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21389
21390 * docs/grub.texi (Installation): Document embedding zone. Remove
21391 obsolete grub-install example.
21392
6bdda8f8
SJ
213932010-10-16 Szymon Janc <szymon@janc.net.pl>
21394
21395 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21396 Set-but-not-used variable ifdef'ed.
21397 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21398 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21399 variable removed.
21400 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21401 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21402 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21403 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21404 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21405 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21406 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21407 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21408 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21409 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21410 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21411 Likewise.
21412
e19b016b
VS
214132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21414
21415 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21416 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21417 enum value.
21418
6c8d3002
VS
214192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21422 synonym to _S5_. Needed for some DSDTs.
21423
c32b51c9
VS
214242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21425
21426 Userspace ACPI parser debugging.
21427
21428 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21429 headers and add relevant defines. Don't include standard headers.
21430 (main) [GRUB_DSDT_TEST]: New function.
21431 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21432 Don't declare functions.
21433
fbfbeb39
VS
214342010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 Remove dead grub_efi_mm_fini.
21437
21438 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21439 (ALLOCATED_PAGES_SIZE): Likewise.
21440 (MAX_ALLOCATED_PAGES): Likewise.
21441 (allocated_pages): Likewise.
21442 (grub_efi_allocate_pages): Don't record allocated pages.
21443 (grub_efi_free_pages): Likewise.
21444 (grub_efi_mm_init): Likewise.
21445 (grub_efi_mm_fini): Removed.
21446
65f7ed7c
VS
214472010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21450 (grub_efi_mm_init): Take into account the memory map size increase.
21451
24977b44
VS
214522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21453
21454 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21455 (serial_hw_put): Wait based on real time rather than port reads. Don't
21456 roken ports.
21457 * include/grub/serial.h (grub_serial_port): New field broken.
21458
1eb01cd2
RM
214592010-10-16 Robert Millan <rmh@gnu.org>
21460
21461 * grub-core/kern/emu/misc.c
21462 (grub_make_system_path_relative_to_its_root): Fix premature return
21463 when processing non-root ZFS filesystems.
5f8b440b 21464 Reported by Sergio Talens-Oliag.
1eb01cd2 21465
2d5fed60
RM
214662010-10-15 Robert Millan <rmh@gnu.org>
21467
21468 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21469 guarantee compressed ones are processed first.
21470
d0f4c1ea
VS
214712010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21474 grub_efiemu_autocore.
21475
d87c681f
VS
214762010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21479 rather than 0x1b.
21480 (grub_console_getkey): Use correct jae opcode rather than ja.
21481
219b3564
RM
214822010-10-12 Robert Millan <rmh@gnu.org>
21483
21484 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21485 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21486 variable. All references updated.
21487
21488 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21489
20c6bb7e
VS
214902010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 Correctly distinguish mdraid flavours.
21493
21494 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21495 (insert_array): New argument raid.
21496 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21497 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21498 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21499
74baff84
VS
215002010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21503 handling of special keys.
21504
3ef068df 215052010-10-02 Aleš Nesrsta <starous@volny.cz>
21506
c7980ad9
VS
21507 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21508 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21509
a9455194 215102010-10-02 Aleš Nesrsta <starous@volny.cz>
21511
c7980ad9
VS
21512 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21513 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21514 users updated.
a9455194 21515 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21516 Use right endpoint when querying descriptor.
a9455194 21517
441cfe65
VS
215182010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21519
21520 Clear out 0x80 color bit on EFI.
21521 Tested by: decoder
21522 Reported by: decoder and meta tech.
21523
21524 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21525 (grub_console_setcolorstate): Clear out 0x80 bit.
21526 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21527 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21528 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21529
bf26bcc4
VS
215302010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21531
21532 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21533 Set to "auto".
21534
6e3c515d
VS
215352010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21536
21537 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21538 mo_file after freeing.
21539
e6d983ba
VS
215402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21541
21542 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21543
74ccb5b5
VS
215442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21547 flags.
21548
17821956
VS
215492010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21552 usage.
21553
ee74fa48
VS
215542010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21555
21556 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21557
21558 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21559 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21560 and terminfo.h when needed.
21561 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21562 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21563 (terminfo): Enable only on terminfokernel.
21564 (extcmd): Likewise.
21565 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21566 * include/grub/lib/arg.h: Likewise.
21567 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21568 incorrect usage of ->.
21569
aa438e68
VS
215702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21573 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21574
57994012
VS
215752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 Fix coreboot compilation.
21578
21579 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21580 Take VBE info into account even if only text is supported.
21581 (fill_vbe_info): Take into account the case when only VGA text
21582 is supported.
21583 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21584 on coreboot, multiboot and qemu.
21585
2a406611
VS
215862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21589 debug messages.
21590 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21591
d33613fc
VS
215922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21595 parameters.
21596
44a1b432
VS
215972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21600 if they were BSD-style.
21601
edde54e6
VS
216022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21603
21604 * grub-core/boot/i386/pc/lnxboot.S: Replace
21605 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21606 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21607
b65830fa
VS
216082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21609
21610 Write embedding zone using Reed-Solomon.
21611
21612 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21613 * grub-core/Makefile.am (rs_decoder.S): New target.
21614 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21615 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21616 (multiboot): Move to RS part.
21617 (post_reed_solomon): New label.
21618 (grub_boot_drive): Move to non-RS part since it's modified in memory
21619 on boot.
21620 Include rs_decoder.S.
21621 * grub-core/lib/reed_solomon.c: New file.
21622 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21623 New definition.
21624 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21625 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21626 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21627 * include/grub/partition.h (grub_partition_map): Change prototype of
21628 embed to allow returning additional sectors.
21629 * include/grub/reed_solomon.h: New file.
21630 * util/grub-setup.c (setup): Handle Reed-Solomon.
21631
0b4b227f
CW
216322010-09-28 Colin Watson <cjwatson@ubuntu.com>
21633
21634 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21635 i386 and x86-64 definedness tests.
21636
f772623b
YB
216372010-09-27 Yves Blusseau <blusseau@zetam.org>
21638
21639 Fix generation of kernel_syms.lst
21640
21641 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21642 ASM_PREFIX
21643
8e57a6ca
RM
216442010-09-26 Robert Millan <rmh@gnu.org>
21645
21646 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21647
21648 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21649 the pool is an array of devices, iterate through it and return the
21650 first device that passes a stat() test (instead of blindly returning
21651 the first one).
21652
f9130836
RM
216532010-09-26 Robert Millan <rmh@gnu.org>
21654
21655 Build fixes for GNU/kFreeBSD.
21656
21657 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21658 to programs that require ZFS conversion.
21659 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21660 kernels that don't have FLOPPY_MAJOR.
21661
96510faf
BC
216622010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21663
21664 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21665
449333eb
BC
216662010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21667
21668 Fix grub-emu build.
21669
21670 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21671 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21672 mdraid09 and mdraid1x.
21673
e1fd1939
CW
216742010-09-24 Colin Watson <cjwatson@ubuntu.com>
21675
21676 Re-enable grub-extras.
21677
21678 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21679 avoid confusing Automake. Run autogen only twice, once for the top
21680 level and once for grub-core. Add Makefile.util.def and
21681 Makefile.core.def from extra modules to the appropriate autogen
21682 invocations. If Makefile.common exists in an extra module, include
21683 it in both Makefile.util.am and grub-core/Makefile.core.am;
21684 similarly, include any Makefile.util.common file in Makefile.util.am
21685 and any Makefile.core.common file in grub-core/Makefile.core.am.
21686 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21687 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21688 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21689 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21690
21691 * gentpl.py (gvar_add): Turn GVARS into a set.
21692 (global_variable_initializers): Sort global variables on output.
21693 (vars_init): New function.
21694 (first_time): Likewise.
21695 (library): Ensure that non-global variable initialisations are
21696 emitted before the first time we emit code for a library block.
21697 Append to variables rather than setting them. Only emit
21698 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21699 each conditional path.
21700 (program): installdir() emits an Autogen macro, so must be passed to
21701 var_add rather than gvar_add.
21702 (data): Likewise.
21703 (script): Likewise.
21704 (rules): New function, centralising handling for different target
21705 types. Set up Guile association lists for first_time and vars_init,
21706 and send most output to a diversion so that variable initialisations
21707 can be emitted first.
21708 (module_rules): Use new rules function.
21709 (kernel_rules): Likewise.
21710 (image_rules): Likewise.
21711 (library_rules): Likewise.
21712 (program_rules): Likewise.
21713 (script_rules): Likewise.
21714 (data_rules): Likewise.
21715
21716 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21717
21718 * .bzrignore: Add contrib and grub-core/contrib. Remove
21719 grub-core/Makefile.gcry.am.
21720
1d12cf29
YB
217212010-09-24 Yves Blusseau <blusseau@zetam.org>
21722
21723 * grub-core/lib/LzFind.c: Add missing include.
21724 * grub-core/lib/LzmaEnc.c: Likewise.
21725 * grub-core/script/lexer.c: Likewise.
21726 * grub-core/script/yylex.l: Likewise.
21727 * util/grub-macho2img.c: Likewise.
21728 * util/grub-menulst2cfg.c: Likewise.
21729 * util/grub-mklayout.c: Likewise.
21730 * util/grub-mkpasswd-pbkdf2.c
21731 * util/grub-mkrelpath.c: Likewise.
21732 * util/resolve.c: Likewise.
21733
dd363028
BC
217342010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21735
21736 * Makefile.util.def (example_unit_test): Add
21737 grub-core/gnulib/libgnu.a.
21738
f5a109e2
GS
217392010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21740
21741 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21742
6d0fa83c
VS
217432010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 Support xz compression on yeeloong.
21746
21747 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21748 * configure.ac: Check for LZMA.
21749 * grub-core/Makefile.core.def (xz_decompress): New target.
21750 (none_decompress): Likewise.
21751 * grub-core/boot/decompressor/minilib.c: New file.
21752 * grub-core/boot/decompressor/none.c: Likewise.
21753 * grub-core/boot/decompressor/xz.c: Likewise.
21754 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21755 * grub-core/kern/mips/cache_flush.S: Likewise.
21756 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21757 * grub-core/kern/mips/startup.S: Move first stage to ...
21758 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21759 nomacro.
21760 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21761 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21762 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21763 Allocate statically.
21764 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21765 Allocate statically or use scratch. Don't check CRC32.
21766 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21767 Allocate statically. Don't check CRC32.
21768 * include/grub/decompressor.h: New file.
21769 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21770 Removed.
21771 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21772 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21773 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21774 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21775 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21776 * util/grub-mkimage.c (grub_compression_t): New type.
21777 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21778 (image_target_desc): New field default_compression.
21779 (image_targets): Adjust yeeloong targets.
21780 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21781 (compress_kernel): New parameter comp.
21782 (generate_image): Likewise. Handle new compression case.
21783 (options): New option --compression
21784 (help): Likewise.
21785 (main): Handle new option.
21786
1b655af6
GS
217872010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21788
21789 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21790
8f03f0b5
CW
217912010-09-22 Colin Watson <cjwatson@ubuntu.com>
21792
21793 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21794 typo in __i386__ conditional.
21795
7835dfd3
VS
217962010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21797
21798 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21799 include.
21800
e255597e
VS
218012010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21802
6d0fa83c 21803 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21804
21805 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21806 new tags as supported.
21807 (acpiv2_size): New function.
21808 (grub_multiboot_get_mbi_size): Take new tags into account.
21809 (grub_multiboot_make_mbi): Add new tags.
21810 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21811
6cc14051 218122010-09-21 Aleš Nesrsta <starous@volny.cz>
21813
21814 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21815 Added missing configuration of USB device.
21816
df7769d8
CW
218172010-09-21 Colin Watson <cjwatson@ubuntu.com>
21818
21819 * grub-core/normal/menu_entry.c (run): Make sure we always return
21820 a value.
21821
b031012d
CW
218222010-09-21 Colin Watson <cjwatson@ubuntu.com>
21823
21824 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21825 NumberOfPages is UINT64 according to the UEFI specification, not
21826 UINTN. Fix printf format.
21827
174de8f3
CW
218282010-09-21 Colin Watson <cjwatson@ubuntu.com>
21829
21830 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21831 `err' to grub_usb_err_t.
21832 Reported and tested by: KESHAV P.R.
21833
d7dbe923
CW
218342010-09-21 Colin Watson <cjwatson@ubuntu.com>
21835
21836 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21837 tpart non-const, so that we can assign to it. (Since this is a
21838 typedef, the constness refers to the pointer rather than what it
21839 points to.)
21840
8d5e2af3
CW
218412010-09-21 Colin Watson <cjwatson@ubuntu.com>
21842
21843 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21844 $(top_srcdir)/grub-core/gnulib as well as
21845 $(top_builddir)/grub-core/gnulib.
21846 Reported by: KESHAV P.R.
21847
5c527783
CW
218482010-09-21 Colin Watson <cjwatson@ubuntu.com>
21849
21850 * util/grub-install.in: Fix the bootloader ID option to be
21851 consistently --bootloader-id, not --bootloader_id.
21852 Reported by: KESHAV P.R.
21853
d309a16e
CW
218542010-09-21 Colin Watson <cjwatson@ubuntu.com>
21855
21856 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21857 check hash checksum." consistently translatable.
21858
b830cd16
YB
218592010-09-21 Yves Blusseau <blusseau@zetam.org>
21860
21861 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21862 $(top_builddir).
21863
c4fe27a8
CW
218642010-09-21 Colin Watson <cjwatson@ubuntu.com>
21865
21866 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21867 (GRUB_MOD_INIT): Register sha1sum command.
21868 (GRUB_MOD_FINI): Unregister sha1sum command.
21869
a4c1d277
YB
218702010-09-21 Yves Blusseau <blusseau@zetam.org>
21871
21872 Keep boot and grub directory names in sync with utils scripts
21873
21874 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21875 * config.h.in: Add previous macros.
21876 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21877 * util/grub-install.in: Use $bootdir and $grubdir variables.
21878
4eff79d2
CW
218792010-09-21 Colin Watson <cjwatson@ubuntu.com>
21880
21881 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21882 convert partition names to disk names if the new `convert' parameter
21883 is set.
21884 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21885 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21886 disk in its own right. This can happen with Xen disk images.
21887
934d7e44
YB
218882010-09-21 Yves Blusseau <blusseau@zetam.org>
21889
21890 * util/grub-editenv.c: Update strings to avoid warnings when generating
21891 grub.pot file.
21892 * util/grub-setup.c: Likewise.
934d7e44 21893
df3367cc
VS
218942010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21895
21896 * configure.ac: Change version to 1.99~beta0.
21897
77a94e98
VS
218982010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21899
21900 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21901 Add BADRAM.
21902 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21903 Likewise.
21904 * include/multiboot.h: Resynced with specification.
21905 * include/multiboot2.h: Likewise.
21906
269004c1
CW
219072010-09-21 Colin Watson <cjwatson@ubuntu.com>
21908
21909 Fix po directory handling.
21910
21911 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21912 * grub-core/gnulib/Makefile.am: Import gettext module.
21913 * m4/gnulib-cache.m4: Likewise.
21914 * m4/gnulib-comp.m4: Likewise.
21915 * m4/gettext.m4: New file, from gnulib.
21916 * m4/glibc2.m4: Likewise.
21917 * m4/iconv.m4: Likewise.
21918 * m4/intdiv0.m4: Likewise.
21919 * m4/intl.m4: Likewise.
21920 * m4/intldir.m4: Likewise.
21921 * m4/intlmacosx.m4: Likewise.
21922 * m4/intmax.m4: Likewise.
21923 * m4/inttypes-pri.m4: Likewise.
21924 * m4/lcmessage.m4: Likewise.
21925 * m4/lib-ld.m4: Likewise.
21926 * m4/lib-link.m4: Likewise.
21927 * m4/lib-prefix.m4: Likewise.
21928 * m4/lock.m4: Likewise.
21929 * m4/nls.m4: Likewise.
21930 * m4/po.m4: Likewise.
21931 * m4/printf-posix.m4: Likewise.
21932 * m4/progtest.m4: Likewise.
21933 * m4/threadlib.m4: Likewise.
21934 * m4/uintmax_t.m4: Likewise.
21935 * m4/visibility.m4: Likewise.
21936 * po/Makefile.am: Remove.
21937 * po/Makefile.in.in: New file, from gettext.
21938 ($(DOMAIN).pot-update): Support POTFILES-shell.
21939 * po/Makevars: New file.
21940 * po/POTFILES-shell: Rename to ...
21941 * po/POTFILES-shell.in: ... this. Update.
21942 * po/POTFILES: Rename to ...
21943 * po/POTFILES.in: ... this. Update.
21944 * po/Rules-quot: New file, from gettext.
21945 * po/boldquot.sed: Likewise.
21946 * po/en@boldquot.header: Likewise.
21947 * po/en@quot.header: Likewise.
21948 * po/insert-header.sin: Likewise.
21949 * po/quot.sed: Likewise.
21950 * po/remove-potcdate.sin: Likewise.
21951
3e0fa5d0
VS
219522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21953
21954 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21955
ade9bd66
VS
219562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21957
21958 * util/grub.d/20_linux_xen.in: Use submenus.
21959
fc55cc4c
VS
219602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21961
21962 Support submenus.
21963
21964 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21965 parameter submenu. All users updated.
21966 * grub-core/normal/main.c (free_menu): Rename to ...
21967 (grub_normal_free_menu): ... this. Made global.
21968 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21969 if requested.
21970 * grub-core/normal/menu_entry.c (screen): New field submenu.
21971 (make_screen): Set submenu.
21972 (run): Open new context if requested.
21973 * include/grub/menu.h (grub_menu_entry): New field submenu.
21974 * include/grub/normal.h (grub_normal_free_menu): New proto.
21975
600cedf7
VS
219762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21977
21978 Menu entries extractor.
21979
21980 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21981 variants.
21982 (GRUB_MOD_INIT): Register new variants.
21983 (GRUB_MOD_FINI): Unregister new variants.
21984 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21985 into grub_cmd_legacy_source.
21986 (grub_cmd_legacy_source): Implement extractor variants.
21987 (GRUB_MOD_INIT): Register new variants.
21988 (GRUB_MOD_FINI): Unregister new variants.
21989 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21990 as an extractor.
21991 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21992 search as an extractor.
21993 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21994 test as an extractor.
21995 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21996 as an extractor.
21997 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21998 (grub_env_new_context): New function.
21999 (grub_env_context_open): Likewise.
22000 (grub_env_extractor_open): Likewise.
22001 (grub_env_extractor_close): Likewise.
22002 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22003 grub_extractor_level.
22004 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22005 * include/grub/env.h (grub_env_extractor_open): New proto.
22006 (grub_env_extractor_close): Likewise.
22007 * include/grub/normal.h (grub_extractor_level): New external variable.
22008
7bda3a87
VS
220092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 Make cutmem accept a region specification.
22012 Suggested by: Samuel Thibault
22013
22014 * grub-core/mmap/mmap.c (parsemem): New function.
22015 (grub_cmd_cutmem): Handle new arguments.
22016
2ea57f88
VS
220172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22018
22019 New command cutmem.
22020
22021 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22022 (GRUB_MOD_INIT): Register new command.
22023 (GRUB_MOD_FINI): Unregister new command.
22024
74342e31
VS
220252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22026
22027 Support some annoying BSD and Minix subpartitions.
22028
22029 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22030 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22031 Properly handle concatenation.
22032 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22033 * grub-core/normal/completion.c (iterate_partition): Likewise.
22034 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22035 contain partition. All users updated.
22036 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22037 struct.
22038 (grub_openbsdlabel_partition_map): Likewise.
22039 (bsdlabel_partition_map_iterate): Rename to ..
22040 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22041 (bsdlabel_partition_map_iterate): New function.
22042 (netopenbsdlabel_partition_map_iterate): Likewise.
22043 (netbsdlabel_partition_map_iterate): Likewise.
22044 (openbsdlabel_partition_map_iterate): Likewise.
22045 (GRUB_MOD_INIT): Register new partmaps.
22046 (GRUB_MOD_FINI): Unregister new partmaps.
22047 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22048 (grub_partition_msdos_iterate): ... this. All users updated.
22049 Don't support embedding other than in a minix partition.
22050 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
22051 proto.
22052 * include/grub/partition.h (grub_partition): New field msdostype.
22053 * util/grub-install.in: Handle openbsd and netbsd types being in
22054 part_bsd module.
22055
1e8d555b
VS
220562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22057
22058 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
22059
22060 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22061 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22062 (mdraid09): ... this.
22063 (mdraid1x): New module.
22064 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22065 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22066
899d8af4
VS
220672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22068
22069 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22070 vsprintf.
22071
40901acd
CW
220722010-09-20 Colin Watson <cjwatson@ubuntu.com>
22073
22074 * grub-core/commands/efi/lsefimmap.c: Correct header.
22075 * NEWS: Update.
22076
dfe3b247
CW
220772010-09-20 Colin Watson <cjwatson@ubuntu.com>
22078
22079 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22080 as printf format strings; the translations might contain '%' which
22081 could cause a crash.
22082 (main): Likewise.
22083 * util/grub-fstest.c (argp_parser): Likewise.
22084 * util/grub-setup.c (argp_parser): Likewise.
22085 (main): Likewise.
22086
3286a4b4
VS
220872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 Use argp in grub-fstest.
22090
22091 * util/grub-fstest.c: Don't include getopt.h.
22092 Include argp.h.
22093 (root): New variable.
22094 (args_count): Likewise.
22095 (nparm): Likewise.
22096 (num_disks): Likewise.
22097 (images): Likewise.
22098 (cmd): Likewise.
22099 (debug_str): Likewise.
22100 (args): Likewise.
22101 (options): Transformed to argp.
22102 (usage): Removed.
22103 (main): Split argument parsing into ...
22104 (argp_parser): ... this. Changed to argp format.
22105 (argp): New variable.
22106 (main): Use argp_parse.
22107
3dccbe4b
TG
221082010-09-20 Tristan Gingold <gingold@free.fr>
221092010-09-20 Robert Millan <rmh.grub@aybabtu.com>
221102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22111
22112 * grub-core/commands/efi/lsefimmap.c: New file.
22113 * grub-core/Makefile.core.def (lsefimmap): New module.
22114 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
22115
38c259a7
VS
221162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Pause the execution (10s max) if any errors are displayed so the user
22119 has a chance to see them.
22120
22121 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
22122 (grub_print_error): Increment grub_err_printed_errors.
22123 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
22124 execution if any errors were displayed.
22125 (show_menu): Remove old code for pause.
22126 * grub-core/normal/menu_entry.c (run): Likewise.
22127 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
22128 users updated.
22129 (grub_normal_get_char_counter): Likewise.
22130 * include/grub/err.h (grub_err_printed_errors): New external variable.
22131 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
22132
f218b09c
VS
221332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 Support multiboot VBE info.
22136
22137 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22138 Take VBE info into account.
22139 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
22140 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22141 Call fill_vbe_info when appropriate.
22142 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
22143 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
22144 as supported.
22145 (grub_multiboot_get_mbi_size): Take new tags into account.
22146 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
22147 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22148 Call fill_vbe_tag when appropriate.
22149 (grub_multiboot_make_mbi): Properly align tags.
22150 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
22151 function.
22152 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
22153 proto.
22154 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
22155
a9cc5438
VS
221562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22157
22158 Suport manual terminal geometry specification.
22159
22160 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
22161 Save state in grub_ofconsole_terminfo_output.
22162 (grub_ofconsole_term): Use grub_terminfo_getwh.
22163 (grub_ofconsole_getwh): Removed.
22164 * grub-core/term/serial.c (grub_serial_getwh): Removed.
22165 (grub_serial_term): Use grub_terminfo_getwh.
22166 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
22167 (options): New struct.
22168 (OPTION_*): New enum.
22169 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22170 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22171 width and height.
22172 (grub_terminfo_getwh): New proto.
22173 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22174
1a8fed20
VS
221752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22176
22177 Handle legacy "terminal" command.
22178
22179 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22180 and FLAG_TERMINAL.
22181 (legacy_commands): Add terminal and title.
22182 (grub_legacy_parse): Handle terminal. Simplify title handling.
22183
41e9c57d
VS
221842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22185
22186 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22187 parameters overflow.
22188
61c874c5
CW
221892010-09-20 Colin Watson <cjwatson@ubuntu.com>
22190
22191 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22192 widthspec.h.
22193
22194 * docs/grub.texi (Shell-like scripting): Document `!'.
22195 (Network): Simplify using new i386-pc-pxe format. Mention
22196 grub-mknetdir.
22197
22198 * NEWS: Update.
22199
943682b4
CW
222002010-09-20 Colin Watson <cjwatson@ubuntu.com>
22201
22202 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22203 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22204 when needed.
22205
6d3d698d
CW
222062010-09-20 Colin Watson <cjwatson@ubuntu.com>
22207
22208 * grub-core/commands/efi/lsefisystab.c: Correct header.
22209 * grub-core/commands/efi/lssal.c: Likewise.
22210 * grub-core/commands/testload.c: Likewise.
22211
c982589f
CW
222122010-09-20 Colin Watson <cjwatson@ubuntu.com>
22213
22214 * util/grub-mkrescue.in: Add explicit root argument to --set to
22215 prevent the UUID being interpreted as an argument to --set (matches
22216 previous change to prepare_grub_to_access_device).
22217
a63c31b6
CW
222182010-09-20 Colin Watson <cjwatson@ubuntu.com>
22219
22220 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22221 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22222 the verbosity of later #ifs.
22223 (find_partition_start): Define this function on FreeBSD too.
22224 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22225 function.
22226 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22227 on FreeBSD.
22228
6439b8ee
YB
222292010-09-20 Yves Blusseau <blusseau@zetam.org>
22230
22231 * util/grub-editenv.c: Use argp instead of getopt.
22232
c5930ec8
YB
222332010-09-20 Yves Blusseau <blusseau@zetam.org>
22234
22235 * util/grub-setup.c: Use argp instead of getopt.
22236
15c69261
YB
222372010-09-20 Yves Blusseau <blusseau@zetam.org>
22238
22239 Use gnulib-tool to create gnulib source files.
22240
22241 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22242 grub-core/gnulib directories
22243 * .bzignore: Add **/.deps and autogenerated gnulib files
22244 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22245 of gnulib macros, add grub-core/gnulib/Makefile
22246 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22247 include m4 directory to aclocal.
22248 * Makefile.util.def: Remove direct compilation of gnulib source files
22249 and use the new grub-core/gnulib/libgnu.a.
22250 * build-aux/config.rpath: move config.rpath from top directory to
22251 build-aux
22252 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22253 in gnulib headers
22254 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22255 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22256 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22257 header.
22258 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22259 string.
22260
e511c9f5
YB
222612010-09-20 Yves Blusseau <blusseau@zetam.org>
22262
22263 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22264 grub-core/genmod.sh and grub-core/gensyminfo.sh
22265
c2dede05
BC
222662010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22267
22268 Add a test for echo command options.
22269
22270 * tests/grub_cmd_echo.in: New test.
22271 * Makefile.util.def: Rules for new test.
22272
c55f5018
SJ
222732010-09-20 Szymon Janc <szymon@janc.net.pl>
22274
22275 Remove crc.mod and move crc command to hashsum.mod.
22276 Remove lib/crc.c - users updated to use gcrypt implementation.
22277
22278 * grub-core/commands/crc.c: Removed.
22279 * grub-core/Makefile.core.def (crc): Module removed.
22280 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22281 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22282 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22283 * grub-core/lib/crc.c: Removed.
22284 * include/grub/lib/crc.h: Removed.
22285 * Makefile.util.def (crc): Remove lib/crc.c
22286 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22287 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22288 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22289 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22290 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22291 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22292
e0337366
VS
222932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22296
742f9232
VS
222972010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 Split config.h for util and core.
22300
22301 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22302 (ADDR32): Likewise.
22303 (DATA32): Likewise.
22304 (BSS_START_SYMBOL): Likewise.
22305 (END_SYMBOL): Likewise.
22306 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22307 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22308 * config.h.in: New file.
22309 * configure.ac: Use config-util.h as config define file.
22310 Rename MACHINE into GRUB_MACHINE. All users updated.
22311 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22312 updated.
22313 (NESTED_FUNC_ATTR): Likewise.
22314 Substitue new variables.
22315 (COND_HAVE_ASM_USCORE): New conditional.
22316 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22317 (kernel_syms.lst): Use ASM_PREFIX.
22318 * grub-core/kern/emu/console.c: Include config-util.h.
22319 * grub-core/kern/emu/misc.c: Likewise.
22320 * grub-core/kern/emu/mm.c: Likewise.
22321 * include/grub/emu/misc.h: Likewise.
22322 * include/grub/libgcc.h: Likewise.
22323
39feb0e8
VS
223242010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22325
22326 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22327 constants usage.
22328 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22329 Fix GRUB_TERM_KEY_* constants usage.
22330 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22331
9af6dac3
VS
223322010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22333
22334 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22335 print pointer.
22336 * grub-core/bus/usb/uhci.c: Remove empty define.
22337 (grub_uhci_check_transfer): Add missing cast.
22338 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22339 print pointer.
22340 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22341 PRIuGRUB_SIZE.
22342 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22343
d6d94820
VS
223442010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22345
22346 * grub-core/Makefile.core.def (legacycfg): Add
22347 lib/i386/pc/vesa_modes_table.c on emu.
22348
3572f2b6
BC
223492010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22350
22351 Reduce number of temporary files generated by build system.
22352
22353 * grub-core/gencmdlist.sh: Removed.
22354 * grub-core/genfslist.sh: Removed.
22355 * grub-core/genhandlerlist.sh: Removed.
22356 * grub-core/genmodsrc.sh: Removed.
22357 * grub-core/genpartmaplist.sh: Removed.
22358 * grub-core/genparttoollist.sh: Removed.
22359 * grub-core/gentermiinallist.sh: Removed.
22360 * grub-core/genvideolist.sh: Removed.
22361
22362 * grub-core/genmod.sh.in: New file.
22363 * grub-core/gensyminfo.sh.in: New file.
22364
22365 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22366 * conf/Makefile.extra-dist: Update with new files.
22367 * gentpl.py: Remove rules related to unnecessary temporary files.
22368 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22369 and und-* files.
22370 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22371 genmod.sh scripts.
22372 * grub-core/bus/usb/uhci.c: Remove empty #define.
22373 * grub-core/genmoddep.awk: Updated with new syminfo format.
22374 * util/bash-completion.d/Makefile.am: Add config.log to
22375 CLEANFILES.
22376
c836b030
YB
223772010-09-19 Yves Blusseau <blusseau@zetam.org>
22378
22379 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22380
2f4e8053
BC
223812010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22382
22383 * util/grub-mkconfig.in: Check the config script for syntax errors
22384 before saving.
22385
75831c34
CW
223862010-09-19 Colin Watson <cjwatson@ubuntu.com>
223872010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22390 platforms.
22391 * util/grub-install.in: Add EFI and IEEE1275 support.
22392 * util/i386/efi/grub-install.in: Removed.
22393 * util/ieee1275/grub-install.in: Likewise.
22394
eaf41b25
VS
223952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22396
22397 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22398 (grub_cmd_cmosclean): Likewise.
22399 (GRUB_MOD_INIT): Register command cmosclean.
22400 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22401 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22402
1a9130dd
CPE
224032010-09-18 Carles Pina i Estany <carles@pina.cat>
224042010-09-18 Aleš Nesrsta <starous@volny.cz>
224052010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22406
22407 Add keyboard layouts support.
22408
22409 * Makefile.util.def (grub-mklayout): New file.
22410 (grub-kbdcomp): New script.
22411 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22412 Add keyboard_layouts.h.
22413 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22414 commands/boot.c on yeeloong.
22415 (keylayouts): New module.
22416 * grub-core/bus/usb/ohci.c
22417 * grub-core/bus/usb/uhci.c
22418 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22419 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22420 (attach_root_port): Likewise.
22421 (poll_nonroot_hub): Likewise.
22422 (grub_usb_poll_devices): Likewise.
22423 (detach_device): Close transfer.
22424 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22425 function.
22426 (grub_usb_bulk_setup_readwrite): Likewise.
22427 (grub_usb_bulk_finish_readwrite): Likewise.
22428 * grub-core/commands/keylayouts.c: New file.
22429 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22430 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22431 aliases.
22432 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22433 support scancode 2.
22434 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22435 * include/grub/keyboard_layouts.h: New file.
22436 * util/grub-mklayout.c: New file.
22437 * util/grub-kbdcomp.in: Likewise.
22438
a1d84a5e
VS
224392010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22440
22441 Unify memory types.
22442
22443 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22444 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22445 types.
22446 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22447 (grub_upper_mem): Likewise.
22448 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22449 * include/grub/memory.h (grub_memory_type_t): New enum.
22450 All users updated.
22451
9696382e
VS
224522010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22453
22454 * grub-core/Makefile.core.def (lsapm): New module.
22455 * grub-core/commands/i386/pc/lsapm.c: New file.
22456 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22457 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22458 Likewise.
22459 * include/grub/i386/pc/apm.h: New file.
22460 * include/multiboot.h (multiboot_apm_info): New struct.
22461
224622010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22463
22464 GRUB-legacy configuration file support.
22465
22466 * Makefile.util.def (grub-menulst2cfg): New util.
22467 * docs/man/grub-menulst2cfg.h2m: New file.
22468 * grub-core/Makefile.core.def (legacycfg): New module.
22469 * grub-core/commands/legacycfg.c: New file.
22470 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22471 (grub_normal_add_menu_entry): ... this.
22472 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22473 (grub_normal_set_password): ...this.
22474 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22475 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22476 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22477 * grub-core/lib/legacy_parse.c: New file.
22478 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22479 * include/grub/i386/pc/vesa_modes_table.h: New file.
22480 * include/grub/legacy_parse.h: Likewise.
22481 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22482 * util/grub-menulst2cfg.c: New file.
22483
bf8d1338
CW
224842010-09-17 Colin Watson <cjwatson@ubuntu.com>
22485
22486 * grub-core/kern/emu/hostdisk.c
22487 (convert_system_partition_to_system_disk): Initialise node.
22488
9c0bad2e
CW
224892010-09-17 Colin Watson <cjwatson@ubuntu.com>
22490
22491 * grub-core/kern/emu/hostdisk.c
22492 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22493 leak.
22494 Reported and based on patch by: Modestas Vainius.
22495
a939d135
CW
224962010-09-17 Colin Watson <cjwatson@ubuntu.com>
22497
22498 Fix DM-RAID probing with recent versions of device-mapper udev
22499 rules.
22500
22501 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22502 canonicalise device paths under /dev/mapper/.
22503 (convert_system_partition_to_system_disk): Compare the
22504 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22505 path, since device nodes under /dev/mapper/ are often symlinks.
22506
0f7ee3c9
YB
225072010-09-17 Yves Blusseau <blusseau@zetam.org>
22508
22509 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22510
10854d0d
YB
225112010-09-16 Yves Blusseau <blusseau@zetam.org>
22512
22513 * configure.ac: Avoid some annoying error messages if freetype-config
22514 program is not found.
22515
108538d8
CW
225162010-09-16 Colin Watson <cjwatson@ubuntu.com>
22517
22518 Support RAID on virtio devices, and others.
22519
22520 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22521 Rename to ...
22522 [__MINGW32__] (grub_find_device): ... this.
22523 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22524 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22525 reasonable default if dir is NULL.
22526 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22527 ...
22528 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22529 (grub_guess_root_device): Update callers.
22530 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22531
22532 * util/raid.c (grub_util_getdiskname): Remove.
22533 (grub_util_raid_getmembers): Use grub_find_device rather than
22534 grub_util_getdiskname.
22535
e5bfc130
CW
225362010-09-16 Colin Watson <cjwatson@ubuntu.com>
22537
22538 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22539 needing to be compiled with serial support.
22540 (ls): Indicate that multiple files are accepted.
22541 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22542 indicate that multiple files are accepted.
22543
be458ae2
CW
225442010-09-16 Colin Watson <cjwatson@ubuntu.com>
22545
22546 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22547 libgrub_a_init.c, and util/bash-completion.d/grub.
22548
cb731b5e
VS
225492010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22550
22551 * util/grub-setup.c (setup): Fix incorrect container semantics.
22552
35139e8a
VS
225532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22554
22555 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22556 misusage.
22557 Reported by: J. Nick Terry
22558
e50fca4a
VS
225592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22560
22561 Move embedding routines to partmap sources files.
22562
22563 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22564 [GRUB_UTIL]: New variable.
22565 (gpt_partition_map_iterate): Set part.parent.
22566 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22567 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22568 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22569 New function.
22570 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22571 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22572 (grub_partition_map) [GRUB_UTIL]: New field embed.
22573 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22574 (setup): Use ->embed.
22575
f00478b7
VS
225762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22579 function.
22580 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22581 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22582
2b94e3ff
YB
225832010-09-15 Yves Blusseau <blusseau@zetam.org>
22584
22585 Add function to get completions from usage.
22586
22587 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22588 completions from usage. Use LC_ALL=C to get options properly.
22589
2e04a006
VS
225902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22591
22592 * grub-core/gnulib/basename-lgpl.c: Imported.
22593 * grub-core/gnulib/basename.c: Likewise.
22594 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22595 * grub-core/gnulib/dirname.c: Likewise.
22596 * grub-core/gnulib/dirname.h: Likewise.
22597 * grub-core/gnulib/stripslash.c: Likewise.
22598
5dcdf93a
VS
225992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22600
22601 * grub-core/gnulib/error.c: Resynced.
22602 * grub-core/gnulib/getopt.c: Likewise.
22603 * grub-core/gnulib/getopt_int.h: Likewise.
22604 * grub-core/gnulib/regex.h: Likewise.
22605 * grub-core/gnulib/regex_internal.c: Likewise.
22606 * grub-core/gnulib/regex_internal.h: Likewise.
22607
014f47b7
SJ
226082010-09-15 Szymon Janc <szymon@janc.net.pl>
22609
22610 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22611 CRC calculations and validity checks.
22612 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22613 calculations.
22614
dd521a4a
SJ
226152010-09-15 Szymon Janc <szymon@janc.net.pl>
22616
22617 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22618
79c4eeb9
VS
226192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22620
22621 Fix incorrect echo options handling.
22622 Reported by: Yves Blusseau.
22623
22624 * include/grub/command.h (grub_command_flags_t): New flags
22625 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22626 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22627 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22628
ed80f7d5
VS
226292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22632 users updated.
22633 (GRUB_COMMAND_FLAG_MENU): Likewise.
22634 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22635 (GRUB_COMMAND_FLAG_TITLE): Removed.
22636 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22637 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22638 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22639 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22640 (grub_command_flags_t): New enum. All users updated.
22641
5fe7620a
SG
226422010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22643
22644 Fix solaris compilation.
22645
22646 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22647 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22648 (grub-emu-list): Likewise.
22649
545b752f
VS
226502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 Remove deprecated root command.
22653
22654 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22655 updated.
22656
6c1a338c
VS
226572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 * util/i386/pc/grub-setup.c: Merge this ...
22660 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22661 * util/grub-setup.c: ... into this.
22662 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22663 New struct.
22664
226652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22668 possible.
22669
d2ea4551
VS
226702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22671
22672 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22673 allocate p.
22674
3c3b5040
VS
226752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22676
22677 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22678 explicit root argument to set to prevent UUID to be interpreted as
22679 argument to set.
22680
b71c3fae
VS
226812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22682
22683 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22684
275433e6
VS
226852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22686
22687 Don't export grub_gate_a20.
22688
22689 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22690 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22691 to ...
22692 (grub_gate_a20): ... this. All users updated.
22693 * include/grub/i386/pc/init.h: Removed. All users updated.
22694
a5dbb1f1
VS
226952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22696
22697 Create euro.pf2 which supports most European languages.
22698
22699 * Makefile.am (grubdata_DATA): Add euro.pf2.
22700 (euro.pf2): New target.
22701 (CLEANFILES): Add euro.pf2.
22702
62a747cb
VS
227032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 * configure.ac: Disable emu-usb by default to prevent inadvertent
22706 device takeover.
22707
608e43b1
VS
227082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22709
22710 Disable usbserial on grub-emu since our libusb code isn't good enough
22711 yet.
22712
22713 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22714 (usbserial_pl2303): Likewise.
22715 (usbserial_ftdi): Likewise.
22716
94564f81
VS
227172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22718
22719 * include/grub/disk.h (grub_disk): Remove has_partitions.
22720 All users updated.
22721 * disk/loopback.c (grub_loopback): Remove has_partitions.
22722 All users updated.
22723 (options): Remove partitions. All users updated.
22724 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22725 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22726 actual partition table is found.
22727
3352800b
VS
227282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 Remove readability checks (too many false negatives).
22731
22732 * util/grub-install.in: Remove readability checks.
22733 * util/grub-mkconfig.in: Likewise.
22734 * util/grub.d/10_hurd.in: Likewise.
22735 * util/grub.d/10_kfreebsd.in: Likewise.
22736 * util/grub.d/10_linux.in: Likewise.
22737 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22738 way.
22739
2419f17a
VS
227402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 Enable acpi shutdown on all ACPI platforms.
22743
22744 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22745 on coreboo, multiboot and EFI.
22746 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22747 (grub_acpi_halt): Likewise.
22748 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22749 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22750 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22751 * grub-core/lib/i386/halt.c (grub_halt)
22752 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22753
0575c7c3
VS
227542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22755
22756 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22757 context.
22758
54ac3cd1
VS
227592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22760
22761 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22762 * grub-core/video/efi_uga.c: Likewise.
22763
b2a30ac5
VS
227642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22765
22766 Filter devaliases and never open same device twice.
22767
22768 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22769 (last_ihandle): Likewise.
22770 (ofdisk_hash_ent): New member shortest.
22771 (ofdisk_hash_add): Add canonical path too.
22772 (scan): New function.
22773 (grub_ofdisk_iterate): Iterate over hashed entries.
22774 (compute_dev_path): Don't add :0.
22775 (grub_ofdisk_open): Don't really open the disk.
22776 (grub_ofdisk_close): Avoid closing unrelated disk.
22777 (grub_ofdisk_read): Implement reopen logic.
22778 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22779 New function.
22780 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22781 New proto.
22782
fb53b340
VS
227832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22784
22785 Fix sparc64.
22786
22787 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22788 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22789 right address. Add sparc64_ieee1275_ldflags.
22790 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22791 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22792 to grub_host_to_target_addr
22793 (load_image): Likewise.
22794
f452b040
VS
227952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22796
22797 * grub-core/normal/completion.c (complete_file): Handle device
22798 containing slash.
22799 Fix based on patch by Doug Nazar.
22800
9b5b2541
VS
228012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22802
22803 grub-mknetdir script.
22804
22805 * Makefile.util.def (grub-mknetdir): New module.
22806 * tests/util/grub-shell.in: Support boot=net
22807 * util/grub-mknetdir.in: New file.
22808
9d2be652
VS
228092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22810
22811 videoinfo on non-vbe.
22812
22813 * grub-core/Makefile.core.def (vbeinfo): Removed.
22814 (vbetest): Removed.
22815 (videoinfo): New module.
22816 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22817 * grub-core/commands/i386/pc/vbetest.c: Removed.
22818 * grub-core/commands/videoinfo.c: New file.
22819 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22820 specification.
22821 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22822 as vbetest.
22823 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22824 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22825 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22826 mode_number. New parameter mode. All users updated.
22827 (grub_video_gop_iterate): New function.
22828 (grub_video_efi_gop): New member iterate.
22829 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22830 (grub_vbe_set_video_mode): Remove setting useless fields.
22831 (vbe2videoinfo): New function.
22832 (grub_video_vbe_iterate): Likewise.
22833 (grub_video_vbe_setup): Use vbe2videoinfo.
22834 (grub_video_vbe_print_adapter_specific_info): New function.
22835 (grub_video_vbe_adapter): New fields iterate and
22836 print_adapter_specific_info.
22837 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22838 All users updated.
22839 (grub_video_mode_info): New field mode_number.
22840 (grub_video_adapter): New fields iterate and
22841 print_adapter_specific_info.
22842
179503f5
TG
228432010-09-13 Tristan Gingold <gingold@free.fr>
228442010-09-13 Robert Millan <rmh.grub@aybabtu.com>
228452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 * grub-core/commands/efi/lsefisystab.c: New file.
22848 * grub-core/commands/efi/lssal.c: Likewise.
22849 * grub-core/Makefile.core.def (lsacpi): New module.
22850 (lsefisystab): Likewise.
22851 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22852 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22853 (grub_efi_sal_system_table): New struct.
22854 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22855 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22856 (grub_efi_sal_system_table_platform_features): Likewise.
22857 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22858 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22859 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22860 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22861
cf9827de
VS
228622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 Support explicit user claim that a device is BIOS-visible.
22865
22866 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22867 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22868 * grub-core/kern/emu/hostdisk.c
22869 (convert_system_partition_to_system_disk): Support mdX.
22870 (find_system_device): New parameter add. All users updated.
22871 (grub_util_biosdisk_is_present): New function.
22872 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22873 proto.
22874
53f0eb1f
VS
228752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22876
22877 Search hints support.
22878
22879 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22880 All users updated.
22881
b23ffd70
YB
228822010-09-13 Yves Blusseau <blusseau@zetam.org>
22883
22884 Bash completion script for util commands
22885
22886 * Makefile.am: Add util/bash-completion.d directory
22887 * configure.ac: Likewise.
22888 * util/bash-completion.d/Makefile.am: New file.
22889 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22890
d547dc28
VS
228912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22892
22893 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22894 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22895 Reported by: Yves Blusseau.
22896
2fc8ccb9
VS
228972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22898
22899 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22900 partition size and offset.
22901
d8a84076
VS
229022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22903
22904 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22905
84fb3b3d
VS
229062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22907
22908 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22909
768ec2e2
VS
229102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22913 (grub_xvasprintf): Likewise.
22914
4870900f
VS
229152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22916
22917 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22918
faca6bec
VS
229192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22920
22921 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22922 args ending with NULL.
22923
229242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22925
22926 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22927 pointer.
22928
3c70f225
SJ
229292010-09-11 Szymon Janc <szymon@janc.net.pl>
22930
22931 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22932
4df7996d
VS
229332010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22934
22935 Shutdown using ACPI.
22936
22937 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22938 * grub-core/commands/acpihalt.c: New file.
22939 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22940 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22941 (grub_acpi_halt): New proto.
22942 (GRUB_ACPI_SLP_EN): New const.
22943 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22944 (GRUB_ACPI_OPCODE_*): New enum.
22945 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22946
126b4c32
TG
229472010-09-11 Tristan Gingold <gingold@free.fr>
229482010-09-11 Robert Millan <rmh.grub@aybabtu.com>
229492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22950
22951 * commands/lsacpi.c: New file.
22952 * grub-core/Makefile.core.def (lsacpi): New module.
22953 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22954 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22955 (grub_acpi_madt_entry_header): New struct.
22956 (grub_acpi_madt): Likewise.
22957 (grub_acpi_madt_entry_interrupt_override): Likewise.
22958 (grub_acpi_madt_entry_sapic): Likewise.
22959 (grub_acpi_madt_entry_lsapic): Likewise.
22960 (grub_acpi_madt_entry_platform_int_source): Likewise.
22961 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22962 (PRIuGRUB_UINT32_T): Likewise.
22963 (PRIxGRUB_UINT64_T): Likewise.
22964
1aa4fe88
VS
229652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22966
22967 Implement loading palette on ieee1275_fb.
22968
22969 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22970 (have_setcolors): Likewise.
22971 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22972 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22973 (grub_video_ieee1275_set_palette): Implement.
22974
25761e13
VS
229752010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
229762010-09-11 Colin Watson <cjwatson@ubuntu.com>
22977
22978 * util/grub-install.in (grub_partition): New variable.
22979 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22980 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22981 Fixes a bug reported by Yves Blusseau.
22982
050abaea
VS
229832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22984
22985 Fix emu on mipsel.
22986
22987 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22988 =grub_cpu_flush_cache on all mips and not only yeeloong.
22989 * configure.ac (COND_mips): New conditional.
22990 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22991 platforms.
22992 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22993 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22994 [GRUB_LINKER_HAVE_INIT]: New function.
22995 (grub_emu_post_init): Likewise.
22996 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22997 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22998 * include/grub/cache.h (_mips): Include mips/cache.h.
22999 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23000 LVM and RAID prototypes.
23001 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23002 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23003 function.
23004
5ed7d816
CW
230052010-09-10 Colin Watson <cjwatson@ubuntu.com>
23006
23007 * util/grub-install.in: Don't try to verify core.img until after
23008 running grub-mkimage to create it.
23009
90367e04
RM
230102010-09-10 Robert Millan <rmh@gnu.org>
23011
23012 * util/grub.d/10_hurd.in: Add misc readability checks.
23013 * util/grub.d/10_kfreebsd.in: Likewise.
23014 * util/grub.d/10_linux.in: Likewise.
23015
c452fa66
CW
230162010-09-10 Colin Watson <cjwatson@ubuntu.com>
23017
23018 * util/grub-install.in: ${imgext} won't be defined here until the
23019 install branch is merged. For the meantime, only verify core.img on
23020 i386-pc and sparc64-ieee1275 platforms.
23021
c38fe9f4
RM
230222010-09-10 Robert Millan <rmh@gnu.org>
23023
23024 Solaris support in grub_find_zpool_from_dir(). Thanks
23025 Seth Goldberg for referring to getextmntent() facility.
23026
23027 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23028 `sys/mkdev.h'.
23029 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23030 `<sys/mnttab.h>'.
23031 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23032 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23033 method for finding zpool name.
23034
905f7773
CW
230352010-09-10 Colin Watson <cjwatson@ubuntu.com>
23036
23037 grub-fstest needs the host and hostfs modules while other utilities
23038 actively require those modules to be absent, so grub-fstest needs
23039 its own initialisation and finalisation code.
23040
23041 * Makefile.am (grub_fstest.pp): New target.
23042 (grub_fstest_init.lst): Likewise.
23043 (grub_fstest_init.c): Likewise.
23044 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23045
fb90b546
RM
230462010-09-10 Robert Millan <rmh@gnu.org>
23047
23048 * configure.ac: Check for `struct statfs.f_fstypename' and
23049 `struct statfs.f_mntfromname'.
23050
23051 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
23052 kFreeBSD-specific code.
23053
66d4bea5
RM
230542010-09-10 Robert Millan <rmh@gnu.org>
23055
23056 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
23057 on ZFS. Now non-main filesystems are supported as / too.
23058
b6a690ee
CW
230592010-09-09 Colin Watson <cjwatson@ubuntu.com>
23060
23061 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23062 and grub-core/disk/host.c to ...
23063 (grub-fstest): ... here. Having the host disk implementation
23064 present confuses grub-probe and other utility programs.
23065
23066 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23067 when writing to a file, not when writing to stdout.
23068
8901b00c 230692010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23070
23071 * tests/partmap_test.in: New test for partitions.
23072 * Makefile.util.def: Rules for new test.
23073
7bf45fdd
RM
230742010-09-09 Robert Millan <rmh@gnu.org>
23075
23076 * util/grub-probe.c (probe): Fix a pair of unhandled error
23077 conditions.
23078
4dfbc574
RM
230792010-09-09 Robert Millan <rmh@gnu.org>
23080
23081 Basic Btrfs support (detection and UUID).
23082
23083 * grub-core/fs/btrfs.c: New file.
23084 * Makefile.util.def (library): Register btrfs.c.
23085 * grub-core/Makefile.core.def: Likewise.
23086
6b8e78ae
RM
230872010-09-08 Robert Millan <rmh@gnu.org>
23088
23089 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
23090 with (optional) parameters to specify device and relative path.
23091 * util/grub-install.in: Use is_path_readable_by_grub() to
23092 verify readability of a few critical files.
23093 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
23094 verify readability of grub.cfg.new.
23095
27f21a8b
VS
230962010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 Split minix.mod into minix.mod and minix2.mod.
23099
23100 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
23101 * grub-core/Makefile.core.def (minix2): New module.
23102 * grub-core/fs/minix.c: Use definitions instead of runtime version
23103 checking.
23104 * grub-core/fs/minix2.c: New file.
23105
c0e53ea5
YB
231062010-09-08 Yves Blusseau <blusseau@zetam.org>
23107
23108 Add new --boot-directory option to replace --root-directory
23109
23110 * util/grub-install.in: Add new --boot-directory option
23111 * util/grub-reboot.in: Likewise.
23112 * util/grub-set-default.in: Likewise.
23113
b9fe6ea2
YB
231142010-09-08 Yves Blusseau <blusseau@zetam.org>
23115
23116 * util/grub-mkconfig.in: Use new variable.
23117
d87aedff
YB
231182010-09-08 Yves Blusseau <blusseau@zetam.org>
23119
23120 * configure.ac: Define some useful variables.
23121
e55e8495
VS
231222010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23123
23124 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23125 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
23126 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
23127 Use terminfo and don't use cursor-on/cursor-off unless it's known
23128 to work.
23129 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
23130 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
23131
6fa6d675
CW
231322010-09-08 Colin Watson <cjwatson@ubuntu.com>
23133
23134 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
23135 starts with "(,", fill the drive containing the loaded image in
23136 between those two characters, but expect that a full partition
23137 specification including partition map names will follow.
23138
92f2aef0
RM
231392010-09-08 Robert Millan <rmh@gnu.org>
23140
23141 * configure.ac: Remove `--enable-grub-fstest' option.
23142 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
23143
23144 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
23145 `grub-fstest' instead of `grub-probe' for readability verification.
23146 * util/grub-probe.c (probe): Remove readability verification kludge.
23147
99fd620d
RM
231482010-09-08 Robert Millan <rmh@gnu.org>
23149
23150 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
23151 initializing `GRUB_FS'.
23152
058e30ac 231532010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
23154
23155 Not command (!) support to GRUB script.
23156
23157 * tests/grub_script_not.in: New test.
23158 * Makefile.util.def: Rules for new test.
23159
23160 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23161 ! command as a special case.
23162 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
23163
b61d05ed 231642010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23165
058e30ac 23166 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
23167 grub_free.
b61d05ed 23168
4d69c786 231692010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23170
23171 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23172
aa3119c4 231732010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23174
23175 * docs/grub.texi (Shell-like scripting): Documentation for break,
23176 continue, shift and return commands.
23177
db0f7e3d
VS
231782010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23179
23180 Rename CD-ROM to cd on BIOS.
23181
23182 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23183 "cd".
23184 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23185
88b87c93
VS
231862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23187
23188 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23189 * util/grub-probe.c (main): Likewise.
23190 * util/i386/pc/grub-setup.c (main): Likewise.
23191 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23192 Reported and debugged by: alexxy
23193
294f324d
VS
231942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23195
23196 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23197 diagnostic info.
23198
d7ee3441
JS
231992010-09-05 Jo Shields <directhex@apebox.org>
23200
23201 * util/grub.d/30_os-prober.in: Add missing classes.
23202
d7e06c1f
VS
232032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23204
23205 * docs/grub.texi (Theme file format): Document new position format.
23206
fc157e53
VS
232072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23208
23209 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23210 a table. Use @code instead of @verbatim.
23211
506e9a1c
CB
232122010-09-05 Colin D Bennett <colin@gibibit.com>
23213
23214 Gfxmenu documentation.
23215
23216 * docs/grub.texi (Theme file format): New chapter.
23217
f0aff67c
SJ
232182010-09-05 Szymon Janc <szymon@janc.net.pl>
23219
23220 * grub-core/Makefile.core.def (xzio): New module.
23221 * grub-core/io/xzio.c: New file.
23222 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23223 * grub-core/lib/xzembed/xz_config.h: Likewise.
23224 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23225 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23226 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23227 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23228 * grub-core/lib/xzembed/xz_private.h: Likewise.
23229 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23230 * include/grub/file.h (grub_file_filter_id): New compression filter
23231 GRUB_FILE_FILTER_XZIO.
23232
82a85062
VS
232332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23234
23235 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23236 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23237 size.
23238
3579415d
VS
232392010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23240
23241 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23242 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23243
5124ae6d
VS
232442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23245
23246 Uncompressed checksum support.
23247
23248 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23249 (check_list): New parameter uncompress.
23250 (grub_cmd_hashsum): Handle --uncompress.
23251
9aadb3d1
VS
232522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23253
23254 Reintroduce testload.
23255
23256 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23257 from here ...
23258 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23259 (GRUB_MOD_INIT): New function.
23260 (GRUB_MOD_FINI): Likewise.
23261 * grub-core/Makefile.core.def (testload): New module.
23262
a17792c3
SJ
232632010-09-05 Szymon Janc <szymon@janc.net.pl>
23264
23265 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23266 (uint8_t): New type.
23267 (uint16_t): Likewise.
23268 (uint32_t): Likewise.
23269 (uint64_t): Likewise.
23270
b81e40a3
SJ
232712010-09-05 Szymon Janc <szymon@janc.net.pl>
23272
23273 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23274
fc2ef117
VS
232752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23276
23277 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23278 Made static.
23279 (grub_gzfile_open): Removed. All users updated.
23280 (GRUB_MOD_INIT): New function.
23281 (GRUB_MOD_FINI): Likewise.
23282 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23283 (grub_file_filters_enabled): Likewise.
23284 (grub_file_open): Handle filters.
23285 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23286 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23287 * include/grub/file.h (grub_file_filter_id_t): New type.
23288 (grub_file_filter_t): Likewise.
23289 (grub_file_filters_all): New extern variable.
23290 (grub_file_filters_enabled): Likewise.
23291 (grub_file_filter_register): New inline function.
23292 (grub_file_filter_unregister): Likewise.
23293 (grub_file_filter_disable): Likewise.
23294 (grub_file_filter_disable_compression): Likewise.
23295 * include/grub/gzio.h: Removed.
23296
35ee15e0
BC
232972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23298
23299 Filename expansion support for wildcards in GRUB script.
23300
23301 * tests/grub_script_expansion.in: New test.
23302 * Makefile.util.def: Rule for new test.
23303
23304 * grub-core/commands/wildcard.c: New file, implements filename
23305 expansion support for GRUB script.
23306 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23307 * grub-core/script/argv.c: Cosmetic changes.
23308 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23309 Refactored to perform wildcard expansion on arguments.
23310 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23311 struct.
23312
23313 * tests/util/grub-shell.in: Fix quoting for read input.
23314
5f0c4aca
BC
233152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23316
23317 Support for updating environment variables with matched substrings
23318 of regexp.
23319
23320 * tests/grub_cmd_regexp.in: New test.
23321 * Makefile.util.def: Rule for new test.
23322
23323 * grub-core/commands/regexp.c: New option -s to update environment
23324 variables with regexp matches.
23325
3759a35f
SJ
233262010-09-04 Szymon Janc <szymon@janc.net.pl>
23327
23328 * include/grub/file.h (grub_file): New member not_easly_seekable.
23329 (grub_file_seekable): New inline function.
23330 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23331 easily seekable.
23332 (grub_gzio_open): Set not_easly_seekable.
23333 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23334 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23335
ed8c6dec
BC
233362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23337
23338 Support for options to appear multiple times on cmdline.
23339
23340 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23341 * grub-core/commands/extcmd.c: Support for repeatable option.
23342 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23343 repeatable option support.
23344
23345 Refactor menuentry into a regular command.
23346
23347 * grub-core/commands/menuentry.c: New file, menuentry command
23348 implementation.
23349 * grub-core/Makefile.core.def: Rule update for normal.mod.
23350 * grub-core/normal/main.c: Moved menuentry creation to
23351 grub-core/commands/menuentry.c.
23352 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23353 (grub_menu_execute_entry_real): Removed.
23354 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23355 function.
23356 (grub_script_execute_menuentry): Removed.
23357 * grub-core/script/parser.y (menuentry): Removed.
23358 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23359 * grub-core/script/yylex.l (menuentry): Removed.
23360 * include/grub/menu.h (grub_menu_init): New prototype.
23361 (grub_menu_fini): New prototype.
23362 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23363 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23364 (grub_script_execute_sourcecode): New prototype.
23365
dacd0cf0
BC
233662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23367
23368 "return" command for GRUB script functions.
23369
23370 * tests/grub_script_return.in: New test.
23371 * Makefile.util.def: Rules for new test.
23372
23373 * grub-core/script/execute.c (grub_script_return): New function.
23374 * grub-core/script/main.c: Register/unregister return commaond.
23375 * include/grub/script_sh.h (grub_script_return): New prototype.
23376
52e72f9d
BC
233772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23378
23379 "setparams" command to update positional parameters.
23380
23381 * tests/grub_script_setparams.in: New test.
23382 * Makefile.util.def: Rules for new test.
23383
23384 * grub-core/script/argv.c (grub_script_argv_make): New function.
23385 * grub-core/script/execute.c (replace_scope): New function.
23386 (grub_script_setparams): New function.
23387 * grub-core/script/lexer.c: Remove unused variables.
23388 * grub-core/script/main.c: Register/unregister setparams command.
23389 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23390 (grub_script_setparams): New prototype.
23391
25b60c91
BC
233922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23393
23394 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23395 grub_free order.
23396
37e7bf68
BC
233972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23398
23399 Support for passing block of commands as an argument to extcmds.
23400
23401 * Makefile.util.def: Rules for new test.
23402 * tests/grub_script_blockarg.in: New test.
23403 * grub-core/tests/test_blockarg.c: New file, block argument
23404 command used in the test.
23405
23406 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23407 (grub_register_extcmd_prio): New function prototype.
23408 (grub_extcmd_dispatcher): New function prototype.
23409 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23410 type.
23411 * include/grub/script_sh.h (struct grub_script): New members
23412 `children', `next_siblings' and `refcnt' for block arguments and
23413 reference counting.
23414 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23415 (grub_script_arg): New member `script' for block argument.
23416 (grub_script_argv): New member `script' for block argument.
23417 (grub_parser_param): New member `scripts' for block argument.
23418 (grub_script_mem_free): New extern function prototype.
23419 (grub_script_ref): New function prototype.
23420 (grub_script_unref): New function prototype.
23421
23422 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23423 extcmd form to support block arguments.
23424 * grub-core/script/argv.c: Block arguments support.
23425 * grub-core/script/execute.c: Likewise.
23426 * grub-core/script/lexer.c: Likewise.
23427 * grub-core/script/main.c: Likewise.
23428 * grub-core/script/script.c: Likewise.
23429 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23430 non-terminals.
23431
23432 * grub-core/commands/acpi.c: Update extcmd implementations with
23433 grub_extcmd_context_t.
23434 * grub-core/commands/cat.c: Likewise.
23435 * grub-core/commands/echo.c: Likewise.
23436 * grub-core/commands/extcmd.c: Likewise.
23437 * grub-core/commands/hashsum.c: Likewise.
23438 * grub-core/commands/hdparm.c: Likewise.
23439 * grub-core/commands/help.c: Likewise.
23440 * grub-core/commands/hexdump.c: Likewise.
23441 * grub-core/commands/i386/cpuid.c: Likewise.
23442 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23443 * grub-core/commands/i386/pc/halt.c: Likewise.
23444 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23445 * grub-core/commands/iorw.c: Likewise.
23446 * grub-core/commands/keystatus.c: Likewise.
23447 * grub-core/commands/loadenv.c: Likewise.
23448 * grub-core/commands/ls.c: Likewise.
23449 * grub-core/commands/lspci.c: Likewise.
23450 * grub-core/commands/memrw.c: Likewise.
23451 * grub-core/commands/probe.c: Likewise.
23452 * grub-core/commands/search_wrap.c: Likewise.
23453 * grub-core/commands/setpci.c: Likewise.
23454 * grub-core/commands/sleep.c: Likewise.
23455 * grub-core/disk/loopback.c: Likewise.
23456 * grub-core/hello/hello.c: Likewise.
23457 * grub-core/loader/i386/bsd.c: Likewise.
23458 * grub-core/loader/xnu.c: Likewise.
23459 * grub-core/term/gfxterm.c: Likewise.
23460 * grub-core/term/serial.c: Likewise.
23461 * grub-core/tests/lib/functional_test.c: Likewise.
23462
888d1500
BC
234632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23464
23465 Multi-line quoted strings support.
23466
23467 * grub-core/script/lexer.c (append_newline): Removed.
23468 (grub_script_lexer_yywrap): Refactored.
23469 (grub_script_lexer_init): Refactored.
23470 * grub-core/script/yylex.l (yywrap): New function.
23471 (grub_lexer_resplit): New function.
23472 (grub_lexer_unput): New function.
23473 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23474 and resplit.
23475 * tests/grub_script_echo1.in: Added few more testcases.
23476
dda060dd
VS
234772010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23478
23479 * grub-core/kern/misc.c: Don't add abort alias in utils.
23480 Reported by: echoline.
23481
6556eba9
BC
234822010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23483
23484 Add missing files into "make dist" tarball for other platforms.
23485
23486 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23487 * conf/Makefile.common (dist_noinst_DATA): New variable.
23488 * conf/Makefile.extra-dist: Added missing make dist files.
23489 * grub-core/Makefile.core.def: Likewise.
23490
c8e7bf5f
VS
234912010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 Compress grub_prefix.
23494
23495 * grub-core/boot/i386/pc/lnxboot.S: Use
23496 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23497 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23498 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23499 GRUB_MACHINE_PREFIX_END. All users updated.
23500 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23501 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23502 + 0x40.
23503 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23504 * util/grub-mkimage.c (image_target_desc): Change data_end to
23505 prefix_end. All users updated.
23506
a7c00cdb
VS
235072010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23510 value.
23511 (grub_openbsd_boot): Likewise.
23512 (grub_netbsd_boot): Likewise.
23513 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23514 (grub_xnu_boot): Likewise.
23515
9f915872
VS
235162010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23517
23518 * configure.ac: Clean LIBS variable after tests.
23519
efa1bee7
CW
235202010-09-02 Colin Watson <cjwatson@ubuntu.com>
23521
23522 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23523
61d720e5
VS
235242010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23525
23526 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23527 echo if libdevmapper will be used.
23528
ef8e0ec8
IT
235292010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23530
23531 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23532 constant for the same file.
23533
03e261d8
VS
235342010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23535
23536 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23537
c2a4eba6
CW
235382010-09-02 Colin Watson <cjwatson@ubuntu.com>
23539
23540 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23541 grub-core/*.pp.
23542
9056cbf3
CW
235432010-09-02 Colin Watson <cjwatson@ubuntu.com>
23544
23545 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23546 required by the boot protocol.
23547
23548 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23549 ebp and edi members.
23550 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23551 state.ebp and state.edi.
23552 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23553 %ebp and %edi according to grub_relocator32_ebp and
23554 grub_relocator32_edi respectively.
23555 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23556 and state.edi.
23557
529cc99a
VS
235582010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23559
23560 Add i386-pc-pxe image target.
23561
23562 * util/grub-mkimage.c (image_target_desc): New enum value
23563 IMAGE_I386_PC_PXE.
23564 (image_targets): New target i386-pc-pxe.
23565 (generate_image): Handle i386-pc-pxe image.
23566
9a093920
VS
235672010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23568
23569 Fix grub_pxe_scan.
23570
23571 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23572 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23573 All users updated.
23574 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23575 (grub_pxe_pxenv): Correct type.
23576
f9cefc4e
CW
235772010-09-01 Colin Watson <cjwatson@ubuntu.com>
23578
23579 * NEWS: Document most of the important changes since 1.98.
23580
4066f57f
CW
235812010-09-01 Colin Watson <cjwatson@ubuntu.com>
23582
23583 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23584 generated manual page) a little.
23585
da2891f9
CW
235862010-09-01 Colin Watson <cjwatson@ubuntu.com>
23587
23588 * docs/grub.texi: Add myself as an author.
23589
ad717fae
VS
235902010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23591
23592 * Makefile.util.def (libgrub.a): Add missing sunpc.
23593 Reported by: Seth Goldberg.
23594
eefe8abd
VS
235952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23596
23597 Interrupt wrapping and code simplifications.
23598
9494ef9a
VS
23599 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23600 x86_noieee1275 which are functionaly equivalent in this case.
23601 (grub-install): Make source on each platform explicit. Enable on
23602 all noemu.
23603 * gentpl.py (x86_efi_pc): Removed group.
23604 (x86_noefi): Likewise.
23605 (i386_noefi): Likewise.
23606 (x86_noieee1275): Likewise.
23607 (i386_noieee1275): Likewise.
23608 (i386_noefi_noieee1275): Likewise.
23609 (i386_pc_qemu_coreboot): Likewise.
23610 (i386_coreboot_multiboot): Likewise.
23611 (i386_pc_coreboot_multiboot_qemu): Likewise.
23612 (x86_noefi_mips): Likewise.
23613 (noieee1275): Likewise.
23614 (ieee1275_mips): Likewise.
23615 (noemu_noieee1275): Likewise.
23616 (cmos): New group.
23617 (usb): Likewise.
23618 (videoinkernel): Likewise.
23619 (videomodules): Likewise.
eefe8abd 23620 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23621 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23622 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23623 include/grub/loader.h, include/grub/msdos_partition.h,
23624 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23625 include/grub/machine/console.h, include/grub/machine/vga.h,
23626 include/grub/machine/vbe.h, include/grub/machine/init.h,
23627 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23628 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23629 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23630 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23631 * grub-core/Makefile.core.def (kernel): Explicit the source for
23632 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23633 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23634 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23635 Use videoinkernel tag.
23636 (usb): Enable on all usb.
23637 (usbserial_common): Likewise.
23638 (usbserial_pl2303): Likewise.
23639 (usbserial_ftdi): Likewise.
23640 (uhci): Enable on all x86.
23641 (ohci): Enable on all pci.
23642 (cmostest): Enable on all CMOS.
23643 (acpi): Include commands/acpi.c on all platforms.
23644 (halt): Add relevant lib/*/halt.c.
23645 (hdparm): Enable on all pci.
23646 (lspci): Likewise.
23647 (usbtest): Enable on all usb.
23648 (ata): Enable on all pci.
23649 (ata_pthru): Likewise.
23650 (usbms): Enable on all usb.
23651 (usb_keyboard): Likewise.
23652 (font): Use tag videomodules.
23653 (bufio): Likewise.
23654 (datetime): Use tag cmos. Enable on all noemu.
23655 (mmap): Use tags common and x86.
23656 (gfxterm): Use tag videomodules.
23657 (bitmap): Likewise.
23658 (bitmap_scale): Likewise.
23659 (video_fb): Likewise.
23660 (video): Likewise.
23661 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23662 adjust padding accordingly. All users updated.
23663 (grub_ohci_transaction): Fix bad format specification.
23664 (GRUB_MOD_INIT): Add asserts for struct size.
23665 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23666 (grub_alloc_td): Likewise.
23667 (grub_free_queue): Likewise.
23668 (grub_uhci_transfer): Likewise.
23669 (grub_uhci_transaction): Fix bad format specification.
23670 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23671 (grub_usb_bulk_readwrite): Likewise.
23672 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23673 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23674 Made static.
23675 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23676 Made static.
23677 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23678 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23679 Transformed into C.
23680 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23681 Moved from here ...
23682 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23683 ... here. Transformed into C. Made static.
23684 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23685 Moved from here ...
23686 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23687 ... here. Transformed into C. Made static.
23688 * grub-core/kern/i386/pc/startup.S
23689 (grub_biosdisk_check_int13_extensions): Moved from here ...
23690 * grub-core/disk/i386/pc/biosdisk.c
23691 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23692 Made static.
23693 * grub-core/kern/i386/pc/startup.S
23694 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23695 * grub-core/disk/i386/pc/biosdisk.c
23696 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23697 Transformed into C. Made static.
23698 * grub-core/kern/i386/pc/startup.S
23699 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23700 * grub-core/disk/i386/pc/biosdisk.c
23701 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23702 Transformed into C. Made static.
23703 * grub-core/kern/i386/pc/startup.S
23704 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23705 * grub-core/disk/i386/pc/biosdisk.c
23706 (grub_biosdisk_get_diskinfo_standard): ... here.
23707 Transformed into C. Made static.
23708 * grub-core/kern/i386/pc/startup.S
23709 (grub_biosdisk_get_num_floppies): Moved from here ...
23710 * grub-core/disk/i386/pc/biosdisk.c
23711 (grub_biosdisk_get_num_floppies): ... here.
23712 Transformed into C. Made static.
23713 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23714 New function.
23715 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23716 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23717 Transformed into C. Made static.
23718 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23719 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23720 Transformed into C. Made static.
23721 * grub-core/kern/i386/ieee1275/init.c: Removed.
23722 * grub-core/kern/i386/misc.S: Likewise.
23723 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23724 Splitted from here ...
23725 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23726 Transformed into C. Made static. All users updated.
23727 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23728 Transformed into C. Made static. All users updated.
23729 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23730 Moved from here...
23731 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23732 Transformed into C. Made static. All users updated.
23733 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23734 Moved from here...
23735 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23736 Transformed into C. Made static. All users updated.
23737 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23738 Removed (replaced by C version).
23739 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23740 Moved from here...
23741 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23742 Transformed into C. Made static.
23743 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23744 Moved from here...
23745 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23746 ... here. Transformed into C.
23747 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23748 Moved from here...
23749 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23750 ... here. Transformed into C.
23751 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23752 Moved from here...
23753 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23754 ... here. Transformed into C. Made static.
23755 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23756 Moved from here...
23757 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23758 ... here. Transformed into C.
21ed554b
VS
23759 * grub-core/kern/i386/pc/startup.S
23760 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23761 * grub-core/video/i386/pc/vbe.c
23762 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
23763 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23764 Moved from here...
23765 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23766 ... here. Transformed into C.
23767 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23768 Moved from here...
23769 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23770 ... here. Transformed into C.
23771 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23772 Moved from here...
23773 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23774 ... here. Transformed into C.
23775 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23776 Moved from here...
23777 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23778 ... here. Transformed into C.
23779 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23780 Moved from here...
23781 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23782 ... here. Transformed into C. Made static.
23783 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23784 Moved from here...
23785 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23786 ... here. Transformed into C. Made static.
23787 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23788 Moved from here...
23789 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23790 ... here. Transformed into C. Made static.
23791 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23792 pxe_rm_entry as third argument.
23793 (grub_bios_interrupt): New function.
23794 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23795 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23796 of calling grub_stop.
23797 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23798 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23799 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23800 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23801 * grub-core/lib/i386/halt.c: Moved from here ...
23802 * grub-core/lib/i386/halt.c: ... here.
23803 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23804 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23805 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23806 grub_stop_floppy.
23807 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23808 * include/grub/i386/coreboot/init.h: Removed.
23809 * include/grub/i386/multiboot/init.h: Likewise.
23810 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23811 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23812 * include/grub/i386/pc/int.h: New file.
23813 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23814 (grub_pxe_scan): Removed.
23815 (grub_pxe_call): Update prototype.
23816 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23817 prototypes.
23818 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23819 * include/grub/i386/qemu/init.h: Removed.
23820 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23821 noreturn.
23822 (grub_halt): Likewise.
23823 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23824 (grub_reboot): Likewise.
23825 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23826 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23827 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23828
215dd471
RM
238292010-08-30 Robert Millan <rmh@gnu.org>
23830
23831 * NEWS: Document addition of ZFS support in `grub-install' and
23832 `grub-mkconfig'.
23833
ebd65b82
BC
238342010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23835
23836 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23837 dprintf output.
23838
11721d19
VS
238392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23840
23841 Remove leftover embedding of font objects.
23842
23843 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23844 * util/grub-install.in (font): Removed.
23845 * util/grub-mkimage.c (generate_image): Remove font support. All users
23846 updated.
23847
37837d4e
VS
238482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23849
23850 Remove leftover embedding of font objects.
23851
23852 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23853 * util/grub-install.in (font): Removed.
23854 * util/grub-mkimage.c (generate_image): Remove font support. All users
23855 updated.
23856
b4c1aae0
VS
238572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23858
23859 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23860 Reported by: Ian Turner
b4c1aae0 23861
8920a08d
VS
238622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23865 timeout to avoid indefinite boot stalling.
23866
f21db033
VS
238672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23868
23869 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23870 (grub_env_write_color_highlight): Likewise.
23871
9a9de209
VS
238722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23873
23874 * grub-core/normal/term.c (print_more): Return to normal and not
23875 to standard state after printing "---MORE---".
23876
3dca01d7
VS
238772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23878
23879 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23880 Mask out the bit 0x80 since it has other meaning that specifiing color.
23881
0b986c40
VS
238822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23883
23884 New relocator. Allows for more kernel support and more straightforward
23885 loader writing.
23886
23887 * Makefile.am (BOOTTARGET): New variable.
23888 (QEMU32): Likewise.
23889 (linux.init.x86_64): New target.
23890 (linux.init.i386): Likewise.
23891 (multiboot.elf): Likewise.
23892 (kfreebsd.elf): Likewise.
23893 (kfreebsd.aout): Likewise.
23894 (pc-chainloader.elf): Likewise.
23895 (pc-chainloader.bin): Likewise.
23896 (ntldr.elf): Likewise.
23897 (ntldr.bin): Likewise.
23898 (multiboot2.elf): Likewise.
23899 (kfreebsd.init.x86_64): Likewise.
23900 (kfreebsd.init.i386): Likewise.
23901 (knetbsd.init.i386): Likewise.
23902 (kopenbsd.init.i386): Likewise.
23903 (knetbsd.init.x86_64): Likewise.
23904 (kopenbsd.init.x86_64): Likewise.
23905 (linux-initramfs.i386): Likewise.
23906 (linux-initramfs.x86_64): Likewise.
23907 (kfreebsd-mfsroot.i386.img): Likewise.
23908 (knetbsd.image.i386): Likewise.
23909 (kopenbsd.image.i386): Likewise.
23910 (kopenbsd.image.x86_64): Likewise.
23911 (knetbsd.miniroot-image.i386.img): Likewise.
23912 (kfreebsd-mfsroot.x86_64.img): Likewise.
23913 (knetbsd.image.x86_64): Likewise.
23914 (knetbsd.miniroot-image.x86_64.img): Likewise.
23915 (kfreebsd-mfsroot.i386.gz): Likewise.
23916 (bootcheck-kfreebsd-i386): Likewise.
23917 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23918 (bootcheck-kfreebsd-x86_64): Likewise.
23919 (knetbsd.miniroot-image.i386.gz): Likewise.
23920 (bootcheck-knetbsd-i386): Likewise.
23921 (bootcheck-kopenbsd-i386): Likewise.
23922 (bootcheck-kopenbsd-x86_64): Likewise.
23923 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23924 (bootcheck-knetbsd-x86_64): Likewise.
23925 (bootcheck-linux-i386): Likewise.
23926 (bootcheck-linux-x86_64): Likewise.
23927 (bootcheck-linux16-i386): Likewise.
23928 (bootcheck-linux16-x86_64): Likewise.
23929 (bootcheck-multiboot): Likewise.
23930 (bootcheck-multiboot2): Likewise.
23931 (bootcheck-kfreebsd-aout): Likewise.
23932 (bootcheck-pc-chainloader): Likewise.
23933 (bootcheck-ntldr): Likewise.
23934 (CLEANFILES): Add new targets.
23935 (BOOTCHECKS): New variable.
23936 (.PHONY): Add bootchecks.
23937 (SUCCESSFUL_BOOT_STRING): New variable.
23938 (BOOTCHECK_TIMEOUT): Likewise.
23939 (bootcheck): New target
23940 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23941 * configure.ac: Correct efiemu excuse.
23942 * docs/grub.texi (Supported kernels): New chapter.
23943 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23944 include/grub/mm_private.h. Simplify inclusion of
23945 include/grub/boot.h, include/grub/loader.h
23946 and include/grub/msdos_partition.h
23947 (KERNEL_HEADER_FILES) [i386_coreboot]:
23948 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23949 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23950 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23951 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23952 include/grub/machine/loader.h.
23953 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23954 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23955 extra_dist.
23956 (pci.mod): Enable on i386-multiboot.
23957 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23958 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23959 i386-qemu.
23960 (relocator.mod): Rewritten.
23961 (aout.mod): Enable on all x86.
23962 (bsd.mod): Likewise.
23963 (ntldr.mod): New module.
23964 (linux.mod): Use loader/i386/linux.c on all x86.
23965 (xnu.mod): Enable on all x86.
23966 (vga_text.mod): disable on EFI and QEMU.
23967 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23968 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23969 * grub-core/efiemu/loadcore.c: Likewise.
23970 * grub-core/efiemu/main.c: Likewise.
23971 (grub_efiemu_exit_boot_services): Removed.
23972 (grub_efiemu_finish_boot_services): Likewise.
23973 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23974 function.
23975 * grub-core/efiemu/i386/nocfgtables.c: New file.
23976 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23977 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23978 (grub_efi_finish_boot_services): Moved from here ...
23979 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23980 Fille finish memory map and related data.
23981 (finish_mmap_buf): New variable.
23982 (grub_efi_uintn_t finish_mmap_size): Likewise.
23983 (grub_efi_uintn_t finish_key): Likewise.
23984 (grub_efi_uintn_t finish_desc_size): Likewise.
23985 (grub_efi_uint32_t finish_desc_version): Likewise.
23986 (grub_efi_is_finished): Likewise.
23987 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23988 finished.
23989 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23990 (grub_elf64_phdr_iterate): Likewise.
23991 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23992 (grub_os_area_size): Likewise.
23993 (grub_machine_init): Don't reserve os area.
23994 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23995 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23996 * grub-core/kern/i386/loader.S: Removed.
23997 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23998 (grub_os_area_size): Likewise.
23999 (grub_machine_init): Don't reserve os area.
24000 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24001 Don't call grub_dl_unload_all.
24002 Don't include loader.S.
24003 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24004 Declare the memory after _end as available.
24005 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 24006 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 24007 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
24008 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24009 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24010 * include/grub/mm_private.h (grub_mm_header): ... here.
24011 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24012 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
24013 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24014 (grub_mm_region): ..here. Removed addr. Added pre_size.
24015 All users updated.
24016 * grub-core/kern/mm.c (base): Renamed to ...
24017 (grub_mm_base): ... this. Made global.
24018 (grub_real_malloc): Alloc from end of region.
24019 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24020 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24021 * grub-core/kern/powerpc/cache_flush.S: ... here.
24022 * grub-core/lib/efi/relocator.c: New file.
24023 * grub-core/lib/i386/relocator.c: Rewritten.
24024 * grub-core/lib/i386/relocator16.S: New file.
24025 * grub-core/lib/i386/relocator32.S: Likewise.
24026 * grub-core/lib/i386/relocator64.S: Likewise.
24027 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24028 * grub-core/lib/i386/relocator_common.S: New file.
24029 * grub-core/lib/ieee1275/relocator.c: Likewise.
24030 * grub-core/lib/mips/relocator.c: Rewritten.
24031 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24032 stylistic adjustments.
24033 * grub-core/lib/powerpc/relocator.c: New file.
24034 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24035 * grub-core/lib/relocator.c: Rewritten.
24036 * grub-core/lib/x86_64/relocator_asm.S: New file.
24037 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24038 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24039 (bsd_tag): New struct.
24040 (tags): New variable.
24041 (tags_last): Likewise.
24042 (netbsd_module): New struct.
24043 (netbsd_mods): New variable.
24044 (netbsd_mods_last): Likewise.
24045 (openbsd_opts): New parameter "serial".
24046 (OPENBSD_SERIAL_ARG): New definition.
24047 (netbsd_opts): New parameter "serial".
24048 (NETBSD_SERIAL_ARG): New definition.
24049 (grub_freebsd_add_meta): Reorganised into ...
24050 (grub_bsd_add_meta): ...this. All users updated.
24051 (grub_freebsd_add_mmap): Reorganised into ...
24052 (generate_e820_mmap): ...this...
24053 (grub_bsd_add_mmap): ...and this. All users updated.
24054 (grub_freebsd_list_modules): Use tags.
24055 (grub_netbsd_add_meta_module): New function.
24056 (grub_netbsd_list_modules): Likewise.
24057 (grub_freebsd_boot): Use relocator and finish EFI.
24058 (grub_openbsd_boot): Likewise.
24059 (grub_netbsd_setup_video): New function.
24060 (grub_netbsd_add_modules): Likewise.
24061 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24062 and finish EFI.
24063 (grub_bsd_unload): Unload tags.
24064 (grub_bsd_load_aout): Use relocator.
24065 (grub_bsd_elf32_size_hook): New function.
24066 (grub_bsd_elf32_hook): Use relocator.
24067 (grub_bsd_elf64_size_hook): New function.
24068 (grub_bsd_elf64_hook): Use relocator.
24069 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24070 (grub_bsd_load): Zero-out openbsd_ramdisk.
24071 (grub_bsd_load): Use relocator.
24072 (grub_cmd_openbsd): Support serial.
24073 (grub_cmd_netbsd): Support modules.
24074 (grub_cmd_freebsd_module): Use relocator.
24075 (grub_netbsd_module_load): New function.
24076 (grub_cmd_netbsd_module): Likewise.
24077 (grub_cmd_openbsd_ramdisk): Likewise.
24078 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24079 kopenbsd_ramdisk.
24080 (GRUB_MOD_FINI): Unregister new commands.
24081 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24082 (grub_freebsd_load_elfmodule_obj): Use relocator.
24083 (grub_freebsd_load_elfmodule): Likewise.
24084 (grub_freebsd_load_elf_meta): Likewise.
24085 (grub_netbsd_load_elf_meta): New function.
24086 (grub_openbsd_find_ramdisk): Likewise.
24087 * grub-core/loader/i386/bsd_helper.S: Removed.
24088 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
24089 * grub-core/loader/i386/bsd_trampoline.S: Removed.
24090 * grub-core/loader/i386/efi/linux.c: Likewise.
24091 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
24092 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
24093 (DEFAULT_VIDEO_MODE): Likewise.
24094 (real_mode_target): New variable.
24095 (prot_mode_target): Likewise.
24096 (initrd_mem_target): Likewise.
24097 (relocator): Likewise.
24098 (efi_mmap_buf): Likewise.
24099 (efi_mmap_size): Likewise.
24100 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
24101 (free_pages): Use relocator.
24102 (allocate_pages): Account for efi_mmap and use relocator. Return error.
24103 (grub_linux_setup_video): Return error.
24104 (grub_linux_trampoline_start): Removed.
24105 (grub_linux_trampoline_end): Likewise.
24106 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
24107 andd video parameters depending on firmware.
24108 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
24109 [GRUB_MACHINE_EFI]: Pass EFI parameters.
24110 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
24111 (grub_cmd_initrd): Use relocator.
24112 * grub-core/loader/i386/linux_trampoline.S: Removed.
24113 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
24114 (elf_sec_entsize): Likewise.
24115 (elf_sec_shstrndx): Likewise.
24116 (elf_sections): Likewise.
24117 (grub_multiboot_load): Use relocator.
24118 (grub_multiboot_get_mbi_size): Account for sections.
24119 (grub_multiboot_make_mbi): Use relocator and support sections.
24120 (grub_multiboot_add_elfsyms): New function.
24121 (grub_multiboot_free_mbi): Free sections.
24122 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
24123 (grub_linux_real_target): Likewise.
24124 (grub_linux_real_chunk): Likewise.
24125 (grub_linux16_prot_size): Likewise.
24126 (grub_linux16_boot): Use relocator.
24127 (grub_linux_unload): Unload relocator.
24128 (grub_cmd_linux): Use relocator.
24129 (grub_cmd_initrd): Likewise.
24130 * grub-core/loader/i386/pc/ntldr.c: New file.
24131 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
24132 Don't try to guess CPU frequency.
24133 (grub_xnu_set_video): Stretch bitmap.
24134 (grub_xnu_boot): Use relocator.
24135 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
24136 (grub_linux_unload): Free relocator.
24137 (grub_linux_load32): Use relocator.
24138 (grub_linux_load64): Likewise.
24139 (grub_cmd_initrd): Likewise.
24140 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
24141 (grub_multiboot_unload): Unload relocator.
24142 (grub_cmd_multiboot): Use relocator.
24143 (grub_cmd_module): Likewise.
24144 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
24145 Use relocator and support sections.
24146 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
24147 (elf_sec_entsize): Likewise.
24148 (elf_sec_shstrndx): Likewise.
24149 (elf_sections): Likewise.
24150 (grub_multiboot_load): Use relocator.
24151 (grub_multiboot_get_mbi_size): Account for sections.
24152 (grub_multiboot_make_mbi): Use relocator and support sections.
24153 (grub_multiboot_add_elfsyms): New function.
24154 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
24155 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
24156 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
24157 Prototype changed. All users updated.
24158 (grub_xnu_align_heap): Simplified.
24159 (grub_xnu_writetree_toheap): Likewise.
24160 (grub_xnu_unload): Unload relocator.
24161 (grub_cmd_xnu_kernel): Use relocator.
24162 (grub_cmd_xnu_kernel64): Likewise.
24163 (grub_xnu_register_memory): Simplified.
24164 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
24165 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
24166 EFI is finished.
24167 (grub_console_checkkey): Likewise.
24168 (grub_console_getkey): Likewise.
24169 (grub_console_getwh): Likewise.
24170 (grub_console_getxy): Likewise.
24171 (grub_console_gotoxy): Likewise.
24172 (grub_console_cls): Likewise.
24173 (grub_console_setcolorstate): Likewise.
24174 (grub_console_setcursor): Likewise.
24175 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24176 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24177 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24178 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24179 * grub-core/tests/boot/kernel-8086.S: Likewise.
24180 * grub-core/tests/boot/kernel-i386.S: Likewise.
24181 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24182 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24183 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24184 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24185 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24186 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24187 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24188 * grub-core/tests/boot/linux.cfg: Likewise.
24189 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24190 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24191 * grub-core/tests/boot/linux16.cfg: Likewise.
24192 * grub-core/tests/boot/multiboot.cfg: Likewise.
24193 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24194 * grub-core/tests/boot/ntldr.cfg: Likewise.
24195 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24196 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24197 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24198 New definition.
24199 * include/grub/dl.h (grub_dl_unload_all): Removed.
24200 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24201 (grub_efi_finish_boot_services): Change prototype.
24202 (grub_efi_is_finished): New variable.
24203 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24204 Changed prototype.
24205 (grub_efiemu_finish_boot_services): Removed.
24206 (grub_machine_efiemu_init_tables): New prototype.
24207 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24208 (grub_elf64_phdr_iterate): Likewise.
24209 * include/grub/i386/bsd.h: Include relocator.h.
24210 (freebsd_tag_header): New struct.
24211 (grub_openbsd_bios_mmap): Removed.
24212 (grub_unix_real_boot): Removed.
24213 (grub_freebsd_load_elfmodule32): Changed prototype.
24214 (grub_freebsd_load_elfmodule_obj64): Likewise.
24215 (grub_freebsd_load_elf_meta32): Likewise.
24216 (grub_freebsd_load_elf_meta64): Likewise.
24217 (grub_freebsd_add_meta): Removed.
24218 (grub_netbsd_load_elf_meta32): New prototype.
24219 (grub_netbsd_load_elf_meta64): Likewise.
24220 (grub_bsd_add_meta): Likewise.
24221 (grub_openbsd_ramdisk_descriptor): New struct.
24222 (grub_openbsd_find_ramdisk32): New prototype.
24223 (grub_openbsd_find_ramdisk64): Likewise.
24224 * include/grub/i386/coreboot/loader.h: Removed.
24225 * include/grub/i386/efi/loader.h: Likewise.
24226 * include/grub/i386/ieee1275/loader.h: Likewise.
24227 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24228 to grub_uint32_t.
24229 * include/grub/i386/loader.h: Removed.
24230 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24231 value.
24232 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24233 (grub_phys_addr_t): New type.
24234 (grub_vtop): New inline function.
24235 (grub_map_memory): Likewise.
24236 (grub_unmap_memory): Likewise.
24237 * include/grub/i386/multiboot/loader.h: Removed.
24238 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24239 (NETBSD_BTINFO_CONSOLE): New definition.
24240 (NETBSD_BTINFO_SYMTAB): Likewise.
24241 (NETBSD_BTINFO_MODULES): Likewise.
24242 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24243 (grub_netbsd_bootinfo): New struct.
24244 (grub_netbsd_btinfo_common): Use explicit bitsize.
24245 (grub_netbsd_btinfo_mmap_entry): Removed.
24246 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24247 (grub_netbsd_btinfo_bootdisk): New struct.
24248 (grub_netbsd_btinfo_symtab): Likewise.
24249 (grub_netbsd_btinfo_serial): Likewise.
24250 (grub_netbsd_btinfo_modules): Likewise.
24251 (grub_netbsd_btinfo_framebuf): Likewise.
24252 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24253 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24254 Likewise.
24255 (grub_openbsd_bootargs): Use explicit bitsize.
24256 (grub_openbsd_bootarg_console): New struct.
24257 (GRUB_OPENBSD_COM_MAJOR): New definition.
24258 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24259 * include/grub/i386/pc/efiemu.h: Removed.
24260 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24261 * include/grub/i386/qemu/loader.h: Removed.
24262 * include/grub/i386/relocator.h: Rewritten.
24263 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24264 * include/grub/mips/memory.h: New file.
24265 * include/grub/mips/multiboot.h: Rewritten.
24266 * include/grub/mips/relocator.h: Rewritten.
24267 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24268 (grub_vtop): New function.
24269 (grub_map_memory): Likewise.
24270 (grub_unmap_memory): Likewise.
24271 * include/grub/misc.h (ALIGN_DOWN): New definition.
24272 * include/grub/mm.h (grub_mm_check_real): New proto.
24273 (GRUB_MM_CHECK): New definition.
24274 * include/grub/mm_private.h: New file.
24275 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24276 (grub_multiboot_get_mbi_size): Removed.
24277 (grub_multiboot_make_mbi): Change prottype.
24278 (grub_multiboot_set_accepts_video): New proto.
24279 (grub_multiboot_add_elfsyms): Likewise.
24280 (grub_multiboot_payload_eip): New variable.
24281 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24282 New prototype.
24283 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24284 New definition.
24285 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24286 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24287 * include/grub/powerpc/ieee1275/loader.h: Removed.
24288 * include/grub/powerpc/memory.h: New file.
24289 * include/grub/powerpc/relocator.h: Likewise.
24290 * include/grub/relocator.h: Likewise.
24291 * include/grub/relocator_private.h: Likewise.
24292 * include/grub/sparc64/ieee1275/loader.h: Removed.
24293 * include/grub/x86_64/memory.h: New file.
24294 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24295 (grub_xnu_heap_malloc): Likewise.
24296 (grub_xnu_heap_real_start): Removed.
24297 (grub_xnu_heap_start): Likewise.
24298 (grub_xnu_relocator): New variable.
24299 (grub_xnu_heap_target_start): Likewise.
24300 * tests/util/grub-shell.in: Support non-pc.
24301 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24302
5303b85d
VS
243032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24304
24305 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24306 on malloc error.
24307 (grub_bidi_logical_to_visual): Check that malloc succeded.
24308 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24309 puts.
24310 (grub_xputs_normal): Likewise.
24311
d768d159
VS
243122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24315 extra_dist.
24316
243172010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24318
24319 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24320
5bf84df4
VS
243212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24322
24323 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24324
3626810e
VS
243252010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24326
24327 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24328 dprintf.
24329
a7363f53
BC
243302010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24331
24332 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24333
902f75f6
VS
243342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24335
24336 * grub-core/normal/term.c (print_more): Fix a memory leak.
24337 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24338 (grub_xputs_normal): Likewise.
24339
3c707967
VS
243402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24341
24342 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24343 the begining of the string
24344
2053cc07
VS
243452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24346
24347 * grub-core/script/script.c (grub_script_parse): Free parsed on
24348 failure.
24349
46422ebf
VS
243502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24351
24352 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24353 on failure.
24354
9e0fa3f6
VS
243552010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24356
24357 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24358 return.
24359
3393cf16
VS
243602010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24363 (scroll_up): Fix a memory leak.
24364
b17540cb
VS
243652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24366
24367 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24368 errors.
24369
67140446
VS
243702010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24371
24372 Handle USB pendrives exposed as floppies.
24373
24374 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24375 floppy.
24376 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24377 Check for partitions on all devices.
24378
e35e46fc
VS
243792010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24380
24381 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24382 (readkey): Likewise.
24383
d24c6190
BC
243842010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24385
24386 Multiple variable names support to "export" command.
24387
24388 * normal/context.c (grub_cmd_export): "export" command supports
24389 multiple variable names.
24390
04ddcc6a
ST
243912010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24392
24393 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24394 --target=drive output to Mach device name.
24395
0c8b61d8
BC
243962010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24397
24398 New Automake based build system for GRUB.
24399
24400 * ABOUT-NLS: New file.
24401 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24402 in Makefile.util.def file.
24403 * Makefile.util.def: New file. Autogen build definitions file for
24404 GRUB host utils.
24405 * conf/Makefile.common: New file. Common variables for GRUB host
24406 utils and target modules.
24407 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24408 * docs/Makefile.am: New file. Automake file for docs.
24409 * gentpl.py: New file. Python script to generate Autogen
24410 template.
24411 * grub-core/Makefile.am: New file. GRUB target modules' rules
24412 that doesn't fit in Makefile.core.def file.
24413 * grub-core/Makefile.core.def: New file. Autogen build
24414 definitions file for GRUB target modules.
24415 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24416 specific setjmp.S file.
24417 * po/Makefile.am: New file.
24418
24419 * .bzrignore: New ignores.
24420 * INSTALL: New requirements, without Ruby.
24421 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24422 * autogen.sh: Updated to invoke autogen as necessary.
24423 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24424 and defines for Automake conditionals.
24425 * geninit.sh: Refactoring.
24426
24427 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24428 necessary.
24429 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24430 New prototype.
24431
24432 * include/grub/test.h: Fix functional test modules' naming.
24433 * grub-core/tests/example_functional_test.c: Fix test module name.
24434
24435 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24436 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24437 * util/grub-editenv.c: Likewise.
24438 * util/grub-fstest.c: Likewise.
24439 * util/grub-mkdevicemap.c: Likewise.
24440 * util/grub-mkfont.c: Likewise.
24441 * util/grub-mkimage.c: Likewise.
24442 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24443 * util/grub-probe.c: Likewise.
24444 * util/grub-script-check.c: Likewise.
24445 * util/i386/pc/grub-setup.c: Likewise.
24446 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24447
24448 * tests/util/grub-shell.in: Fix override directory path.
24449 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24450 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24451
24452 * util/lvm.c: Update #includes.
24453 * util/raid.c: Likewise.
24454 * util/resolve.c: Likewise.
24455 * grub-core/bus/emu/pci.c: Likewise.
24456 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24457 * grub-core/lib/posix_wrap/string.h: Likewise.
24458 * grub-core/kern/emu/main.c: Likewise.
24459
24460 * grub-core/gensymlist.sh: New file. Script for generating kernel
24461 symbols file.
24462 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24463
24464 * grub-core/gentrigtables.c: Fix unused variable warnings.
24465
24466 * Makefile.in: Removed.
24467 * conf/any-emu.rmk: Removed.
24468 * conf/common.rmk: Removed.
24469 * conf/i386-coreboot.rmk: Removed.
24470 * conf/i386-efi.rmk: Removed.
24471 * conf/i386-ieee1275.rmk: Removed.
24472 * conf/i386-multiboot.rmk: Removed.
24473 * conf/i386-pc.rmk: Removed.
24474 * conf/i386-qemu.rmk: Removed.
24475 * conf/i386.rmk: Removed.
24476 * conf/mips-yeeloong.rmk: Removed.
24477 * conf/mips.rmk: Removed.
24478 * conf/powerpc-ieee1275.rmk: Removed.
24479 * conf/sparc64-ieee1275.rmk: Removed.
24480 * conf/tests.rmk: Removed.
24481 * conf/x86-efi.rmk: Removed.
24482 * conf/x86_64-efi.rmk: Removed.
24483 * gendistlist.sh: Removed.
24484 * geninitheader.sh: Removed.
24485 * genkernsyms.sh.in: Removed.
24486 * genmk.rb: Removed.
24487 * gensymlist.sh.in: Removed.
24488 * mkinstalldirs: Removed.
24489 * boot: Moved ...
24490 * grub-core/boot: ... to here.
24491 * bus: Moved ...
24492 * grub-core/bus: ... to here.
24493 * commands: Moved ...
24494 * grub-core/commands: ... to here.
24495 * disk: Moved ...
24496 * grub-core/disk: ... to here.
24497 * efiemu: Moved ...
24498 * grub-core/efiemu: ... to here.
24499 * font: Moved ...
24500 * grub-core/font: ... to here.
24501 * fs: Moved ...
24502 * grub-core/fs: ... to here.
24503 * gencmdlist.sh: Moved ...
24504 * grub-core/gencmdlist.sh: ... to here.
24505 * genemuinit.sh: Moved ...
24506 * grub-core/genemuinit.sh: ... to here.
24507 * genemuinitheader.sh: Moved ...
24508 * grub-core/genemuinitheader.sh: ... to here.
24509 * genfslist.sh: Moved ...
24510 * grub-core/genfslist.sh: ... to here.
24511 * genhandlerlist.sh: Moved ...
24512 * grub-core/genhandlerlist.sh: ... to here.
24513 * genmoddep.awk: Moved ...
24514 * grub-core/genmoddep.awk: ... to here.
24515 * genmodsrc.sh: Moved ...
24516 * grub-core/genmodsrc.sh: ... to here.
24517 * genpartmaplist.sh: Moved ...
24518 * grub-core/genpartmaplist.sh: ... to here.
24519 * genparttoollist.sh: Moved ...
24520 * grub-core/genparttoollist.sh: ... to here.
24521 * genterminallist.sh: Moved ...
24522 * grub-core/genterminallist.sh: ... to here.
24523 * gentrigtables.c: Moved ...
24524 * grub-core/gentrigtables.c: ... to here.
24525 * genvideolist.sh: Moved ...
24526 * grub-core/genvideolist.sh: ... to here.
24527 * gettext: Moved ...
24528 * grub-core/gettext: ... to here.
24529 * gfxmenu: Moved ...
24530 * grub-core/gfxmenu: ... to here.
24531 * gnulib: Moved ...
24532 * grub-core/gnulib: ... to here.
24533 * hello: Moved ...
24534 * grub-core/hello: ... to here.
24535 * hook: Moved ...
24536 * grub-core/hook: ... to here.
24537 * io: Moved ...
24538 * grub-core/io: ... to here.
24539 * kern: Moved ...
24540 * grub-core/kern: ... to here.
24541 * lib: Moved ...
24542 * grub-core/lib: ... to here.
24543 * loader: Moved ...
24544 * grub-core/loader: ... to here.
24545 * mmap: Moved ...
24546 * grub-core/mmap: ... to here.
24547 * normal: Moved ...
24548 * grub-core/normal: ... to here.
24549 * partmap: Moved ...
24550 * grub-core/partmap: ... to here.
24551 * parttool: Moved ...
24552 * grub-core/parttool: ... to here.
24553 * script: Moved ...
24554 * grub-core/script: ... to here.
24555 * term: Moved ...
24556 * grub-core/term: ... to here
24557 * tests/example_functional_test.c: Moved ...
24558 * grub-core/tests/example_functional_test.c: ... to here.
24559 * tests/lib/functional_test.c: Moved ...
24560 * grub-core/tests/lib/functional_test.c: ... to here.
24561 * tests/lib/test.c: Moved ...
24562 * grub-core/tests/lib/test.c: ... to here.
24563 * video: Moved ...
24564 * grub-core/video: ... to here.
24565
645586e6
BC
245662010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24567
24568 Replace --enable-grub-emu-modules with grub-emu-lite.
24569
24570 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24571 cache.S.
24572
24573 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24574 * kern/emu/full.c: New file. For grub-emu specific initialization.
24575 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24576 * kern/emu/main.c: Call initialization function grub_emu_init.
24577
24578 * Makefile.in: Include grub-emu-lite in install.
24579 * commands/parttool.c: Use grub_no_autoload to differentiate
24580 between grub-emu and grub-emu-lite.
24581 * include/grub/misc.h: New variable grub_no_autoload.
24582
24583 * conf/any-emu.rmk: New rules for grub-emu-lite.
24584 * configure.ac: Remove --enable-grub-emu-modules.
24585 * genmk.rb: Cleanup unnecessary rules.
24586 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24587
24588 * normal/main.c: Don't load list files on grub-emu-lite.
24589 * util/misc.c (grub_arch_sync_caches): Removed.
24590
f86a4030
CW
245912010-08-23 Colin Watson <cjwatson@ubuntu.com>
24592
24593 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24594 grub-mkimage rather than grub-mkelfimage.
24595 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24596
06776944
VS
245972010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24598
24599 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24600 a key after CapsLock or NumLock. It's just a qemu bug.
24601
df262419
VS
246022010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24603
24604 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24605 needed by libusb wrapper.
24606
b40ea81b
ST
246072010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24608
24609 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24610
dee50575
VS
246112010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24612
24613 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24614 --nounzip is passed.
24615
fb1d7b79
VS
246162010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24617
24618 USB hotunplugging and USB serial support.
24619
24620 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24621 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24622 (grub_uhci_transfer): Respect timeout and set *actual.
24623 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24624 non-standard length.
24625 (grub_usb_device_attach): Autoload modules.
24626 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24627 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24628 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24629 users updated.
24630 (grub_usb_add_hub): Fill nports and children.
24631 (attach_root_port): Receive hub instead of controller.
24632 All users updated. Fill hub->devices.
24633 (grub_usb_root_hub): Allocate hub->devices.
24634 (detach_device): New function.
24635 (poll_nonroot_hub): Fill children and detach devices.
24636 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24637 actual arguments. All users updated.
24638 (grub_usb_bulk_read_extended): New function.
24639 * bus/usb/serial/common.c: New file.
24640 * bus/usb/serial/ftdi.c: Likewise.
24641 * bus/usb/serial/pl2303.c: Likewise.
24642 * commands/terminal.c (handle_command): Support wildcard.
24643 * commands/usbtest.c: Output "Unknown" instead of empty string.
24644 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24645 (usbserial_common_mod_SOURCES): New variable.
24646 (usbserial_common_mod_CFLAGS): Likewise.
24647 (usbserial_common_mod_LDFLAGS): Likewise.
24648 (pkglib_MODULES): Add usbserial_pl2303.mod.
24649 (usbserial_pl2303_mod_SOURCES): New variable.
24650 (usbserial_pl2303_mod_CFLAGS): Likewise.
24651 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24652 (pkglib_MODULES): Add usbserial_ftdi.mod.
24653 (usbserial_ftdi_mod_SOURCES): New variable.
24654 (usbserial_ftdi_mod_CFLAGS): Likewise.
24655 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24656 (pkglib_MODULES): Add serial.mod.
24657 (serial_mod_SOURCES): New variable.
24658 (serial_mod_CFLAGS): Likewise.
24659 (serial_mod_LDFLAGS): Likewise.
24660 * conf/i386-pc.rmk: Likewise.
24661 * conf/mips-yeeloong.rmk: Likewise.
24662 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24663 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24664 * disk/usbms.c (first_available_slot): New variable.
24665 (grub_usbms_attach): Don't reuse free slots due to potential cache
24666 problems.
24667 * include/grub/serial.h: Moved to ..
24668 * include/grub/ns8250.h: ...this.
24669 * include/grub/serial.h: New file.
24670 * include/grub/term.h (grub_term_poll_usb): New variable.
24671 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24672 readkey. All users updated.
24673 (grub_terminfo_output_state): Pass term to put.
24674 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24675 (grub_usb_controller_dev): Add timeout and actual arguments to
24676 transfer. All users updated.
24677 (grub_usb_interface): New field detach_data.
24678 (grub_usb_device): New fields children and nports.
24679 (grub_usb_ep_type_t): New type.
24680 (grub_usb_get_ep_type): New function.
24681 (grub_usb_bulk_read_extended): Likewise.
24682 * include/grub/usbdesc.h (grub_usb_desc): New type.
24683 * include/grub/usbserial.h: New file.
24684 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24685 * kern/term.c (grub_term_poll_usb): New variable.
24686 (grub_getkey): Call grub_term_poll_usb if set.
24687 (grub_checkkey): Likewise.
24688 (grub_getkeystatus): Likewise.
24689 * term/serial.c: Moved controller-specific parts to ...
24690 * term/ns8250.c: ... here.
24691 * term/serial.c: Mostly rewritten.
24692 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24693 according to spec.
24694
21a313de
RM
246952010-08-20 Robert Millan <rmh@gnu.org>
24696
24697 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24698 a separate module and maybe other interesting combinations.
24699
24700 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24701 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24702 (kfreebsd_entry): Add generic filesystem module load routine.
24703 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24704
63c734a6
CW
247052010-08-20 Colin Watson <cjwatson@ubuntu.com>
24706
24707 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24708 "numcenter" (I misunderstood the purpose of this entry).
24709 * docs/grub.texi (sendkey): Likewise.
24710
c4d16542
CW
247112010-08-20 Colin Watson <cjwatson@ubuntu.com>
24712
24713 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24714 status flag options; simply omitting the option is equivalent and
24715 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24716 (keysym_table): Rename "num5numlock" to "numlock".
24717 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24718 can uniformly say that only the last of multiple `sendkey'
24719 invocations has any effect.
24720 * docs/grub.texi (sendkey): New section.
24721
93541d66
CW
247222010-08-19 Colin Watson <cjwatson@ubuntu.com>
24723
24724 * commands/i386/pc/sendkey.c (options): Fix three typos.
24725
b4ece5e1
VS
247262010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24727
24728 Implement sendkey support.
24729
24730 * commands/i386/pc/sendkey.c: New file.
24731 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24732 (sendkey_mod_SOURCES): New variable.
24733 (sendkey_mod_CFLAGS): Likewise.
24734 (sendkey_mod_LDFLAGS): Likewise.
24735
51f1f5af
CW
247362010-08-18 Colin Watson <cjwatson@ubuntu.com>
24737
24738 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24739 fix warnings from Autoconf.
24740
9da94e05
CW
247412010-08-18 Colin Watson <cjwatson@ubuntu.com>
24742
24743 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24744 to avoid false positives with some assemblers that output things
24745 like "someprefix_func" as part of their output.
24746
729a0f2e
RM
247472010-08-15 Robert Millan <rmh@gnu.org>
24748
24749 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24750 errors.
24751 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24752 grub_get_libzfs_handle() errors.
24753
f3710e08
RM
247542010-08-14 Robert Millan <rmh@gnu.org>
24755
24756 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24757 filesystem is not ZFS.
24758
7a3c13de
BC
247592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24760
24761 Fix for misspelled color names defaulting to black/black (bug
24762 reported by Doug Nazar)
24763
24764 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24765 status to prototype.
24766 * normal/color.c (grub_parse_color_name_pair): Return failure
24767 status.
24768 (grub_env_write_color_normal): Ignore bad color names.
24769 (grub_env_write_color_highlight): Likewise.
24770 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24771
ab8ba50d
BC
247722010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24773
24774 "shift" command support to GRUB script.
24775
24776 * include/grub/script_sh.h (grub_script_shift): New prototype.
24777 * script/execute.c (grub_script_shift): New function.
24778 * script/main.c (grub_script_init): Register shift command.
24779 (grub_script_fini): Unregister shift command.
24780 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24781
24782 * tests/grub_script_shift.in: New testcase.
24783 * conf/tests.rmk: Rules for new testcase.
24784
4d61999e
BC
247852010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24786
24787 "continue" command support to GRUB script.
24788
24789 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24790 (grub_script_break): Continue support.
24791 * script/main.c (grub_script_init): Register continue command.
24792 (grub_script_fini): Unregister continue command.
24793
24794 * tests/grub_script_continue.in: New testcase.
24795 * conf/tests.rmk: Rules for new testcase.
24796
4df51e00
BC
247972010-08-12 BVK Chaitanya <bvk@dbook>
24798
24799 "break" command support to GRUB script.
24800
24801 * conf/common.rmk: Rule updates to grub-script-check.
24802 * include/grub/misc.h (grub_min): New function.
24803 * include/grub/script_sh.h (grub_script_init): New prototype.
24804 (grub_script_fini): New prototype.
24805 (grub_script_break): New prototype.
24806 * script/main.c (grub_script_init): New function.
24807 (grub_script_fini): New function.
24808 * script/execute.c (grub_script_break): New function.
24809 * normal/main.c: Calls to grub_script_{init,fini}.
24810 * util/grub-script-check.c (grub_script_break): New function.
24811
24812 * tests/grub_script_break.in: New testcase.
24813 * conf/tests.rmk: Rules for new test case.
24814
f12c8420
BC
248152010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24816
24817 Function parameters support to GRUB script.
24818
24819 * script/yylex.l (VARIABLE): Regular expression update.
24820 * script/function.c (grub_script_function_call): Moved ...
24821 * script/execute.c (grub_script_function_call): ... to here.
24822 (grub_script_execute_arglist_to_argv): Removed.
24823 (grub_script_arglist_to_argv): New function.
24824 * script/argv.c: New file.
24825 (grub_script_argv_free): New function.
24826 (grub_script_argv_next): Likewise.
24827 (grub_script_argv_append): Likewise.
24828 (grub_script_argv_split_append): Likewise.
24829 * include/grub/script_sh.h (grub_script_argv): New struct.
24830 (grub_script_argv_free): New function.
24831 (grub_script_argv_next): Likewise.
24832 (grub_script_argv_append): Likewise.
24833 (grub_script_argv_split_append): Likewise.
24834
24835 * conf/common.rmk (normal.mod): New source script/argv.c.
24836
24837 * tests/grub_script_echo1.in: More tests.
24838 * tests/grub_script_vars1.in: Likewise.
24839 * tests/grub_script_functions.in: New test case.
24840 * conf/tests.rmk: Rules for new testcase.
24841
8022b748
BC
248422010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24843
24844 Remove grub_script_cmdblock struct.
24845
24846 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24847 * script/parser.y: Likewise.
24848 * script/execute.c: Rename cmdblock suffix to cmdlist.
24849 * script/script.c: Likewise.
24850 * util/grub-script-check.c: Likewise.
24851
79a6ba61
YB
248522010-08-11 Yves Blusseau <blusseau@zetam.org>
24853
24854 * .bzrignore: add grub-macho2img
24855
d04b9414
VS
248562010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24857
24858 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24859
f947ab49
VS
248602010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24861
24862 Remove the dump of sm712 initialisation sequence.
24863
24864 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24865 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24866 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24867 (GRUB_VGA_CR_*): Added many registers.
24868 (GRUB_VGA_SR_*): Likewise.
24869 (GRUB_VGA_GR_*): Likewise.
24870 (grub_vga_write_arx): New function.
24871 (grub_video_hw_config): New struct.
24872 (grub_vga_set_geometry): New function.
24873 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24874 GRUB_PCI_CLASS_SUBCLASS_VGA.
24875 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24876 * video/sm712.c (grub_sm712_write_reg): New function
24877 (grub_sm712_read_reg): Likewise.
24878 (grub_sm712_sr_write): Likewise.
24879 (grub_sm712_gr_write): Likewise.
24880 (grub_sm712_cr_write): Likewise.
24881 (grub_sm712_write_arx): Likewise.
24882 (grub_sm712_cr_shadow_write): Likewise.
24883 (grub_sm712_write_dda_lookup): Likewise.
24884 (grub_video_sm712_setup): Initialise the video rather then
24885 blindly replay the dump.
24886 (main) [TEST]: Add a routine to be able to compile as standalone for
24887 tests.
24888 * video/sm712_init.c (sm712_init): Removed.
24889 (sm712_sr_seq1): New array.
24890 (sm712_sr_seq2): Likewise.
24891
f0206638
VS
248922010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 * include/grub/vga.h: Add missing grub/pci.h include.
24895
2764da3b
YB
248962010-08-10 Yves Blusseau <blusseau@zetam.org>
24897
24898 * util/grub-macho2img.c (main): fix typo
24899
cf0c775e
VS
249002010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24901
24902 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24903 (grub_vga_gr_read): Likewise.
24904 (grub_vga_cr_write): Likewise.
24905 (grub_vga_cr_read): Likewise.
24906 (grub_vga_sr_write): Likewise.
24907 (grub_vga_sr_read): Likewise.
24908 (grub_vga_palette_read): Likewise.
24909 (grub_vga_palette_write): Likewise.
24910 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24911 (grub_sm712_sr_read): New function.
24912 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24913 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24914
07f360e9
RM
249152010-08-09 Robert Millan <rmh@gnu.org>
24916
24917 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24918 out unused variables on non-ZFS build.
24919
346c2072
RM
249202010-08-08 Robert Millan <rmh@gnu.org>
24921
24922 Fix path generation for sub-filesystems in ZFS.
24923
24924 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24925 missing slash.
24926
71175420
RM
249272010-08-08 Robert Millan <rmh@gnu.org>
24928
24929 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24930
0d8286f3
RM
249312010-08-08 Robert Millan <rmh@gnu.org>
24932
24933 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24934 exist, issue a proper error message (rely on `ls' for translated
24935 strings).
24936
55dd2924
RM
249372010-08-08 Robert Millan <rmh@gnu.org>
24938
24939 Fix grub-probe invocation.
24940
24941 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24942
d3dd9e80
RM
249432010-08-04 Robert Millan <rmh@gnu.org>
24944
24945 * configure.ac: Remove checks for getfsstat() and getmntany().
24946 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24947 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24948 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24949 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24950 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24951 function.
24952 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24953 via find_mount_point_from_dir() and getfsstat() / getmntany().
24954
0de22aa9
RM
249552010-08-04 Robert Millan <rmh@gnu.org>
24956
24957 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24958 (grub_find_zpool_from_mount_point): Merge into ...
24959 (grub_find_zpool_from_dir): ... this.
24960 * kern/emu/misc.c: Likewise.
24961
24962 * kern/emu/misc.c
24963 (grub_make_system_path_relative_to_its_root): Replace
24964 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24965 with grub_find_zpool_from_dir().
24966 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24967
62858144
RM
249682010-08-04 Robert Millan <rmh@gnu.org>
24969
24970 Support OpenSolaris in ZFS device resolution.
24971
24972 * configure.ac: Check for getmntany().
24973 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24974 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24975 support.
24976
9dd6fd50
RM
249772010-08-03 Robert Millan <rmh@gnu.org>
24978
24979 Fix grub-emu build.
24980
24981 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24982 * include/grub/emu/misc.h: ... here.
24983
24984 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24985 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24986
24987 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24988 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24989 (grub_get_libzfs_handle): Move to ...
24990 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24991 (grub_get_libzfs_handle): ... here.
24992
c9f7ff97
BC
249932010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24994
24995 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24996 as command name case.
24997
a870a783
CW
249982010-08-02 Colin Watson <cjwatson@ubuntu.com>
24999
25000 * disk/raid.c (insert_array): Select unique numbers for named arrays
25001 as well, for use as keys in the disk cache.
25002
c7db243b
RM
250032010-08-01 Robert Millan <rmh@gnu.org>
25004
25005 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25006 kFreeBSD device name, except on ZFS where the filesystem label is
25007 used.
25008 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25009 `/boot/zfs/zpool.cache'.
25010 Set mountfrom kernel variable using ${kfreebsd_device}.
25011
f7abdefb
RM
250122010-08-01 Robert Millan <rmh@gnu.org>
25013
25014 Make it even harder to use uninitialized `libzfs_handle' (and
25015 make the interface a bit simpler).
25016
25017 * include/grub/util/misc.h (grub_util_init_libzfs)
25018 (libzfs_handle): Remove.
25019 (grub_get_libzfs_handle): New prototype.
25020
25021 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25022 attribute.
25023 (grub_util_init_libzfs): Remove.
25024 (grub_get_libzfs_handle): New function.
25025
25026 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25027 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25028 accessing `libzfs_handle' directly.
25029
c882acc0
RM
250302010-08-01 Robert Millan <rmh@gnu.org>
25031
25032 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25033 (grub_find_zpool_from_mount_point): New function prototypes.
25034
25035 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25036 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25037
25038 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25039 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25040 `static' attribute.
25041
25042 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25043 finding zpool from mount point into ...
25044 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25045
25046 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25047 requested path is part of a ZFS pool, use
25048 grub_find_zpool_from_mount_point() to detect its filesystem name,
25049 and generate a path with `/fsname@path' syntax.
25050
8bfe31d8
CW
250512010-08-01 Colin Watson <cjwatson@ubuntu.com>
25052
25053 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
25054 (void) rather than () so that this is a proper prototype.
25055
553df63d
VS
250562010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25057
25058 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
25059
8687cf07
VS
250602010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25061
25062 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25063 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25064
ea9be8ea
CW
250652010-08-01 Colin Watson <cjwatson@ubuntu.com>
25066
25067 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25068
6eea041a
CW
250692010-08-01 Colin Watson <cjwatson@ubuntu.com>
25070
25071 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25072
2cfb45df
CW
250732010-08-01 Colin Watson <cjwatson@ubuntu.com>
25074
25075 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25076 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25077 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25078 disable gfxpayload.
25079 (Shell-like scripting): Add real content.
25080 (Serial terminal): Suggest `terminal_input serial; terminal_output
25081 serial' rather than putting the two commands on separate lines,
25082 since console input will be inoperative after the first command.
25083 (menuentry): Document --class, --users, and --hotkey options.
25084 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
25085 Vladimir Serbinenko).
25086
7decd202
VS
250872010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
250882010-08-01 Colin Watson <cjwatson@ubuntu.com>
25089
25090 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
25091
c882acc0
RM
250922010-08-01 Robert Millan <rmh@gnu.org>
25093
25094 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25095 (grub_find_zpool_from_mount_point): New function prototypes.
25096
25097 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25098 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25099
25100 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25101 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25102 `static' attribute.
25103
25104 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25105 finding zpool from mount point into ...
25106 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25107
25108 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25109 requested path is part of a ZFS pool, use
25110 grub_find_zpool_from_mount_point() to detect its filesystem name,
25111 and generate a path with `/fsname@path' syntax.
25112
deb0caa3
RM
251132010-08-01 Robert Millan <rmh@gnu.org>
25114
25115 Prevent accidental use of uninitialized libzfs_handle.
25116
25117 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
25118 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
25119 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
25120
ce04ef47
CW
251212010-08-01 Colin Watson <cjwatson@ubuntu.com>
25122
25123 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
25124 util/grub.d/10_linux.in). Fixes Debian bug #591093.
25125
ebf53056
RM
251262010-08-01 Robert Millan <rmh@gnu.org>
25127
25128 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 25129
3710bb6b
RM
251302010-07-31 Robert Millan <rmh@gnu.org>
25131
25132 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
25133
8072efeb
RM
251342010-07-31 Robert Millan <rmh@gnu.org>
25135
25136 * kern/emu/misc.c: Add missing license header.
25137
3169f4c7
RM
251382010-07-31 Robert Millan <rmh@gnu.org>
25139
25140 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
25141
25142 * include/grub/util/libnvpair.h: Include `<config.h>'.
25143 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
25144 declaring libnvpair prototypes ourselves.
25145 * include/grub/util/libzfs.h: Include `<config.h>'.
25146 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
25147 declaring libzfs prototypes ourselves.
25148
25149 (libzfs_handle): Moved to ...
25150 * include/grub/util/misc.h (libzfs_handle): ... here.
25151 Include `<grub/util/libzfs.h>'.
25152
c9a00aee
RM
251532010-07-30 Robert Millan <rmh@gnu.org>
25154
25155 * include/grub/emu/misc.h: Add missing license header.
25156
a184f9c8
RM
251572010-07-30 Robert Millan <rmh@gnu.org>
25158
25159 Enable `grub-probe -t device' resolution on ZFS.
25160
25161 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25162 * include/grub/util/libnvpair.h: New file.
25163 * include/grub/util/libzfs.h: New file.
25164
25165 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
25166 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
25167 `<grub/util/libnvpair.h>'.
25168 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
25169
25170 (find_mount_point_from_dir): New static function.
25171 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25172 function.
25173 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25174 find_root_device_from_libzfs() before ressorting to find_root_device().
25175
25176 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25177 prototype.
25178 * util/misc.c: Include `<grub/util/libzfs.h>'.
25179 (grub_util_init_libzfs): New function.
25180 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25181 [HAVE_LIBZFS] (fini_libzfs): New static function.
25182 (grub_util_init_libzfs): New function.
25183 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25184
f7790cdd
RM
251852010-07-30 Robert Millan <rmh@gnu.org>
25186
25187 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25188 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25189 `warn_unused_result' attribute.
25190 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25191 (grub_xasprintf, grub_xvasprintf): Likewise.
25192 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25193
0806b63c
RM
251942010-07-29 Robert Millan <rmh@gnu.org>
25195
25196 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25197 (probe): Handle `PRINT_FS_LABEL'.
25198 (main): Handle `-t fs_label'.
25199
9f841f5c
RM
252002010-07-29 Robert Millan <rmh@gnu.org>
25201
25202 * configure.ac: Remove grub-mkisofs checks.
25203
46371121
VS
252042010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25205
25206 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25207 Reported by: Lennart Sorensen.
25208
252092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25210
25211 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25212 prior to terminal_input/terminal_output separation. It's been over 1.5
25213 years and those versions weren't widely deployed.
25214
a9600892
CW
252152010-07-22 Colin Watson <cjwatson@ubuntu.com>
25216
25217 * disk/raid.c (insert_array): Don't count named arrays when looking
25218 for unused array numbers.
697e053c 25219 Reported and tested by: Michael Guntsche.
a9600892 25220
c03507df
CW
252212010-07-20 Colin Watson <cjwatson@ubuntu.com>
25222
25223 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25224 implementation of this so that grub-emu links again, with a note
25225 that this should support hotplugging in the future.
25226
b26f1c11
CW
252272010-07-20 Colin Watson <cjwatson@ubuntu.com>
25228
25229 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25230
efc9d7f1
CW
252312010-07-20 Colin Watson <cjwatson@ubuntu.com>
25232
25233 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25234 handle on failure.
25235 (grub_loopback_close): Remove empty function.
25236 (grub_loopback_dev): Remove close method.
25237
dd8ff5c9
CW
252382010-07-20 Colin Watson <cjwatson@ubuntu.com>
25239
25240 Disable EFI cursor when the EFI console becomes inactive.
25241
25242 * term/efi/console.c (grub_efi_console_init): New function.
25243 (grub_efi_console_fini): New function.
25244 (grub_console_term_output): Register init and fini methods.
25245
5e3bec67
VS
252462010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25247
25248 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25249 sh script.
25250
afaec079
VS
252512010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25252
25253 * disk/loopback.c (grub_loopback): Replace filename with file.
25254 (delete_loopback): Handle new semantics.
25255 (grub_cmd_loopback): Likewise.
25256 (grub_loopback_iterate): Likewise.
25257 (grub_loopback_close): Likewise.
25258
a6a11f3c
VS
252592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25260
25261 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25262 with -p "".
25263 Reported by: Tito Keitel.
25264
64a638b0
VS
252652010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25266
25267 * docs/grub.texi (Naming convention): Document new naming convention.
25268
ab8ba957
VS
252692010-07-20 Vadim Solomin <vadic052@gmail.com>
252702010-07-20 Colin Watson <cjwatson@ubuntu.com>
25271
25272 Generate device.map in something closer to the old ordering.
25273
25274 * util/deviceiter.c (struct device): New declaration.
25275 (compare_file_names): Rename to ...
25276 (compare_devices): ... this. Sort by kernel name in preference to
25277 the stable by-id name, but keep the latter as a fallback comparison.
25278 Update header comment.
25279 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25280 of `struct device' rather than of plain file names.
25281
a29d6a4b
TF
252822010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25283
25284 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25285 on i386.
25286
39d824e8
VS
252872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25288
25289 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25290 hardcoding size.
25291 (setv1table): Likewise.
25292
f058276b
FZ
252932010-07-20 Colin Watson <cjwatson@ubuntu.com>
25294
25295 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25296 removing the homehost if present.
25297 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25298 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25299 removing the homehost if present.
25300 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25301 if possible.
25302 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25303
25304 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25305 parameter. Set its pointer target to 0.
25306 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25307 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25308 `data_offset' value from the superblock for 1.x metadata.
25309 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25310 data on the device.
25311 (insert_array): Record the start sector of data on the device.
25312 (grub_raid_register): Pass start_sector parameters to
25313 grub_raid_list->detect and insert_array.
25314 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25315 member.
25316 (struct grub_raid): Add start_sector parameter to `detect'.
25317
25318 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25319 __attribute__ ((packed)), leaving a comment.
25320 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25321 (grub_mdraid_detect_09): ... here and ...
25322 (grub_mdraid_detect_1x): ... here.
25323
253242010-07-20 Peter Henn <peter.henn@web.de>
25325
25326 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25327 chunk size and disk size, which are already given as sector counts
25328 as distinct from the 0.90 units. Fetch the correct device number
25329 from the role table instead of using the table index.
25330
253312010-07-20 Felix Zielcke <fzielcke@z-51.de>
25332
25333 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25334 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25335 (WriteMostly1): New macro.
25336 Set array->name to NULL for metadata format 0.90. Add support for
25337 metadata 1.x. Fix some comments.
25338 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25339 few comments.
25340 * util/getroot.c (grub_util_get_grub_dev): Add support for
25341 /dev/md/name style devices.
25342
4b761da9
CW
253432010-07-20 Colin Watson <cjwatson@ubuntu.com>
25344
25345 * .bzrignore: Ignore 20_linux_xen.
25346
5771289a
CW
253472010-07-17 Colin Watson <cjwatson@ubuntu.com>
25348
25349 * util/import_unicode.py: Remove unnecessary imports.
25350
5dab68df
AN
253512010-07-17 Aleš Nesrsta <starous@volny.cz>
25352
25353 Hotplugging and USB hub support.
25354
25355 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25356 (grub_ohci): Likewise.
25357 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25358 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25359 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25360 (GRUB_OHCI_CTRL_EDS): Likewise.
25361 (GRUB_OHCI_BULK_EDS): Likewise.
25362 (GRUB_OHCI_TDS): Likewise.
25363 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25364 (grub_ohci_ed_phys2virt): New function.
25365 (grub_ohci_virt_to_phys): Likewise.
25366 (grub_ohci_td_phys2virt): Likewise.
25367 (grub_ohci_td_virt2phys): Likewise.
25368 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25369 attachment.
25370 (grub_ohci_find_ed): New function.
25371 (grub_ohci_alloc_td): Likewise.
25372 (grub_ohci_free_td): Likewise.
25373 (grub_ohci_free_tds): Likewise.
25374 (grub_ohci_transfer): Use previously allocated memory.
25375 (grub_ohci_portstatus): Reset status changed bit.
25376 (grub_ohci_detect_dev): Supply status changed.
25377 (grub_ohci_fini_hw): Free memory.
25378 (grub_ohci_restore_hw): Reallocate memory.
25379 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25380 Reset status change.
25381 (grub_uhci_detect_dev): Supply status_change.
25382 * bus/usb/usb.c (attach_hooks): New var.
25383 (grub_usb_device_attach): New function.
25384 (grub_usb_register_attach_hook_class): Likewise.
25385 (grub_usb_unregister_attach_hook_class): Likewise.
25386 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25387 (grub_usb_add_hub): Reset connection changed bit.
25388 (attach_root_port): New function.
25389 (grub_usb_root_hub): Likewise.
25390 (poll_nonroot_hub): Likewise.
25391 (grub_usb_poll_devices): Likewise.
25392 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25393 * disk/usbms.c (grub_usbms_open): Use device hooks.
25394 (grub_usbms_iterate) :Poll devices.
25395 (grub_usbms_finddevs): Split into ...
25396 (grub_usbms_attach): ... this ...
25397 (grub_usbms_attach): ... and this.
25398 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25399 in detect_dev.
25400 (grub_usb_interface): New fields attached and detach_hook.
25401 (grub_usb_attach_hook_class): New type.
25402 (grub_usb_attach_desc): New struct.
25403 (grub_usb_register_attach_hook_class): New function.
25404 (grub_usb_unregister_attach_hook_class): Likewise.
25405 (grub_usb_poll_devices): Likewise.
25406 (grub_usb_device_attach): Likewise.
25407 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25408 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25409
3222efaf
VS
254102010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25411
25412 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25413 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25414 delta determination style. Works with most NetBSD partitions too.
25415
139b714a
VS
254162010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25417
25418 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25419 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25420
986aad56
VS
254212010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25422
25423 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25424
99be513c
AB
254252010-07-14 Anton Blanchard <anton@samba.org>
25426
25427 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25428 ET_DYN files.
25429
18075f62
GS
254302010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25431
25432 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25433
8d9a5b15
GS
254342010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25435
25436 * kern/partition.c (grub_partition_check_containment): New function to
25437 check that a partition is physically contained in a parent. Since
25438 offsets are relative (and non-negative), this reduces to checking that
25439 the partition ends before its parent.
25440 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25441 (grub_partition_iterate): Likewise.
25442 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25443 comments.
25444 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25445 partitions that start before their parent, and add debug printfs.
25446
19563c25
CW
254472010-07-13 Colin Watson <cjwatson@ubuntu.com>
25448
25449 * Makefile.in (.SUFFIX): Spell correctly, as ...
25450 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25451 bare module name without `.mod', e.g. `test') tried to invoke a
25452 Modula-2 compiler.
25453
1a1f1e67
CW
254542010-07-13 Colin Watson <cjwatson@ubuntu.com>
25455
25456 * README: Point to the Info manual.
25457
811b0dca
JS
254582010-07-13 Jiro SEKIBA <jir@unicus.jp>
25459
25460 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25461 2nd superblock position from partition size.
25462
e4f4eafc
CW
254632010-07-10 Colin Watson <cjwatson@ubuntu.com>
25464
25465 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25466 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25467 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25468 outputs.
25469
4274c30f
VS
254702010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25471
25472 Restructure SCSI .id handling.
25473 Reported and tested by: Aleš Nesrsta.
25474
25475 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25476 (grub_atapi_dev): Changed .name to "ata". New field .id.
25477 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25478 (grub_usbms_dev): New field .id.
25479 * disk/scsi.c (grub_scsi_iterate): Generate name.
25480 (grub_scsi_open): Parse name.
25481 * include/grub/scsi.h (grub_make_scsi_id): New function.
25482 (grub_scsi_dev): Change iterate and open to number instead of naming
25483 busses. All users updated.
25484 (grub_scsi): Remove name. Add .bus.
25485
5bc24388
VS
254862010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25487
25488 * commands/help.c (grub_cmd_help): Fix a typo.
25489
249975ba
VS
254902010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25491
25492 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25493 Reported and tested by: Colin Watson.
25494
3eaac1a1
VS
254952010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25496
25497 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25498 in this context.
25499
becce1b1
VS
255002010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25501
25502 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25503
f7bf0918
CW
255042010-07-07 Colin Watson <cjwatson@ubuntu.com>
25505
25506 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25507 indentation.
25508
0b0f9620
CW
255092010-07-06 Colin Watson <cjwatson@ubuntu.com>
25510
25511 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25512 and disk/raid6_recover.c.
25513 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25514 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25515
1e545469
CW
255162010-07-06 Colin Watson <cjwatson@ubuntu.com>
25517
25518 * term/gfxterm.c (repaint_schedulded): Rename to ...
25519 (repaint_scheduled): ... this. Update all callers.
25520 (repaint_was_schedulded): Rename to ...
25521 (repaint_was_scheduled): ... this. Update all callers.
25522
5357687a
CW
255232010-07-06 Colin Watson <cjwatson@ubuntu.com>
25524
25525 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25526 which we expect to be handled by upper layers.
25527
29d7e783
BC
255282010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25529
25530 * bus/usb/usbhub.c: #include time.h header.
25531
37582066
CW
255322010-07-06 Colin Watson <cjwatson@ubuntu.com>
25533
25534 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25535 entry_name also for entries without stat blocks (e.g. ".."); fixes
25536 corruption of the first entry in a directory.
25537
c8c06953
CW
255382010-07-06 Colin Watson <cjwatson@ubuntu.com>
25539
25540 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25541 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25542 doesn't work otherwise.
25543
e75056f1
CW
255442010-07-05 Colin Watson <cjwatson@ubuntu.com>
25545
25546 * docs/grub.texi (Features): Update list of supported file systems.
25547 (GNU/Linux): Update for GRUB 2.
25548 (Serial terminal): Remove mention of --disable-serial, which was a
25549 GRUB Legacy configure option. Update instructions to use
25550 `terminal_input' and `terminal_output' rather than `terminal'.
25551 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25552 configuration' and `Installing GRUB using grub-install'.
25553 (Menu entry editor): Update for GRUB 2.
25554 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25555 Document new -a, -u, and -v options.
25556 (initrd): New section.
25557 (initrd16): New section.
25558 (linux): New section.
25559 (linux16): New section.
25560 (search): The `var' argument to `--set' is optional.
25561 (GRUB only offers a rescue shell): Go into a little more detail on
25562 drive ordering.
25563
5cf69151
CW
255642010-07-05 Colin Watson <cjwatson@ubuntu.com>
25565
25566 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25567
e3f90044
CW
255682010-07-05 Colin Watson <cjwatson@ubuntu.com>
25569
25570 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25571 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25572
38d8f4f3
CW
255732010-07-05 Colin Watson <cjwatson@ubuntu.com>
25574
25575 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25576 install_prefix, in line with install_dos_part and install_bsd_part.
25577 Add new prefix variable, which is copied to install_prefix after
25578 comparing core.img in memory with the one read from disk in the
25579 no-embedding case, and use that rather than overwriting
25580 install_prefix immediately when installing to a partition.
25581 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25582 Bicakci.
25583
57ebd41e
GS
255842010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25585
25586 * configure.ac: Avoid == in test command, it's not portable.
25587 * util/grub.d/30_os-prober.in: Likewise.
25588
cb7f64b2
CW
255892010-07-04 Colin Watson <cjwatson@ubuntu.com>
25590
25591 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25592
6b654bb0
GS
255932010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25594
25595 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25596 multiple (top-level) partmaps.
25597
72a2026d
VS
255982010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25599
25600 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25601 Reported by: Tino Keitel.
72a2026d 25602
df3eb88f
VS
256032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25604
25605 Bidi and diacritics support.
25606
25607 * Makefile.in (widthspec.bin): New target.
25608 (widthspec.h): Likewise.
25609 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25610 * autogen.sh: Generate unidata.c.
25611 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25612 * commands/ls.c (grub_ls_list_devices): Likewise.
25613 (grub_ls_list_files): Likewise.
25614 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25615 (grub_mini_cmd_lsmod): Likewise.
25616 * commands/read.c: Likewise.
25617 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25618 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25619 * lib/arg.c (grub_arg_show_help): Likewise.
25620 * lib/crypto.c (grub_password_get): Likewise.
25621 * normal/auth.c (grub_username_get): Likewise.
25622 * normal/misc.c (grub_normal_print_device_info): Likewise.
25623 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25624 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25625 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25626 (normal/charset.c_DEPENDENCIES): New variable.
25627 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25628 (pkglib_MODULES): Remove charset.mod.
25629 (charset_mod_SOURCES): Removed.
25630 (charset_mod_CFLAGS): Likewise.
25631 (charset_mod_LDFLAGS): Likewise.
25632 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25633 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25634 and term/tparm.c.
25635 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25636 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25637 (kernel_img_HEADERS): Add terminfo.h.
25638 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25639 Fill ->font. Reverse ascii bitmaps.
25640 (grub_font_get_xheight): New function.
25641 * font/font.c (grub_font_get_string_width): Moved from here ...
25642 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25643 * font/font.c (grub_font_draw_string): Moved from here ...
25644 * gfxmenu/font.c (grub_font_draw_string): ... here.
25645 * font/font.c (grub_font_dup_glyph): New function.
25646 (grub_font_blit_glyph): Likewise.
25647 (grub_font_blit_glyph_mirror): Likewise.
25648 (blit_comb): Likewise.
25649 (grub_font_construct_dry_run): Likewise.
25650 (grub_font_get_constructed_device_width): Likewise.
25651 (grub_font_construct_glyph): Likewise.
25652 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25653 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25654 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25655 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25656 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25657 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25658 (grub_font_get_xheight): New proto.
25659 (grub_font_get_constructed_device_width): Likewise.
25660 (grub_font_construct_glyph): Likewise.
25661 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25662 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25663 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25664 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25665 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25666 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25667 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25668 (grub_console_getcharwidth): Likewise.
25669 * include/grub/misc.h (grub_xputs): New proto.
25670 (grub_puts): Inlined.
25671 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25672 (grub_normal_get_line_counter): Removed.
25673 (grub_install_newline_hook): Likewise.
25674 (grub_normal_get_char_counter): New proto.
25675 (grub_normal_reset_more): Likewise.
25676 (grub_xputs_normal): Likewise.
25677 * include/grub/powerpc/ieee1275/console.h: Removed.
25678 * include/grub/sparc64/ieee1275/console.h: Likewise.
25679 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25680 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25681 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25682 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25683 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25684 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25685 (grub_term_input): Pass reference to self. All users updated.
25686 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25687 Pass reference to self. New fields normal_color, highlight_color and
25688 data. All users updated.
25689 (grub_putchar): Removed.
25690 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25691 (grub_unicode_estimate_width): New function.
25692 (grub_term_getcharwidth): Add defaults.
25693 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25694 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25695 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25696 (grub_cls): Remove EXPORT_FUNC.
25697 (grub_setcolorstate): Inline.
25698 (grub_newline_hook): Removed.
25699 * include/grub/terminfo.h: Rewritten. All users updated.
25700 * include/grub/unicode.h: New file.
25701 * include/grub/video.h (grub_video_signed_rect): New type.
25702 * kern/emu/console.c (grub_console_highlight_color): Removed.
25703 (grub_console_normal_color): Likewise.
25704 (grub_console_standard_color): Made static.
25705 (grub_ncurses_putchar): Remove mapping.
25706 (grub_ncurses_getcharwidth): Removed.
25707 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25708 (grub_ncurses_setcolor): Removed.
25709 (grub_ncurses_getcolor): Likewise.
25710 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25711 (grub_console_putchar): ... this.
25712 (grub_console_putchar): Handle argument difference.
25713 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25714 console_init_early and console_init_lately.
25715 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25716 * kern/misc.c (grub_puts): Removed.
25717 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25718 (grub_vsnprintf_real): Remove str = NULL support.
25719 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25720 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25721 * kern/term.c (grub_putcode): Renamed to ...
25722 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25723 (grub_putchar): Removed.
25724 (grub_xputs_dumb): New function.
25725 (grub_xputs): New variable.
25726 * lib/charset.c: Move from here ...
25727 * normal/charset.c: ... to here.
25728 (grub_ucs4_to_utf8): New function.
25729 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25730 (join_types): New variable.
25731 (unpack_join): New function.
25732 (bidi_types): New variable.
25733 (unpack_bidi): New function.
25734 (get_bidi_type): Likewise.
25735 (get_join_type): Likewise.
25736 (is_mirrored): Likewise.
25737 (grub_unicode_get_comb_type): Likewise.
25738 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25739 (is_type_after): Likewise.
25740 (grub_unicode_aglomerate_comb): Likewise.
25741 (bidi_line_wrap): Likewise.
25742 (grub_bidi_line_logical_to_visual): Likewise.
25743 (grub_bidi_logical_to_visual): Likewise.
25744 (grub_unicode_mirror_code): Likewise.
25745 (grub_unicode_shape_code): Likewise.
25746 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25747 Don't use grub_putchar.
25748 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25749 (grub_normal_reader_init): Likewise.
25750 (grub_xputs_saved): New variable.
25751 (GRUB_MOD_INIT): Set grub_xputs.
25752 (GRUB_MOD_FINI): Restore grub_xputs.
25753 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25754 (menu_init): Avoid printing gfxmenu error.
25755 (show_menu): Use grub_normal_get_char_counter.
25756 * normal/menu_entry.c (update_screen): Fix out-of-array.
25757 (complete): Avoid NULL dereferencing.
25758 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25759 * normal/menu_text.c (print_spaces): Removed.
25760 (grub_print_ucs4): Likewise.
25761 (grub_print_message_indented): Use grub_print_ucs4.
25762 (print_message): Use grub_putcode.
25763 (print_entry): Hanlde diacritics.
25764 * normal/term.c (term_state): New type.
25765 (grub_more_lines): Removed.
25766 (term_states): New variable.
25767 (grub_normal_line_counter): Renamed to ..
25768 (grub_normal_char_counter): ...this. All users updated.
25769 (grub_normal_get_line_counter): Renamed to ...
25770 (grub_normal_get_char_counter): ... this.
25771 (grub_normal_reset_more): New function.
25772 (process_newline): Removed.
25773 (print_more): New function.
25774 (grub_install_newline_hook): Removed.
25775 (map_code): New function.
25776 (grub_puts_terminal): Use grub_print_ucs4.
25777 (putglyph): New function.
25778 (putcode_real): Likewise.
25779 (grub_putcode): Use putcode_real.
25780 (get_maxwidth): New function.
25781 (get_startwidth): Likewise.
25782 (print_ucs4_terminal): Likewise.
25783 (find_term_state): Likewise.
25784 (put_glyphs_terminal): Likewise.
25785 (print_backlog): Likewise.
25786 (print_ucs4_real): Likewise.
25787 (grub_print_ucs4): Likewise.
25788 (grub_xputs_normal): Likewise.
25789 * term/efi/console.c (grub_console_putchar): Output diacritics.
25790 (grub_console_getcharwidth): Removed.
25791 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25792 * term/gfxterm.c (clear_char): Free chars.
25793 (scroll_up): Avoid leaking memory.
25794 (grub_gfxterm_putchar): Support diacritics.
25795 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25796 * term/i386/pc/console.c (grub_console_term_output): Declare as
25797 GRUB_TERM_CODE_TYPE_VGA.
25798 * term/i386/pc/vga.c (grub_vga_term): Declare as
25799 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25800 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25801 GRUB_TERM_CODE_TYPE_VGA.
25802 * term/i386/vga_common.c (map_char): Removed.
25803 (grub_console_putchar): Likewise.
25804 (grub_console_getcharwidth): Likewise.
25805 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25806 (colors): Reordered to match terminfo.
25807 (grub_ofconsole_normal_color): Removed.
25808 (grub_ofconsole_writeesc): Likewise.
25809 (grub_ofconsole_highlight_color): Likewise.
25810 (grub_ofconsole_getcharwidth): Likewise.
25811 (grub_ofconsole_setcolorstate): Likewise.
25812 (grub_ofconsole_setcolor): Likewise.
25813 (grub_ofconsole_getcolor): Likewise.
25814 (grub_ofconsole_readkey): Renamed to ...
25815 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25816 key.
25817 (grub_ofconsole_checkkey): Removed.
25818 (grub_ofconsole_getkey): Likewise.
25819 (grub_ofconsole_getxy): Likewise.
25820 (grub_ofconsole_gotoxy): Likewise.
25821 (grub_ofconsole_cls): Likewise.
25822 (grub_ofconsole_refresh): Likewise.
25823 (grub_ofconsole_terminfo_input): New struct.
25824 (grub_ofconsole_terminfo_output): Likewise.
25825 (grub_ofconsole_term_input): Use terminfo.
25826 (grub_ofconsole_term_output): Likewise.
25827 (grub_console_init): Split into ...
25828 (grub_console_init_early): ...this and ...
25829 (grub_console_init_lately): ...this. Use terminfo.
25830 (grub_ofconsole_putchar): Renamed to ...
25831 (put): ... this. Remove mapping.
25832 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25833 * term/serial.c: Simplify using terminfo.
25834 (xpos): Removed.
25835 (ypos): Likewise.
25836 (keep_track): Likewise.
25837 (registered): Likewise.
25838 (input_buf): Likewise.
25839 (npending): Likewise.
25840 (serial_translate_key_sequence): Likewise.
25841 (fill_input_buf): Likewise.
25842 (grub_serial_checkkey): Likewise.
25843 (grub_serial_getkey): Likewise.
25844 (grub_serial_getxy): Likewise.
25845 (grub_serial_gotoxy): Likewise.
25846 (grub_serial_putchar): Likewise.
25847 (grub_serial_cls): Likewise.
25848 (grub_serial_setcolorstate): Likewise.
25849 (grub_serial_setcursor): Likewise.
25850 (serial_hw_init): Use serial_hw_fetch.
25851 (grub_serial_terminfo_input): New variable.
25852 (grub_serial_terminfo_output): Likewise.
25853 (grub_serial_term_input): Use terminfo.
25854 (grub_serial_term_output): Likewise.
25855 * term/terminfo.c (putstr): Use put.
25856 (grub_terminfo_all_free): New function
25857 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25858 (grub_terminfo_output_register): New function.
25859 (grub_terminfo_output_unregister): Likewise.
25860 (grub_terminfo_getxy): Likewise.
25861 (grub_terminfo_readkey): Likewise.
25862 (grub_terminfo_checkkey): Likewise.
25863 (grub_terminfo_getkey): Likewise.
25864 (grub_terminfo_input_init): Likewise.
25865 (print_terminfo): Likewise.
25866 (grub_cmd_terminfo): Handle encoding.
25867 (grub_terminfo_gotoxy): Track position.
25868 (grub_terminfo_cls): Likewise.
25869 (grub_terminfo_putchar): Likewise.
25870 (grub_terminfo_setcolorstate): Handle colors
25871 (grub_terminfo_cursor_on): This ...
25872 (grub_terminfo_cursor_off): ... and this merged into ...
25873 (grub_terminfo_setcursor): ... this.
25874 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25875 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25876 * unicode/BidiMirroring.txt: Likewise.
25877 * unicode/UnicodeData.txt: Likewise.
25878 * unicode/COPYING: Likewise.
25879 * util/grub-editenv.c (grub_putchar): Removed.
25880 (grub_xputs_real): New function.
25881 (grub_xputs): New variable.
25882 * util/grub-fstest.c (grub_putchar): Removed.
25883 (grub_xputs_real): New function.
25884 (grub_xputs): New variable.
25885 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25886 (grub_xputs_real): New function.
25887 (grub_xputs): New variable.
25888 * util/grub-probe.c (grub_putchar): Removed.
25889 (grub_xputs_real): New function.
25890 (grub_xputs): New variable.
25891 * util/grub-script-check.c (grub_putchar): Removed.
25892 (grub_xputs_real): New function.
25893 (grub_xputs): New variable.
25894 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25895 (grub_xputs_real): New function.
25896 (grub_xputs): New variable.
25897 * util/import_unicode.py: New file.
25898 * util/grub-mkfont.c (ft_errmsgs): New array.
25899 (grub_glyph_info): Make bitmap a pointer.
25900 (file_formats): New type WIDTH_SPEC.
25901 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25902 (options): Add width-spec.
25903 (help): Likewise.
25904 (add_char): Renamed to ...
25905 (add_glyph): ... this.
25906 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25907 (glyph_replace): New type.
25908 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25909 (add_char): New function.
25910 (add_subst): Likewise.
25911 (process_cursive): Likewise.
25912 (add_font): Handle GSUB.
25913 (write_font_width_spec): New function.
25914 (main): Sort glyphs.
25915 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25916 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25917 * kern/term.c (grub_cls): Moved from here...
25918 * normal/term.c (grub_cls): ... here.
25919
50f0bcda
CW
259202010-07-02 Colin Watson <cjwatson@ubuntu.com>
25921
25922 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25923 suitable for using within the format argument of printf when
25924 converting grub_size_t.
25925 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25926 "x" to convert grub_size_t arguments.
25927
40372103
VS
259282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25929
25930 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25931 too long captions.
25932 (list_get_minimal_size): Take selection box into account.
25933
942a10c7
VS
259342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25937 NULL font.
25938
2bdb2892
CW
259392010-07-02 Colin Watson <cjwatson@ubuntu.com>
25940
25941 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25942 devices when iterating over /dev/disk/by-id; they will be handled
25943 later if appropriate, which they aren't always (e.g. LVM).
25944
e03ed6c1
CW
259452010-07-02 Colin Watson <cjwatson@ubuntu.com>
25946
25947 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25948 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25949 fails.
25950 (grub_halt): Likewise.
25951 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25952 reset-all fails.
25953 (grub_halt): Don't return, even if all of shut-down, power-off, and
25954 poweroff fail.
25955
47695765
CW
259562010-07-02 Colin Watson <cjwatson@ubuntu.com>
25957
25958 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25959 arguments, not three.
25960
507736c8
CW
259612010-07-02 Colin Watson <cjwatson@ubuntu.com>
25962
25963 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25964 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25965 LVM-on-RAID is handled correctly.
25966
e3c8cd37
CW
259672010-07-02 Colin Watson <cjwatson@ubuntu.com>
25968
25969 * docs/grub.texi (Changes from GRUB Legacy): New section.
25970 (Future): Fix typo.
25971
8d4a2fec
CW
259722010-07-02 Colin Watson <cjwatson@ubuntu.com>
25973
25974 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25975 grub.d/README accidentally ends up executable for one reason or
25976 another. Ignore it.
25977
1c4827be
VS
259782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25979
25980 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25981 (gpt_partition_map_iterate): Support non-512B sectors.
25982
d9a0c941
VS
259832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25984
25985 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25986 Tested by: Seth Goldberg.
25987
48f27e87
VS
259882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25989
25990 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25991 Properly align mbi.
25992 Reported by: Seth Goldberg.
25993
b0c4f956
VS
259942010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25995
25996 * util/grub-mkrescue.in: Avoid module duplication.
25997
105a2e8c
SF
259982010-07-01 Sean Finney <seanius@seanius.net>
25999
26000 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26001
5944958c
SF
260022010-07-01 Sean Finney <seanius@seanius.net>
26003
26004 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26005
260062010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26007
26008 * disk/lvm.c (grub_lvm_checkvalue): New function.
26009 (grub_lvm_check_flag): Likewise.
26010
b79889ba
RM
260112010-07-01 Robert Millan <rmh@gnu.org>
26012
26013 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26014 Support 'p' as partition separator on kernel of FreeBSD (used
26015 with GPT labels).
26016 (grub_util_biosdisk_get_grub_dev): Likewise.
26017
ec1d04f1
VS
260182010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26019
26020 Yeeloong firmware port.
26021
26022 * boot/mips/yeeloong/fwstart.S: New file.
26023 * bus/cs5536.c (gpiodump): New const.
26024 (set_io_space): New function.
26025 (set_iod): Likewise.
26026 (set_p2d): Likewise.
26027 (grub_cs5536_init_geode): Likewise.
26028 * commands/mips/yeeloong/lsspd.c: New file.
26029 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26030 (serial_mod_SOURCES): New variable.
26031 (serial_mod_CFLAGS): Likewise.
26032 (serial_mod_LDFLAGS): Likewise.
26033 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26034 term/terminfo.c and term/tparm.c.
26035 (pkglib_IMAGES): Add fwstart.img.
26036 (fwstart_img_SOURCES): New variable.
26037 (fwstart_img_CFLAGS): Likewise.
26038 (fwstart_img_ASFLAGS): Likewise.
26039 (fwstart_img_LDFLAGS): Likewise.
26040 (fwstart_img_FORMAT): Likewise.
26041 (pkglib_MODULES): Add lsspd.mod.
26042 (lsspd_mod_SOURCES): New variable.
26043 (lsspd_mod_CFLAGS): Likewise.
26044 (lsspd_mod_LDFLAGS): Likewise.
26045 (pkglib_MODULES): Add halt.mod.
26046 (halt_mod_SOURCES): New variable.
26047 (halt_mod_CFLAGS): Likewise.
26048 (halt_mod_LDFLAGS): Likewise.
26049 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
26050 (serial_mod_SOURCES): Removed.
26051 (serial_mod_CFLAGS): Likewise.
26052 (serial_mod_LDFLAGS): Likewise.
26053 * disk/ata.c (check_device): New function.
26054 (grub_ata_device_initialize): Use check_device.
26055 (grub_ata_iterate): Recheck devices.
26056 (grub_ata_open): Likewise.
26057 (grub_atapi_iterate): Likewise.
26058 (grub_atapi_open): Likewise.
26059 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26060 (GRUB_ATA_CH1_PORT1): Likewise.
26061 (GRUB_ATA_CH0_PORT2): Likewise.
26062 (GRUB_ATA_CH1_PORT2): Likewise.
26063 * include/grub/mips/loongson.h: New file.
26064 * include/grub/mips/yeeloong/ec.h: Likewise.
26065 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26066 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26067 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26068 * include/grub/misc.h (grub_halt): Declare as noreturn.
26069 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26070 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26071 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26072 (UART_ENABLE_DTRRTS): Likewise.
26073 (UART_ENABLE_MODEM): Removed.
26074 (UART_ENABLE_OUT2): New const.
26075 * include/grub/term.h (grub_term_register_input_active): New function.
26076 (grub_term_register_output_active): Likewise.
26077 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26078 argument.
26079 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26080 (init_pci): New function.
26081 (grub_machine_init): Execute platform init when firmware. Init serial.
26082 (grub_halt): Implement.
26083 (grub_exit): Likewise.
26084 (grub_reboot): Likewise.
26085 * term/serial.c (serial_hw_init): Update macros.
26086 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
26087 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
26088 (image_targets): New target mipsel-yeeloong-flash.
26089 (generate_image): Support IMAGE_YEELOONG_FLASH.
26090 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
26091 (grub_video_sm712_setup): Init card.
26092 (grub_video_sm712_set_palette): Removed.
26093 * video/sm712_init.c: New file.
26094
ff4a70d2
CW
260952010-06-30 Colin Watson <cjwatson@ubuntu.com>
26096
26097 * Makefile.in (install-local): Temporarily prepend $(builddir) to
26098 PATH when running help2man and then run it on the unadorned
26099 executable names, rather than passing $(builddir)/* paths to
26100 help2man. This avoids the build directory ending up in generated
26101 manual pages.
26102
1246efeb
CW
261032010-06-29 Colin Watson <cjwatson@ubuntu.com>
26104
26105 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
26106 to avoid accidents when debugging with 'sh -x'.
26107 * util/grub-mkrescue.in: Likewise.
26108 * util/grub.d/00_header.in: Likewise.
26109 * util/grub.d/10_hurd.in: Likewise.
26110 * util/grub.d/10_kfreebsd.in: Likewise.
26111 * util/grub.d/10_linux.in: Likewise.
26112 * util/grub.d/10_netbsd.in: Likewise.
26113 * util/grub.d/10_windows.in: Likewise.
26114 * util/grub.d/20_linux_xen.in: Likewise.
26115 * util/grub.d/30_os-prober.in: Likewise.
26116 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26117
1ba9b889
CW
261182010-06-29 Colin Watson <cjwatson@ubuntu.com>
26119
26120 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
26121 last character in the buffer.
26122 Reported by: Vladimir Serbinenko.
26123
dccaf99d
RM
261242010-06-29 Robert Millan <rmh@gnu.org>
26125
26126 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
26127 (Command-line and menu entry commands): Document `badram' command.
26128
d500ed12
RM
261292010-06-28 Robert Millan <rmh@gnu.org>
26130
26131 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
26132 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
26133 command using ${GRUB_BADRAM} as parameter.
26134
20bc84a6
CW
261352010-06-28 Colin Watson <cjwatson@ubuntu.com>
26136
26137 * docs/grub.texi (Device map): New section.
26138 (Themes): New section (stub).
26139 * Makefile.in (docs/grub.info): The info documentation now builds
26140 without errors. Make sure it stays that way.
26141
4045dee1
VS
261422010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26143
26144 Use normal parser for menu entries.
26145 Reported by: Thomas Frauendorfer
26146
26147 * include/grub/parser.h (grub_parser_execute): Don't export.
26148 * normal/menu.c (grub_menu_execute_entry_real): New function.
26149 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
26150
bca58c7b
CW
261512010-06-28 Colin Watson <cjwatson@ubuntu.com>
26152
26153 * docs/grub.texi (Embedded configuration): New section (replacing
26154 old "Preset Menu" stub).
26155 (Images): New section.
26156 (configfile): Note that any menu entries defined in `file' are shown
26157 immediately.
26158
dec53e63
JT
261592010-06-28 Josh Triplett <josh@joshtriplett.org>
26160
26161 * mmap/i386/pc/mmap_helper.S: Set CF on return.
26162
c06e40f7
CW
261632010-06-28 Colin Watson <cjwatson@ubuntu.com>
26164
26165 * util/grub-install.in: Add --debug-image= option.
26166
cb88052b
CW
261672010-06-28 Colin Watson <cjwatson@ubuntu.com>
26168
26169 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26170 possible on Linux.
26171
26172 * util/deviceiter.c (check_device): Rename to ...
26173 (check_device_readable_unique): ... this. Update all callers.
26174 Maintain and check a list of which devices (by canonicalized name)
26175 have already been seen.
26176 (clear_seen_devices): New function.
26177 (compare_file_names) [__linux__]: New function.
26178 (grub_util_iterate_devices): Clear the list of seen devices on exit
26179 and (just in case) on entry.
26180 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26181 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26182 seen-devices list, superseded by general code in check_device.
26183
bbe34652
CW
261842010-06-28 Colin Watson <cjwatson@ubuntu.com>
26185
26186 * commands/cat.c (options): New variable.
26187 (grub_cmd_cat): Parse options. If the --dos option is given, print
26188 DOS-style "\r\n" line endings as simple newlines (Debian bug
26189 #586358).
26190 (GRUB_MOD_INIT): Use extcmd.
26191 (GRUB_MOD_FINI): Likewise.
26192 * docs/grub.texi (cat): Document --dos.
26193
412e09f3
VS
261942010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26195
26196 XEN with Linux grub-mkconfig support.
26197
26198 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26199 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26200 GRUB_CMDLINE_XEN_DEFAULT.
26201 * util/grub.d/20_linux_xen.in: New file.
26202
53f3ef38 262032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
26204
26205 Initialise VGA video on qemu ourselves.
26206
26207 * boot/i386/qemu/boot.S: Don't call 0xc000.
26208 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26209 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26210 (kernel_img_HEADERS): Add pci.h.
26211 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26212 * configure.ac: Force unifont on qemu and yeeloong.
26213 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26214 (grub_vga_palette_write): Use correct register.
26215 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26216 Call grub_qemu_init_cirrus.
26217 * kern/i386/qemu/init.c: New file.
26218 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26219
26220 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26221
c75be4fb
PR
262222010-06-26 Pavel Roskin <proski@gnu.org>
26223
26224 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26225 13.
26226
d8034603
CW
262272010-06-26 Colin Watson <cjwatson@ubuntu.com>
26228
26229 * docs/grub.texi (Simple configuration): Explain that
26230 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26231 set to `true' to disable their respective recovery entries, not
26232 merely set.
26233
3fa06487
CW
262342010-06-26 Colin Watson <cjwatson@ubuntu.com>
26235
26236 Make the `source' command slightly faster.
26237
26238 * normal/main.c (grub_normal_execute): Don't re-read list files when
26239 nested.
26240
e9b29642
CW
262412010-06-23 Colin Watson <cjwatson@ubuntu.com>
26242
26243 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26244 field position and mask size to red fields from mode_info, not
26245 green.
26246 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26247 Remove redundant tag->common.framebuffer_type assignment.
26248 Reported by: Seth Goldberg.
26249
e726542f
CW
262502010-06-23 Colin Watson <cjwatson@ubuntu.com>
26251
26252 Sync up other versions of the Linux loader with Robert Millan's
26253 change of 2010-01-09, "Make loader output a bit more user-friendly".
26254
26255 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26256 grub_dprintf().
26257 (grub_cmd_linux): Likewise.
26258 (grub_cmd_initrd): Likewise.
26259 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26260 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26261
d6e98a17
CW
262622010-06-21 Colin Watson <cjwatson@ubuntu.com>
26263
26264 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26265 larger than MEMORY_MAP_SIZE.
26266
14d3f08e
BC
262672010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26268
26269 Fix parallel build.
26270
26271 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26272 dependency.
26273 * script/parser.y: #include grub_script.tab.h header.
26274
4f9613a3
VS
262752010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26276
26277 Support >3GiB and <16MiB RAM in i386-qemu.
26278
26279 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26280 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26281 (grub_lower_mem): Removed.
26282 (grub_upper_mem): Likewise.
26283 (mem_size): Made static.
26284 (above_4g): New variable.
26285 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26286 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26287 support.
26288
05e51879
VS
262892010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26290
26291 Cirrus 5446 and Bochs video cards support.
26292
26293 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26294 video_bochs.mod
26295 (video_cirrus_mod_SOURCES): New variable.
26296 (video_cirrus_mod_CFLAGS): Likewise.
26297 (video_cirrus_mod_LDFLAGS): Likewise.
26298 (video_bochs_mod_SOURCES): Likewise.
26299 (video_bochs_mod_CFLAGS): Likewise.
26300 (video_bochs_mod_LDFLAGS): Likewise.
26301 * include/grub/vga.h: New file.
26302 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26303 (grub_video_fb_set_page_t): New type.
26304 (grub_video_fb_setup): New prototype.
26305 (grub_video_fb_swap_buffers): Likewise.
26306 (grub_video_fb_get_info_and_fini): Likewise.
26307 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26308 (CRTC_DATA_PORT): Likewise.
26309 (CRTC_CURSOR): Likewise.
26310 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26311 (CRTC_CURSOR_ADDR_LOW): Likewise.
26312 (CRTC_CURSOR_DISABLE): Likewise.
26313 (update_cursor): Use grub_vga_cr_write.
26314 (grub_vga_text_setcursor): Likewise.
26315 * video/bochs.c: New file.
26316 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26317 (palette): Likewise.
26318 (palette_size): Likewise.
26319 (framebuffer): New variable.
26320 (grub_video_fb_init): Use 'framebuffer'.
26321 (grub_video_fb_fini): Likewise.
26322 (grub_video_fb_get_info): Likewise.
26323 (grub_video_fb_get_palette): Likewise.
26324 (grub_video_fb_set_palette): Likewise.
26325 (grub_video_fb_set_viewport): Likewise.
26326 (grub_video_fb_get_viewport): Likewise.
26327 (grub_video_fb_map_color): Likewise.
26328 (grub_video_fb_map_rgb): Likewise.
26329 (grub_video_fb_map_rgba): Likewise.
26330 (grub_video_fb_unmap_color): Likewise.
26331 (grub_video_fb_unmap_color_int): Likewise.
26332 (grub_video_fb_fill_rect): Likewise.
26333 (grub_video_fb_blit_bitmap): Likewise.
26334 (grub_video_fb_blit_render_target): Likewise.
26335 (grub_video_fb_scroll): Likewise.
26336 (grub_video_fb_create_render_target): Likewise.
26337 (grub_video_fb_doublebuf_blit_init): Likewise.
26338 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26339 (doublebuf_pageflipping_update_screen): New function.
26340 (doublebuf_pageflipping_init): Likewise.
26341 (grub_video_fb_setup): Likewise.
26342 (grub_video_fb_swap_buffers): Likewise.
26343 (grub_video_fb_get_info_and_fini): Likewise.
26344 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26345 All users updated.
26346 (doublebuf_pageflipping_commit): Restructured into ...
26347 (doublebuf_pageflipping_set_page): ... this.
26348 (doublebuf_pageflipping_update_screen): Removed.
26349 (doublebuf_pageflipping_init): Likewise.
26350 (double_buffering_init): Likewise.
26351 (grub_video_vbe_setup): Use grub_video_fb_setup.
26352 (grub_video_vbe_swap_buffers): Removed.
26353 (grub_video_vbe_set_active_render_target): Likewise.
26354 (grub_video_vbe_get_active_render_target): Likewise.
26355 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26356 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26357 grub_video_fb_set_active_render_target and
26358 grub_video_fb_get_active_render_target.
26359 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26360 (SEQUENCER_DATA_PORT): Likewise.
26361 (MAP_MASK_REGISTER): Likewise.
26362 (CRTC_ADDR_PORT): Likewise.
26363 (CRTC_DATA_PORT): Likewise.
26364 (START_ADDR_HIGH_REGISTER): Likewise.
26365 (START_ADDR_LOW_REGISTER): Likewise.
26366 (GRAPHICS_ADDR_PORT): Likewise.
26367 (GRAPHICS_DATA_PORT): Likewise.
26368 (READ_MAP_REGISTER): Likewise.
26369 (INPUT_STATUS1_REGISTER): Likewise.
26370 (INPUT_STATUS1_VERTR_BIT): Likewise.
26371 (get_map_mask): Use grub_vga_sr_read.
26372 (set_map_mask): Use grub_vga_sr_write.
26373 (set_read_map): Use grub_vga_gr_write.
26374 (set_start_address): Use grub_vga_cr_write.
26375 * video/sm712.c (framebuffer): Remove leftover fields.
26376
4321c64a
CW
263772010-06-20 Colin Watson <cjwatson@ubuntu.com>
26378
26379 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26380 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26381 instead. Replace the gfxterm backend check with a check that
26382 ${GRUB_PREFIX}/video.lst is non-empty.
26383 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26384 again.
26385 (load_video): New generated function. Call it before loading
26386 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26387 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26388 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26389 * docs/grub.texi (Simple configuration): Document
26390 GRUB_VIDEO_BACKEND.
26391
263922010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26393
26394 Use video functions in linux and xnu loaders.
26395
26396 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26397 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26398 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26399 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26400 loader/i386/pc/linux.c.
26401 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26402 (find_line_len): Removed.
26403 (find_framebuf): Likewise.
26404 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26405 * loader/i386/efi/xnu.c: Removed.
26406 * loader/i386/pc/xnu.c: Moved from here...
26407 * loader/i386/xnu.c: ...here.
26408
26409 Enable priorities in video drivers.
26410
26411 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26412 (grub_video_adapter): New field prio.
26413 (grub_video_register): Respect prio when inserting.
26414 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26415 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26416 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26417 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26418 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26419 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26420 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26421
26422 Fix SDL driver ID.
26423
26424 * include/grub/video.h (grub_video_driver_id_t): New value
26425 GRUB_VIDEO_DRIVER_SDL.
26426 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26427
7d24e434
CW
264282010-06-17 Colin Watson <cjwatson@ubuntu.com>
26429
26430 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26431 argument to printf.
26432 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26433
c88a83f6
CW
264342010-06-17 Colin Watson <cjwatson@ubuntu.com>
26435
26436 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26437 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26438
094dfb69
CW
264392010-06-17 Colin Watson <cjwatson@ubuntu.com>
26440
26441 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26442 directly, and recommend grub-install instead.
26443 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26444
2164da6b
CW
264452010-06-17 Colin Watson <cjwatson@ubuntu.com>
26446
26447 Fix i386-pc prefix handling with nested partitions (Debian bug
26448 #585068). Note that the case where the core image is booted using
26449 multiboot and relocated from its original location still requires
26450 more work.
26451
26452 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26453 with "(,", fill the boot drive in between those two characters, but
26454 expect that a full partition specification including partition map
26455 names will follow.
26456 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26457 specified, write a prefix without the drive name but including a
26458 full partition specification.
26459
044e2e60
CW
264602010-06-16 Colin Watson <cjwatson@ubuntu.com>
26461
26462 * util/grub-mkconfig.in: Ignore non-option arguments, for
26463 compatibility with older versions (before 2010-06-12) which did the
26464 same. In particular, this makes it easier to ship an update-grub
26465 wrapper which is compatible with that used with GRUB Legacy (Debian
26466 bug #586056).
26467
5591324f
GS
264682010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26469
26470 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26471 for manual page generation.
26472
662e24d5
GS
264732010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26474
26475 * po/POTFILES: Remove leftover commands/handler.c.
26476
8d70754e
CW
264772010-06-14 Colin Watson <cjwatson@ubuntu.com>
26478
26479 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26480 left this script non-functional.
26481
41160e2e
CW
264822010-06-14 Colin Watson <cjwatson@ubuntu.com>
26483
26484 * docs/man/grub-emu.h2m: New file.
26485
b5309cc1
CW
264862010-06-13 Colin Watson <cjwatson@ubuntu.com>
26487
26488 * docs/grub.texi (Commands): Document reduced command set in rescue
26489 mode.
26490 (cpuid): New section.
26491
fcb2d090
GS
264922010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26493
26494 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26495 new partition naming style.
26496 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26497
96e5c556
BC
264982010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26499
26500 Add "-o grub.iso" like cmdline options support.
26501
26502 * util/grub-install.in: Improve cmdline option parsing.
26503 * util/grub-mkconfig.in: Likewise.
26504 * util/grub-mkrescue.in: Likewise.
26505 * util/grub-reboot.in: Likewise.
26506 * util/grub-set-default.in: Likewise.
26507 * util/i386/efi/grub-install.in: Likewise.
26508 * util/ieee1275/grub-install.in: Likewise.
26509 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26510
c16be99b
CW
265112010-06-12 Colin Watson <cjwatson@ubuntu.com>
26512
26513 * .bzrignore: Ignore 41_custom.
26514
ce08a9fb
TS
265152010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26516
26517 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26518
7beac90c
CW
265192010-06-12 Colin Watson <cjwatson@ubuntu.com>
26520
26521 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26522 prototype declarations.
26523
26524 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26525 generating fs, partmap, and video lists.
26526 * include/grub/fs.h (grub_fs_register): Omit prototype if
26527 GRUB_LST_GENERATOR is defined.
26528 * include/grub/partition.h (grub_partition_map_register): Likewise.
26529 * include/grub/video.h (grub_video_register): Likewise.
26530
1c8f0f8d
JM
265312010-06-12 Javier Martín <lordhabbit@gmail.com>
26532
26533 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26534
a6085973
TS
265352010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26536
26537 * util/grub-mkrescue.in: Support --xorriso argument.
26538
25c56d29
VS
265392010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26540
26541 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26542 Suggested by: Thomas Schmitt.
26543
e03e4b24
VS
265442010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26545
26546 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26547 Suggested by: Thomas Schmitt.
26548
57711df6
VS
265492010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26550
26551 custom.cfg support.
26552
26553 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26554 * util/grub.d/41_custom.in: New file.
26555
ee62c427
CW
265562010-06-12 Colin Watson <cjwatson@ubuntu.com>
26557
26558 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26559 been merged back into normal.
26560
283af07a
CW
265612010-06-11 Colin Watson <cjwatson@ubuntu.com>
26562
26563 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26564 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26565
56a0d956
CW
265662010-06-11 Colin Watson <cjwatson@ubuntu.com>
26567
26568 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26569 when generating manual pages.
26570 * docs/man/grub-bin2h.h2m: New file.
26571 * docs/man/grub-editenv.h2m: New file.
26572 * docs/man/grub-fstest.h2m: New file.
26573 * docs/man/grub-install.h2m: New file.
26574 * docs/man/grub-macho2img.h2m: New file.
26575 * docs/man/grub-mkconfig.h2m: New file.
26576 * docs/man/grub-mkdevicemap.h2m: New file.
26577 * docs/man/grub-mkfont.h2m: New file.
26578 * docs/man/grub-mkimage.h2m: New file.
26579 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26580 * docs/man/grub-mkrelpath.h2m: New file.
26581 * docs/man/grub-mkrescue.h2m: New file.
26582 * docs/man/grub-ofpathname.h2m: New file.
26583 * docs/man/grub-pe2elf.h2m: New file.
26584 * docs/man/grub-probe.h2m: New file.
26585 * docs/man/grub-reboot.h2m: New file.
26586 * docs/man/grub-script-check.h2m: New file.
26587 * docs/man/grub-set-default.h2m: New file.
26588 * docs/man/grub-setup.h2m: New file.
26589
3a37e322
VS
265902010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26591
26592 Use FOR_* macros instead of *_iterate whenever possible.
26593
26594 * commands/handler.c: Removed.
26595 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26596 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26597 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26598 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26599 (grub_probe_SOURCES): Remove kern/parser.c.
26600 (util/grub-script-check.c_DEPENDENCIES): Removed.
26601 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26602 and grub_script_check_init.c.
26603 (grub_script_check_init.lst): Removed.
26604 (grub_script_check_init.h): Likewise.
26605 (grub_script_check_init.c): Likewise.
26606 (pkglib_MODULES): Remove handler.mod and sh.mod.
26607 (handler_mod_SOURCES): Removed.
26608 (handler_mod_CFLAGS): Likewise.
26609 (handler_mod_LDFLAGS): Likewise.
26610 (normal_mod_SOURCES): Remove normal/handler.c.
26611 Add script/main.c, script/script.c, script/execute.c,
26612 script/function.c, script/lexer.c, grub_script.tab.c
26613 and grub_script.yy.c.
26614 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26615 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26616 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26617 (grub_setup_SOURCES): Remove kern/parser.c.
26618 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26619 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26620 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26621 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26622 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26623 (grub_setup_SOURCES): Remove kern/parser.c.
26624 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26625 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26626 * include/grub/command.h (grub_command_iterate): Removed.
26627 (FOR_COMMANDS): New macro.
26628 * include/grub/dl.h (grub_dl): New member next.
26629 (grub_dl_iterate): Removed.
26630 (grub_dl_head): New variable declaration.
26631 (FOR_DL_MODULES): New macro.
26632 * include/grub/fs.h: Include list.h.
26633 (grub_fs): Make next first element.
26634 (grub_fs_list): New variable declaration.
26635 (grub_fs_register): Make inline.
26636 (grub_fs_unregister): Likewise.
26637 (grub_fs_iterate): Removed.
26638 (FOR_FILESYSTEMS): New macro.
26639 * include/grub/handler.h: Removed.
26640 * include/grub/list.h (grub_list_hook_t): Removed.
26641 (grub_list_test_t): Likewise.
26642 (grub_list_pop): Likewise.
26643 (grub_list_iterate): Likewise.
26644 (grub_list_insert): Likewise.
26645 (FOR_LIST_ELEMENTS): New macro.
26646 * include/grub/parser.h (grub_parser_class): Removed.
26647 (grub_parser_register): Likewise.
26648 (grub_parser_unregister): Likewise.
26649 (grub_parser_get_current): Likewise.
26650 (grub_parser_set_current): Likewise.
26651 (grub_register_rescue_parser): Likewise.
26652 (grub_rescue_parse_line): New function.
26653 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26654 * include/grub/script_sh.h (grub_script_function_list): New variable
26655 declaration.
26656 (FOR_SCRIPT_FUNCTIONS): New macro.
26657 (grub_script_function_iterate): Removed.
26658 (grub_normal_parse_line): New prototype.
26659 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26660 (FOR_DISABLED_TERM_INPUTS): Likewise.
26661 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26662 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26663 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26664 element.
26665 (grub_video_register): Inline.
26666 (grub_video_unregister): Likewise.
26667 (grub_video_adapter_list): New variable declaration.
26668 (grub_video_iterate): Removed.
26669 (FOR_VIDEO_ADAPTERS): New macro.
26670 * kern/dl.c (grub_dl_list): Removed. All users updated.
26671 (grub_dl_iterate): Removed.
26672 * kern/fs.c (grub_fs_list): Make global.
26673 (grub_fs_register): Removed.
26674 (grub_fs_unregister): Likewise.
26675 (grub_fs_iterate): Likewise.
26676 * kern/handler.c: Removed.
26677 * kern/list.c (grub_list_pop): Removed.
26678 (grub_list_iterate): Likewise.
26679 (grub_list_insert): Likewise.
26680 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26681 (grub_prio_list_insert): Don't use grub_list_insert.
26682 * kern/main.c (grub_register_rescue_parser): Don't call
26683 grub_register_rescue_parser.
26684 * kern/parser.c (grub_parser_class): Removed.
26685 (grub_parser_execute): Use grub_rescue_parse_line.
26686 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26687 (grub_rescue_parser): Removed.
26688 (grub_register_rescue_parser): Likewise.
26689 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26690 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26691 (grub_auth_check_authentication): Likewise.
26692 * normal/completion.c (iterate_command): Removed.
26693 (grub_normal_do_completion): Use FOR_COMMANDS.
26694 * normal/handler.c: Removed.
26695 * normal/main.c (read_config_file): Remove parser changing.
26696 (grub_normal_execute): Don't call read_handler_list.
26697 (grub_normal_read_line_real): Statically allocate prompt.
26698 (grub_cmdline_run): Use grub_normal_parse_line.
26699 (GRUB_MOD_FINI): Don't call free_handler_list.
26700 * normal/menu_entry.c (run): Likewise.
26701 * script/function.c (grub_script_function_list): Make global.
26702 (grub_script_function_iterate): Removed.
26703 * script/main.c (grub_normal_parse_line): Make global.
26704 (grub_sh_parser): Removed.
26705 (GRUB_MOD_INIT): Likewise.
26706 (GRUB_MOD_FINI): Likewise.
26707 * tests/lib/functional_test.c (grub_functional_test): Use
26708 FOR_LIST_ELEMENTS.
26709 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26710 (grub_test_run): Use FOR_LIST_ELEMENTS.
26711 * tests/lib/unit_test.c (main): Likewise.
26712 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26713 grub_list_pop.
26714 * util/grub-fstest.c (grub_term_input_class): Removed.
26715 (grub_term_output_class): Likewise.
26716 * util/grub-probe.c: Likewise.
26717 * util/i386/pc/grub-setup.c: Likewise.
26718 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26719 * util/grub-script-check.c (main): Don't call grub_init_all and
26720 grub_fini_all.
26721 * video/video.c (grub_video_adapter_list): Make global.
26722 (grub_video_register): Removed.
26723 (grub_video_unregister): Likewise.
26724 (grub_video_iterate): Likewise.
26725
6289c3a7
VS
267262010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26727
26728 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26729 reported by Henrique Ferreiro.
26730
91460247
RM
267312010-06-09 Robert Millan <rmh@gnu.org>
26732
26733 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26734 ones, when both are available.
26735
0ea7c4f9
GS
267362010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26737
26738 Make --version uniform and avoid hard-coded program name.
26739
26740 * util/grub-mkimage.c (main): Use `program_name' instead of
26741 hard-coded string.
26742 * util/i386/pc/grub-setup.c (main): Likewise.
26743 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26744 * util/grub-install.in: Save the basename of $0 in $self, and use the
26745 latter in informational messages. Use the same format for --version
26746 as the binary programs.
26747 * util/grub-mkconfig.in: Likewise.
26748 * util/grub-mkrescue.in: Likewise.
26749 * util/grub-reboot.in: Likewise.
26750 * util/grub-set-default.in: Likewise.
26751 * util/i386/efi/grub-install.in: Likewise.
26752 * util/ieee1275/grub-install.in: Likewise.
26753 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26754
e8a6f3b6
GS
267552010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26756
26757 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26758 embedding area. Use <= instead of == when checking for non-emptiness.
26759
f4d095d7
GS
267602010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26761
26762 * configure.ac: Add `.' to the directories searched for unifont.
26763
50e532ca
CW
267642010-06-08 Colin Watson <cjwatson@ubuntu.com>
26765
26766 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26767 grub_script.yy.h.
26768
d39f3dec
CW
267692010-06-08 Colin Watson <cjwatson@ubuntu.com>
26770
26771 * docs/grub.texi (History): Expand to cover GRUB 2.
26772 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26773 commands, not `terminal'.
26774 (serial): Likewise.
26775 (terminal_input): New section.
26776 (terminal_output): New section.
26777 (uppermem): New section (stub).
26778 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26779
6ef0ddb4
CW
267802010-06-08 Colin Watson <cjwatson@ubuntu.com>
26781
26782 * docs/grub.texi (Security): Menu entries are unrestricted by
26783 default, not restricted to superusers as I had previously thought.
26784 Reword to account for this.
26785
e0f4c438
CW
267862010-06-07 Colin Watson <cjwatson@ubuntu.com>
26787
26788 * kern/emu/misc.c (device_mapper_null_log): New function.
26789 (grub_device_mapper_supported): New function.
26790 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26791 prototype.
26792 * kern/emu/hostdisk.c (find_partition_start): Check whether
26793 device-mapper is supported before trying to use it.
26794 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26795
da908200
CW
267962010-06-07 Colin Watson <cjwatson@ubuntu.com>
26797
26798 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26799 (File name syntax): Likewise.
26800 (help): --all is no longer supported in GRUB 2. Be more precise
26801 about pattern matching.
26802
fb55c3ac
CW
268032010-06-07 Colin Watson <cjwatson@ubuntu.com>
26804
26805 * normal/completion.c (grub_normal_do_completion): When completing
26806 arguments to "set" and the current word contains an equals sign,
26807 skip to after the equals sign before starting completion.
26808
258c2573
CW
268092010-06-07 Colin Watson <cjwatson@ubuntu.com>
26810
26811 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26812
ee75515e
CW
268132010-06-07 Colin Watson <cjwatson@ubuntu.com>
26814
26815 * docs/grub.texi (Network): New section.
26816 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26817 `(nd)' as in GRUB Legacy.
26818 (pxe_unload): New section.
26819
a6a700aa
CW
268202010-06-07 Colin Watson <cjwatson@ubuntu.com>
26821
26822 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26823 in the rescue shell, so recommend using `set' instead. Thanks,
26824 Jordan Uggla.
26825
4003dd38
CW
268262010-06-07 Colin Watson <cjwatson@ubuntu.com>
26827
26828 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26829 (password): New section.
26830 (password_pbkdf2): New section.
26831 (search): New section.
26832 (Security): New section.
26833 (Troubleshooting): New section, currently very incomplete.
26834 (Invoking grub-mkpasswd-pbkdf2): New section.
26835 (Internals): New section, currently very incomplete.
26836
e1cbcc40
CW
268372010-06-07 Colin Watson <cjwatson@ubuntu.com>
26838
26839 * util/grub.d/00_header.in: Add some more quoting (of
26840 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26841 work again.
26842 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26843
db8fa1ad
CW
268442010-06-07 Colin Watson <cjwatson@ubuntu.com>
26845
26846 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26847 to `count', fixing variable shadowing that broke the -c option.
26848
268492010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26850
26851 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26852 in case they contain spaces.
26853
f28a9212
CW
268542010-06-04 Colin Watson <cjwatson@ubuntu.com>
26855
26856 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26857 "part_" to partmap module names, in line with grub-install.
26858 Reported by: Jindřich Makovička (Debian bug #584426).
26859
9cdfe32f
CW
268602010-06-04 Colin Watson <cjwatson@ubuntu.com>
26861
26862 * util/grub-mkimage.c: Make target-related error messages slightly
26863 more helpful; -O talks about "format". Explicitly point to the use
26864 of -O if no target is specified.
26865 Reported by: Didier Raboud (Debian bug #584415).
26866
795b593a
CW
268672010-06-03 Colin Watson <cjwatson@ubuntu.com>
26868
26869 * INSTALL: Document several build requirements for optional features
26870 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26871
9d9b5833
GS
268722010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26873
26874 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26875 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26876 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26877
0819fec8
CW
268782010-06-02 Colin Watson <cjwatson@ubuntu.com>
26879
26880 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26881 Thanks to Jordan Uggla for spotting this.
26882
49396b4f
VS
268832010-06-02 Aleš Nesrsta <starous@volny.cz>
26884
26885 Finally make USB usable.
26886
26887 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26888 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26889 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26890 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26891 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26892 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26893 (GRUB_OHCI_FSMPS): Likewise.
26894 (GRUB_OHCI_PERIODIC_START): Likewise.
26895 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26896 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26897 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26898 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26899 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26900 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26901 (grub_ohci_transaction): Likewise.
26902 (grub_ohci_transfer): Improve condition detection algorithms.
26903 Handle toggle property. Program the transactions correctly.
26904 Improve error handling. Various important fixups.
26905 (grub_ohci_portstatus): Put register writes in right order.
26906 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26907 (grub_uhci_transfer): Don't show "failed" message on success.
26908 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26909 array.
26910 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26911 determine its size.
26912 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26913 before initialization is completed. Use IN direction for empty
26914 transfers. Use last_trans and compute toggle.
26915 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26916 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26917 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26918 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26919 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26920 (grub_usb_device): Increase toggle to 256.
26921 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26922 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26923 GRUB_USBMS_SUBCLASS_SFF8070.
26924 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26925 (grub_scsi_inquiry): New member page and alloc_length.
26926 (grub_scsi_request_sense): New structure.
26927 (grub_scsi_request_sense_data): Likewise.
26928 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26929 control.
26930 * disk/scsi.c (grub_scsi_request_sense): New function.
26931 (grub_scsi_test_unit_ready): Likewise.
26932 (grub_scsi_inquiry): Fill new fields.
26933 (grub_scsi_read_capacity): Likewise.
26934 (grub_scsi_read10): Add request sense at the end.
26935 (grub_scsi_read12): Likewise.
26936 (grub_scsi_write10): Likewise.
26937 (grub_scsi_write12): Likewise.
26938 (grub_scsi_open): Add Test Unit Ready.
26939 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26940 Support additional subclasses. Con't clear halt yet. Activate the
26941 proper config. Calculate LUNs correctly.
26942 (grub_usbms_transfer): Various important fixups.
26943
269442010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26945
26946 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26947 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26948 (grub_ohci_fini_hw): New function.
26949 (grub_ohci_restore_hw): Likewise.
26950 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26951 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26952 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26953
269542010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26955
26956 Dedicated DMA allocations.
26957
26958 * bus/pci.c (grub_memalign_dma32): New function
26959 (grub_dma_free): Likewise.
26960 (grub_dma_get_virt): Likewise.
26961 (grub_dma_get_phys): Likewise.
26962 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26963 (grub_ohci_pci_iter): Use dma32_alloc.
26964 (grub_ohci_transfer): Likewise.
26965 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26966 (grub_usb_bulk_readwrite): Likewise.
26967 * include/grub/pci.h: Add declarations.
26968
269692010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26970
26971 CS5536 support.
26972
26973 * bus/cs5536.c: New file.
26974 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26975 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26976 (cs5536_mod_SOURCES): New variable.
26977 (cs5536_mod_CFLAGS): Likewise.
26978 (cs5536_mod_LDFLAGS): Likewise.
26979 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26980 machine/pci.h.
26981 (kernel_img_SOURCES): Add bus/cs5536.c.
26982 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26983 usb_keyboard.mod.
26984 (usb_mod_SOURCES): New variable.
26985 (usb_mod_CFLAGS): New variable.
26986 (usb_mod_LDFLAGS): New variable.
26987 (usbtest_mod_SOURCES): New variable.
26988 (usbtest_mod_CFLAGS): New variable.
26989 (usbtest_mod_LDFLAGS): New variable.
26990 (ohci_mod_SOURCES): New variable.
26991 (ohci_mod_CFLAGS): New variable.
26992 (ohci_mod_LDFLAGS): New variable.
26993 (usbms_mod_SOURCES): New variable.
26994 (usbms_mod_CFLAGS): New variable.
26995 (usbms_mod_LDFLAGS): New variable.
26996 (usb_keyboard_mod_SOURCES): New variable.
26997 (usb_keyboard_mod_CFLAGS): New variable.
26998 (usb_keyboard_mod_LDFLAGS): New variable.
26999 * include/grub/smbus.h: New file.
27000 * include/grub/cs5536.h: New file.
27001
0b35b2a9
CW
270022010-06-02 Colin Watson <cjwatson@ubuntu.com>
27003
27004 * util/grub.d/00_header.in: Add safety check to make sure that
27005 ${locale_dir} exists before trying to probe it.
27006
ca0afd5b
CW
270072010-06-02 Colin Watson <cjwatson@ubuntu.com>
27008
27009 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27010 per the GNU Coding Standards; this is now too obscure to be worth
27011 documenting.
27012 (QNX): Likewise.
27013 (chainloader): Remove cross-reference to `SCO UnixWare'.
27014
1c41aa78
CW
270152010-06-02 Colin Watson <cjwatson@ubuntu.com>
27016
27017 * docs/grub.texi (Chain-loading): New section.
27018 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27019 adjusted for GRUB 2.
27020 (SCO UnixWare): Likewise.
27021 (QNX): Likewise.
27022 (chainloader): Add reference to `Block list syntax'.
27023 (drivemap): New section.
27024 (parttool): New section.
27025
bb8ea0f5
CW
270262010-06-02 Colin Watson <cjwatson@ubuntu.com>
27027
27028 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27029 the grub shell'.
27030 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27031 (Installing GRUB using grub-install): Remove reference to the grub
27032 shell; mention `grub-mkimage' and `grub-setup' instead.
27033 (Invoking grub-install): Likewise.
27034 (Interface): Add reference to `Menu entry editor'.
27035 (serial): Remove `--device' option.
27036
288dd6ed
CW
270372010-06-02 Colin Watson <cjwatson@ubuntu.com>
27038
27039 * docs/grub.texi (Configuration): New section, documenting
27040 configuration file generation using grub-mkconfig. I've left a slot
27041 for documenting the full shell scripting format but have not yet
27042 started on writing that up.
27043 (Invoking grub-mkconfig): New section.
27044
34c9f0e9
CW
270452010-06-02 Colin Watson <cjwatson@ubuntu.com>
27046
27047 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27048 (GNU GRUB manual): Likewise.
27049 (General commands): Update description of `terminfo' for GRUB 2.
27050
9121567e
CW
270512010-06-02 Colin Watson <cjwatson@ubuntu.com>
27052
27053 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
27054 (GRUB_MOD_INIT): Fix capitalisation.
27055 * docs/grub.texi (Command-line and menu entry commands): Document
27056 gettext and gptsync commands.
27057
ab631611
CW
270582010-06-02 Colin Watson <cjwatson@ubuntu.com>
27059
27060 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27061 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27062
bde4a9ac
CW
270632010-06-01 Colin Watson <cjwatson@ubuntu.com>
27064
27065 Add btrfs probing support, currently only in the single-device case.
27066
27067 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27068 function.
27069 (grub_guess_root_device): Call find_root_device_from_mountinfo
27070 before looking in /dev.
27071
b1d17e10
VS
270722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27073
27074 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27075 GRUB_DISK_SIZE_UNKNOWN.
27076 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27077
dfbfe004
JS
270782010-05-31 Jiro SEKIBA <jir@unicus.jp>
27079
27080 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27081 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27082 corrupted or not synced properly.
27083
c2ffc8e9
VS
270842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
27087 Reported by: Seth Goldberg.
27088
56293166
VS
270892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27090
27091 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
27092 addition of dest.
27093 Reported by: Seth Goldberg.
27094
7620e7de
VS
270952010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27096
27097 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
27098 Reported by: Seth Goldberg.
27099
c837af3f
VS
271002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27101
27102 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
27103 64-bit address as signed on MIPS.
27104
c7c75cf4
CW
271052010-05-28 Colin Watson <cjwatson@ubuntu.com>
27106
27107 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
27108 to the empty string.
27109
fa4b8490
BC
271102010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
27111
27112 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
27113
27114 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
27115 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
27116 * kern/misc.c (__enable_execute_stack): Disable on
27117 GRUB_MACHINE_EMU.
27118
a33075b9
CW
271192010-05-28 Colin Watson <cjwatson@ubuntu.com>
27120
27121 Make grub-probe work with symbolic links under /dev/mapper as well
27122 as with real block devices. The Linux world seems to be (at best)
27123 in transition here, and GRUB shouldn't get caught in the middle.
27124
27125 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
27126 /dev/mapper.
27127
d8708134
CW
271282010-05-27 Colin Watson <cjwatson@ubuntu.com>
27129
27130 * util/grub-script-check.c (main): Ensure defined behaviour on empty
27131 input files (in which case exit zero).
27132
db2102a0
CW
271332010-05-27 Colin Watson <cjwatson@ubuntu.com>
27134
27135 * kern/emu/misc.c (canonicalize_file_name): realpath can still
27136 return NULL for various reasons even if it has a maximum-length
27137 buffer: for example, there might be a symlink loop, or the path
27138 might exceed PATH_MAX. If this happens, return NULL.
27139
5fdba519
RM
271402010-05-27 Robert Millan <rmh@gnu.org>
27141
27142 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
27143 partmap module to handle cross-partmap setups.
27144 Reported by Orestes Mas. Gràcies!
27145
d1d368e4
CW
271462010-05-27 Colin Watson <cjwatson@ubuntu.com>
27147
27148 * util/grub-mkrescue.in: Initialise override_dir rather than
27149 assuming that it's unset or empty in the environment.
27150
95ac3c73
GS
271512010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
27152
27153 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
27154 variable index into p_index to suppress a warning with -Wshadow.
27155
7d8c0213
BC
271562010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
27157
27158 * INSTALL: Added flex >= 2.5.35 requirement.
27159
db4d5813
VS
271602010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27161
27162 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
27163
f24f4300
VS
271642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27165
27166 cmostest support.
27167
27168 * commands/i386/cmostest.c: New file.
27169 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27170 (cmostest_mod_SOURCES): New variable.
27171 (cmostest_mod_CFLAGS): Likewise.
27172 (cmostest_mod_LDFLAGS): Likewise.
27173 * conf/i386-pc.rmk: Likewise.
27174 * docs/grub.texi (Vendor power-on keys): New section.
27175 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27176 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27177 and GRUB_BUTTON_CMOS_ADDRESS.
27178 * util/grub.d/00_header.in: Handle powering-on by separate button.
27179
ad603f61
VS
271802010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27181
27182 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27183 Removed drawing_scrollbar argument. All users updated
27184 Fixes #29792.
27185 Reported by Jo Shields
27186
3ecb080a
VS
271872010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27190 buffer since gfxterm handles double repaint.
27191
5f2316c1
VS
271922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27193
27194 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27195 * term/gfxterm.c (real_scroll): Likewise.
27196
9a25f885
VS
271972010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27198
27199 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27200 before calling BIOS.
27201
39fbb79a
VS
272022010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27203
27204 * include/grub/i18n.h: Always enable grub_gettext.
27205
228cfa97
VS
272062010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27207
27208 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27209 partition naming style.
27210
21717c8f
CW
272112010-05-21 Colin Watson <cjwatson@ubuntu.com>
27212
27213 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27214 not the first option.
27215
c0f48e65
CW
272162010-05-20 Colin Watson <cjwatson@ubuntu.com>
27217
27218 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27219
96779aec
CW
272202010-05-20 Colin Watson <cjwatson@ubuntu.com>
27221
27222 * util/misc.c: Move inclusion of <limits.h> to ...
27223 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27224
fa9d256e
GS
272252010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27226
27227 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27228 Fix merge error in NetBSD code.
27229 (find_partition_start) [__NetBSD__]: Likewise.
27230
123b7a85
BC
272312010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27232
27233 Fix grub-mkrescue usage unit testing.
27234
27235 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27236
74276c0d
CF
272372010-05-18 Christian Franke <franke@computer.org>
27238
27239 * util/grub.d/10_windows.in: Use path names instead of
27240 drive letters to prevent warning from Cygwin 1.7.
27241 Add drivemap command to menuentry if needed.
27242
c4f7b523
ST
272432010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27244
27245 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27246 gnumach and gnumach.gz.
27247
95b97950
VS
272482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27249
27250 * include/grub/i18n.h (gettext): Inline instead of using #define.
27251 (grub_gettext): Likewise.
27252 (_): Likewise.
27253
01b8d2d7
VS
272542010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27255
27256 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27257 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27258 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27259 (main): Add a slash after pkglibdirroot.
27260
654e1d1e
VS
272612010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27262
27263 * util/grub-install.in: Add missing "in" keyword.
27264
26966aeb
VS
272652010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27266
27267 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27268 Reported by: Seth Goldberg.
27269
75006747
VS
272702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27271
27272 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27273
74cbf5bd
CW
272742010-05-18 Colin Watson <cjwatson@ubuntu.com>
27275
27276 * configure.ac: Check for Linux device-mapper support.
27277
27278 * util/hostdisk.c (device_is_mapped): New function.
27279 (find_partition_start): New function, partly broken out from
27280 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27281 device-mapper support added.
27282 (linux_find_partition): Use find_partition_start.
27283 (convert_system_partition_to_system_disk): Add `st' argument.
27284 Support Linux /dev/mapper/* devices if device-mapper support is
27285 available; only DM-RAID devices are understood at present.
27286 (find_system_device): Add `st' argument. Pass it to
27287 convert_system_partition_to_system_disk.
27288 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27289 find_system_device and convert_system_partition_to_system_disk. Use
27290 find_partition_start.
27291
27292 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27293 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27294 * util/deviceiter.c [__linux__]: Define MINOR.
27295 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27296 * util/mkdevicemap.c (grub_putchar): New function.
27297 (grub_getkey): New function.
27298 (grub_refresh): New function.
27299 (main): Set debug=all if -v -v is used.
27300
355b51e9
CW
273012010-05-18 Colin Watson <cjwatson@ubuntu.com>
27302
27303 Fix build with non-GNU libcs.
27304
27305 * util/misc.c (canonicalize_file_name): Move to ...
27306 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27307 grub_make_system_path_relative_to_its_root.
27308
7fb5c25f
CW
273092010-05-18 Colin Watson <cjwatson@ubuntu.com>
27310
27311 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27312 we handle finding grub-mkimage. Default to finding grub-mkimage in
27313 ${bindir} with program_transform_name applied, and provide a
27314 --grub-mkimage option to override this.
27315
1d3293d6
VS
273162010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27317
27318 Remove grub-mkisofs.
27319
27320 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27321 (grub_mkisofs_SOURCES): Removed.
27322 (grub_mkisofs_CFLAGS): Removed.
27323 * util/mkisofs/defaults.h: Removed.
27324 * util/mkisofs/eltorito.c: Likewise.
27325 * util/mkisofs/exclude.h: Likewise.
27326 * util/mkisofs/hash.c: Likewise.
27327 * util/mkisofs/include/: Likewise.
27328 * util/mkisofs/include/fctldefs.h: Likewise.
27329 * util/mkisofs/include/mconfig.h: Likewise.
27330 * util/mkisofs/include/prototyp.h: Likewise.
27331 * util/mkisofs/include/statdefs.h: Likewise.
27332 * util/mkisofs/iso9660.h: Likewise.
27333 * util/mkisofs/joliet.c: Likewise.
27334 * util/mkisofs/match.c: Likewise.
27335 * util/mkisofs/match.h: Likewise.
27336 * util/mkisofs/mkisofs.c: Likewise.
27337 * util/mkisofs/mkisofs.h: Likewise.
27338 * util/mkisofs/msdos_partition.h: Likewise.
27339 * util/mkisofs/multi.c: Likewise.
27340 * util/mkisofs/name.c: Likewise.
27341 * util/mkisofs/rock.c: Likewise.
27342 * util/mkisofs/tree.c: Likewise.
27343 * util/mkisofs/write.c: Likewise.
27344
5dde9afe
VS
273452010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27346
27347 Unify grub-mkimage accross platforms.
27348
27349 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27350 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27351 (grub_mkelfimage_SOURCES): Removed.
27352 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27353 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27354 (bin_UTILITIES): Add grub-mkimage.
27355 (grub_mkimage_SOURCES): New variable.
27356 (kernel_img_HEADERS): Remove machine/kernel.h.
27357 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27358 (pkglib_PROGRAMS): Add kernel.img.
27359 (kernel_img_HEADERS): Add machine/kernel.h.
27360 (kernel_img_FORMAT): Removed.
27361 (bin_UTILITIES): Remove grub-mkimage.
27362 (grub_mkimage_SOURCES): Removed.
27363 (grub_mkimage_CFLAGS): Likewise.
27364 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27365 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27366 (pkglib_PROGRAMS): Add kernel.img.
27367 (bin_UTILITIES): Remove grub-mkimage.
27368 (grub_mkimage_SOURCES): Removed.
27369 (grub_mkimage_CFLAGS): Likewise.
27370 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27371 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27372 (pkglib_PROGRAMS): Add kernel.img.
27373 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27374 (pkglib_PROGRAMS): Add kernel.img.
27375 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27376 (grub_mkimage_SOURCES): Removed.
27377 (grub_mkimage_CFLAGS): Likewise.
27378 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27379 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27380 (pkglib_PROGRAMS): Add kernel.img.
27381 (bin_UTILITIES): Remove grub-mkimage.
27382 (grub_mkimage_SOURCES): Removed.
27383 (grub_mkimage_CFLAGS): Likewise.
27384 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27385 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27386 (grub_mkimage_SOURCES): Removed.
27387 (grub_mkimage_CFLAGS): Likewise.
27388 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27389 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27390 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27391 (grub_pe32_optional_header): ... this.
27392 (grub_pe64_optional_header): ... and this. All users updated.
27393 (GRUB_PE32_PE32_MAGIC): Split into ..
27394 (GRUB_PE32_PE32_MAGIC): .. this.
27395 (GRUB_PE32_PE64_MAGIC): .. and this.
27396 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27397 * include/grub/elf.h (PT_GNU_STACK): New definition.
27398 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27399 * include/grub/i386/efi/kernel.h: Likewise.
27400 * include/grub/i386/kernel.h: Likewise.
27401 * include/grub/i386/pc/kernel.h: Likewise.
27402 * include/grub/i386/qemu/boot.h: Likewise.
27403 * include/grub/mips/kernel.h: Likewise.
27404 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27405 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27406 * include/grub/powerpc/kernel.h: Likewise.
27407 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27408 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27409 * include/grub/sparc64/kernel.h: Likewise.
27410 * include/grub/x86_64/efi/kernel.h: Likewise.
27411 * include/grub/x86_64/kernel.h: Likewise.
27412 * include/grub/offsets.h: New file.
27413 * include/grub/kernel.h (grub_module_info): Split into ...
27414 (grub_module_info32): ... this.
27415 (grub_module_info64): ... and this.
27416 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27417 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27418 (grub_boot_blocklist): Moved from here ...
27419 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27420 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27421 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27422 * include/grub/types.h (grub_target_to_host16): Removed.
27423 (grub_target_to_host32): Likewise.
27424 (grub_target_to_host64): Likewise.
27425 (grub_host_to_target16): Likewise.
27426 (grub_host_to_target32): Likewise.
27427 (grub_host_to_target64): Likewise.
27428 (grub_host_to_target_addr): Likewise.
27429
27430 Support grub-mkrescue for efi, coreboot and qemu.
27431
27432 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27433 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27434 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27435 * util/grub-mkrawimage.c: Moved from here ...
27436 * util/grub-mkimage.c: ... here. All users updated.
27437 (ALIGN_ADDR): Use image_target.
27438 (TARGET_NO_FIELD): New const.
27439 (image_target_desc): New type.
27440 (image_targets): New array.
27441 (grub_target_to_host64): Use image_target.
27442 (grub_target_to_host32): Likewise.
27443 (grub_target_to_host16): Likewise.
27444 (grub_host_to_target64): Likewise.
27445 (grub_host_to_target32): Likewise.
27446 (grub_host_to_target16): Likewise.
27447 (grub_host_to_target_addr): Likewise.
27448 (generate_image): Handle multiimage.
27449 (main): Require -O parameter. All users updated.
27450 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27451 util/efi/grub-mkimage.c
27452 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27453 New option --rom-directory.
27454 Use xorriso.
27455 * util/i386/efi/grub-mkimage.c: Removed.
27456 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27457 (grub_target_to_host32): Likewise.
27458 (grub_target_to_host64): Likewise.
27459 (grub_host_to_target16): Likewise.
27460 (grub_host_to_target32): Likewise.
27461 (grub_host_to_target64): Likewise.
27462 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27463 (grub_target_to_host32): Likewise.
27464 (grub_target_to_host64): Likewise.
27465 (grub_host_to_target16): Likewise.
27466 (grub_host_to_target32): Likewise.
27467 (grub_host_to_target64): Likewise.
27468
f4fc97d0
BC
274692010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27470
27471 Source tree is reorganized for emu build.
27472
27473 * include/grub/util/console.h: Move from here...
27474 * include/grub/emu/console.h: ...to here.
27475 * include/grub/util/getroot.h: Move from here...
27476 * include/grub/emu/getroot.h: ...to here.
27477 * include/grub/util/hostdisk.h: Move from here...
27478 * include/grub/emu/hostdisk.h: ...to here.
27479 * util/console.c: Move from here...
27480 * kern/emu/console.c: ...to here.
27481 * util/getroot.c: Move from here...
27482 * kern/emu/getroot.c: ...to here.
27483 * util/grub-emu.c: Move from here...
27484 * kern/emu/main.c: ...to here.
27485 * util/hostdisk.c: Move from here...
27486 * kern/emu/hostdisk.c: ...to here.
27487 * util/hostfs.c: Move from here...
27488 * kern/emu/hostfs.c: ...to here.
27489 * util/mm.c: Move from here...
27490 * kern/emu/mm.c: ...to here.
27491 * util/pci.c: Move from here...
27492 * bus/emu/pci.c: ...to here.
27493 * util/sdl.c: Move from here...
27494 * video/emu/sdl.c: ...to here.
27495 * util/time.c: Move from here...
27496 * kern/emu/time.c: ...to here.
27497 * util/usb.c: Move from here...
27498 * bus/usb/emu/usb.c: ...to here.
27499
27500 * include/grub/emu/misc.h: New header for grub-emu functions.
27501 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27502
27503 * conf/any-emu.rmk: Rule updates for above renames.
27504 * conf/common.rmk: Likewise.
27505 * conf/i386-pc.rmk: Likewise.
27506 * conf/i386-qemu.rmk: Likewise.
27507 * conf/mips.rmk: Likewise.
27508 * conf/sparc64-ieee1275.rmk: Likewise.
27509 * conf/x86-efi.rmk: Likewise.
27510
27511 * disk/lvm.h: #include updates for above renames.
27512 * util/grub-mkrelpath.c: Likewise.
27513 * util/grub-probe.c: Likewise.
27514 * util/i386/pc/grub-setup.c: Likewise.
27515 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27516 * kern/emu/console.c: Likewise.
27517 * kern/emu/getroot.c: Likewise.
27518 * kern/emu/hostdisk.c: Likewise.
27519 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27520
27521 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27522 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27523 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27524 * util/misc.c: Remove grub-emu functions.
27525
cced9145
VS
275262010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27527
27528 Fix gfxmenu crash.
27529 Reported by: Thorsten Grützmacher.
27530
27531 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27532 timeout hook.
27533 (circprog_set_property): Register and unregister timeout hook.
27534 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27535 (label_destroy): Free template. and unregister hook.
27536 (label_set_state): New function.
27537 (label_set_property): Handle templates and hooks.
27538 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27539 timeout hook.
27540 (progress_bar_set_property): Register and unregister timeout hook.
27541 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27542 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27543 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27544 (update_timeout_visit): Removed.
27545 (update_timeouts): New function.
27546 (redraw_timeouts): Likewise.
27547 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27548 (grub_gfxmenu_clear_timeout): Likewise.
27549 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27550 (grub_gfxmenu_timeout_notify): Likewise.
27551 (grub_gfxmenu_timeout_notifications): New external variable.
27552 (grub_gfxmenu_timeout_register): New function.
27553 (grub_gfxmenu_timeout_unregister): Likewise.
27554
c6e5caab
VS
275552010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27556
27557 Transform (broken) vga terminal into (working) vga video driver.
27558
27559 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27560 video/i386/pc/vga.c.
27561 * include/grub/video.h (grub_video_driver_id):
27562 Add GRUB_VIDEO_DRIVER_VGA.
27563 * term/i386/pc/vga.c: Renamed to ...
27564 * video/i386/pc/vga.c: ...this
27565 (DEBUG_VGA): Removed.
27566 (CHAR_WIDTH): Likewise.
27567 (CHAR_HEIGHT): Likewise.
27568 (TEXT_WIDTH): Likewise.
27569 (TEXT_HEIGHT): Likewise.
27570 (DEFAULT_FG_COLOR): Likewise.
27571 (DEFAULT_BG_COLOR): Likewise.
27572 (colored_char): Likewise.
27573 (xpos): Likewise.
27574 (ypos): Likewise.
27575 (cursor_state): Likewise.
27576 (fg_color): Likewise.
27577 (bg_color): Likewise.
27578 (text_buf): Likewise.
27579 (page): Likewise.
27580 (font): Likewise.
27581 (framebuffer): New variable.
27582 (set_read_map): Disabled.
27583 (setup): New variable.
27584 (is_target): Likewise.
27585 (grub_vga_mod_init): Likewise.
27586 (grub_vga_mod_fini): Likewise.
27587 (check_vga_mem): Likewise.
27588 (write_char): Likewise.
27589 (write_cursor): Likewise.
27590 (scroll_up): Likewise.
27591 (grub_vga_putchar): Likewise.
27592 (grub_vga_getcharwidth): Likewise.
27593 (grub_vga_getwh): Likewise.
27594 (grub_vga_getxy): Likewise.
27595 (grub_vga_gotoxy): Likewise.
27596 (grub_vga_cls): Likewise.
27597 (grub_vga_setcolorstate): Likewise.
27598 (grub_vga_setcursor): Likewise.
27599 (grub_video_vga_init): New function.
27600 (grub_video_vga_setup): Likewise.
27601 (grub_video_vga_fini): Likewise.
27602 (update_target): Likewise.
27603 (grub_video_vga_blit_bitmap): Likewise.
27604 (grub_video_vga_blit_render_target): Likewise.
27605 (grub_video_vga_set_active_render_target): Likewise.
27606 (grub_video_vga_get_active_render_target): Likewise.
27607 (grub_video_vga_swap_buffers): Likewise.
27608 (grub_video_vga_set_palette): Likewise.
27609 (grub_video_vga_get_info_and_fini): Likewise.
27610 (grub_vga_term): Removed.
27611 (grub_video_vga_adapter): New variable.
27612 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27613 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27614
2bf61a98
VS
276152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27616
27617 * video/readers/jpeg.c: Indented.
27618
09ddcd11
VS
276192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27620
27621 Various jpeg cleanups.
27622
27623 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27624 (grub_jpeg_decode_quan_table): Use sizeof.
27625 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27626
e5507505
PH
276272010-05-05 Peter Hurley <No e-mail available> (tiny change)
27628
27629 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27630 tables. Ignore non-last ac bit.
27631 (grub_jpeg_decode_quan_table): Likewise.
27632
7e720a9b
VS
276332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27634
27635 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27636 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27637 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27638 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27639 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27640 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27641
a7fc080b
VS
276422010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27643
27644 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27645 error.
27646
2bf6012d
VS
276472010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27648
27649 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27650
265d68cd
VS
276512010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27652
27653 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27654 condition.
27655
276562010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27657
27658 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27659 part.
27660
265d68cd 276612010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27662
27663 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27664 pointers.
27665
265d68cd 276662010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27667
27668 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27669
d1b61374
CF
276702010-05-01 Christian Franke <franke@computer.org>
27671
27672 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27673 Remove broken Cygwin path conversion.
27674 * util/misc.c: [__CYGWIN__] Add include and define.
27675 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27676 for Cygwin 1.7.
27677 (make_system_path_relative_to_its_root): Simplify loop, replace early
27678 return by break.
27679 [__CYGWIN__] Add conversion to win32 path.
27680 Include "/" case in trailing slash removal.
27681
3558c6e9
VS
276822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27683
27684 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27685 Reported by: Seth Goldberg
27686
f5f3ff93
VS
276872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27688
27689 * commands/help.c (grub_cmd_help): Fix a typo.
27690 Reported by: Seth Goldberg
27691
d8b5cd40
VS
276922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27693
27694 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27695 name and add N_.
27696 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27697 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27698 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27699 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27700 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27701 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27702 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27703 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27704 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27705 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27706 * normal/context.c (GRUB_MOD_INIT): Likewise.
27707 * normal/main.c (GRUB_MOD_INIT): Likewise.
27708 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27709 * term/serial.c (GRUB_MOD_INIT): Likewise.
27710 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27711
88c14915
VS
277122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27713
27714 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27715 extra == 0.
27716
165134bc
VS
277172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27718
27719 * commands/iorw.c: New file.
27720 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27721 (iorw_mod_SOURCES): New variable.
27722 (iorw_mod_CFLAGS): Likewise.
27723 (iorw_mod_LDFLAGS): Likewise.
27724
c5ac9b32
VS
277252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27726
27727 Hotkey support
27728
27729 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27730 * normal/main.c (hotkey_aliases): New variable.
27731 (grub_normal_add_menu_entry): Parse "--hotkey".
27732 * normal/menu_text.c (run_menu): Handle hotkeys.
27733
ce60689c
VS
277342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27735
27736 * kern/i386/coreboot/init.c (grub_machine_init): Call
27737 grub_machine_mmap_init on qemu.
27738
0359d006
VS
277392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27740
27741 * boot/i386/qemu/boot.S: Add a missing .code16.
27742
7819a456
VS
277432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27744
27745 Use LBIO on coreboot.
27746
27747 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27748 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27749 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27750 New declaration.
27751 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27752 grub_machine_mmap_init on coreboot.
27753 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27754 GRUB_LINUXBIOS_MEMBER_LINK.
27755 (grub_machine_mmap_iterate): Fix declaration.
27756 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27757
7210dca9
VS
277582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27759
27760 Split coreboot and multiboot ports.
27761
27762 * conf/i386-multiboot.rmk: New file.
27763 * configure.ac: Add multiboot port.
27764 * include/grub/i386/multiboot/boot.h: New file.
27765 * include/grub/i386/multiboot/console.h: Likewise.
27766 * include/grub/i386/multiboot/init.h: Likewise.
27767 * include/grub/i386/multiboot/kernel.h: Likewise.
27768 * include/grub/i386/multiboot/loader.h: Likewise.
27769 * include/grub/i386/multiboot/memory.h: Likewise.
27770 * include/grub/i386/multiboot/serial.h: Likewise.
27771 * include/grub/i386/multiboot/time.h: Likewise.
27772 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27773 * loader/multiboot.c: Likewise.
27774 * loader/multiboot_mbi2.c: Likewise.
27775 * util/grub-mkrescue.in: Generate multiboot rescue.
27776
6f8aaf68
VS
277772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27778
3080f7a7
VS
27779 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27780
277812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27782
27783 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
27784
27785 * commands/terminal.c (abstract_terminal): New struct.
27786 (handle_command): New function. Based on grub_cmd_terminal_input.
27787 (grub_cmd_terminal_input): Use handle_command.
27788 (grub_cmd_terminal_output): Use handle_command.
27789
a8ebb841
BC
277902010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27791
27792 Fix comment handling.
27793
27794 * tests/grub_script_comments.in: New testcase.
27795 * conf/tests.rmk: Rules for new testcase.
27796 * script/yylex.l: Updated flex rules.
27797
bb06ba08
ST
277982010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27799
27800 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
27801 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27802 if argc is 1.
bb06ba08 27803
cc9d2425
VS
278042010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27805
27806 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27807 autogen issues.
27808
460d8402
CF
278092010-04-26 Christian Franke <franke@computer.org>
27810
27811 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27812 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27813 (grub_get_prefix): Remove function.
27814 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27815 make_system_path_relative_to_its_root ().
27816 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27817
553c01f9
CF
278182010-04-24 Christian Franke <franke@computer.org>
27819
27820 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27821 (kernel_img_LDFLAGS): Remove -static-libgcc.
27822
2aec1692
CF
278232010-04-24 Christian Franke <franke@computer.org>
27824
27825 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27826 and CHECK_END_SYMBOL if grub-emu is built.
27827 Unset TARGET_OBJ2ELF if grub-emu is built
27828 without module support.
27829
f67dc308
JS
278302010-04-24 Jiro SEKIBA <jir@unicus.jp>
27831
27832 Nilfs2 support.
27833
27834 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27835 (grub_fstest_SOURCES): Likewise.
27836 (pkglib_MODULES): Add nilfs2.mod.
27837 (nilfs2_mod_SOURCES): New variable.
27838 (nilfs2_mod_CFLAGS): Likewise.
27839 (nilfs2_mod_LDFLAGS): Likewise.
27840 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27841 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27842 * fs/nilfs2.c: New file.
27843
4ba8d354
VS
278442010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27845
27846 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27847 is not supported.
27848
0d2c20c6
GS
278492010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27850
27851 Add grub-mkconfig support for NetBSD.
27852
27853 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27854 * util/grub-mkconfig.in: export new NetBSD specific variables.
27855 * po/POTFILES-shell: added 10_netbsd.in.
27856 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27857
bc4a2d83
BC
278582010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27859
27860 Fix emu build with grub-emu-pci and grub-emu-modules.
27861
27862 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27863 functions.
27864 * include/grub/libpciaccess.h: New file.
27865 * conf/any-emu.rmk: Update kernel headers for emu build.
27866
f48c87aa
VS
278672010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27868
27869 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27870
18959385
VS
278712010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27872
27873 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27874
0037de3f
VS
278752010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27876
27877 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27878 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27879 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27880 util/ieee1275/ofpath.c.
27881 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27882 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27883 * include/grub/sparc64/ieee1275/boot.h
27884 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27885 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27886 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27887 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27888 const char *.
27889 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27890 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27891 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27892 install.
27893
38e55e90
GS
278942010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27895
27896 * util/grub-mkconfig.in: Corrected two == equality tests.
27897 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27898 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27899 expect a number appended to it.
27900 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27901 expects a number appended to it.
27902
a9e6ff28
VS
279032010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27904
27905 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27906
0b830b8f
VS
279072010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27908
27909 * util/hostdisk.c (make_device_name): Change to new partition naming.
27910
0973daeb
VS
279112010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27912
27913 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27914
460d8402 279152010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27916
27917 * Makefile.in: Add missing localedir setting.
27918
0b456309
CW
279192010-04-14 Colin Watson <cjwatson@ubuntu.com>
27920
27921 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27922 mistake in r2156. Noticed by Anthony Fok.
27923
27924 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27925 @localedir@.
27926 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27927
08f46d62
BC
279282010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27929
27930 Fix a spurious, uninitialized variable warning.
27931
27932 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27933 Initialize variable, shdr.
27934 (grub_freebsd_load_elfmodule): Likewise.
27935 (grub_freebsd_load_elf_meta): Likewise.
27936
8c4a72d4
BC
279372010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27938
27939 Fix for escaped dollar in double quoted strings.
27940
27941 * script/yylex.l: Updated flex rules.
27942 * conf/tests.rmk: Rule for new testcase.
27943 * tests/grub_script_dollar.in: New testcase.
27944
ce44826e
CPE
279452010-04-13 Carles Pina i Estany <carles@pina.cat>
279462010-04-13 Colin Watson <cjwatson@ubuntu.com>
27947
27948 Enclose all translated strings in grub.cfg in single quotes, and
27949 escape them appropriately (Ubuntu bug #552921).
27950
27951 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27952 * util/grub.d/10_hurd.in: Use it.
27953 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27954 * util/grub.d/10_linux.in (linux_entry): Likewise.
27955
4b0cd8f8
VS
279562010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27957
27958 Fix cygwin compilation.
27959
27960 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27961 * include/grub/misc.h (__register_frame_info)
27962 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27963 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27964 * kern/misc.c (__register_frame_info)
27965 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27966 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27967
01fcf061
VS
279682010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27969
27970 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27971
5d04b11e
VS
279722010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27973
27974 Unify libgcc processing.
27975
27976 * Makefile.in (kernel_img_LDFLAGS): New variable.
27977 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27978 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27979 overwriting.
27980 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27981 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27982 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27983 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27984 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27985 overwriting. Remove -lgcc and -static-libgcc
27986 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27987 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27988 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27989 (kernel_img_LDFLAGS): Append instead of overwriting.
27990 Remove -lgcc and -static-libgcc
27991 * conf/sparc64-ieee1275.rmk: Likewise.
27992 * include/grub/powerpc/libgcc.h: Move to ...
27993 * include/grub/libgcc.h: .. this.
27994 * include/grub/libgcc.h: Don't export most of the function on x86.
27995 (__bswapsi2): New export.
27996 (__bswapdi2): Likewise.
27997 * include/grub/mips/libgcc.h: Removed.
27998 * include/grub/sparc64/libgcc.h: Likewise.
27999
b7f3ac29
VS
280002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28001
28002 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28003 disk_info_msg (conflicts with gettexting into languages with cases).
28004
2c7031b1
GS
280052010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28006
28007 Add grub-probe support for NetBSD.
28008
28009 * util/getroot.c (find_root_device): Convert block device to
28010 character device on NetBSD.
28011 * util/probe.c (probe): Require character device on NetBSD.
28012 * util/hostdisk.c: NetBSD specific headers.
28013 (configure_device_driver): new function to tune device driver
28014 parameters (currently only for NetBSD floppy driver).
28015 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28016 via disklabel ioctl).
28017 (open_device): call configure_device_driver on NetBSD.
28018 (convert_system_partition_to_system_disk): NetBSD specific code.
28019 (device_is_wholedisk): Likewise.
28020 (grub_util_biosdisk_get_grub_dev): Likewise.
28021 (make_device_name): Fixed a typo in bsd_part_str.
28022 * configure.ac: check for opendisk() and getrawpartition() on
28023 NetBSD and set LIBUTIL.
28024 * Makefile.in: add LIBUTIL to LIBS.
28025
f516290c
BC
280262010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28027
28028 Documentation fix.
28029
28030 * util/grub-script-check.c: Better help message.
28031
d8dcc0df
BC
280322010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28033
28034 Fix FreeBSD build.
28035
28036 * configure.ac: Flex version check.
28037 * conf/common.rmk: Add -Wno-error to sh.mod.
28038 * script/yylex.l: Remove all #pragma.
28039
6734334a
VS
280402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28041
28042 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28043 prototype.
28044 Reported by: Seth Goldberg.
28045
daea6abd
VS
280462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28047
28048 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
28049 Rename "module" to "module2".
28050 Reported by: Seth Goldberg.
28051
f2fd9d2b
VS
280522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28053
28054 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
28055 EXPORT_FUNC.
28056 Reported by: Seth Goldberg.
28057
be124579
VS
280582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28059
28060 * lib/posix_wrap/locale.h: Add missing file.
28061 Reported by: Seth Goldberg.
28062
ef5da797
VS
280632010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28064
28065 grub-emu module load support.
28066
28067 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28068 NO_DYNAMIC_MODULES switched to this.
28069 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28070 (CFLAGS): Likewise.
28071 * conf/any-emu.rmk: Generate symlist.
28072 (kernel_img_HEADERS): Add util/datetime.h.
28073 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28074 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28075 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28076 kern/$(target_cpu)/cache.S.
28077 * configure.ac (grub-emu-modules): New option.
28078 * genmk.rb: Handle multiple source lists.
28079 * include/grub/sdl.h: New file.
28080 * include/grub/libusb.h: Likewise.
28081 * util/grub-emu.c (main): Hanle (host) root.
28082 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28083 GRUB_ERR_UNKNOWN_DEVICE.
28084 * util/misc.c: Move mm functions to ...
28085 * util/mm.c: ... here. All users updated.
28086
47822096
VS
280872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28088
28089 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
28090 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
28091 missing files.
28092 (maintainer-clean): Remove libgcrypt-grub.
28093
5d7e7445
VS
280942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28095
28096 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
28097
25f4e252
EC
280982010-04-09 EFI Coder <eficoder@hotmail.com>
28099
28100 * normal/menu_text.c (print_message): Clean up the message and show
28101 the Fn information when on EFI
28102 * term/efi/console.c (grub_console_checkkey): Add F4 support.
28103
027de555
VS
281042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28105
28106 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
28107 All users updated.
28108 * normal/crypto.c (read_crypto_list): Likewise.
28109 * normal/dyncmd.c (read_command_list): Likewise.
28110 * normal/term.c (read_terminal_list): Likewise.
28111 * normal/main.c (read_lists): Use explicit prefix.
28112 (read_lists_hook): Use read_lists.
28113 (grub_normal_execute): Likewise.
28114
47779711
VS
281152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
28118 Reported by: Thomas Schmitt.
28119 Add -no-emul-boot to grub-mkisofs parameters.
28120
1118c32e
VS
281212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28122
28123 * font/font.c: Indented.
28124
7d652447
BC
281252010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28126
28127 Elif support to GRUB script (by Deepak Vankadaru).
28128
28129 * tests/grub_script_if.in: New testcase.
28130 * conf/tests.rmk: Rule for new testcase.
28131 * script/parser.y: Grammar rules for elif.
28132
34bb22df
BC
281332010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28134
28135 While and until loops support to GRUB script.
28136
28137 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
28138 (grub_script_create_cmdwhile): New function prototype.
28139 (grub_script_execute_cmdwhile): New function prototype.
28140 * script/execute.c (grub_script_execute_cmdwhile): New function.
28141 * script/parser.y (command): New commands.
28142 (whilecmd): New grammar rule.
28143 (untilcmd): New grammar rule.
28144 * script/script.c (grub_script_create_cmdwhile): New function.
28145 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
28146 function.
28147
28148 * tests/grub_script_while1.in: New testcase.
28149 * conf/tests.rmk: Rule for new testcase.
28150
e215d8e0
VS
281512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28152
28153 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
28154 as *.jpg.
28155
d7c43ba1
MV
281562010-04-09 Mario Vazquez <mariovazq@gmail.com>
28157
28158 GRUB_BACKGROUND support.
28159
28160 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
28161 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
28162
d64795c0
VS
281632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28164
28165 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 28166 Idea by: Mario Vazquez
d64795c0
VS
28167
28168 * util/grub.d/00_header.in: Load pf2 and image modules.
28169
f267f83a
VS
281702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28171
28172 grub-mkconfig multiple terminal support.
28173
28174 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28175 * util/grub.d/00_header.in: Likewise.
28176
b7841ceb
VS
281772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28178
28179 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28180 we use cd $(srcdir).
28181
df60998c
CW
281822010-04-08 Colin Watson <cjwatson@ubuntu.com>
28183
28184 * util/grub.d/10_linux.in: Only use the first word of
28185 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28186 spaces in GRUB_DISTRIBUTOR.
28187 * util/grub.d/10_kfreebsd.in: Likewise.
28188 * util/grub.d/10_hurd.in: Likewise.
28189
fa09c82e
BC
281902010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28191
14e18ae3 28192 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
28193
28194 * tests/util/grub-shell.in: Remove -serial stdio option.
28195
daf892b3
BC
281962010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28197
28198 POSIX header file wrappers.
28199
28200 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28201 equivalents.
28202 * lib/posix_wrap/ctype.h: Likewise.
28203 * lib/posix_wrap/errno.h: Likewise.
28204 * lib/posix_wrap/langinfo.h: Likewise.
28205 * lib/posix_wrap/limits.h: Likewise.
28206 * lib/posix_wrap/localcharset.h: Likewise.
28207 * lib/posix_wrap/stdint.h: Likewise.
28208 * lib/posix_wrap/stdio.h: Likewise.
28209 * lib/posix_wrap/stdlib.h: Likewise.
28210 * lib/posix_wrap/string.h: Likewise.
28211 * lib/posix_wrap/sys/types.h: Likewise.
28212 * lib/posix_wrap/unistd.h: Likewise.
28213 * lib/posix_wrap/wchar.h: Likewise.
28214 * lib/posix_wrap/wctype.h: Likewise.
28215 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28216 (grub_script.yy.h): Likewise.
28217 * script/yylex.l: Remove POSIX emulation #defines.
28218 * Makefile.in (POSIX_CFLAGS): New variable.
28219 (GNULIB_UTIL_CFLAGS): Likewise.
28220
28221 Regexp support.
28222
28223 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28224 (regexp_mod_SOURCES): New variable.
28225 (regexp_mod_CFLAGS): Likewise.
28226 (regexp_mod_LDFLAGS): Likewise.
28227 * commands/regexp.c: New file.
28228 * gnulib/regcomp.c: New file. Imported from gnulib.
28229 * gnulib/regex.c: Likewise.
28230 * gnulib/regex_internal.c: Likewise.
28231 * gnulib/regex_internal.h: Likewise.
28232 * gnulib/regexec.c: Likewise.
28233 * gnulib/regex.h: Likewise.
28234
974ac4f7
VS
282352010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28238 unsupported video mode types.
28239
2622c3ff
VS
282402010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28241
28242 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28243
064cb524
VS
282442010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28245
28246 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28247 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28248
a8c3b552
VS
282492010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28250
28251 Remove unused grub_vga_get_font.
28252
28253 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28254 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28255
187bbe3d
GS
282562010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28257
28258 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28259 * include/grub/misc.h: Likewise.
28260
b9396631
GS
282612010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28262
28263 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28264 for which failure is fatal.
28265
50479feb
GS
282662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28267
28268 * util/grub-install.in: Use mkdir -p to create grub directory.
28269 * util/i386/efi/grub-install.in: Likewise.
28270 * util/ieee1275/grub-install.in: Likewise.
28271
b1654fdf
GS
282722010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28273
28274 * Makefile.in (LEX): new variable.
28275
bd5a6415
GS
282762010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28277
28278 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28279 `=' and added double quotes on operands of this equality test.
28280
3db3a82b
VS
282812010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28282
28283 * Makefile.in (uninstall): Remove a leftover debug echo.
28284 Reported by: Grégoire Sutre
28285
38023412
VS
282862010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28287
28288 MIPS multiboot2 support.
28289
28290 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28291 (multiboot2_mod_SOURCES): New variable.
28292 (multiboot2_mod_CFLAGS): Likewise.
28293 (multiboot2_mod_LDFLAGS): Likewise.
28294 (multiboot2_mod_ASFLAGS): Likewise.
28295 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28296 definition.
28297 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28298 (MULTIBOOT_MBI_REGISTER): Likewise.
28299 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28300 (MULTIBOOT_ELF32_MACHINE): Likewise.
28301 (MULTIBOOT_ELF64_MACHINE): Likewise.
28302 * include/grub/mips/multiboot.h: New file.
28303 * include/grub/video.h (grub_video_driver_id): New type
28304 GRUB_VIDEO_DRIVER_SM712.
28305 (grub_video_get_info_and_fini): Export.
28306 (grub_video_get_palette): Likewise.
28307 (grub_video_get_driver_id): Likewise.
28308 * include/multiboot2.h: Resynced with spec.
28309 * loader/i386/multiboot.c: Moved from here ...
28310 * loader/multiboot.c: ... here. All users updated.
28311 (grub_multiboot_boot): Use platform-specific macros.
28312 * loader/i386/multiboot_elfxx.c: Moved from here ...
28313 * loader/multiboot_elfxx.c: ... here. All users updated.
28314 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28315 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28316 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28317
47674667
VS
283182010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28319
28320 Import gnulib argp module.
28321
28322 * gnulib/argp-ba.c: New file.
28323 * gnulib/argp-eexst.c: Likewise.
28324 * gnulib/argp-fmtstream.c: Likewise.
28325 * gnulib/argp-fmtstream.h: Likewise.
28326 * gnulib/argp-fs-xinl.c: Likewise.
28327 * gnulib/argp-help.c: Likewise.
28328 * gnulib/argp-namefrob.h: Likewise.
28329 * gnulib/argp-parse.c: Likewise.
28330 * gnulib/argp-pin.c: Likewise.
28331 * gnulib/argp-pv.c: Likewise.
28332 * gnulib/argp-pvh.c: Likewise.
28333 * gnulib/argp-version-etc.c: Likewise.
28334 * gnulib/argp-version-etc.h: Likewise.
28335 * gnulib/argp-xinl.c: Likewise.
28336 * gnulib/argp.h: Likewise.
28337
495442ed
VS
283382010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28339
28340 * kern/device.c (grub_device_iterate): Clear errors after failed
28341 opening device.
28342
f9fd65df
VS
283432010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28344
28345 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28346 returned by firmware.
28347
af09641e
VS
283482010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28349
28350 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28351 compilation on coreboot and qemu
28352
016883a5
VS
283532010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 * include/multiboot2.h: Resync with spec.
28356
f97e1f7d
VS
283572010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28358
28359 Multiboot2 tag support
28360
28361 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28362 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28363 Remove loader/multiboot_loader.c.
28364 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28365 (grub_multiboot2_real_boot): Likewise.
28366 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28367 (grub_get_multiboot_mmap_count): New proto.
28368 (grub_fill_multiboot_mmap): Likewise.
28369 (grub_multiboot_set_video_mode): Likewise.
28370 (grub_multiboot_set_console): Likewise.
28371 (grub_multiboot_load): Likewise.
28372 (grub_multiboot_load_elf): Likewise.
28373 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28374 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28375 * include/multiboot.h: Resynced with specification.
28376 * include/multiboot2.h: Resynced with specification.
28377 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28378 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28379 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28380 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28381 users updated.
28382 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28383 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28384 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28385 Removed.
28386 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28387 Moved from here...
28388 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28389 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28390 Moved from here...
28391 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28392 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28393 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28394 All users updated.
28395 * loader/i386/multiboot_mbi2.c: New file.
28396
3506b90b
VS
283972010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28398
28399 Resync with gnulib.
28400
28401 * Makefile.in (GNULIB_CFLAGS): New variable.
28402 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28403 (grub_script_check_CFLAGS): New variable.
28404 * gnulib/alloca.h: Resync with gnulib.
28405 * gnulib/error.c: Likewise.
28406 * gnulib/error.h: Likewise.
28407 * gnulib/fnmatch.c: Likewise.
28408 * gnulib/fnmatch_loop.c: Likewise.
28409 * gnulib/getdelim.c: Likewise.
28410 * gnulib/getline.c: Likewise.
28411 * gnulib/getopt.c: Likewise.
28412 * gnulib/getopt1.c: Likewise.
28413 * gnulib/getopt_int.h: Likewise.
28414 * gnulib/gettext.h: Likewise.
28415 * gnulib/progname.c: Likewise.
28416 * gnulib/progname.h: Likewise.
28417
394a3120
GS
284182010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28419
28420 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28421 which is the case with --disabled-nls.
28422
28423 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28424 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28425 * util/misc.c: Likewise.
28426 * util/mkisofs/mkisofs.c: Likewise.
28427 * util/mkisofs/mkisofs.h: Likewise.
28428
969d1c78
VS
284292010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28430
28431 Simplify Apple CC support.
28432
28433 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28434 Add 0 byte at the end not to have a symbol with empty target.
28435 * mmap/i386/pc/mmap_helper.S: Likewise.
28436 * genmk.rb: Ignore errors 2030 and 2050.
28437 * kern/i386/pc/startup.S: Use LOCAL when possible.
28438
8d2977bb
BC
284392010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28440
28441 Testcase and the fix for final semicolon on cmdline.
28442
28443 * tests/grub_script_final_semicolon.in: New testcase.
28444 * conf/tests.rmk: Rules for the new testcase.
28445 * script/parser.y: Grammar fix.
28446
a7bd6915
BC
284472010-03-26 BVK Chaitanya <bvk@localhost>
28448
28449 Blank lines testcase for GRUB script.
28450
28451 * tests/grub_script_blanklines.in: New testcase.
28452 * conf/tests.rmk: Rules for the new testcase.
28453
e4ff6628
VS
284542010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28455
28456 Don't use __FILE__.
28457
28458 * genmk.rb: Add -DGRUB_FILE to all C targets.
28459 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28460 * include/grub/list.h: Likewise.
28461 * include/grub/misc.h: Likewise.
28462 * include/grub/mm.h: Likewise.
28463 * include/grub/test.h: Likewise.
28464 * kern/mm.c: Likewise.
28465 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28466
6a5cf6b6
VS
284672010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28468
28469 Sunpc partitions support.
28470
28471 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28472 (grub_fstest_SOURCES): Likewise.
28473 (pkglib_MODULES): Add part_sunpc.mod.
28474 (part_sunpc_mod_SOURCES): New variable.
28475 (part_sunpc_mod_CFLAGS): Likewise.
28476 (part_sunpc_mod_LDFLAGS): Likewise.
28477 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28478 * partmap/sunpc.c: New file.
28479
746d9045
BC
284802010-03-26 BVK Chaitanya <bvk@localhost>
28481
28482 For loop support to GRUB script.
28483
28484 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28485 (grub_script_create_cmdfor): New function prototype.
28486 (grub_script_execute_cmdfor): New function prototype.
28487 * script/execute.c (grub_script_execute_cmdfor): New function.
28488 * script/parser.y (command): New for command.
28489 (forcmd): New grammar rule.
28490 * script/script.c (grub_script_create_cmdfor): New function.
28491 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28492 function.
28493 * tests/grub_script_for1.in: New testcase.
28494 * conf/tests.rmk: Rules for new testcase.
28495
18486b18
VS
284962010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28497
28498 Nested partitions
28499
28500 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28501 'partition' is NULL, grub_partition_get_start already does that.
28502 * commands/loadenv.c (check_blocklists): Likewise.
28503 (write_blocklists): Likewise.
28504 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28505 (grub_fstest_SOURCES): Likewise.
28506 (pkglib_MODULES): Add part_bsd.mod.
28507 (part_bsd_mod_SOURCES): New variable.
28508 (part_bsd_mod_CFLAGS): Likewise.
28509 (part_bsd_mod_LDFLAGS): Likewise.
28510 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28511 (grub_emu_SOURCES): Likewise.
28512 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28513 * include/grub/bsdlabel.h: New file.
28514 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28515 'get_name'.
28516 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28517 (grub_partition_map_list): New variable.
28518 (grub_partition_map_register): Inline.
28519 (grub_partition_map_unregister): Likewise.
28520 (FOR_PARTITION_MAPS): New macro.
28521 (grub_partition_map_iterate): Removed.
28522 (grub_partition_get_start): Handle nested partitions.
28523 * include/grub/msdos_partition.h: Remove bsd-related entries.
28524 (grub_pc_partition): Remove.
28525 * kern/disk.c (grub_disk_close): Free partition data.
28526 (grub_disk_adjust_range): Handle nested partitions.
28527 * kern/partition.c (grub_partition_map_probe): New function.
28528 (grub_partition_probe): Parse name to number, handle subpartitions.
28529 (get_partmap): New function.
28530 (grub_partition_iterate): Handle subpartitions.
28531 (grub_partition_get_name): Likewise.
28532 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28533 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28534 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28535 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28536 Set 'number'.
28537 (acorn_partition_map_probe): Remove.
28538 (acorn_partition_map_get_name): Likewise.
28539 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28540 Set 'number'.
28541 Set 'index' to 0 since there can be only one partition entry per sector.
28542 (amiga_partition_map_probe): Remove.
28543 (amiga_partition_map_get_name): Likewise.
28544 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28545 Set 'number'.
28546 Set 'offset' and 'index' to real positions of partitions.
28547 (apple_partition_map_probe): Remove.
28548 (apple_partition_map_get_name): Likewise.
28549 * partmap/bsdlabel.c: New file.
28550 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28551 Set 'number'.
28552 Allocate 'data' so it can be correctly freed.
28553 Set 'index' to offset inside sector.
28554 (gpt_partition_map_probe): Remove.
28555 (gpt_partition_map_get_name): Likewise.
28556 * partmap/msdos.c (grub_partition_parse): Remove.
28557 (pc_partition_map_iterate): Don't force raw access.
28558 Set 'number'.
28559 Make 'ext_offset' a local variable.
28560 (pc_partition_map_probe): Remove.
28561 (pc_partition_map_get_name): Remove.
28562 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28563 Set 'number'.
28564 (sun_partition_map_probe): Remove.
28565 (sun_partition_map_get_name): Likewise.
28566 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28567 (grub_pcpart_type): Likewise.
28568 * util/hostdisk.c (open_device): Handle new numbering scheme.
28569 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28570 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28571 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28572 * util/grub-install.in: Insert all subpartition modules.
28573 * util/ieee1275/grub-install.in: Likewise.
28574
a3940f88
AG
285752010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28576
28577 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28578 grammar.
28579
21b99926 285802010-03-24 Colin Watson <cjwatson@ubuntu.com>
28581
28582 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28583
bed1d352
CW
285842010-03-21 Colin Watson <cjwatson@ubuntu.com>
28585
28586 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28587 match where 'make install' puts them.
28588 * util/i386/efi/grub-install.in: Likewise.
28589
c9f58427
CW
285902010-03-19 Colin Watson <cjwatson@ubuntu.com>
28591
28592 * .bzrignore: Add gentrigtables, grub-script-check,
28593 grub_script_check_init.c, grub_script_check_init.h, and
28594 trigtables.c.
28595
f84afb27
VS
285962010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28597
28598 * kern/parser.c: Indented.
28599
ed0e3d30
VS
286002010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28601
28602 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28603
0ea81d98
VS
286042010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28605
28606 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28607 alpha_mask_size == 0 case.
28608
0cdc2a09
BC
286092010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28610
28611 GRUB shell lexer and parser improvements.
28612
28613 * conf/any-emu.rmk: Build rule updates.
28614 * conf/common.rmk: Likewise.
28615 * conf/i386-coreboot.rmk: Likewise.
28616 * conf/i386-efi.rmk: Likewise.
28617 * conf/i386-ieee1275.rmk: Likewise.
28618 * conf/i386-pc.rmk: Likewise.
28619 * conf/powerpc-ieee1275.rmk: Likewise.
28620 * conf/x86_64-efi.rmk: Likewise.
28621
28622 * configure.ac: Configure check for flex.
28623
28624 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28625 types.
28626 (grub_lexer_param): Struct member updates.
28627 (grub_parser_param): Likewise.
28628 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28629 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28630 (grub_script_lexer_init): Prototype update.
28631 (grub_script_lexer_record_start): Likewise.
28632 (grub_script_lexer_record_stop): Likewise.
28633 (grub_script_lexer_yywrap): New function prototype.
28634 (grub_script_lexer_fini): Likewise.
28635 (grub_script_execute_argument_to_string): Removed by...
28636 (grub_script_execute_argument_to_argv): ...better version.
28637
28638 * script/execute.c (ROUND_UPTO): New macro.
28639 (grub_script_execute_cmdline): Out of memory fixes.
28640 (grub_script_execute_menuentry): Likewise.
28641 (grub_script_execute_argument_to_string): Removed. Update all
28642 users by...
28643 (grub_script_execute_argument_to_argv): ...better version.
28644 * script/function.c (grub_script_function_create): Use
28645 grub_script_execute_argument_to_argv instead of
28646 grub_script_execute_argument_to_string.
28647
28648 * script/lexer.c (check_varstate): Removed.
28649 (check_textstate): Removed.
28650 (grub_script_lexer_record_start): Likewise.
28651 (grub_script_lexer_record_stop): Likewise.
28652 (recordchar): Replaced with...
28653 (grub_script_lexer_record): ...new function.
28654 (nextchar): Removed.
28655 (grub_script_lexer_init): Rewritten.
28656 (grub_script_yylex): Rewritten.
28657 (append_newline): New function.
28658 (grub_script_lexer_yywrap): New function.
28659 (grub_script_lexer_fini): New function.
28660 (grub_script_yyerror): Sets error flag.
28661
28662 * script/yylex.l: New file.
28663 (grub_lexer_yyfree): Wrapper for flex yyffre.
28664 (grub_lexer_yyalloc): Likewise.
28665 (grub_lexer_yyrealloc): Likewise.
28666 * script/parser.y: Refactored.
28667
28668 * script/script.c (grub_script_arg_add): Out of memory fixes.
28669 (grub_script_add_arglist): Likewise.
28670 (grub_script_create_cmdline): Likewise.
28671 (grub_script_create_cmdmenu): Likewise.
28672 (grub_script_add_cmd): Likewise.
28673 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28674 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28675 unnecessary code.
28676
28677 * tests/grub_script_echo1.in: New testcase.
28678 * tests/grub_script_vars1.in: New testcase.
28679 * tests/grub_script_echo_keywords.in: New testcase.
28680
1d63a066
VS
286812010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28682
28683 Remove some redundancy in build system.
28684
28685 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28686 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28687 (TARGET_LDFLAGS): Add -nostdlib.
28688 (TARGET_IMG_LDFLAGS): Likewise.
28689 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28690 anything since mmap isn't available.
28691 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28692 Add util/time.c.
28693 (pkglib_MODULES): Remove reboot.mod.
28694 (reboot_mod_SOURCES): Removed.
28695 (reboot_mod_CFLAGS): Likewise.
28696 (reboot_mod_LDFLAGS): Likewise.
28697 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28698 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28699 (DEFSYMFILES): Add kernel_syms.lst.
28700 (kernel_img_HEADERS): Add common headers.
28701 (symlist.c): New target.
28702 (kernel_syms.lst): Likewise.
28703 (pkglib_MODULES): Add memdisk.mod.
28704 (memdisk_mod_SOURCES): New variable.
28705 (memdisk_mod_CFLAGS): Likewise.
28706 (memdisk_mod_LDFLAGS): Likewise.
28707 (pkglib_MODULES): Add reboot.mod.
28708 (reboot_mod_SOURCES): New variable.
28709 (reboot_mod_CFLAGS): Likewise.
28710 (reboot_mod_LDFLAGS): Likewise.
28711 (pkglib_MODULES): Add date.mod.
28712 (date_mod_SOURCES): New variable.
28713 (date_mod_CFLAGS): Likewise.
28714 (date_mod_LDFLAGS): Likewise.
28715 (pkglib_MODULES): Add datehook.mod.
28716 (datehook_mod_SOURCES): New variable.
28717 (datehook_mod_CFLAGS): Likewise.
28718 (datehook_mod_LDFLAGS): Likewise.
28719 (pkglib_MODULES): Add lsmmap.mod.
28720 (lsmmap_mod_SOURCES): New variable.
28721 (lsmmap_mod_CFLAGS): Likewise.
28722 (lsmmap_mod_LDFLAGS): Likewise.
28723 (pkglib_MODULES): Add boot.mod.
28724 (boot_mod_SOURCES): New variable.
28725 (boot_mod_CFLAGS): Likewise.
28726 (boot_mod_LDFLAGS): Likewise.
28727 * conf/i386-coreboot.rmk: Removed redundant parts.
28728 * conf/i386-ieee1275.rmk: Likewise.
28729 * conf/i386-pc.rmk: Likewise.
28730 * conf/mips-yeeloong.rmk: Likewise.
28731 * conf/mips.rmk: Likewise.
28732 * conf/powerpc-ieee1275.rmk: Likewise.
28733 * conf/sparc64-ieee1275.rmk: Likewise.
28734 * conf/x86_64-efi.rmk: Likewise.
28735 * conf/i386-coreboot.rmk: Moved qemu parts ..
28736 * conf/i386-qemu.rmk: ... here
28737 * conf/i386-efi.rmk: Moved common parts to...
28738 * conf/x86-efi.rmk: ... here.
28739 * conf/i386.rmk: Added modules common to all x86 variants.
28740 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28741 * disk/memdisk.c: Remove grub/machine/kernel.h.
28742 * gensymlist.sh.in: Include symbol.h.
28743 * hook/datehook.c: Correct module name.
28744 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28745 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28746 * include/grub/i386/efi/serial.h: New file.
28747 * include/grub/x86_64/efi/serial.h: Likewise.
28748 * util/time.c: Likewise.
28749 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28750
463ac55f
CK
287512010-03-14 Colin King <colin.king@ubuntu.com>
287522010-03-14 Colin Watson <cjwatson@ubuntu.com>
28753
28754 Shrink the pre-partition-table part of boot.img by eight bytes.
28755
28756 * boot/i386/pc/boot.S (ERR): New macro.
28757 (chs_mode): Use ERR.
28758 (geometry_error): Likewise.
28759 (hd_probe_error): Remove. This is only used once, so we wrwite
28760 it inline instead.
28761 (read_error): Instead of printing read_error_string, just set up
28762 %si and fall through to ...
28763 (error_message): ... this new function, also used by ERR.
28764
08e46ede
CW
287652010-03-14 Colin Watson <cjwatson@ubuntu.com>
28766
28767 Speed up consecutive hostdisk operations on the same device.
28768
28769 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28770 (grub_util_biosdisk_open): Initialise disk->data.
28771 (struct linux_partition_cache): New structure.
28772 (linux_find_partition): Cache partition start positions; these are
28773 expensive to compute on every read and write.
28774 (open_device): Cache open file descriptor in disk->data, so that we
28775 don't have to reopen it and flush the buffer cache for consecutive
28776 operations on the same device.
28777 (grub_util_biosdisk_close): New function.
28778 (grub_util_biosdisk_dev): Set `close' member.
28779
28780 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28781 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28782 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28783 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28784 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28785
4a6d2d06
VS
287862010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28787
28788 Compile parts of grub-emu as modules.
28789
28790 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28791 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28792 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28793 (all-local): Add $(GRUB_EMU).
28794 (install-local): Install $(GRUB_EMU).
28795 (uninstall): Uninstall $(GRUB_EMU).
28796 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28797 * kern/dl.c: Likewise.
28798 * commands/sleep.c: Not include machine/time.h.
28799 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28800 (COMMON_CFLAGS): Likewise.
28801 (sbin_UTILITIES): Remove grub-emu.
28802 (grub_emu_SOURCES): Removed.
28803 (kernel_img_RELOCATABLE): New variable.
28804 (pkglib_PROGRAMS): Add kernel.img.
28805 (kernel_img_SOURCES): New variable
28806 (kernel_img_CFLAGS): Likewise.
28807 (kernel_img_LDFLAGS): Likewise.
28808 (TARGET_NO_STRIP): Likewise.
28809 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28810 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28811 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28812 (grub-emu): New target.
28813 (GRUB_EMU): New variable.
28814 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28815 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28816 * loader/xnu.c: Likewise.
28817 * include/grub/pci.h: Likewise.
28818 * genemuinit.sh: New file.
28819 * genemuinitheader.sh: Likewise.
28820 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28821 Support TARGET_NO_DYNAMIC_MODULES.
28822 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28823 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28824 * disk/loopback.c: Likewise.
28825 * font/font_cmd.c: Likewise.
28826 * partmap/acorn.c: Likewise.
28827 * partmap/amiga.c: Likewise.
28828 * partmap/apple.c: Likewise.
28829 * partmap/gpt.c: Likewise.
28830 * partmap/msdos.c: Likewise.
28831 * partmap/sun.c: Likewise.
28832 * parttool/msdospart.c: Likewise.
28833 * term/gfxterm.c: Likewise.
28834 * video/bitmap.c: Likewise.
28835 * video/readers/jpeg.c: Likewise.
28836 * video/readers/png.c: Likewise.
28837 * video/readers/tga.c: Likewise.
28838 * video/video.c: Likewise.
28839 * util/grub-emu.c (read_command_list): Removed.
28840 (main): Don't call util_init_nls.
28841 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28842 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28843
91fdd2ed
VS
288442010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28845
28846 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28847 date.mod, datehook.mod.
28848 (datetime_mod_SOURCES): New variable.
28849 (datetime_mod_CFLAGS): Likewise.
28850 (datetime_mod_LDFLAGS): Likewise.
28851 (date_mod_SOURCES): Likewise.
28852 (date_mod_CFLAGS): Likewise.
28853 (date_mod_LDFLAGS): Likewise.
28854 (datehook_mod_SOURCES): Likewise.
28855 (datehook_mod_CFLAGS): Likewise.
28856 (datehook_mod_LDFLAGS): Likewise.
28857 * conf/sparc64-ieee1275.rmk: Likewise.
28858 * lib/ieee1275/datetime.c: New file.
28859
873ccae6
VS
288602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28861
28862 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28863 (ieee1275_fb_mod_SOURCES): New variable.
28864 (ieee1275_fb_mod_CFLAGS): Likewise.
28865 (ieee1275_fb_mod_LDFLAGS): Likewise.
28866 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28867 New proto.
28868 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28869 (HEAP_MAX_ADDR): Likewise.
28870 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28871 type.
28872 Correct stop condition.
28873 (grub_ieee1275_devices_iterate): New function.
28874 * video/ieee1275.c: New file.
28875
601c97c0
VS
288762010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28877
28878 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28879
28880 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28881 as scratch.
28882 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28883 SCRATCH_PAD_DISKBOOT as scratch.
28884 (bootit): Pass Openfirmware pointer in %o4.
28885 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28886 of 0x200000.
28887 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28888 with util/grub-mkrawimage.c.
28889 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28890 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28891 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28892 (grub_aout_load) [GRUB_UTIL]: Likewise.
28893 * include/grub/kernel.h (grub_modules_get_end): New proto.
28894 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28895 (SCRATCH_PAD_BOOT): New definition.
28896 (SCRATCH_PAD_DISKBOOT): Likewise.
28897 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28898 * include/grub/sparc64/ieee1275/ieee1275.h
28899 (grub_ieee1275_original_stack): New variable
28900 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28901 New definition
28902 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28903 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28904 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28905 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28906 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28907 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28908 (grub_platform_image_format_t): New type.
28909 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28910 * kern/main.c (grub_modules_get_end)
28911 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28912 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28913 (codestart): Switch stacks.
28914 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28915 variable.
28916 (grub_heap_init): Use grub_modules_get_end.
28917 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28918 stack.
28919 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28920 (main): Likewise.
28921 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28922
d68b491e
TG
289232010-03-14 Thorsten Glaser <tg@mirbsd.org>
28924
28925 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28926
4e02ed50
MK
289272010-03-08 Matt Kraai <kraai@ftbfs.org>
28928
28929 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28930 bug #559005).
28931
1f15fc1e
VS
289322010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28933
28934 * genmoddep.awk: Output all missing symbols and not only first.
28935
fce5d8ff
VS
289362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28937
28938 * NEWS: Put the date of 1.98 release.
28939
d1e8a02f
VS
289402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28941
28942 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28943 ft2build.h.
28944
696fd607
VS
289452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28946
28947 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28948 completition in the middle of string.
28949
33e2e6f3
VS
289502010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28951
28952 * util/grub-mkrescue.in: Use mktemp with explicit template.
28953
b1f6d291
VS
289542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28955
28956 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28957
2ac227c7
VS
289582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28959
28960 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28961 right pointer.
28962
8f9a632b
VS
289632010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28964
28965 Fix FreeBSD compilation.
28966
28967 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28968 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28969
60b03859
VS
289702010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28971
28972 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28973
48a5a769
VS
289742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28975
28976 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28977
3ab4bd77
VS
289782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28979
28980 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28981
d116e0d8
RM
289822010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28983
28984 Support relative image path in theme file.
28985
28986 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28987 (image_set_property): Handle theme_dir and relative path.
28988
c7ef54aa
VS
289892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28990
28991 * configure.ac: Alias amd64 to x86_64.
28992
fcee14ed
VS
289932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28994
28995 * NEWS: mention multiboot on EFI.
28996
d0780363
VS
289972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28998
28999 * kern/main.c (grub_load_modules): Handle errors from init functions of
29000 embeded modules.
29001
41168ea4
VS
290022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29003
29004 * normal/autofs.c (autoload_fs_module): Handle errors.
29005
b54d93ac
VS
290062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29007
29008 Disable linux.mod on qemu-mips since it's not functional and leads
29009 to compilation failure.
29010
29011 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29012 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29013 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29014 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29015 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29016 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29017 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29018 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29019 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29020 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29021 Reported by: BVK Chaitanya
29022
fc8345da
JU
290232010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29024
29025 * INSTALL: Add gettext as a dependency and add qemu to a new section
29026 "Prerequisites for make-check".
29027
4760f979
CF
290282010-03-04 Christian Franke <franke@computer.org>
29029
29030 * util/grub-pe2elf.c: Add missing include "progname.h".
29031
f209b5b2
VS
290322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29033
29034 * normal/crypto.c (read_crypto_list): Fix a typo.
29035 Reported by: Seth Goldberg.
29036
b4b7be98
VS
290372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29038
29039 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 29040 Reported by: Seth Goldberg.
b4b7be98 29041
c0ee0385
VS
290422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29043
29044 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29045 ascii.bitmaps.
29046
a8efbf64
VS
290472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29048
29049 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 29050 Reported by: Seth Goldberg.
a8efbf64 29051
08dcd913
VS
290522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29053
29054 * util/i386/efi/grub-install.in: Copy gettext files.
29055
c4d0b332
VS
290562010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29057
29058 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
29059
c6f2fe52
VS
290602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29061
29062 Wait for user entry basing on presence of output rather than on errors.
29063
29064 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29065 (grub_install_newline_hook): Likewise.
29066 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29067 * normal/menu.c (show_menu): Check line_counter to determine presence
29068 of output.
29069 * normal/term.c (grub_normal_line_counter): New variable.
29070 (grub_normal_get_line_counter): New function.
29071 (grub_install_newline_hook): Likewise.
29072
5382b1e4
VS
290732010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29074
29075 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29076
5519963b
VS
290772010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29078
29079 * configure.ac: Update version to 1.98.
29080
72b28631
VS
290812010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29082
29083 * util/grub.d/10_linux.in (linux_entry): Don't default to
29084 gfxpayload=keep if Linux doesn't support video handover.
29085
c140a180
VS
290862010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
29087
29088 Don't compile video modules on yeeloong since video subsystem is part
29089 of kernel.
29090
29091 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
29092 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
29093 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
29094 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
29095 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
29096 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
29097 * include/grub/bitmap_scale.h: Likewise.
29098 * include/grub/bufio.h: Likewise.
29099 * include/grub/font.h: Likewise.
29100 * include/grub/gfxterm.h: Likewise.
29101 * include/grub/video.h: Likewise.
29102 * include/grub/vbe.h: Don't include video_fb.h.
29103 * video/i386/pc/vbe.c: Include video_fb.h.
29104 * commands/i386/pc/vbetest.c: Include video.h.
29105
a0ca21c2
CW
291062010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
29107
29108 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
29109 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
29110 default entry if GRUB_SAVEDEFAULT=true. This allows using
29111 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
29112 saving a new default on every boot.
29113
4a8a763c
VS
291142010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29115
29116 * normal/crypto.c (read_crypto_list): Fix a memory leak.
29117 * normal/term.c (read_terminal_list): Likewise.
29118 * normal/main.c (grub_normal_init_page): Likewise.
29119 (grub_normal_read_line_real): Likewise.
29120
607ffde2
VS
291212010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29122
29123 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
29124 memory leak.
29125 Reported by: Seth Goldberg.
29126
2b8fa975
CW
291272010-02-24 Joey Korkames <joey+lists@kidfixit.com>
29128
29129 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
29130 duplicate declaration of `start'.
29131
618307dd
VS
291322010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29133
29134 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
29135 filename.
29136 Reported by: Georgy Buranov
29137
7dd05b96 291382010-02-20 Carles Pina i Estany <carles@pina.cat>
29139
29140 * util/grub-mkrawimage.c (usage): Change string formatting to
29141 improve gettext.
29142
d1484a42
MRA
291432010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
29144
29145 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
29146 backspace keys.
29147
42b1d186
VS
291482010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29149
29150 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
29151 Reported by: Michael Suchanek.
29152
291532010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
29154
29155 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
29156 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
29157
d9f31a41
VS
291582010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
29159
29160 Remove any reference to non-free fonts.
29161
29162 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
29163 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
29164 uses non-free components.
29165 * font/font.c (grub_font_get_name): Remove example name.
29166 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
29167 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
29168 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
29169 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29170
2793c71e
GB
291712010-02-16 Georgy Buranov <gburanov@gmail.com>
29172
29173 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29174
402e3779
VS
291752010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29176
29177 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29178 Double divisor.
29179 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29180 features.
29181 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29182
0dd1e0dd
VS
291832010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29184
29185 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29186
6fa7cfce
ST
291872010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29188
29189 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29190 * docs/grub.texi (Command-line and menu entry commands): Document play
29191 command.
29192
37c8483b
ST
291932010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29194
29195 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29196 parse arguments as inline tempo and notes. Move code for playing notes
29197 to...
29198 (play): ... new function.
29199
14da0fb7
ST
292002010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29201
29202 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29203 grub_uint16_t instead of short.
29204 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29205 disk from little endian to cpu endianness.
29206
04459e70
ST
292072010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29208
29209 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29210 GRUB_TICKS_PER_SECOND instead of 120.
29211
a0876943
VS
292122010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29213
29214 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29215 escape sequence after \e.
29216
e29f95dc
VS
292172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29218
29219 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29220 non-ASCII characters.
29221
d27859b2
VS
292222010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29223
29224 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29225 set root in single quotes to prevent \, from being unescaped.
29226
bc028f2f
VS
292272010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29228
29229 Prevent unknown commands from stopping menuentry execution.
29230
29231 * script/execute.c (grub_script_execute_cmdline): Print error after
29232 unknown command.
29233
095f5f82
VS
292342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29235
29236 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29237 Reported by: Pavel Pisa.
29238
8c717950
VS
292392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29240
29241 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29242
904935c3
VS
292432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29244
29245 Merge grub_ieee1275_map_physical into grub_map and rename to
29246 grub_ieee1275_map
29247
29248 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29249 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29250 Remove.
29251 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29252 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29253 necessary.
29254 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29255
5b59a4e3
VS
292562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29257
29258 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29259 opening and not after.
29260
69e137e8
VS
292612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29262
29263 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29264 constants.
29265
2c0fcc36
VS
292662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29267
29268 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29269 (alloc_phys): Use ALIGN_UP instead of align_addr.
29270
8c6052ce
VS
292712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29272
29273 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29274
17cec782
VS
292752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29276
29277 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29278
e0128bbd
VS
292792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29280
29281 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29282 verbose dprintf.
29283
ca62070b
VS
292842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29285
29286 Fix over-4GiB seek on sparc64.
29287
29288 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29289 Replace pos_i and pos_lo with pos. All users updated.
29290 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29291 New constant.
29292 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29293 Likewise.
29294 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29295 and pos_lo.
29296
bdca2607
VS
292972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29298
29299 * util/grub-mkrawimage.c (main): Call set_program_name.
29300
da278c4d
VS
293012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29302
29303 Properly align 64-bit targets.
29304
29305 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29306 (generate_image): Use ALIGN_ADDR.
29307
b274d734
VS
293082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29309
29310 Properly create cross-endian images.
29311
29312 * include/grub/types.h (grub_host_to_target_addr): New macro
29313 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29314
82da2062
VS
293152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29316
29317 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29318
7cae4377
VS
293192010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29320
29321 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29322
29323 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29324 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29325 (grub_linux_boot): Divide by 64K when on VESA.
29326
65a533e7
VS
293272010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29328
29329 Support GRUB_GFXPAYLOAD_LINUX.
29330
29331 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29332 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29333
dd01d397
VS
293342010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29335
29336 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29337 to show messages instead of discarding them.
29338 Process errors after executing command and not before. Keep old method
29339 too as precaution.
29340
660960d6
VS
293412010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29342
29343 * configure.ac: Check for ft2build.h.
29344
62509f04
VS
293452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29346
29347 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29348
473df63d
VS
293492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29350
29351 * genkernsyms.sh.in: Use TARGET_CC.
29352
c98d2a13
CW
293532010-02-07 Colin Watson <cjwatson@ubuntu.com>
29354
29355 * NEWS: Update.
29356
6e14234c
VS
293572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29358
29359 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29360 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29361 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29362
b255e9cf
YB
293632010-02-07 Yves Blusseau <blusseau@zetam.org>
29364
6e14234c 29365 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29366
98e6959d
VS
293672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29368
29369 Fix warnings in grub-emu when compiling with maximum warning options.
29370
29371 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29372 (grub_arch_modules_addr): Return 0 and not NULL.
29373 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29374 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29375 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29376 of disk to dsk to avoid shadowing.
74e4934e
VS
29377 (find_free_slot): Fix prototype.
29378 * util/getroot.c (grub_util_is_dmraid): Make static.
29379 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29380 Add missing prototype.
29381 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29382
74e31b5c
VS
293832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29384
29385 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29386 appropriately.
29387
6b2ad14b
VS
293882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29389
29390 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29391 code out.
29392
8f891adc
VS
293932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29394
29395 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29396 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29397 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29398 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29399 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29400 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29401
74b45184
VS
294022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29403
29404 * include/grub/err.h (grub_err_printf): Don't export.
29405
a4bced77
VS
294062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29407
29408 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29409
007d0695
VS
294102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29411
29412 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29413 * kern/misc.c (grub_gettext_dummy): Make static.
29414
b6c0d9c2
VS
294152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29416
29417 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29418 by non-valid ones.
29419 * kern/term.c (grub_putchar): Likewise.
29420
f51a90d0
VS
294212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29422
29423 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29424 buggy hook call and memory leak.
29425
6846cec5
VS
294262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29427
29428 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29429
468d69fe
VS
294302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29431
29432 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29433
51906b8c
VS
294342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29435
29436 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29437 modevar.
29438 Return grub_errno on allocation error.
29439
09706ce5
VS
294402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29441
29442 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29443
911df80c
YB
294442010-02-06 Yves Blusseau <blusseau@zetam.org>
29445
29446 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29447 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29448
3746a6bc
VS
294492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29450
29451 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29452 non-pxe disk.
29453 (grub_pxefs_open): Likewise.
29454
09706ce5
VS
294552010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29456
29457 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29458 * util/grub.d/10_kfreebsd.in: Likewise.
29459 * util/grub.d/10_linux.in: Likewise.
29460
7cc192d9
VS
294612010-02-06 Colin D Bennett <colin@gibibit.com>
29462
29463 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29464 (gfxmenu_mod_SOURCES): New variable.
29465 (gfxmenu_mod_CFLAGS): Likewise.
29466 (gfxmenu_mod_LDFLAGS): Likewise.
29467 * include/grub/term.h (grub_term_set_current_output): Declare
29468 argument as const.
29469 * docs/gfxmenu-theme-example.txt: New file.
29470 * gfxmenu/gfxmenu.c: Likewise.
29471 * gfxmenu/gui_box.c: Likewise.
29472 * gfxmenu/gui_canvas.c: Likewise.
29473 * gfxmenu/gui_circular_progress.c: Likewise.
29474 * gfxmenu/gui_image.c: Likewise.
29475 * gfxmenu/gui_label.c: Likewise.
29476 * gfxmenu/gui_list.c: Likewise.
29477 * gfxmenu/gui_progress_bar.c: Likewise.
29478 * gfxmenu/gui_string_util.c: Likewise.
29479 * gfxmenu/gui_util.c: Likewise.
29480 * gfxmenu/icon_manager.c: Likewise.
29481 * gfxmenu/model.c: Likewise.
29482 * gfxmenu/named_colors.c: Likewise.
29483 * gfxmenu/theme_loader.c: Likewise.
29484 * gfxmenu/view.c: Likewise.
29485 * gfxmenu/widget-box.c: Likewise.
29486 * include/grub/gfxmenu_model.h: Likewise.
29487 * include/grub/gfxmenu_view.h: Likewise.
29488 * include/grub/gfxwidgets.h: Likewise.
29489 * include/grub/gui.h: Likewise.
29490 * include/grub/gui_string_util.h: Likewise.
29491 * include/grub/icon_manager.h: Likewise.
29492
294932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29494
29495 Agglomerate scrolling in gfxterm.
29496
29497 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29498 (grub_virtual_screen_setup): Initialise 'total_screen'.
29499 (write_char): Split to ...
29500 (paint_char): ... this ...
29501 (write_char): ... and this.
29502 (paint_char): Handle delayed scrolling.
29503 (draw_cursor): Likewise.
29504 (scroll_up): Split to ...
29505 (real_scroll): ... this ...
29506 (scroll_up): ... and this.
29507 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29508 characters.
29509 (grub_gfxterm_refresh): Call real_scroll.
29510
295112010-02-06 Colin D Bennett <colin@gibibit.com>
29512
29513 * include/grub/misc.h (grub_iscntrl): New inline function.
29514 (grub_isalnum): Likewise.
29515 (grub_strtol): Likewise.
29516
295172010-02-06 Colin D Bennett <colin@gibibit.com>
29518
29519 * normal/menu_text.c (get_entry_number): Move from here ...
29520 * normal/menu.c (get_entry_number): ... moved here.
29521 * include/grub/menu.h (grub_menu_get_default_entry_index):
29522 New prototype.
29523 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29524 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29525 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29526 (grub_menu_viewer_should_return): Likewise.
29527 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29528 * normal/menu_text.c (run_menu): Enable menu switching.
29529 * normal/menu_viewer.c (should_return): New variable.
29530 (menu_viewer_changed): Likewise.
29531 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29532 (grub_menu_viewer_should_return): New function.
29533 (menuviewer_write_hook): Likewise.
29534 (grub_menu_viewer_init): Likewise.
29535
295362010-02-06 Colin D Bennet <colin@gibibit.com>
295372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29538
29539 Support for gfxterm in a window.
29540
29541 * include/grub/gfxterm.h: New file.
29542 * include/grub/video.h (struct grub_video_rect): New declaration.
29543 (grub_video_rect_t): Likewise.
29544 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29545 (refcount): New variable.
29546 (render_target): Likewise.
29547 (window): Likewise.
29548 (repaint_callback): Likewise.
29549 (grub_virtual_screen_setup): Use 'render_target'.
29550 (init_window): New function.
29551 (grub_gfxterm_init_window): Likewise.
29552 (grub_gfxterm_init): Check reference counter.
29553 Use init_window.
29554 (destroy_window): New function.
29555 (grub_gfxterm_destroy_window): Likewise.
29556 (grub_gfxterm_fini): Check reference counter.
29557 Use destroy_window.
29558 (redraw_screen_rect): Restore viewport.
29559 Use 'render_target' and 'window'.
29560 Call 'repaint_callback'.
29561 (write_char): Use 'render_target'.
29562 (draw_cursor): Likewise.
29563 (scroll_up): Restore viewport.
29564 Use 'render_target' and 'window'.
29565 Call 'repaint_callback'.
29566 (grub_gfxterm_cls): Likewise.
29567 (grub_gfxterm_refresh): Use 'window'.
29568 (grub_gfxterm_set_repaint_callback): New function.
29569 (grub_gfxterm_background_image_cmd): Use 'window'.
29570 (grub_gfxterm_get_term): New function.
29571 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29572
295732010-02-06 Colin D Bennett <colin@gibibit.com>
29574
29575 Bitmap scaling support.
29576
29577 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29578 (bitmap_scale_mod_SOURCES): New variable.
29579 (bitmap_scale_mod_CFLAGS): Likewise.
29580 (bitmap_scale_mod_LDFLAGS): Likewise.
29581 * include/grub/bitmap_scale.h: New file.
29582 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29583 (background_image_cmd_options): New variable.
29584 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29585 (cmd): Rename and change type to ...
29586 (background_image_cmd_handle): ... this. All users updated.
29587 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29588 * video/bitmap_scale.c: New file.
29589
295902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29591
29592 SDL support.
29593
29594 * Makefile.in (LIBSDL): New variable.
29595 (enable_grub_emu_sdl): Likewise.
29596 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29597 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29598 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29599 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29600 * util/sdl.c: New file.
29601
296022010-02-06 Colin D Bennett <colin@gibibit.com>
296032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29604
29605 Double buffering support.
29606
29607 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29608 * include/grub/video.h: Update comment.
29609 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29610 New type.
29611 (grub_video_fb_doublebuf_blit_init): New prototype.
29612 * term/gfxterm.c (scroll_up): Support double buffering.
29613 (grub_gfxterm_refresh): Likewise.
29614 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29615 (grub_video_fb_doublebuf_blit_init): Likewise.
29616 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29617 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29618 'displayed_page', 'render_page' and 'update_screen'.
29619 (grub_video_vbe_fini): Free offscreen buffer.
29620 (doublebuf_pageflipping_commit): New function.
29621 (doublebuf_pageflipping_update_screen): Likewise.
29622 (doublebuf_pageflipping_init): Likewise.
29623 (double_buffering_init): Likewise.
29624 (grub_video_vbe_setup): Enable doublebuffering.
29625 (grub_video_vbe_swap_buffers): Implement.
29626 (grub_video_vbe_set_active_render_target): Handle double buffering.
29627 (grub_video_vbe_get_active_render_target): Likewise.
29628 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29629 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29630 (grub_video_vbe_enable_double_buffering): Likewise.
29631 (grub_video_vbe_swap_buffers): Use update_screen.
29632 (grub_video_set_mode): Use double buffering.
29633
296342010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29635
29636 * maintainance/gentrigtables.py: Remove.
29637 * lib/trig.c: Likewise.
29638
29639 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29640
29641 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29642 `trigtables.c'.
29643 (trigtables.c): New rule.
29644 (gentrigtables): Likewise.
29645 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29646
296472010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29648
29649 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29650 integer constants.
29651
296522010-02-06 Colin D Bennet <colin@gibibit.com>
29653
29654 Trigonometry support.
29655
29656 * include/grub/trig.h: New file.
29657 * lib/trig.c: Likewise.
29658 * maintainance/gentrigtables.py: Likewise.
29659 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29660 (trig_mod_SOURCES): New variable.
29661 (trig_mod_CFLAGS): Likewise.
29662 (trig_mod_LDFLAGS): Likewise.
29663
5562834e
VS
296642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29665
29666 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29667 disk devices.
29668
4f8528fc
VS
296692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29670
29671 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29672 error.
29673
2b4068e9
VS
296742010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29675
29676 * util/hostdisk.c (open_device): Don't use partition device when reading
29677 before the partition.
29678 (grub_util_biosdisk_read): Don't read from partition and before the
29679 partition in single operation.
29680 (grub_util_biosdisk_write): Don't write to partition and before the
29681 partition in single operation.
29682
399f6e4d
TL
296832010-02-03 Torsten Landschoff <torsten@debian.org>
29684
29685 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29686 last sectors.
29687
996649b0
VS
296882010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29689
29690 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29691 CDROM reads.
29692 (grub_biosdisk_write): Refuse to write to CDROM.
29693
3b205d4d
VS
296942010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29695
29696 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29697
61e89d9d
VS
296982010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29699
29700 * font/font.c (find_glyph): Check that bmp_idx is available before
29701 using it.
29702 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29703 with (font == NULL).
29704
bf7fcba2
CS
297052010-01-28 Christian Schmitt <chris@ilovelinux.de>
29706
29707 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29708
f45d2663
BC
297092010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29710
29711 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29712 * util/grub-script-check.c (getline): Fix empty lines case.
29713
ec1444e6
RM
297142010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29715
29716 * Makefile.in (check): Exit with fail status when one of the tests
29717 fails.
29718 * tests/example_functional_test.c (example_test): Fix reversed assert.
29719 * tests/example_unit_test.c (example_test): Likewise.
29720
2e1cb9bb
CW
297212010-01-28 Colin Watson <cjwatson@ubuntu.com>
29722
29723 * util/grub.d/10_linux.in: This script does not use any of the
29724 contents of gettext.sh, only the external command `gettext', so stop
29725 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29726 the same prefix as GRUB.)
29727 * util/grub.d/10_kfreebsd.in: Likewise.
29728
63533ab0
VS
297292010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29730
29731 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29732 of the line.
29733
989e1f93
VS
297342010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29735
29736 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29737 last sectors.
29738
e709ebe2
VS
297392010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29740
29741 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29742 having a 4KiB and not 32KiB buffer size.
29743
27dea7ed
RM
297442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29745
29746 * util/hostfs.c: Include `<errno.h>'.
29747 (grub_hostfs_read): Handle errors from fseeko() and fread().
29748
67667b9c
RM
297492010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29750
29751 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29752 loop when using read hooks on files whose size isn't sector-aligned.
29753
c294d9d8
RM
297542010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29755
29756 Remove unused parameter.
29757
29758 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29759 (grub_iso9660_open): Remove initialization of `data->length'.
29760
af75a9f1
RM
297612010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29762
29763 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29764 memleak conditions.
29765
254e2ce5 297662010-01-27 Carles Pina i Estany <carles@pina.cat>
29767
29768 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29769 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29770
b510928c 297712010-01-26 Carles Pina i Estany <carles@pina.cat>
29772
29773 * util/bin2h.c (usage): Fix warning (space after backslash).
29774
aa2f9dd2 297752010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 29776
29777 * font/font.c: Include `grub/fontformat.h.
29778 Remove font file format constants.
29779 (grub_font_load): Use the new macros.
29780 * include/grub/fontformat.h: New file.
29781 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29782 (write_font_pf2): Use the new macros.
29783
94e7e712
RM
297842010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29785
29786 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29787 does.
29788
3973a59a
RM
297892010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29790
29791 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29792
29793 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29794 (_start): Macroify `0x7F'.
29795
29796 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29797 (make_install_device): Use "(pxe)" as fallback prefix when booting
29798 via PXE.
29799
42e0cba3
GS
298002010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29801
29802 * configure.ac: Reset LIBS after check for libgcc symbols.
29803
847effd8
CW
298042010-01-25 Colin Watson <cjwatson@ubuntu.com>
29805
29806 * util/hostdisk.c (open_device): Add trailing newline to debug
29807 message.
29808
ea4a7e35
GS
298092010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29810
29811 * configure.ac: Check for `limits.h'.
29812 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29813
67951a53
RM
298142010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29815
29816 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29817 capitalize error strings.
29818
c273d4ce
ST
298192010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29820
29821 * util/grub.d/10_hurd.in: Add a recovery mode.
29822
69be5b74
VS
298232010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29824
29825 * configure.ac: Check for libgcc symbols with -nostdlib.
29826
fc9e5810
BC
298272010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29828
29829 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29830
4b358c0a
VS
298312010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29832
29833 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29834 stack since heap may be unavailable at that point.
29835 (grub_ofconsole_gotoxy): Likewise.
29836
454fcd1c
VS
298372010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29838
29839 * configure.ac: Check for _restgpr_14_x.
29840 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29841 and _savegpr_* prototypes.
29842
566863ca
RM
298432010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29844
29845 Use generic grub_reboot() for i386-efi.
29846
29847 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29848 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29849 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29850
bf86e59a
VS
298512010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29852
29853 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29854 presence of "prefix" variable as it breaks when normal.mod is
29855 embedded.
29856
d645e0f8
VS
298572010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29858
29859 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29860 stack since heap is unavailable at that point.
29861
f9ab2e25
VS
298622010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29863
29864 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29865 (grub_freebsd_bootinfo): Rewritten.
29866 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29867
01fc7054
VS
298682010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29869
29870 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29871
caab4fd6
RM
298722010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29873
29874 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29875 domain now.
29876
67eb1427
FZ
298772010-01-20 Felix Zielcke <fzielcke@z-51.de>
29878
29879 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29880 around for handling "/" to the correct fix. Fix a memory leak. Use
29881 xstrdup instead of strdup.
29882
a9ed4ff3
VS
298832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29884
29885 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29886
298872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29888
29889 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29890
29891 * font/font.c (struct grub_font): New member 'bmp_idx'.
29892 (font_init): Initialise 'bmp_idx'.
29893 (load_font_index): Fill 'bmp_idx'.
29894 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29895
48209f4f
VS
298962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29897
29898 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29899 unnecessary calls.
29900
9f0a4bb7
VS
299012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29902
29903 Move context handling out of the kernel.
29904
29905 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29906 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29907 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29908 * conf/i386-efi.rmk: Likewise.
29909 * conf/i386-ieee1275.rmk: Likewise.
29910 * conf/i386-pc.rmk: Likewise.
29911 * conf/powerpc-ieee1275.rmk: Likewise.
29912 * conf/sparc64-ieee1275.rmk: Likewise.
29913 * conf/x86_64-efi.rmk: Likewise.
29914 * include/grub/env.h: Include grub/menu.h.
29915 (grub_env_var_type): Removed.
29916 (grub_env_var): Replaced field 'type' with 'global'.
29917 (grub_env_find): New prototype.
29918 (grub_env_context_open): Remove EXPORT_FUNC.
29919 (grub_env_context_close): Likewise.
29920 (grub_env_export): Likewise.
29921 (grub_env_set_data_slot): Removed.
29922 (grub_env_get_data_slot): Likewise.
29923 (grub_env_unset_data_slot): Likewise.
29924 (grub_env_unset_menu): New prototype.
29925 (grub_env_set_menu): Likewise.
29926 (grub_env_get_menu): Likewise.
29927 * include/grub/env_private.h: New file.
29928 * include/grub/normal.h (grub_context_init): New prototype.
29929 (grub_context_fini): Likewise.
29930 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29931 * normal/context.c (grub_cmd_export): ... to here.
29932 * kern/env.c: Include env_private.h.
29933 (HASHSZ): Moved to include/grub/env_private.h.
29934 (grub_env_context): Likewise.
29935 (grub_env_sorted_var): Likewise.
29936 (current_context): Renamed from this ...
29937 (grub_current_context): ...to this. 'static' removed. All users updated.
29938 (grub_env_find): Removed 'static'.
29939 (grub_env_context_open): Moved to normal/context.c.
29940 (grub_env_context_close): Likewise.
29941 (grub_env_export): Likewise.
29942 (mangle_data_slot_name): Removed.
29943 (grub_env_set_data_slot): Likewise.
29944 (grub_env_get_data_slot): Likewise.
29945 (grub_env_unset_data_slot): Likewise.
29946 * kern/main.c (grub_set_root_dev): Don't export root.
29947 It will be done later.
29948 (grub_main): Don't export prefix.
29949 It will be done later.
29950 * normal/context.c: New file.
29951 * normal/main.c (free_menu): Use grub_env_unset_menu.
29952 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29953 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29954 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29955 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29956
8dd35b8c
VS
299572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29958
29959 setpci support.
29960
29961 * commands/setpci.c: New file.
29962 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29963 (setpci_mod_SOURCES): New variable.
29964 (setpci_mod_CFLAGS): Likewise.
29965 (setpci_mod_LDFLAGS): Likewise.
29966
449193d5
VS
299672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29968
29969 Byte-addressable PCI configuration space.
29970
29971 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29972 dword address.
29973 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29974 GRUB_PCI_REG_CACHELINE.
29975 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29976 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29977 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29978 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29979 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29980 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29981 grub_pci_make_address.
29982 (lock_rom_area): Likewise.
29983 * commands/lspci.c (grub_lspci_iter): Use macroses
29984 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29985 of grub_pci_make_address.
29986 * disk/ata.c (grub_ata_pciinit): Likewise.
29987 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29988 (GRUB_PCI_REG_VENDOR): Likewise.
29989 (GRUB_PCI_REG_DEVICE): Likewise.
29990 (GRUB_PCI_REG_COMMAND): Likewise.
29991 (GRUB_PCI_REG_STATUS): Likewise.
29992 (GRUB_PCI_REG_REVISION): Likewise.
29993 (GRUB_PCI_REG_CLASS): Likewise.
29994 (GRUB_PCI_REG_CACHELINE): Likewise.
29995 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29996 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29997 (GRUB_PCI_REG_BIST): Likewise.
29998 (GRUB_PCI_REG_ADDRESSES): Likewise.
29999 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30000 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30001 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30002 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30003 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30004 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30005 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30006 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30007 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30008 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30009 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30010 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30011 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30012 (GRUB_PCI_REG_MIN_GNT): Likewise.
30013 (GRUB_PCI_REG_MAX_LAT): Likewise.
30014 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30015 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30016 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 30017 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
30018 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30019 space.
30020
96d73208
RM
300212010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30022
30023 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30024 can be reliably determined to be supported.
30025
d4484482
RM
300262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30027
30028 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30029 that VESA is supported.
30030 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30031 supported.
30032
00308ecf
VS
300332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30034
30035 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30036
f66924a4
RM
300372010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30038
30039 * util/misc.c (make_system_path_relative_to_its_root): Work around
30040 special-casing of "/", as previous incarnation of this routine did.
30041
cbca0ada
VS
300422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30043
30044 Fix any-emu compilation.
30045
30046 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30047 * grub_bin2h_SOURCES: New variable.
30048
34a66d99
RM
300492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30050
30051 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
30052
94fabf58
RM
300532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30054
30055 * util/grub.d/00_header.in: Fix handling of locale_dir.
30056
02cf98ca
VS
300572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30058
30059 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30060 as possible unifont location (Gentoo).
30061 Reported by: Alexander Brüning
30062
327dbcd7
VS
300632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30064
30065 Don't try to generate lists for kernel.img.
30066
30067 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30068 (pkglib_MODULES): Remove kernel.img.
30069 (kernel_img_EXPORTS): Removed.
30070 (kernel_img_RELOCATABLE): New variable.
30071 * conf/x86_64-efi.rmk: Likewise.
30072 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30073
ca467290
VS
300742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30075
30076 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30077 grub_xasprintf or grub_snprintf.
30078 (grub_vsprintf): Likewise.
30079 (grub_snprintf): New proto.
30080 (grub_vsnprintf): Likewise.
30081 (grub_xasprintf): Likewise.
30082 (grub_xvasprintf): Likewise.
30083 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
30084 (grub_sprintf): Removed.
30085 (grub_vsnprintf): New function.
30086 (grub_snprintf): Likewise.
30087 (grub_xvasprintf): Likewise.
30088 (grub_xasprintf): Likewise.
30089 (grub_vsprintf): Renamed to ...
30090 (grub_vsnprintf_real): ...this. New argument max_len.
30091
aca655fd
BC
300922010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
30093
30094 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
30095 fix grub-script-check warning.
30096
7ee92c32
VS
300972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30098
30099 * include/grub/font.h (grub_font_load): Fix prototype.
30100
f80927ca
VS
301012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30102
30103 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
30104
119c50ea
VS
301052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30106
30107 * include/grub/x86_64/at_keyboard.h: New file.
30108
47d5f3c1
VS
301092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30110
30111 * loader/mips/linux.c: Include missing grub/i18n.h.
30112
55ff5266
RM
301132009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30114
30115 * normal/menu.c (notify_execution_failure): Clarify error message.
30116
c893cc87
RM
301172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30118
30119 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
30120 return value (and revert all return statements). Update users.
30121
917dd370
CW
301222010-01-20 Dan Merillat <debian@dan.merillat.org>
30123
30124 * kern/device.c (grub_device_iterate): Allocate new part_ent
30125 structure based on sizeof (*p) rather than sizeof (p->next), to
30126 account for structure padding.
30127
30128 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
30129 disk is NULL, which might happen for LVM physical volumes with no
30130 LVM signature.
30131
d4a4ee57
RM
301322009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30133
30134 * loader/mips/linux.c (grub_cmd_initrd)
30135 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
30136
301372009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30138
30139 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
30140 (grub_video_video_init, grub_video_bitmap_init)
30141 (grub_font_manager_init, grub_term_gfxterm_init)
30142 (grub_at_keyboard_init): New extern declarations.
30143 (grub_machine_init): Initialize gfxterm and at_keyboard.
30144
30145 * kern/main.c (grub_main): Revert grub_printf delay kludge.
30146
30147 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
30148 `gfxterm.mod' into core image.
30149
30150 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30151 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30152 (kernel_img_FORMAT): Copy to ...
30153
30154 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30155 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30156 (kernel_img_FORMAT): ... here, and ...
30157
30158 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30159 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30160 (kernel_img_FORMAT): ... here.
30161
30162 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
30163 and input (at_keyboard) terminals in kernel.
30164 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
30165
30166 (pkglib_MODULES): Remove `pci.mod'.
30167 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
30168 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
30169 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30170 (at_keyboard_mod_LDFLAGS): Remove variables.
30171
301722010-01-11 Felix Zielcke <fzielcke@z-51.de>
30173
30174 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30175
301762009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30177
30178 * include/grub/mips/libgcc.h: Only export symbols for functions
30179 that libgcc provides.
30180
301812009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30182
30183 MIPS support.
30184
30185 * bus/bonito.c: New file.
30186 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30187 GRUB_PCI_NUM_DEVICES.
30188 * term/i386/pc/serial.c: Move to ...
30189 * term/serial.c: ... here. All users updated.
30190 * util/i386/pc/grub-mkimage.c: Move to ...
30191 * util/grub-mkrawimage.c: ... here. All users updated.
30192 * term/i386/pc/at_keyboard.c: Move to ...
30193 * term/at_keyboard.c: ... here. All users updated.
30194 * conf/mips-qemu-mips.rmk: New file.
30195 * conf/mips-yeeloong.rmk: Likewise.
30196 * conf/mips.rmk: Likewise.
30197 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30198 mipsel-qemu-mips.
30199 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30200 to port addresses.
30201 (grub_ata_pciinit): Support CS5536.
30202 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30203 * font/font_cmd.c (loadfont_command): Open file before passing it to
30204 grub_font_load.
30205 (pseudo_file_read): New function.
30206 (pseudo_file_close): Likewise.
30207 (pseudo_fs): New structure.
30208 (load_font_module): New function.
30209 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30210 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30211 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30212 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30213 * include/grub/i386/at_keyboard.h: Split into ...
30214 * include/grub/at_keyboard.h: ... this ...
30215 * include/grub/i386/at_keyboard.h: ... and this.
30216 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30217 New prototype.
30218 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30219 updated.
30220 (grub_elf64_size): Likewise.
30221 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30222 filename.
30223 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30224 * include/grub/i386/coreboot/serial.h: Rewritten.
30225 * include/grub/i386/ieee1275/serial.h: Include
30226 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30227 * include/grub/i386/pc/serial.h: Moved from here ...
30228 * include/grub/serial.h: ... to here. All users updated.
30229 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30230 (GRUB_PCI_NUM_BUS): Likewise.
30231 (GRUB_PCI_NUM_DEVICES): Likewise.
30232 (grub_pci_device_map_range): Add missing volatile keyword.
30233 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30234 * include/grub/mips/at_keyboard.h: New file.
30235 * include/grub/mips/cache.h: Likewise.
30236 * include/grub/mips/io.h: Likewise.
30237 * include/grub/mips/kernel.h: Likewise.
30238 * include/grub/mips/libgcc.h: Likewise.
30239 * include/grub/mips/pci.h: Likewise.
30240 * include/grub/mips/qemu-mips/boot.h: Likewise.
30241 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30242 * include/grub/mips/qemu-mips/loader.h: Likewise.
30243 * include/grub/mips/qemu-mips/memory.h: Likewise.
30244 * include/grub/mips/qemu-mips/serial.h: Likewise.
30245 * include/grub/mips/qemu-mips/time.h: Likewise.
30246 * include/grub/mips/relocator.h: Likewise.
30247 * include/grub/mips/time.h: Likewise.
30248 * include/grub/mips/types.h: Likewise.
30249 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30250 * include/grub/mips/yeeloong/boot.h: Likewise.
30251 * include/grub/mips/yeeloong/kernel.h: Likewise.
30252 * include/grub/mips/yeeloong/loader.h: Likewise.
30253 * include/grub/mips/yeeloong/memory.h: Likewise.
30254 * include/grub/mips/yeeloong/pci.h: Likewise.
30255 * include/grub/mips/yeeloong/serial.h: Likewise.
30256 * include/grub/mips/yeeloong/time.h: Likewise.
30257 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30258 * kern/elf.c (grub_elf32_size): New parameter. All users
30259 updated.
30260 (grub_elf64_size): Likewise.
30261 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30262 Load modules before saying "Welcome to GRUB!".
30263 Call grub_refresh after saying "Welcome to GRUB!".
30264 * kern/mips/cache.S: New file.
30265 * kern/mips/cache_flush.S: Likewise.
30266 * kern/mips/dl.c: Likewise.
30267 * kern/mips/init.c: Likewise.
30268 * kern/mips/qemu-mips/init.c: Likewise.
30269 * kern/mips/startup.S: Likewise.
30270 * kern/mips/yeeloong/init.c: Likewise.
30271 * kern/term.c (grub_putcode): Handle NULL terminal.
30272 (grub_getcharwidth): Likewise.
30273 (grub_getkey): Likewise.
30274 (grub_checkkey): Likewise.
30275 (grub_getkeystatus): Likewise.
30276 (grub_getxy): Likewise.
30277 (grub_getwh): Likewise.
30278 (grub_gotoxy): Likewise.
30279 (grub_cls): Likewise.
30280 (grub_setcolorstate): Likewise.
30281 (grub_setcolor): Likewise.
30282 (grub_getcolor): Likewise.
30283 (grub_refresh): Likewise.
30284 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30285 (write_jump): Add hatch nop.
30286 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30287 * lib/mips/setjmp.S: New file.
30288 * loader/mips/linux.c: Likewise.
30289 * term/i386/pc/at_keyboard.c: Move from here ...
30290 * term/at_keyboard.c: ... to here.
30291 * term/i386/pc/serial.c: Moved from here ...
30292 * term/serial.c: ... to here. All users updated.
30293 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30294 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30295 (serial_translate_key_sequence): Avoid deadlock.
30296 (grub_serial_getkey): Handle backspace.
30297 (grub_serial_putchar): Fix newline handling.
30298 * util/i386/pc/grub-mkimage.c: Move from here ...
30299 * util/grub-mkrawimage.c: ... to here. All users updated.
30300 (generate_image): New parameters 'font_path' and 'format'.
30301 Support embedding font.
30302 Use grub_host_to_target* instead of grub_cpu_to_le*.
30303 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30304 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30305 (options): New option "--font".
30306 (usage): Likewise.
30307 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30308 (main): Handle "--font".
30309 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30310 (grub_virtual_screen_setup): Set bg_color_display.
30311 (redraw_screen_rect): Use bg_color_display instead of incorrect
30312 bg_color.
30313 (grub_gfxterm_cls): Likewise.
30314 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30315 Support embedding config file.
30316 (add_segments): Likewise.
30317 (options): New option "--config".
30318 (main): Handle "--config".
30319 * video/sm712.c: New file.
30320
25c2b5b3
RM
303212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30322
30323 Fix parallel builds.
30324
30325 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30326 font.c depend on ascii.h).
30327
303282010-01-12 Carles Pina i Estany <carles@pina.cat>
30329
30330 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30331
303322010-01-11 Carles Pina i Estany <carles@pina.cat>
30333
30334 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30335 By default: disabled.
30336 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30337 parameter.
30338
303392010-01-10 Carles Pina i Estany <carles@pina.cat>
30340
30341 * font/font.c: Update copyright years.
30342 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30343
303442010-01-10 Carles Pina i Estany <carles@pina.cat>
30345
30346 * font/font.c: Include `ascii.h'.
30347 (ASCII_BITMAP_SIZE): New macro.
30348 (ascii_font_glyph): Define.
30349 (ascii_glyph_lookup): New function.
30350 (grub_font_get_string_width): Change comment. If glyph not found, use
30351 ascii_glyph_lookup.
30352 (grub_font_get_glyph_with_fallback): If glyph not available returns
30353 ascii_glyph_lookup.
30354 * util/grub-mkfont.c (file_formats): New enum.
30355 (options): Add `ascii-bitmaps' new option.
30356 (usage): Add `asii-bitmaps' new option.
30357 (write_font_ascii_bitmap): New function.
30358 (write_font): Rename to ...
30359 (write_font_p2): ... this. Remove print_glyphs call.
30360 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30361 used. Call print_glyphs.
30362 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30363
303642010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30365
30366 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30367 (grub_bin2h_SOURCES): New variable.
30368 * util/bin2h.c: New file.
30369
915fc1b8
VS
303702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30371
30372 * include/multiboot.h: Resynced with spec.
30373 * include/multiboot2.h: Likewise.
30374 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30375 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30376
9444b678
RM
303772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30378
30379 * include/grub/term.h (grub_term_register_input,
30380 grub_term_register_output): Check return of terminal init()
30381 routines, and abort if errors are raised.
30382
30383 * commands/terminal.c: Update copyright year.
30384
cba98e8d
RM
303852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30386
30387 * commands/terminal.c (grub_cmd_terminal_input)
30388 (grub_cmd_terminal_output): Check return of terminal init()
30389 routines, and abort if errors are raised.
30390
6f7db5d6
VS
303912010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30392
30393 * include/grub/i386/bsd.h: Fix include pathes.
30394
262bff8d
VS
303952010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30396
30397 Add missing *BSD copyright headers.
30398
30399 * include/grub/aout.h: Add BSD licence.
30400 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30401 * include/grub/i386/freebsd_linker.h: ... here,
30402 * include/grub/i386/freebsd_reboot.h: ... here,
30403 * include/grub/i386/netbsd_bootinfo.h: ... here,
30404 * include/grub/i386/netbsd_reboot.h: ... here,
30405 * include/grub/i386/openbsd_bootarg.h: ... here,
30406 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30407 licence to each file.
30408
b2cab848
RM
304092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30410
30411 * acinclude.m4: Remove `nop' assembly instruction; it's not
30412 implemented by all architectures.
30413
2cb6be4b
RM
304142010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30415
30416 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30417 ELILO. This is no longer necessary.
30418
a2eaee15
BC
304192010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30420
30421 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30422
30423 * util/grub-script-check.c: grub-script-check tool.
30424 * conf/common.rmk: Make rules for grub-script-check.
30425
88d17012
RM
304262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30427
30428 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30429 spotting it back in 2008. Shame on me for forgetting he did.
30430
30431 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30432
8040619d
RM
304332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30434
30435 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30436 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30437 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30438 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30439 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30440 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30441
a0c2a0f6
RM
304422010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30443
30444 * include/grub/test.h: Add license header.
30445 * tests/example_functional_test.c: Likewise.
30446 * tests/example_unit_test.c: Likewise.
30447 * tests/lib/functional_test.c: Likewise.
30448 * tests/lib/test.c: Likewise.
30449 * tests/lib/unit_test.c: Likewise.
30450
b0b13907
VS
304512010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30452
30453 Use flag-based instead of hook-based video mode selection and "auto"
30454 keyword.
30455
30456 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30457 (grub_video_set_mode): Changed prototype. All users updated.
30458 (grub_video_check_mode_flag): New inline function.
30459 * video/video.c (parse_modespec): New function.
30460 (grub_video_set_mode): Parse flags and keywords.
30461
ea379330 304622010-01-17 Carles Pina i Estany <carles@pina.cat>
30463
30464 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30465 fprintf call.
30466
e15c215e
FZ
304672010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30468
30469 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30470
409ae1c9 304712010-01-16 Carles Pina i Estany <carles@pina.cat>
30472
30473 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30474 string.
30475 * util/grub-emu.c (usage): Likewise.
30476 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30477 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30478 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30479 * util/i386/pc/grub-setup.c (usage): Likewise.
30480
70a14d3d 304812010-01-16 Carles Pina i Estany <carles@pina.cat>
30482
30483 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30484 the message.
30485 (grub_util_info): Likewise.
30486 (grub_util_error): Likewise.
30487 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30488 and/or new lines in `grub_util_warna', `grub_util_info',
30489 `grub_util_error' calls.
30490 * util/getroot.c: Likewise.
30491 * util/grub-editenv.c: Likewise.
30492 * util/grub-emu.c: Likewise.
30493 * util/grub-fstest.c: Likewise.
30494 * util/grub-mkdevicemap.c: Likewise.
30495 * util/grub-mkfont.c: Likewise.
30496 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30497 * util/grub-mkrelpath.c: Likewise.
30498 * util/grub-pe2elf.c: Likewise.
30499 * util/grub-probe.c: Likewise.
30500 * util/hostdisk.c: Likewise.
30501 * util/i386/efi/grub-mkimage.c: Likewise.
30502 * util/i386/pc/grub-mkimage.c: Likewise.
30503 * util/i386/pc/grub-setup.c: Likewise.
30504 * util/ieee1275/ofpath.c: Likewise.
30505 * util/mkisofs/eltorito.c: Likewise.
30506 * util/mkisofs/rock.c: Likewise.
30507 * util/mkisofs/write.c: Likewise.
30508 * util/raid.c: Likewise.
30509 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30510 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30511
a0b766fc
VS
305122010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30513
30514 Enable multiboot on non-pc.
30515
30516 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30517 multiboot.mod and multiboot2.mod to ...
30518 * conf/i386.rmk (pkglib_MODULES): ... here.
30519 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30520 Moved to ...
30521 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30522 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30523 Moved to ...
30524 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30525 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30526 Moved to ...
30527 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30528 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30529 Moved to ...
30530 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30531 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30532 relocator.mod.
30533 (ata_mod_SOURCES): Removed.
30534 (ata_mod_CFLAGS): Likewise.
30535 (ata_mod_LDFLAGS): Likewise.
30536 (relocator_mod_SOURCES): Removed.
30537 (relocator_mod_CFLAGS): Likewise.
30538 (relocator_mod_ASFLAGS): Likewise.
30539 (relocator_mod_LDFLAGS): Likewise.
30540 Include i386.mk.
30541 * include/grub/x86_64/multiboot.h: New file.
30542 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30543 Terminate EFI.
30544
884ade56
VS
305452010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30546
30547 Video multiboot support.
30548
30549 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30550 New prototype.
30551 * include/multiboot.h: Resynced with multiboot specification.
30552 * include/multiboot2.h: Likewise.
30553 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30554 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30555 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30556 (HAS_VGA_TEXT): Likewise.
30557 (accepts_video): New variable.
30558 (grub_multiboot_set_accepts_video): New function.
30559 (grub_multiboot_get_mbi_size): Account for video structures.
30560 (set_video_mode): New function.
30561 (retrieve_video_parameters): Likewise.
30562 (grub_multiboot_make_mbi): Fill video fields.
30563
0d90e8a6
VS
305642010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30565
30566 Video driver ids.
30567
30568 * include/grub/video.h (grub_video_driver_id): New type.
30569 (grub_video_adapter): New member 'id'. All users updated.
30570 (grub_video_get_driver_id): New proto.
30571 * video/video.c (grub_video_get_driver_id): New function.
30572
5c71db1b 305732010-01-14 Carles Pina i Estany <carles@pina.cat>
30574
30575 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30576 `var=val'.
30577
cca15b52 305782010-01-14 Carles Pina i Estany <carles@pina.cat>
30579
30580 * normal/cmdline.c (print_completion): Gettextizze.
30581
c586fbb2 305822001-01-14 Carles Pina i Estany <carles@pina.cat>
30583
30584 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30585
ba2f6848 305862010-01-14 Carles Pina i Estany <carles@pina.cat>
30587
30588 * gettext/gettext.c (grub_gettext_translate): Push and pop
30589 grub_errno.
30590 (grub_gettext_delete_list): Change comment style.
30591 * kern/err.c (grub_error): Gettextizze.
30592 (grub_fatal): Gettextizze.
30593
0a46429a
RM
305942010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30595
30596 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30597 (grub_linux16_real_boot): ... this.
30598 * kern/i386/loader.S: Likewise.
30599 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30600 (grub_linux16_boot): New function. Switches to text mode and calls
30601 grub_linux16_real_boot().
30602
30603 * loader/i386/bsd.c: Include `<grub/video.h>'.
30604 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30605 text mode before calling grub_unix_real_boot().
30606
30607 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30608 (grub_multiboot_boot): Switch to text mode before calling
30609 grub_relocator32_boot().
30610
30611 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30612 (grub_chainloader_boot): Switch to text mode before calling
30613 grub_chainloader_real_boot().
30614
d6f93a66
RM
306152010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
306162010-01-05 Colin Watson <cjwatson@ubuntu.com>
30617
30618 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30619 non-empty value.
30620
306212010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
306222010-01-05 Colin Watson <cjwatson@ubuntu.com>
30623
30624 * util/grub.d/00_header.in: Define a "savedefault" function for use
30625 in menu entries.
30626 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30627
306282010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
306292010-01-05 Colin Watson <cjwatson@ubuntu.com>
30630
30631 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30632 saved_entry if boot_once is unset.
30633 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30634 previous saved entry (i.e. grub-reboot).
30635
306362009-12-08 Colin Watson <cjwatson@ubuntu.com>
30637
30638 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30639
306402009-12-08 Colin Watson <cjwatson@ubuntu.com>
30641
30642 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30643 `var=val'.
30644 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30645
306462009-12-08 Colin Watson <cjwatson@ubuntu.com>
30647
30648 * util/grub-reboot.in: Fix --version output.
30649 * util/grub-set-default.in: Likewise.
30650
306512009-12-08 Colin Watson <cjwatson@ubuntu.com>
30652
30653 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30654 blocks.
30655
306562009-12-08 Colin Watson <cjwatson@ubuntu.com>
30657
30658 * util/grub.d/00_header.in: Quote the value assigned to `default',
30659 in case it contains spaces.
30660
306612009-12-08 Colin Watson <cjwatson@ubuntu.com>
30662
30663 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30664 `save_default_entry' call from the macosx case to the linux case.
30665
306662009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
306672009-10-25 Colin Watson <cjwatson@ubuntu.com>
30668
30669 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30670 in `chosen' environment variable.
30671 * normal/menu_text.c (get_entry_number): Check if the variable
30672 matches the title of a menu entry.
30673 (run_menu): Pass menu to get_entry_number.
30674
30675 * util/grub-reboot.in: New file.
30676 * util/grub-set-default.in: New file.
30677 * conf/common.rmk (grub-reboot): New utility.
30678 (grub-set-default): New utility.
30679
30680 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30681 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30682 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30683 move it to `saved_entry' for the next boot. Load environment on
30684 initialisation.
30685 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30686 * util/grub.d/10_hurd.in: Likewise.
30687 * util/grub.d/10_linux.in (linux_entry): Likewise.
30688 * util/grub.d/10_windows.in: Likewise.
30689 * util/grub.d/30_os-prober.in: Likewise.
30690
30691 * util/grub-install.in: Create environment block.
30692 * util/i386/efi/grub-install.in: Likewise.
30693 * util/ieee1275/grub-install.in: Likewise.
30694 * util/sparc64/ieee1275/grub-install.in: Likewise.
30695
0934d184
BC
306962010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30697
30698 Unit testing framework for GRUB.
30699
30700 * Makefile.in: Test framework build rules for 'make check'.
30701 * conf/tests.rmk: Build rules for individual tests and framework.
30702
30703 * include/grub/test.h: Header file for whitebox tests.
30704 * tests/lib/functional_test.c: Framework support for whitebox
30705 functional tests.
30706 * tests/lib/test.c: Common whitebox testing code for unit and
30707 functional tests.
30708 * tests/lib/unit_test.c: Framework support for whitebox unit
30709 tests.
30710
30711 * tests/util/grub-shell-tester.in: Support utility for grub-script
30712 tests.
30713 * tests/util/grub-shell.in: Utility to execute grub-script
30714 commands in a Qemu instance.
30715
30716 * tests/example_functional_test.c: Example whitebox functional
30717 test.
30718 * tests/example_grub_script_test.in: Example grub-script test.
30719 * tests/example_scripted_test.in: Example scripted test.
30720 * tests/example_unit_test.c: Example whitebox unit test.
30721
9c4ffeeb
VS
307222010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30723
30724 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30725 Add loader/i386/multiboot_mbi.c.
30726 (multiboot2_mod_SOURCES): Likewise.
30727 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30728 (multiboot2_mod_SOURCES): Likewise.
30729 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30730 (grub_multiboot_make_mbi): Likewise.
30731 (grub_multiboot_free_mbi): Likewise.
30732 (grub_multiboot_init_mbi): Likewise.
30733 (grub_multiboot_add_module): Likewise.
30734 (grub_multiboot_set_bootdev): Likewise.
30735 * loader/i386/multiboot.c (mbi): Removed.
30736 (mbi_dest): Likewise.
30737 (alloc_mbi): New variable.
30738 (grub_multiboot_payload_size): Removed. All users updated.
30739 (grub_multiboot_pure_size): New variable.
30740 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30741 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30742 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30743 (grub_fill_multiboot_mmap): Likewise.
30744 (grub_multiboot_get_bootdev): Likewise.
30745 (grub_multiboot): Use multiboot_mbi functions.
30746 * loader/i386/multiboot_mbi.c: New file.
30747
17383dfe
VS
307482010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30749
30750 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30751 it would result in module crash.
30752
c1f28820
VS
307532010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30754
30755 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30756 (grub_ofconsole_getwh): Split to ...
30757 (grub_ofconsole_getwh): ... this.
30758 (grub_ofconsole_dimensions): ...and this.
30759 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30760
58655a16
RM
307612010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30762
30763 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30764
10891398
VS
307652010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30766
30767 * loader/i386/pc/multiboot2.c: Removed stalled file.
30768
0b8a223c
VS
307692010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30770
30771 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30772 Reported by: Grégoire Sutre
30773
92ab12b0
RM
307742010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30775
30776 * util/misc.c (canonicalize_file_name): New function.
30777 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30778 instead of realpath().
30779
a788afb6
CW
307802010-01-11 Colin Watson <cjwatson@ubuntu.com>
30781
30782 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30783 and make it clearer that it's optional. Based on confusion
30784 witnessed on IRC.
30785
ffa8e3d2
VS
307862010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30787
30788 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30789 in premature implicit newline.
30790
e9060a9d
VS
307912010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30792
30793 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30794 which resulted in garbled command line at the end of screen.
30795
f0d0c0b7
RM
307962010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30797
30798 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30799 initialization with similar approach as with other Linux loaders.
30800
0e60bae7
RM
308012010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30802
30803 Fix i386-ieee1275 build.
30804
30805 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30806 and grub_term_height() for video_{width,height} initialization.
30807
308082010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30809
30810 Fix grub-emu build.
30811
30812 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30813
cdb3f378
RM
308142010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
308152010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30816
30817 Support for multiple terminals.
30818
30819 * Makefile.in (pkglib_DATA): terminal.lst.
30820 (terminal.lst): New target.
30821 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30822 (GRUB_MOD_INIT(handler)): Likewise.
30823 (GRUB_MOD_FINI(handler)): Likewise.
30824 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30825 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30826 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30827 (grub_cmd_sleep): Use grub_term_save_pos.
30828 * commands/terminal.c: New file.
30829 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30830 commands/terminal.c and lib/charset.c.
30831 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30832 (pkglib_MODULES): Add terminal.mod.
30833 (terminal_mod_SOURCES): New variable.
30834 (terminal_mod_CFLAGS): Likewise.
30835 (terminal_mod_LDFLAGS): Likewise.
30836 * genhandlerlist.sh: Don't handle terminals.
30837 * genmk.rb: Generate terminal-*.lst.
30838 * genterminallist.sh: New file.
30839 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30840 (grub_is_valid_utf8): Likewise.
30841 (grub_utf8_to_ucs4_alloc): Likewise.
30842 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30843 (grub_menu_register_viewer): Changed argument.
30844 (grub_menu_try_text): New proto.
30845 (grub_gfxmenu_try_hook): New declaration.
30846 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30847 (grub_menu_init_page): Additional argument term.
30848 (grub_normal_init_page): Likewise.
30849 (grub_cmdline_get): Arguments simplified.
30850 (grub_utf8_to_ucs4_alloc): Removed.
30851 (grub_print_ucs4): Additional argument term.
30852 (grub_getstringwidth): Likewise.
30853 (grub_print_message_indented): Likewise.
30854 (grub_menu_text_register_instances): New proto.
30855 (grub_show_menu): Likewise.
30856 (read_terminal_list): Likewise.
30857 (grub_set_more): Likewise.
30858 * include/grub/parser.h: Include handler.h.
30859 * include/grub/reader.h: Rewritten.
30860 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30861 (GRUB_TERM_WIDTH): Changed to function.
30862 (GRUB_TERM_HEIGHT): Likewise.
30863 (GRUB_TERM_BORDER_WIDTH): Likewise.
30864 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30865 (GRUB_TERM_NUM_ENTRIES): Likewise.
30866 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30867 (GRUB_TERM_CURSOR_X): Likewise.
30868 (grub_term_input_class): Likewise.
30869 (grub_term_output_class): Likewise.
30870 (grub_term_outputs_disabled): New declaration.
30871 (grub_term_inputs_disabled): Likewise.
30872 (grub_term_outputs): Likewise.
30873 (grub_term_inputs): Likewise.
30874 (grub_term_register_input): Rewritten.
30875 (grub_term_register_output): Likewise.
30876 (grub_term_unregister_input): Likewise.
30877 (grub_term_unregister_output): Likewise.
30878 (FOR_ACTIVE_TERM_INPUTS): New macro.
30879 (FOR_DISABLED_TERM_INPUTS): Likewise.
30880 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30881 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30882 * include/grub/terminfo.h: Add oterm argument to all protypes.
30883 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30884 Use grub_rescue_run.
30885 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30886 All users updated.
30887 * kern/reader.c: Removed. All users updated.
30888 * kern/rescue_reader.c (grub_rescue_init): Removed.
30889 (grub_rescue_reader): Likewise.
30890 (grub_register_rescue_reader): Likewise.
30891 (grub_rescue_run): New function based on kern/reader.c.
30892 * kern/term.c: Adapted for multiterm.
30893 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30894 (grub_is_valid_utf8): Likewise.
30895 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30896 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30897 right terminal.
30898 * loader/i386/linux.c (grub_linux_boot): Likewise.
30899 * normal/auth.c (grub_username_get): New function.
30900 (grub_auth_check_authentication): Use grub_username_get.
30901 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30902 * normal/color.c: Adapt for multiterm.
30903 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30904 (grub_normal_init_page): Additional argument term.
30905 (read_lists): Call read_terminal_lists.
30906 (grub_enter_normal_mode): Call grub_cmdline_run.
30907 Handle grub_normal_exit_level.
30908 (grub_cmd_normal): Make reentrant.
30909 (grub_cmd_normal_exit): New function.
30910 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30911 * normal/menu.c: Adapt for multiterm.
30912 * normal/menu_entry.c: Likewise.
30913 * normal/menu_text.c: Likewise.
30914 * normal/menu_viewer.c: Removed. All users updated.
30915 * normal/term.c: New file.
30916 * util/console.c: Change order of includes to workaround a bug in
30917 ncurses headers.
30918 * term/terminfo.c: New argument oterm on all exported functions.
30919 All users updated.
30920 * util/grub-editenv.c (grub_term_input_class): Removed.
30921 (grub_term_output_class): Likewise.
30922
1a064917
RM
309232010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30924
30925 Make loader output a bit more user-friendly.
30926
30927 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30928 is being loaded. Likewise for the Hurd.
30929
30930 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30931 that kernel of FreeBSD ${version} is being loaded.
30932
30933 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30934 grub_dprintf().
30935 (grub_cmd_initrd): Likewise.
30936 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30937 that Linux ${version} is being loaded. Likewise for initrd.
30938
5ce0a83a 309392010-01-09 Carles Pina i Estany <carles@pina.cat>
30940
30941 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30942
809bbfeb 309432010-01-08 Carles Pina i Estany <carles@pina.cat>
30944
30945 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30946 (GRUB_MOD_INIT): Gettextizze.
30947 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30948 (GRUB_MOD_INIT): Gettextizze.
30949 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30950 (grub_cmd_linux): Capitalise Linux.
30951 (GRUB_MOD_INIT): Gettextizze.
30952 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30953 (grub_cmd_linux): Capitalise Linux.
30954 (GRUB_MOD_INIT): Gettextizze.
30955 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30956 (grub_cmd_linux): Capitalise Linux.
30957 (GRUB_MOD_INIT): Gettextizze.
30958 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30959 (GRUB_MOD_INIT): Gettextizze.
30960 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30961 (grub_cmd_linux): Capitalise Linux.
30962 (GRUB_MOD_INIT): Gettextizze.
30963 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30964 (grub_cpu_xnu_init): Gettextizze.
30965 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30966 (GRUB_MOD_INIT): Gettextizze.
30967 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30968 (GRUB_MOD_INIT): Gettextizze.
30969 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30970 (grub_linux_load64): Capitalise Linux.
30971 (GRUB_MOD_INIT): Gettextizze.
30972 * loader/xnu.c: Include `<grub/i18n.h>'.
30973 (GRUB_MOD_INIT): Gettextizze.
30974 * po/POTFILES: Add `loader/efi/appleloader.c',
30975 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30976 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30977 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30978 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30979 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30980 and `loader/xnu.c'.
30981
b394b2ca
RM
309822010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30983
30984 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30985
309862010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30987
30988 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30989 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30990 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30991
bc8b32b3
RM
309922010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30993
30994 Reset Multiboot 2 support. New loader implements the draft in
30995 /branches/multiboot2 and shares as much code as possible with the
30996 production Multiboot 1 implementation.
30997
30998 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30999 * loader/multiboot2.c: Likewise.
31000 * loader/i386/multiboot_helper.S: Likewise.
31001 * include/multiboot2.h: Replace with latest version from the draft
31002 in /branches/multiboot2.
31003
31004 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31005 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31006 and `loader/multiboot2.c'.
31007 (pkglib_MODULES): Add `multiboot2.mod'.
31008 (multiboot2_mod_SOURCES): New variable.
31009 (multiboot2_mod_LDFLAGS): Likewise.
31010 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31011
31012 * conf/i386-pc.rmk: Likewise.
31013
31014 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31015 (multiboot_mod_SOURCES): Remove variable.
31016 (multiboot_mod_LDFLAGS): Likewise.
31017 (multiboot_mod_CFLAGS): Likewise.
31018
31019 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31020 `<multiboot2.h>' instead of `<multiboot.h>'.
31021 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31022 (MULTIBOOT_HEADER_MAGIC): New macros.
31023
31024 * loader/multiboot_loader.c (module_version_status): Remove variable.
31025 (find_multi_boot2_header): Remove function.
31026 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31027 logic. Always check for the Multiboot version we're compiling for.
31028 (grub_cmd_module_loader): Likewise.
31029 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31030 command instead of `multiboot'.
31031
5d2c52b8
RM
310322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31033
31034 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31035 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31036 all users.
31037
53108d92
RM
310382010-01-07 Robert Millan <rmh.grub@aybabtu.com>
310392010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31040
31041 Fix breakage introduced with previous commit.
31042
31043 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31044 commands.
31045 * normal/handler.c (read_handler_list): Revert part of previous commit
31046 affecting this file.
31047 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31048 (grub_normal_execute): ... here.
31049
e2e936b2
RM
310502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31051
31052 Merge prefix-redefinition-fix branch.
31053
31054 * normal/autofs.c (read_fs_list): Make function capable of being
31055 run multiple times, gracefuly replacing the previous data
31056 structures.
31057 * normal/dyncmd.c (read_command_list): Likewise.
31058 * normal/handler.c (read_handler_list): Likewise.
31059 * normal/main.c (read_lists): New function. Calls all the
31060 list reading functions.
31061 (grub_normal_execute): Use read_lists() instead of calling all
31062 list reading functions explicitly. Register read_lists() as a
31063 variable hook attached to ${prefix}.
31064
607a3701
VS
310652010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31066
31067 Merge crypto branch.
31068
31069 * Makefile.in (pkglib_DATA): Add crypto.lst.
31070 (crypto.lst): New target.
31071 * commands/hashsum.c: New file.
31072 * commands/password.c (check_password): Use grub_crypto_memcmp.
31073 * commands/password_pbkdf2.c: New file.
31074 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31075 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31076 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31077 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31078 -I$(srcdir)/lib/libgcrypt_wrap.
31079 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31080 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31081 password_pbkdf2.mod.
31082 (crypto_mod_SOURCES): New variable.
31083 (crypto_mod_CFLAGS): Likewise.
31084 (crypto_mod_LDFLAGS): Likewise.
31085 (hashsum_mod_SOURCES): New variable.
31086 (hashsum_mod_CFLAGS): Likewise.
31087 (hashsum_mod_LDFLAGS): Likewise.
31088 (pbkdf2_mod_SOURCES): New variable.
31089 (pbkdf2_mod_CFLAGS): Likewise.
31090 (pbkdf2_mod_LDFLAGS): Likewise.
31091 (password_pbkdf2_mod_SOURCES): New variable.
31092 (password_pbkdf2_mod_CFLAGS): Likewise.
31093 (password_pbkdf2_mod_LDFLAGS): Likewise.
31094 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
31095 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
31096 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
31097 Include conf/gcry.rmk.
31098 * include/grub/auth.h: Rewritten.
31099 * include/grub/crypto.h: New file.
31100 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
31101 * include/grub/normal.h (read_crypto_list): New prototype.
31102 * lib/crypto.c: New file.
31103 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
31104 * lib/pbkdf2.c: Likewise.
31105 * normal/auth.c (grub_auth_strcmp): Removed.
31106 (grub_iswordseparator): Likewise.
31107 (grub_auth_strword): Likewise.
31108 (is_authenticated): Use grub_strword.
31109 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
31110 and grub_strword. Pass entered password to authentication callback.
31111 * normal/crypto.c: New file.
31112 * normal/main.c: Call read_crypto_list.
31113 * util/grub-mkpasswd-pbkdf2.c: New file.
31114 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
31115
42841caa
VS
311162010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
31117
31118 Fix descent and ascent calculation.
31119
31120 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
31121 (options): New option "asce".
31122 (usage): Likewise.
31123 (add_char): Ignore invalid glyphs for descent calculation.
31124 Calculate ascent from actual content.
31125 (print_glyphs): Use 'asce'.
31126 (write_font): Likewise. Allow ascent override.
31127 (main): Handle "asce" option.
31128
e7730de7 311292010-01-06 Carles Pina i Estany <carles@pina.cat>
31130
31131 * kern/err.c: Include `<grub/i18n.h>'.
31132 (grub_print_error): Add full stop. Gettextizze.
31133 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
31134 (grub_bsd_load_elf): Capitalise ELF.
31135 (grub_cmd_freebsd_loadenv): Add `s' in error string.
31136 (grub_cmd_freebsd_module): Likewise.
31137 (grub_cmd_freebsd_module_elf): Likewise.
31138 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
31139
40e3a41f 311402010-01-06 Carles Pina i Estany <carles@pina.cat>
31141
31142 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
31143 * commands/search_file.c (HELP_MESSAGE): New macro.
31144 * commands/search_label.c (HELP_MESSAGE): Likewise.
31145 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
31146 * po/POTFILES: Add `commands/search_file.c',
31147 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
31148 `commands/search.c'.
31149
83507e68
RM
311502010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31151
31152 * config.rpath: Update from Gnulib.
31153
465c787b
YB
311542010-01-05 Yves Blusseau <blusseau@zetam.org>
31155
31156 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
31157
6581dd3a
YB
311582010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
31159
31160 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
31161
3bff18c5
CW
311622010-01-05 Colin Watson <cjwatson@ubuntu.com>
31163
31164 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
31165 arguments to fread so that we get a return value in bytes, rather
31166 than something that will normally be rounded down to 0.
31167 Adjust error handling to avoid producing garbage when size_t is not
31168 the same size as long long.
31169
a1368118
CW
311702010-01-05 Colin Watson <cjwatson@ubuntu.com>
31171
31172 * util/mkisofs/write.c (padblock_write): Check return value of
31173 fread.
31174
7c302978
RM
311752010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31176
31177 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31178 floppy images now.
31179
31180 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31181
e33ace06
RM
311822010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31183
31184 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31185 instead of manual alignment.
31186 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31187 verbose). Avoid attempts to read past end of the device
31188 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31189 but GRUB_DISK_CACHE_SIZE may exceed that).
31190
4b856776
RM
311912010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31192
31193 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31194 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31195 it to upper layer.
31196
52c2d97f
VS
311972010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31198
31199 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31200 New constant.
31201 (grub_efi_piwg_device_path): New structure
31202 (grub_efi_piwg_device_path_t): New type.
31203 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31204 (devpath_1): Transform to a structure. All users updated.
31205 (devpath_2): Likewise.
31206 (devpath_3): Likewise.
31207 (devpath_4): Likewise.
31208 (devpath_5): Likewise.
31209
98ff6a54
VS
312102010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31211
31212 * loader/efi/appleloader.c: Restored. Update all users.
31213
3a73dcb6
RM
312142010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31215
31216 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31217
31218 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31219 (struct boot_blocklist): Move from here ...
31220 * include/grub/i386/pc/boot.h [ASM_FILE]
31221 (struct grub_boot_blocklist): ... to here. Update all users.
31222 (setup): Only initialize `start' member of `first_block'
31223 structure. Add assert() calls to verify the other members.
31224
31225 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31226 (generate_image): Fix broken blocklist length initialization.
31227 Add assert() call to verify blocklist `segment' field.
31228
ab0eeb0c
RM
312292010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31230
31231 * loader/efi/appleloader.c: Remove. Update all users.
31232
58bc8bd5
RM
312332010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31234
31235 * boot/i386/pc/boot.S: Update copyright year.
31236 * boot/i386/pc/cdboot.S: Likewise.
31237 * boot/i386/pc/diskboot.S: Likewise.
31238 * boot/i386/pc/lnxboot.S: Likewise.
31239 * boot/i386/pc/pxeboot.S: Likewise.
31240 * bus/pci.c: Likewise.
31241 * commands/cmp.c: Likewise.
31242 * commands/help.c: Likewise.
31243 * commands/hexdump.c: Likewise.
31244 * commands/i386/pc/halt.c: Likewise.
31245 * commands/i386/pc/play.c: Likewise.
31246 * commands/i386/pc/vbeinfo.c: Likewise.
31247 * commands/ls.c: Likewise.
31248 * commands/test.c: Likewise.
31249 * disk/dmraid_nvidia.c: Likewise.
31250 * disk/i386/pc/biosdisk.c: Likewise.
31251 * disk/ieee1275/nand.c: Likewise.
31252 * disk/ieee1275/ofdisk.c: Likewise.
31253 * disk/lvm.c: Likewise.
31254 * disk/raid.c: Likewise.
31255 * disk/raid6_recover.c: Likewise.
31256 * disk/scsi.c: Likewise.
31257 * fs/affs.c: Likewise.
31258 * fs/cpio.c: Likewise.
31259 * fs/ext2.c: Likewise.
31260 * fs/hfs.c: Likewise.
31261 * fs/iso9660.c: Likewise.
31262 * fs/ntfs.c: Likewise.
31263 * fs/sfs.c: Likewise.
31264 * fs/udf.c: Likewise.
31265 * fs/ufs.c: Likewise.
31266 * fs/xfs.c: Likewise.
31267 * gencmdlist.sh: Likewise.
31268 * genmk.rb: Likewise.
31269 * include/grub/disk.h: Likewise.
31270 * include/grub/efi/api.h: Likewise.
31271 * include/grub/efi/efi.h: Likewise.
31272 * include/grub/efi/pe32.h: Likewise.
31273 * include/grub/elf.h: Likewise.
31274 * include/grub/fs.h: Likewise.
31275 * include/grub/i386/at_keyboard.h: Likewise.
31276 * include/grub/i386/pc/memory.h: Likewise.
31277 * include/grub/i386/pc/vbe.h: Likewise.
31278 * include/grub/i386/pci.h: Likewise.
31279 * include/grub/i386/tsc.h: Likewise.
31280 * include/grub/ieee1275/ieee1275.h: Likewise.
31281 * include/grub/ntfs.h: Likewise.
31282 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31283 * include/grub/sparc64/libgcc.h: Likewise.
31284 * include/grub/symbol.h: Likewise.
31285 * include/grub/types.h: Likewise.
31286 * include/multiboot2.h: Likewise.
31287 * io/gzio.c: Likewise.
31288 * kern/device.c: Likewise.
31289 * kern/disk.c: Likewise.
31290 * kern/efi/efi.c: Likewise.
31291 * kern/efi/mm.c: Likewise.
31292 * kern/elf.c: Likewise.
31293 * kern/file.c: Likewise.
31294 * kern/i386/dl.c: Likewise.
31295 * kern/i386/pc/init.c: Likewise.
31296 * kern/i386/pc/startup.S: Likewise.
31297 * kern/ieee1275/ieee1275.c: Likewise.
31298 * kern/ieee1275/init.c: Likewise.
31299 * kern/main.c: Likewise.
31300 * kern/mm.c: Likewise.
31301 * kern/powerpc/dl.c: Likewise.
31302 * kern/sparc64/dl.c: Likewise.
31303 * kern/x86_64/dl.c: Likewise.
31304 * lib/hexdump.c: Likewise.
31305 * loader/efi/appleloader.c: Likewise.
31306 * loader/i386/ieee1275/linux.c: Likewise.
31307 * loader/i386/pc/chainloader.c: Likewise.
31308 * loader/i386/pc/linux.c: Likewise.
31309 * loader/i386/pc/multiboot2.c: Likewise.
31310 * loader/ieee1275/multiboot2.c: Likewise.
31311 * loader/multiboot2.c: Likewise.
31312 * loader/multiboot_loader.c: Likewise.
31313 * loader/powerpc/ieee1275/linux.c: Likewise.
31314 * normal/completion.c: Likewise.
31315 * normal/menu_entry.c: Likewise.
31316 * partmap/apple.c: Likewise.
31317 * util/grub.d/10_hurd.in: Likewise.
31318 * util/hostfs.c: Likewise.
31319 * video/readers/png.c: Likewise.
31320
e2d70b5c
CW
313212010-01-03 Colin Watson <cjwatson@ubuntu.com>
31322
31323 * include/grub/misc.h (GNUC_PREREQ): New macro.
31324 (ATTRIBUTE_ERROR): New macro.
31325 * include/grub/list.h (grub_bad_type_cast_real): Use
31326 ATTRIBUTE_ERROR.
31327
a173283f 313282010-01-03 Carles Pina i Estany <carles@pina.cat>
31329
31330 * normal/menu_text.c (print_message): Change messages.
31331
7fa7ff74 313322010-01-03 Carles Pina i Estany <carles@pina.cat>
31333
31334 * normal/menu_entry.c (store_completion): Gettextizze.
31335
136d24f6 313362010-01-03 Carles Pina i Estany <carles@pina.cat>
31337
31338 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31339
f936862e 313402010-01-03 Carles Pina i Estany <carles@pina.cat>
31341
31342 * po/POTFILES: Sort correctly.
31343
29c44ad1 313442010-01-03 Carles Pina i Estany <carles@pina.cat>
31345
31346 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31347 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31348 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31349 full stop.
31350 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31351 summary. Gettextizze the strings.
31352 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31353 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31354 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31355 full stop.
31356 (GRUB_MOD_INIT): Remove command name from summary.
31357 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31358 summary.
31359 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31360 * term/i386/pc/serial.c (options): Add full stops.
31361 (GRUB_MOD_INIT): Remove command name from the summary.
31362
77a79592 313632010-01-03 Carles Pina i Estany <carles@pina.cat>
31364
31365 * commands/acpi.c: Gettextizze help strings and/or options. Include
31366 `grub/i18n.h' if needed.
31367 * commands/blocklist.c: Likewise.
31368 * commands/boot.c: Likewise.
31369 * commands/cat.c: Likewise.
31370 * commands/cmp.c: Likewise.
31371 * commands/configfile.c: Likewise.
31372 * commands/crc.c: Likewise.
31373 * commands/date.c: Likewise.
31374 * commands/echo.c: Likewise.
31375 * commands/efi/fixvideo.c: Likewise.
31376 * commands/efi/loadbios.c: Likewise.
31377 * commands/gptsync.c: Likewise.
31378 * commands/halt.c: Likewise.
31379 * commands/handler.c: Likewise.
31380 * commands/hdparm.c: Likewise.
31381 * commands/hexdump.c: Likewise.
31382 * commands/i386/cpuid.c: Likewise.
31383 * commands/i386/pc/drivemap.c: Likewise.
31384 * commands/i386/pc/halt.c: Likewise.
31385 * commands/i386/pc/pxecmd.c: Likewise.
31386 * commands/i386/pc/vbeinfo.c: Likewise.
31387 * commands/i386/pc/vbetest.c: Likewise.
31388 * commands/ieee1275/suspend.c: Likewise.
31389 * commands/keystatus.c: Likewise.
31390 * commands/loadenv.c: Likewise.
31391 * commands/ls.c: Likewise.
31392 * commands/lsmmap.c: Likewise.
31393 * commands/lspci.c: Likewise.
31394 * commands/memrw.c: Likewise.
31395 * commands/minicmd.c: Likewise.
31396 * commands/parttool.c: Likewise.
31397 * commands/password.c: Likewise.
31398 * commands/probe.c: Likewise.
31399 * commands/read.c: Likewise.
31400 * commands/reboot.c: Likewise.
31401 * commands/search.c: Likewise.
31402 * commands/sleep.c: Likewise.
31403 * commands/test.c: Likewise.
31404 * commands/true.c: Likewise.
31405 * commands/usbtest.c: Likewise.
31406 * commands/videotest.c: Likewise.
31407 * commands/xnu_uuid.c: Likewise.
31408 * disk/loopback.c: Likewise.
31409 * hello/hello.c: Likewise.
31410 * loader/i386/bsd.c: Likewise.
31411 * term/i386/pc/serial.c: Likewise.
31412 * po/POTFILES: Add new files.
31413
da8d5c53
CW
314142010-01-02 Colin Watson <cjwatson@ubuntu.com>
31415
31416 * term/i386/pc/at_keyboard.c
31417 (keyboard_controller_wait_untill_ready): Rename to ...
31418 (keyboard_controller_wait_until_ready): ... this. Update all users.
31419
33937904 314202010-01-01 Carles Pina i Estany <carles@pina.cat>
31421
31422 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31423 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31424 string using string width.
31425 * normal/menu_text.c (grub_print_message_indented): Use
31426 grub_print_spaces and not print_spaces.
31427 (print_timeout): Likewise.
31428 (print_spaces): Move to...
31429 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31430
3fd3b8d8
RM
314312010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31432
31433 Import from Gnulib.
31434
31435 * gnulib/getdelim.c: New file.
31436 * gnulib/getline.c: Likewise.
31437
33433555
VS
314382009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31439
31440 * include/grub/list.h (grub_assert_fail): Removed.
31441 (grub_bad_type_cast_real): New function.
31442 (grub_bad_type_cast): New macro.
31443 (GRUB_AS_LIST): Use grub_bad_type_cast.
31444 (GRUB_AS_LIST_P): Likewise.
e44721e8 31445 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31446 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31447 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31448 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31449 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31450
f5a51306
VS
314512009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31452
31453 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31454 Fix syntax error.
31455
90d1e879
RM
314562009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31457
31458 * configure.ac: Check for TARGET_CFLAGS initialization before we
31459 initialize it ourselves (sigh).
31460 Move a few modifications to TARGET_CFLAGS to be unconditional
31461 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31462 eh_frame)
31463
31464 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31465 * term/i386/pc/at_keyboard.c
31466 (keyboard_controller_wait_untill_ready): Likewise.
31467 (keyboard_controller_led): Rename `led_status' paramter to avoid
31468 name conflict.
31469
465b5a81 314702009-12-28 Carles Pina i Estany <carles@pina.cat>
31471
31472 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31473 quotes.
31474
c181849b
VS
314752009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31476
31477 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31478
9c8739a4
VS
314792009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31480
31481 * normal/menu_text.c (grub_print_message_indented): Prevent
31482 past-the-end-of-array dereference.
31483
3e74249c
VS
314842009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31485
31486 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31487 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31488
64fd18ed 314892009-12-27 Carles Pina i Estany <carles@pina.cat>
31490
31491 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31492 * normal/main.c (grub_normal_read_line): Remove a space from the
31493 default prompt.
31494
714af9b9 314952009-12-27 Carles Pina i Estany <carles@pina.cat>
31496
31497 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31498 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31499 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31500 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31501 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31502 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31503 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31504
82f3e412 315052009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31506
31507 * video/readers/jpeg.c (cmd): Declare.
31508 (grub_cmd_jpegtest): Use `grub_command_t' type.
31509 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31510 Assign to `cmd'.
31511 (GRUB_MOD_FINI): Use `cmd' to unregister.
31512 * video/readers/png.c (cmd): Declare.
31513 (grub_cmd_pngtest): Use `grub_command_t' type.
31514 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31515 Assign to `cmd'.
31516 (GRUB_MOD_FINI): Use `cmd' to unregister.
31517 * video/readers/tga.c (cmd): Declare.
31518 (grub_cmd_tgatest): Use `grub_command_t' type.
31519 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31520 Assign to `cmd'.
31521 (GRUB_MOD_FINI): Use `cmd' to unregister.
31522
82f3e412 315232009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31524
31525 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31526 stops.
31527 * kern/corecmd.c (grub_register_core_commands): Likewise.
31528 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31529 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31530 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31531 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31532 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31533 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31534 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31535 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31536 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31537 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31538 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31539 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31540 * normal/handler.c (insert_handler): Likewise.
31541 * normal/main.c (GRUB_MOD_INIT): Likewise.
31542 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31543
fdcdbb66 315442009-12-26 Carles Pina i Estany <carles@pina.cat>
31545
31546 * commands/help.c (grub_cmd_help): Print the command name before the
31547 summary.
31548 (GRUB_MOD_INIT): Remove command name from the summary.
31549 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31550 string as summary.
fdcdbb66 31551 * lib/arg.c (find_long): Print the command name before the summary.
31552 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31553 summary.
31554 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31555 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31556 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31557 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31558 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31559 * commands/date.c (GRUB_MOD_INIT): Likewise.
31560 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31561 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31562 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31563 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31564 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31565 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31566 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31567 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31568 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31569 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31570 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31571 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31572 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31573 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31574 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31575 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31576 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31577 * commands/password.c (GRUB_MOD_INIT): Likewise.
31578 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31579 * commands/read.c (GRUB_MOD_INIT): Likewise.
31580 * commands/search.c (GRUB_MOD_INIT): Likewise.
31581 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31582 * commands/test.c (GRUB_MOD_INIT): Likewise.
31583 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31584 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31585 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31586 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31587 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31588 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31589 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31590 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31591 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31592 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31593 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31594 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31595 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31596 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31597
9c288be2
VS
315982009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31599
31600 Use search command for preliminar UUID search.
31601
31602 * commands/search.c: Split into ...
31603 * commands/search_wrap.c: ...this
31604 * commands/search.c: ...and this.
31605 * commands/search_file.c: New file.
31606 * commands/search_label.c: New file.
31607 * commands/search_uuid.c: New file.
31608 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31609 Add commands/search_wrap.c, commands/search_file.c,
31610 commands/search_label.c and commands/search_uuid.c.
31611 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31612 (search_mod_SOURCES): Set to commands/search_wrap.c.
31613 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31614 search_label.mod.
31615 (search_fs_file_mod_SOURCES): New variable.
31616 (search_fs_file_mod_CFLAGS): Likewise.
31617 (search_fs_file_mod_LDFLAGS): Likewise.
31618 (search_label_mod_SOURCES): Likewise.
31619 (search_label_mod_CFLAGS): Likewise.
31620 (search_label_mod_LDFLAGS): Likewise.
31621 (search_fs_uuid_mod_SOURCES): New variable.
31622 (search_fs_uuid_mod_CFLAGS): Likewise.
31623 (search_fs_uuid_mod_LDFLAGS): Likewise.
31624 (fs_file_mod_SOURCES): Removed.
31625 (fs_file_mod_CFLAGS): Likewise.
31626 (fs_file_mod_LDFLAGS): Likewise.
31627 (fs_uuid_mod_SOURCES): Removed.
31628 (fs_uuid_mod_CFLAGS): Likewise.
31629 (fs_uuid_mod_LDFLAGS): Likewise.
31630 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31631 Set to util/grub-install.in.
31632 * disk/fs_file.c: Removed.
31633 * disk/fs_uuid.c: Likewise.
31634 * include/grub/search.h: New file.
31635 * util/grub-install.in: Handle sparc64.
31636 Create and use load.cfg.
31637 * util/sparc64/ieee1275/grub-install.in: Removed.
31638
db943399
VS
316392009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31640
31641 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31642 Ignore return status if CF is cleared.
31643 (grub_biosdisk_get_diskinfo_standard): Likewise.
31644
3fdae612
RM
316452009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31646
31647 * term/i386/pc/at_keyboard.c
31648 (keyboard_controller_wait_untill_ready): New function.
31649 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31650 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31651 for keyboard polling, rather than duplicate the same loop. This
31652 saves a few bytes in code size.
31653
7ebaa2b4
VS
316542009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31655
31656 Support for (pxe[:server[:gateway]]) syntax and
31657 use environment variable for PXE.
31658
31659 * commands/i386/pc/pxecmd.c (options): Removed.
31660 (print_ip): Removed.
31661 (grub_cmd_pxe): Removed
31662 (grub_cmd_pxe_unload): New function.
31663 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31664 (grub_pxe_your_ip): Made static.
31665 (grub_pxe_default_server_ip): Likewise.
31666 (grub_pxe_default_gateway_ip): Likewise.
31667 (grub_pxe_blksize): Likewise.
31668 (parse_ip): New function.
31669 (grub_pxe_open): Support server and gateway specification.
31670 (grub_pxe_close): Free disk->data.
31671 (grub_pxefs_open): Use disk->data.
31672 (grub_pxefs_read): Likewise.
31673 (grub_env_write_readonly): New function.
31674 (set_mac_env): Likewise.
31675 (set_env_limn_ro): Likewise.
31676 (parse_dhcp_vendor): Likewise.
31677 (grub_pxe_detect): Set the environment variables.
31678 (set_ip_env): New function.
31679 (write_ip_env): Likewise.
31680 (grub_env_write_pxe_default_server): Likewise.
31681 (grub_env_write_pxe_default_gateway): Likewise.
31682 (grub_env_write_pxe_blocksize): Likewise.
31683 (GRUB_MOD_INIT(pxe)): Set environment variables.
31684 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31685 (grub_pxe_mac_addr_t): ... this. All users updated.
31686 (grub_pxe_your_ip): Removed.
31687 (grub_pxe_server_ip): Likewise.
31688 (grub_pxe_gateway_ip): Likewise.
31689 (grub_pxe_blksize): Likewise.
31690
ec5f98ab 316912009-12-25 Carles Pina i Estany <carles@pina.cat>
31692
31693 * commands/help.c: Include `<grub/i18n.h>'.
31694 (grub_cmd_help): Gettextizze.
31695 (GRUB_MOD_INIT): Likewise.
31696 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31697 (GRUB_MOD_INIT): Gettextizze.
31698 * commands/search.c: Include `<grub/i18n.h>'.
31699 (options): Gettextizze.
31700 (GRUB_MOD_INIT): Gettextizze.
31701 * lib/arg.c: Include `<grub/i18n.h>'.
31702 (help_options): Gettextizze.
31703 (find_long): Likewise.
31704 (grub_arg_show_help): Likewise.
31705 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31706 (read_command_list): Gettextizze.
31707 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31708 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31709
22815526
RM
317102009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31711
31712 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31713 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31714 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31715 (led_status): New variable.
31716 (keyboard_controller_led): New function.
31717 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31718 update led status for caps lock, num lock and scroll lock.
31719
0ad46fd7
FZ
317202009-12-25 Felix Zielcke <fzielcke@z-51.de>
31721
31722 * util/hostdisk.c (open_device): Fix a comment.
31723
d0e158c2
RM
317242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31725
31726 * util/grub-install.in (host_os): New variable.
31727 * util/i386/efi/grub-install.in (host_os): Likewise.
31728
401c0ad6
RM
317292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31730
31731 * util/mkisofs/write.c (padblock_write): Abort when given an
31732 excedingly large embed image, instead of silently truncating it.
31733
d14d3370
RM
317342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31735
31736 * include/multiboot.h: Indentation fixes.
31737
eeed10b4
RM
317382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31739
31740 * include/multiboot.h (struct multiboot_aout_symbol_table)
31741 (struct multiboot_elf_section_header_table): New structure
31742 declarations (stolen from GRUB Legacy).
31743 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31744 table information.
31745
31746 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31747 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31748 type aliases.
31749
681c70ab
RM
317502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31751
31752 * include/multiboot.h: Make comments src2texi-friendly.
31753
e4d47d8d
RM
317542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31755
31756 For consistency with [multiboot]/docs/boot.S.
31757
31758 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31759 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31760 (MULTIBOOT_MAGIC2): Rename from this ...
31761 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31762
a0b70bda
RM
317632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31764
31765 * include/multiboot.h: Remove `<grub/types.h>'.
31766 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31767 types. Update all users.
31768
61ba42be 317692009-12-25 Carles Pina i Estany <carles@pina.cat>
31770
31771 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31772 `couldn't' and `can not' by `cannot'.
31773 * commands/i386/pc/drivemap.c: Likewise.
31774 * disk/ata.c: Likewise.
31775 * disk/ieee1275/nand.c: Likewise.
31776 * fs/affs.c: Likewise.
31777 * fs/fat.c: Likewise.
31778 * fs/hfs.c: Likewise.
31779 * fs/hfsplus.c: Likewise.
31780 * fs/iso9660.c: Likewise.
31781 * fs/jfs.c: Likewise.
31782 * fs/minix.c: Likewise.
31783 * fs/reiserfs.c: Likewise.
31784 * fs/sfs.c: Likewise.
31785 * fs/udf.c: Likewise.
31786 * fs/ufs.c: Likewise.
31787 * fs/xfs.c: Likewise.
31788 * loader/powerpc/ieee1275/linux.c: Likewise.
31789 * loader/sparc64/ieee1275/linux.c: Likewise.
31790 * util/grub-probe.c: Likewise.
31791 * util/misc.c: Likewise.
31792
7fd0baee 317932009-12-24 Carles Pina i Estany <carles@pina.cat>
31794
31795 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31796 grub_errno calls.
31797 * commands/acpi.c: Likewise.
31798 * commands/blocklist.c: Likewise.
31799 * commands/efi/loadbios.c: Likewise.
31800 * commands/i386/pc/drivemap.c: Likewise.
31801 * commands/loadenv.c: Likewise.
31802 * commands/memrw.c: Likewise.
31803 * commands/password.c: Likewise.
31804 * commands/videotest.c: Likewise.
31805 * disk/ata.c: Likewise.
31806 * disk/ata_pthru.c: Likewise.
31807 * disk/dmraid_nvidia.c: Likewise.
31808 * disk/ieee1275/nand.c: Likewise.
31809 * disk/ieee1275/ofdisk.c: Likewise.
31810 * disk/loopback.c: Likewise.
31811 * disk/lvm.c: Likewise.
31812 * disk/mdraid_linux.c: Likewise.
31813 * disk/raid.c: Likewise.
31814 * disk/raid6_recover.c: Likewise.
31815 * disk/scsi.c: Likewise.
31816 * efiemu/main.c: Likewise.
31817 * efiemu/mm.c: Likewise.
31818 * efiemu/pnvram.c: Likewise.
31819 * efiemu/symbols.c: Likewise.
31820 * font/font.c: Likewise.
31821 * fs/cpio.c: Likewise.
31822 * fs/hfsplus.c: Likewise.
31823 * fs/iso9660.c: Likewise.
31824 * fs/jfs.c: Likewise.
31825 * fs/minix.c: Likewise.
31826 * fs/ntfs.c: Likewise.
31827 * fs/ntfscomp.c: Likewise.
31828 * fs/reiserfs.c: Likewise.
31829 * fs/ufs.c: Likewise.
31830 * fs/xfs.c: Likewise.
31831 * gettext/gettext.c: Likewise.
31832 * include/grub/auth.h: Likewise.
31833 * kern/elf.c: Likewise.
31834 * kern/file.c: Likewise.
31835 * kern/ieee1275/init.c: Likewise.
31836 * kern/ieee1275/mmap.c: Likewise.
31837 * kern/ieee1275/openfw.c: Likewise.
31838 * kern/powerpc/dl.c: Likewise.
31839 * kern/sparc64/dl.c: Likewise.
31840 * lib/arg.c: Likewise.
31841 * loader/i386/bsd.c: Likewise.
31842 * loader/i386/bsdXX.c: Likewise.
31843 * loader/i386/efi/linux.c: Likewise.
31844 * loader/i386/efi/xnu.c: Likewise.
31845 * loader/i386/ieee1275/linux.c: Likewise.
31846 * loader/i386/linux.c: Likewise.
31847 * loader/i386/multiboot.c: Likewise.
31848 * loader/i386/pc/linux.c: Likewise.
31849 * loader/i386/pc/multiboot2.c: Likewise.
31850 * loader/i386/xnu.c: Likewise.
31851 * loader/ieee1275/multiboot2.c: Likewise.
31852 * loader/macho.c: Likewise.
31853 * loader/machoXX.c: Likewise.
31854 * loader/multiboot2.c: Likewise.
31855 * loader/multiboot_loader.c: Likewise.
31856 * loader/powerpc/ieee1275/linux.c: Likewise.
31857 * loader/sparc64/ieee1275/linux.c: Likewise.
31858 * loader/xnu.c: Likewise.
31859 * loader/xnu_resume.c: Likewise.
31860 * mmap/i386/pc/mmap.c: Likewise.
31861 * normal/menu_viewer.c: Likewise.
31862 * partmap/acorn.c: Likewise.
31863 * partmap/amiga.c: Likewise.
31864 * partmap/apple.c: Likewise.
31865 * script/lexer.c: Likewise.
31866 * term/gfxterm.c: Likewise.
31867 * term/i386/pc/serial.c: Likewise.
31868 * term/i386/pc/vga.c: Likewise.
31869 * term/ieee1275/ofconsole.c: Likewise.
31870 * term/terminfo.c: Likewise.
31871 * video/bitmap.c: Likewise.
31872 * video/efi_gop.c: Likewise.
31873 * video/efi_uga.c: Likewise.
31874 * video/fb/video_fb.c: Likewise.
31875 * video/i386/pc/vbe.c: Likewise.
31876 * video/readers/tga.c: Likewise.
31877 * video/video.c: Likewise.
31878
0ad46fd7 318792009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31880
31881 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31882 * commands/lspci.c: Likewise.
31883 * commands/probe.c: Likewise.
31884 * commands/xnu_uuid.c: Likewise.
31885 * conf/i386-coreboot.rmk: Likewise.
31886 * conf/i386-efi.rmk: Likewise.
31887 * conf/i386-ieee1275.rmk: Likewise.
31888 * conf/i386-pc.rmk: Likewise.
31889 * conf/powerpc-ieee1275.rmk: Likewise.
31890 * conf/sparc64-ieee1275.rmk: Likewise.
31891 * conf/x86_64-efi.rmk: Likewise.
31892 * fs/i386/pc/pxe.c: Likewise.
31893 * gettext/gettext.c: Likewise.
31894 * include/grub/efi/graphics_output.h: Likewise.
31895 * include/grub/i386/pc/memory.h: Likewise.
31896 * kern/env.c: Likewise.
31897 * kern/i386/qemu/startup.S: Likewise.
31898 * lib/i386/pc/biosnum.c: Likewise.
31899 * lib/i386/relocator.c: Likewise.
31900 * lib/i386/relocator_asm.S: Likewise.
31901 * lib/relocator.c: Likewise.
31902 * loader/i386/bsd.c: Likewise.
31903 * loader/i386/multiboot.c: Likewise.
31904 * loader/i386/pc/chainloader.c: Likewise.
31905 * loader/i386/xnu.c: Likewise.
31906 * loader/xnu.c: Likewise.
31907 * normal/main.c: Likewise.
31908 * normal/menu_text.c: Likewise.
31909 * util/getroot.c: Likewise.
31910 * util/grub-mkconfig_lib.in: Likewise.
31911 * util/grub.d/00_header.in: Likewise.
31912 * util/i386/pc/grub-mkimage.c: Likewise.
31913 * util/mkisofs/eltorito.c: Likewise.
31914 * util/mkisofs/exclude.h: Likewise.
31915 * util/mkisofs/hash.c: Likewise.
31916 * util/mkisofs/iso9660.h: Likewise.
31917 * util/mkisofs/joliet.c: Likewise.
31918 * util/mkisofs/mkisofs.c: Likewise.
31919 * util/mkisofs/mkisofs.h: Likewise.
31920 * util/mkisofs/multi.c: Likewise.
31921 * util/mkisofs/name.c: Likewise.
31922 * util/mkisofs/rock.c: Likewise.
31923 * util/mkisofs/tree.c: Likewise.
31924 * util/mkisofs/write.c: Likewise.
31925 * video/efi_gop.c: Likewise.
31926
009ec743
VS
319272009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31928
31929 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31930 size counting.
31931
0ad46fd7 319322009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31933
31934 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31935 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31936
d3d30ea0
VS
319372009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31938
31939 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31940 (GRUB_MOD_INIT(memrw)): Update help line.
31941
a34f5c70
VS
319422009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31943
31944 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31945 Use grub_extcmd_t. All users updated.
31946 (options): New variable.
31947 (grub_cmd_read): Restructure for readability. Support "-v" option.
31948 (grub_cmd_write): Restructure for readability.
31949
0ad46fd7 319502009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31951
31952 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31953
0ad46fd7 319542009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31955
31956 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31957 with the actual contents of the correspondending make variable.
31958 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31959 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31960 specifying `*.lst' and `efiemu??.o'
31961
0ad46fd7 319622009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31963
31964 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31965 after function name.
31966 Noticed by Rene Engelhard <rene@debian.org>.
31967
dc77a799
VS
319682009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31969
31970 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31971 (options): New variable.
31972 (iospace): Likewise.
31973 (grub_lspci_iter): List IO spaces if "-i" was given.
31974 (grub_cmd_lspci): Parse options.
31975 (GRUB_MOD_INIT(lspci)): Use extcmd.
31976 (GRUB_MOD_FINI(lspci)): Likewise.
31977
0ad46fd7 319782009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31979
31980 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31981 `function' keyword.
31982 Patch by Tony Mancill <tmancill@debian.org>.
31983
b5d5993b
VS
319842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31985
31986 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31987 (grub_uhci_portstatus): Likewise.
31988 (grub_uhci_portstatus): Add necessary delay.
11d18281 31989 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31990
941903f2 319912009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31992
941903f2 31993 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31994 (GRUB_MOD_INIT): Likewise.
31995 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31996 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31997 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31998 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31999 (enable_rom_area): Likewise.
32000 (GRUB_MOD_INIT): Likewise.
32001 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32002 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32003 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32004 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32005 * commands/hexdump.c (options): Likewise.
32006 * commands/i386/cpuid.c (options): Likewise.
32007 (GRUB_MOD_INIT): Likewise.
32008 * commands/i386/pc/drivemap.c (options): Likewise.
32009 (GRUB_MOD_INIT): Likewise.
32010 * commands/i386/pc/halt (options): Likewise.
32011 (GRUB_MOD_INIT): Likewise.
32012 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32013 * commands/i386/pc/pxecmd.c (options): Likewise.
32014 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32015 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32016 * commands/keystatus.c (options): Likewise.
32017 (GRUB_MOD_INIT): Likewise.
32018 * commands/loadenv.c (options): Likewise.
32019 * commands/ls.c (options): Likewise.
32020 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32021 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32022 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32023 * commands/parttool.c (helpmsg): Likewise.
32024 * commands/probe.c (options): Likewise.
32025 * commands/read.c (GRUB_MOD_INIT): Likewise.
32026 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32027 * commands/search.c (options): Likewise.
32028 * commands/sleep.c (options): Likewise.
32029 * commands/test.c (GRUB_MOD_INIT): Likewise.
32030 * commands/true.c (GRUB_MOD_INIT): Likewise.
32031 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32032 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32033 * lib/arg.c (help_options): Likewise.
e9bbb4e7 32034 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32035 `$(XGETTEXT)'.
98a50553 32036 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 32037
0ad46fd7 320382009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 32039
ef3c2c3a 32040 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
32041 instead of specifying them explicit.
32042
7922f68b
RM
320432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32044
32045 * NEWS: Add grub-probe support for GNU/Hurd.
32046
537ce47f
RM
320472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32048
32049 * NEWS: gettext was added after 1.97.
32050
9b214e3a
RM
320512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32052
32053 * util/mkisofs/msdos_partition.h: New file (based on
32054 include/grub/msdos_partition.h).
32055 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
32056 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
32057 (ld_options, main): Recognize --protective-msdos-label.
32058 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
32059 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32060 (padblock_write): If `use_protective_msdos_label' is set, patch a
32061 protective DOS-style label in the output image.
32062
32063 * util/grub-mkrescue.in: Use --protective-msdos-label.
32064
e9309813
RM
320652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32066
32067 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32068 boot.
32069
0ae56929
RM
320702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32071
32072 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32073 variables.
32074 (ld_options, main): Recognize `--embedded-boot'.
32075 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32076 declarations.
32077 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32078 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32079 (padblock_write): Likewise. Rewrite to support embedded boot image.
32080
32081 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32082 for BIOS-based disk boot instead of only ElTorito.
32083
b15937b1
RM
320842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32085
32086 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
32087 build (not needed for bootstrap).
32088
52cc3ce0
RM
320892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32090
32091 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
32092 from i386-pc build (not needed for bootstrap).
32093 Rewrite a pair of strings.
32094
36f5ff04
RM
320952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32096
32097 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
32098
973c6c85 320992009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
32100
32101 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
32102
05d21547
AB
321032009-12-21 Andreas Born <futur.andy@googlemail.com>
32104
32105 * kern/env.c (grub_env_context_open): Mark exported variable for
32106 reexport.
32107
0175d51f
AB
321082009-12-21 Andreas Born <futur.andy@googlemail.com>
32109
32110 * kern/env.c (grub_env_export): Create nonexistent variables before
32111 exporting.
32112
7f39d92f 321132009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 32114
7f39d92f 32115 * include/grub/auth.h: Include `<grub/i18n.h>'.
32116 (GRUB_GET_PASSWORD): Gettextizze string.
32117 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
32118 menu_text.c.
32119 (grub_utf8_to_ucs4_alloc): Fix indentation.
32120 (grub_print_ucs4): Likewise.
32121 (grub_getstringwidth): Likewise.
32122 (print_message_indented): New declaration.
32123 * normal/auth.c: Include `<grub/i18n.h>'.
32124 (grub_auth_check_authentication): Gettexttize string.
32125 * normal/cmdline.c: Include `<grub/i18n.h>'.
32126 (grub_cmdline_get): Gettextizze.
32127 * normal/color.c: Include `<grub/i18n.h>'.
32128 (grub_parse_color_name_pair): Gettexttize strings.
32129 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
32130 string (use `print_message_indented').
32131 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
32132 `include/grub/normal.h'.
32133 (print_message_indented): Renamed to ...
32134 (grub_print_message_indented): ... this. Remove `static' qualifer (now
32135 used in normal/main.c).
32136 (print_message): Use `grub_print_message_indented' instead of
32137 `print_message_indented'.
32138 (print_timeout): Likewise.
32139 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
32140 (grub_normal_print_device_info): Gettexttize strings.
32141 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
32142
3041d898
VS
321432009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32144
32145 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
32146 of arguments. Return number of tokens and not arguments. All users
32147 updated.
32148
de15bf8e
VS
321492009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32150
32151 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
32152 non-MSDOS paritions.
32153
e0a6ca52
VS
321542009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
32155
32156 * include/grub/types.h (UNUSED): Removed since it conflicts with
32157 NetBSD headers. All users changed to direct __attribute__ ((unused)).
32158 Reported by Grégoire Sutre.
32159
b99518d1 321602009-12-19 Carles Pina i Estany <carles@pina.cat>
32161
32162 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
32163 (grub_print_ucs4_alloc): Likewise.
32164 (grub_getstringwidth): Likewise.
32165 * normal/main.c (grub_normal_init_page): Gettextize version string.
32166 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
32167 (getstringwidth): Renamed to ...
32168 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
32169 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32170 (grub_print_ucs4): Remove `static' qualifer (now used in
32171 normal/main.c).
32172 * po/POTFILES: Add normal/main.c.
32173
bfd5e52b 321742009-12-19 Carles Pina i Estany <carles@pina.cat>
32175
32176 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32177 (print_message_indented): Add `margin_left' and `margin_right'
32178 parameters.
32179 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32180 strings.
32181 (print_timeout): Use `print_message_indented' to print the message.
32182 Deletes `second_stage' parameter.
32183 (run_menu): Update `print_timeout' calls.
32184
5a1ad2b9
VS
321852009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32186
32187 Fix console palette on OpenFirmware.
32188
32189 * term/ieee1275/ofconsole.c (MAX): Removed.
32190 (colors): Redone based on VGA palette.
32191 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32192 colors are supported.
32193 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32194
b045f00a
VS
321952009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32196
32197 Fix potential EfiEmu double prepare.
32198
32199 * efiemu/main.c (prepared): New variable
32200 (grub_efiemu_unload): Set prepare to '0'.
32201 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32202
32203 set_virtual_address_map support.
32204
32205 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32206 prototype.
32207 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32208 prototype.
32209 (grub_efiemu_crc32): Likewise.
32210 (grub_efiemu_crc64): Likewise.
32211 (grub_efiemu_set_virtual_address_map): Likewise.
32212 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32213 New definition.
32214 (grub_autoefi_set_virtual_address_map): Likewise.
32215 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32216 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32217 Restructure flow to accomodate it.
32218 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32219 (grub_efiemu_crc): Recompute CRC32.
32220 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32221 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32222 * efiemu/symbols.c (relocated_handle): New variable.
32223 (grub_efiemu_free_syms): Free relocated_handle.
32224 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32225 (grub_efiemu_write_sym_markers): New function.
32226 (grub_efiemu_set_virtual_address_map): Likewise.
32227
32228 Newer XNU parameters.
32229
32230 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32231 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32232 (grub_xnu_fill_devicetree): New prototype.
32233 (grub_xnu_heap_real_start): New variable.
32234 * loader/xnu.c (get_name_ptr): New function.
32235 (grub_xnu_load_driver): Fill namelen and name.
32236
32237 64-bit xnu support.
32238
32239 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32240 and 'loader/macho64.c'.
32241 * conf/i386-pc.rmk: Likewise.
32242 * conf/x86_64-efi.rmk: Likewise.
32243 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32244 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32245 * include/grub/macho.h (grub_macho_segment64): New structure.
32246 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32247 (grub_macho_size32): ... to this.
32248 (grub_macho32_get_entry_point): Renamed from ...
32249 (grub_macho_get_entry_point32): ... to this.
32250 (grub_macho_contains_macho64): New prototype.
32251 (grub_macho_size64): Likewise.
32252 (grub_macho_get_entry_point64): Likewise.
32253 (grub_macho32_load): Renamed from ...
32254 (grub_macho_load32): ... to this.
32255 (grub_macho32_filesize): Renamed from ...
32256 (grub_macho_filesize32): ... to this.
32257 (grub_macho32_readfile): Renamed from ...
32258 (grub_macho_readfile32): ... to this.
32259 (grub_macho_filesize64): New prototype.
32260 (grub_macho_readfile64): Likewise.
32261 (grub_macho_parse32): Likewise.
32262 (grub_macho_parse64): Likewise.
32263 * loader/macho.c: Split into ...
32264 * loader/machoXX.c: ... and this. Replace 32 with XX.
32265 * loader/macho32.c: New file.
32266 * loader/macho64.c: Likewise.
32267 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32268 (grub_cmd_xnu_kernel): Make 32-bit only.
32269 (grub_cmd_xnu_kernel64): New function.
32270 (grub_xnu_load_driver): Support Mach-O 64.
32271 (grub_cmd_xnu_mkext): Likewise.
32272 * util/grub.d/30_os-prober.in (osx_entry): New function.
32273 Generate entries for 64-bit boot too.
32274
32275 Eliminate ad-hoc tree format in XNU and EfiEmu.
32276
32277 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32278 * efiemu/pnvram.c: Rewritten to use environment variables.
32279 All users updated.
32280
32281 Inline utf16_to_utf8.
32282
32283 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32284 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32285 All users updated.
32286 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32287
32288 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32289 * commands/usbtest.c (grub_usb_get_string): ... move here.
32290 (usb_print_str): Fix error handling.
32291 * include/grub/usb.h (grub_usb_get_string): Remove.
32292
32293 UTF-8 to UTF-16 transformation.
32294
32295 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32296 (charset_mod_SOURCES): New variable.
32297 (charset_mod_CFLAGS): Likewise.
32298 (charset_mod_LDFLAGS): Likewise.
32299 * include/grub/utf.h: New file.
32300 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32301
32302 Support for device properties.
32303
32304 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32305 (grub_xnu_devprop_device_header): Likewise.
32306 (grub_xnu_devprop_device_descriptor): Likewise.
32307 (grub_xnu_devprop_add_device): New prototype.
32308 (grub_xnu_devprop_remove_device): Likewise.
32309 (grub_xnu_devprop_remove_property): Likewise.
32310 (grub_xnu_devprop_add_property_utf8): Likewise.
32311 (grub_xnu_devprop_add_property_utf16): Likewise.
32312 (grub_cpu_xnu_init): Likewise.
32313 (grub_cpu_xnu_fini): Likewise.
32314 (grub_cpu_xnu_unload): Likewise.
32315 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32316 (property_descriptor): Likewise.
32317 (devices): New variable.
32318 (grub_xnu_devprop_remove_property): New function.
32319 (grub_xnu_devprop_add_device): Likewise.
32320 (grub_xnu_devprop_remove_device): Likewise.
32321 (grub_xnu_devprop_add_property): Likewise.
32322 (grub_xnu_devprop_add_property_utf8): Likewise.
32323 (grub_xnu_devprop_add_property_utf16): Likewise.
32324 (hextoval): Likewise.
32325 (grub_cpu_xnu_fill_devprop): Likewise.
32326 (grub_cmd_devprop_load): Likewise.
32327 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32328 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32329 (cmd_devprop_load): New variable.
32330 (grub_cpu_xnu_init): New function.
32331 (grub_cpu_xnu_fini): Likewise.
32332 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32333 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32334 (grub_cmd_xnu_devtree): Likewise.
32335 (hextoval): New function.
32336 (unescape): Likewise.
32337 (grub_xnu_fill_devicetree): Likewise.
32338
32339 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32340 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32341
0945f181
VS
323422009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32343
32344 Workaround for broken ATI VBE.
32345
32346 * video/i386/pc/vbe.c (last_set_mode): New variable.
32347 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32348 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32349 (grub_video_vbe_setup): Don't check for reserved flag.
32350
0ad46fd7 323512009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32352
32353 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32354 the `find' command.
32355
c179ebe4
VS
323562009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32357
32358 UUID support for HFS.
32359
32360 * fs/hfs.c (grub_hfs_uuid): New function.
32361 (grub_hfs_fs): New value .uuid.
32362 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32363
0ad46fd7 323642009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32365
32366 Fix a segfault with parsing unknown long options.
32367
32368 * util/grub-mkrelpath.c (options): Zero terminate it.
32369
c4a3e41a
CPE
323702009-12-13 Carles Pina i Estany <carles@pina.cat>
32371
32372 * include/grub/misc.h (grub_puts): New declaration.
32373 (grub_puts_): Likewise.
a22008a6 32374 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32375 (grub_puts_): Likewise.
32376
2e8a7602
RM
323772009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32378
32379 * util/grub-probe.c (probe): Improve error message.
32380
b50b77b9
RM
323812009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32382
32383 * loader/i386/multiboot_elfxx.c
32384 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32385 initialization.
32386
323872009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32388
32389 Relocator framework
32390
32391 * loader/i386/xnu_helper.S: Removed. All users updated.
32392 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32393 (relocator_mod_SOURCES): New variable.
32394 (relocator_mod_CFLAGS): Likewise.
32395 (relocator_mod_LDFLAGS): Likewise.
32396 (relocator_mod_ASFLAGS): Likewise.
32397 * conf/x86_64.rmk: Likewise.
32398 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32399 (grub_multiboot_payload_entry_offset): Likewise.
32400 (grub_multiboot_forward_relocator): Likewise.
32401 (grub_multiboot_forward_relocator_end): Likewise.
32402 (grub_multiboot_backward_relocator): Likewise.
32403 (grub_multiboot_backward_relocator_end): Likewise.
32404 (grub_multiboot_payload_eip): New variable.
32405 (grub_multiboot_payload_orig): Likewise.
32406 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32407 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32408 * include/grub/i386/memory.h
32409 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32410 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32411 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32412 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32413 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32414 * include/grub/i386/relocator.h: New file.
32415 * include/grub/x86_64/relocator.h: Likewise.
32416 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32417 (XNU_RELOCATOR): New macro.
32418 (grub_xnu_launcher_start): Remove.
32419 (grub_xnu_launcher_end): Likewise.
32420 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32421 (grub_xnu_heap_real_start): Remove.
32422 (grub_xnu_heap_start): Change to void *. All users updated.
32423 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32424 * lib/i386/relocator.c: New file.
32425 * lib/i386/relocator_asm.S: Likewise.
32426 * lib/i386/relocator_backward.S: Likewise.
32427 * lib/mips/relocator.c: Likewise.
32428 * lib/mips/relocator_asm.S: Likewise.
32429 * lib/relocator.c: Likewise.
32430 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32431 (entry): Removed.
32432 (playground): Likewise.
32433 (grub_multiboot_payload_orig): New variable.
32434 (grub_multiboot_payload_dest): Likewise.
32435 (grub_multiboot_payload_size): Likewise.
32436 (grub_multiboot_payload_eip): Likewise.
32437 (grub_multiboot_payload_esp): Likewise.
32438 (grub_multiboot_boot): Use grub_relocator32_boot.
32439 (grub_multiboot_unload): Free relocators.
32440 (grub_multiboot): Setup stack. Use relocators.
32441 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32442 (grub_multiboot_load_elfXX): Use relocators.
32443 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32444 (grub_multiboot_payload_size): Likewise.
32445 (grub_multiboot_payload_dest): Likewise.
32446 (grub_multiboot_payload_entry_offset): Likewise.
32447 (grub_multiboot_forward_relocator): Likewise.
32448 (grub_multiboot_backward_relocator): Likewise.
32449 (grub_multiboot_real_boot): Likewise.
32450 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32451 (grub_xnu_entry_point): Likewise.
32452 (grub_xnu_arg1): Likewise.
32453 (grub_xnu_stack): Likewise.
32454 (grub_xnu_launch): Removed.
32455 (grub_xnu_boot_resume): New function.
32456 (grub_xnu_boot): Use relocators.
32457 * loader/i386/xnu_helper.S: Removed.
32458 * loader/xnu.c (grub_xnu_heap_start): New variable.
32459 (grub_xnu_heap_size): Likewise.
32460 (grub_xnu_heap_malloc): Use relocators.
32461 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32462
29eb90c6
VS
324632009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32464
32465 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32466 anything.
32467
31027430
CPE
324682009-12-13 Carles Pina i Estany <carles@pina.cat>
32469
32470 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32471 GRUB_ERR_NONE before calling grub_env_set.
32472
dc0c71d9
RM
324732009-12-12 Robert Millan <rmh@aybabtu.com>
32474
32475 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32476 * genmk.rb (video): New variable.
32477 (CLEANFILES, VIDEOFILES): Add #{video}.
32478 (#{video}): New target rule.
32479 * genvideolist.sh: New file.
32480 * Makefile.in (pkglib_DATA): Add video.lst.
32481 (video.lst): New target rule.
32482 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32483 `video.lst'.
32484 * util/grub.d/30_os-prober.in: Replace `vbe' with
32485 ${GRUB_VIDEO_BACKEND}.
32486
2a4bfcf0
RM
324872009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32488
32489 * THANKS: Add David Miller.
32490
2a3aa4d5
RM
324912009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32492
32493 libpciaccess support.
32494
32495 * Makefile.in (LIBPCIACCESS): New variable.
32496 (enable_grub_emu_pci): Likewise.
32497 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32498 util/pci.c and commands/lspci.c.
32499 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32500 * configure.ac (grub-emu-pci): New option.
32501 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32502 (grub_pci_device_unmap_range): Likewise.
32503 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32504 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32505 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32506 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32507 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32508 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32509 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32510 * include/grub/pciutils.h: New file.
32511 * util/pci.c: Likewise.
32512
0ad46fd7 325132009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32514
32515 * util/misc.c: Don't include <errno.h> twice.
32516
0ad46fd7 325172009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32518
32519 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32520 name in an error message.
32521 (grub_biosdisk_rw): Likewise.
32522
2e59983c
VS
325232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32524
32525 Eliminate NTFS 4Gib barrier.
32526
32527 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32528 (read_run_data): Likewise.
32529 (grub_ntfs_read_run_list): Likewise.
32530 (grub_ntfs_read_block): Likewise.
32531 (grub_ntfs_iterate_dir): Likewise.
32532 (read_mft): Likewise.
32533 (read_data): Likewise.
32534 Use COM_LOG_LEN.
32535 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32536 to avoid 64-bit division
32537 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32538 (grub_ntfs_rlst): Use grub_disk_addr_t.
32539
71ee178a
VS
325402009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32541
32542 Eliminate grub-fstest 4Gib barrier.
32543
32544 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32545 (read_file): Fix error reporting.
32546
2520d4b8
VS
325472009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32548
32549 Eliminate hexdump 4Gib barrier.
32550
32551 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32552 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32553
e1f27065
VS
325542009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32555
32556 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32557 Fixes amarsh bug.
32558
1a0f7f45
RM
325592009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32560
32561 Remove miscellaneous files in distclean target.
32562
32563 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32564
c631d9fb
CW
325652009-12-09 Colin Watson <cjwatson@ubuntu.com>
32566
32567 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32568 if they're already set. This resolves the conflict between my
32569 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32570 fixing the --grub-probe option again.
32571 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32572 change on 2009-10-06, so that we now once again source
32573 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32574
7c7b6106
RM
325752009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32576
32577 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32578 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32579 `util/devicemap.c'.
32580
e3069ec1
CPE
325812009-12-08 Carles Pina i Estany <carles@pina.cat>
32582
32583 * include/grub/misc.h (grub_printf_): New declaration.
32584 * kern/misc.c (grub_printf_): New definition.
32585 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32586 instead of `grub_printf' and `_'.
32587 * normal/menu_entry.c (store_completion): Likewise.
32588 (run): Likewise.
32589 (grub_menu_entry_run): Likewise.
32590 * normal/menu_text.c (grub_wait_after_message): Likewise.
32591 (notify_booting): Likewise.
32592 (notify_fallback): Likewise.
32593 (notify_execution_failure): Likewise.
32594
d6ceebf1
CW
325952009-12-07 Colin Watson <cjwatson@ubuntu.com>
32596
32597 * configure.ac: Check for vasprintf.
32598 * util/misc.c (asprintf): Move allocation from here ...
32599 (vasprintf): ... to here. New function.
32600 (xasprintf): New function.
32601 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32602 prototypes.
32603 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32604 * util/grub-mkfont.c (write_font): Likewise.
32605 * util/grub-probe.c (probe): Likewise.
32606 * util/hostdisk.c (make_device_name): Likewise.
32607
de6daa8b
DM
326082009-12-06 David S. Miller <davem@sunset.davemloft.net>
32609
32610 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32611 anything even prefixed with 'cdrom' as a cdrom.
32612
0ad46fd7 326132009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32614
32615 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32616 mount points.
32617
98d3dc02
CPE
326182009-12-05 Carles Pina i Estany <carles@pina.cat>
32619
32620 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32621 grub_gettext_msg_list.
32622 (grub_gettext_gettranslation_from_position): Return const char *
32623 and not char *.
a2c1332b 32624 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32625 returns from the list if existing there.
32626 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32627 (grub_gettext_delete_list): Delete the list.
32628 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32629 lang environment variable is changed.
32630 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32631
b283f108
VS
326322009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32633
32634 Rename kernel.mod to kernel.img.
32635
32636 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32637 (kernel_mod_EXPORTS): Rename to ...
32638 (kernel_img_EXPORTS): ... this.
32639 (kernel_mod_SOURCES): Rename to ...
32640 (kernel_img_SOURCES): ... this.
32641 (kernel_mod_HEADERS): Rename to ...
32642 (kernel_img_HEADERS): ... this. All users updated.
32643 (kernel_mod_CFLAGS): Rename to ...
32644 (kernel_img_CFLAGS): ... this.
32645 (kernel_mod_ASFLAGS): Rename to ...
32646 (kernel_img_ASFLAGS): ... this.
32647 (kernel_mod_LDFLAGS): Rename to ...
32648 (kernel_img_LDFLAGS): ... this.
32649 * conf/x86_64-efi.rmk: Likewise.
32650 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32651 (read_kernel_image): ... this. All users updated.
32652 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32653
69055f8a
CPE
326542009-12-05 Carles Pina i Estany <carles@pina.cat>
32655
32656 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32657 (print_spaces): New function.
32658 (grub_print_ucs4): New function.
32659 (getstringwidth): New function.
32660 (print_message_indented): New function.
32661 (print_message): Gettexttize strings using print_message_indented.
32662 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32663 width.
32664 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32665 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32666 Gettextize.
32667 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32668 string.
32669 (run): Likewise.
32670 (grub_menu_entry_run): Likewise.
32671 * PO/POTFILES: Add normal/menu_entry.c.
32672
f616f51c
VS
326732009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32674
32675 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32676
57bbe3be
CPE
326772009-12-05 Carles Pina i Estany <carles@pina.cat>
32678
32679 * util/grub-install.in: Install gettext .mo files.
32680 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32681
013d67a1
CPE
326822009-12-05 Carles Pina i Estany <carles@pina.cat>
32683
32684 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32685 grub_dprintf.
32686
fb954db0
RM
326872009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32688
32689 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32690 non-firmware-dependant one in realmode.S takes precedence.
32691
6b8474f8
RM
326922009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32693
32694 * commands/halt.c: Replace misc arch-specific headers with
32695 `<grub/misc.h>'.
32696 * commands/reboot.c: Likewise.
32697 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32698 `<grub/misc.h>'.
32699 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32700 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32701 (kernel_img_SOURCES): ... to here.
32702
32703 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32704 * include/grub/i386/pc/init.h: Likewise.
32705 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32706 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32707
32708 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32709
32710 * include/grub/i386/halt.h: Remove.
32711 * include/grub/i386/reboot.h: Likewise.
32712
32713 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32714
4b2e6ca2
DM
327152009-12-03 David S. Miller <davem@sunset.davemloft.net>
32716
32717 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32718 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32719 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32720 "progname.h"
32721 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32722 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32723 (usage): Add missing comma in printf.
32724
5239348f
RM
327252009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32726
32727 Use the same reboot approach on i386 coreboot and qemu as we do on
32728 BIOS.
32729
32730 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32731 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32732 * kern/i386/reboot.c: Remove.
32733 * include/grub/i386/reboot.h (grub_reboot): Export function.
32734 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32735 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32736 0xf000:0xfff0 instead of 0xffff:0x0000.
32737 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32738 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32739
ef34cbd4
RM
327402009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32741
32742 Fix $srcdir != $objdir build.
32743
32744 * Makefile.in (po/%.po): Rewrite as ...
32745 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32746
dc9837ea
ST
327472009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32748
32749 Fix GNU/Hurd grub-install crash.
32750 * util/grub-probe.c (probe): Try to access `path' only when it is not
32751 NULL.
32752
2f857f98
VS
327532009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32754
32755 Correct module naming.
32756
32757 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32758 (GRUB_MOD_INIT(efi_uga)): ... to this
32759 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32760 (GRUB_MOD_FINI(efi_uga)): ... to this
32761 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32762 (GRUB_MOD_INIT(efi_gop)): ... to this
32763 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32764 (GRUB_MOD_FINI(efi_gop)): ... to this
32765
c5448046
RM
327662009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32767
32768 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32769 translatable.
32770 (usage): Translate `arg' strings using gettext().
32771 Thanks to Jordi Mallach for the suggestion.
32772
c85184ad
VS
327732009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32774
32775 GOP support. Based on patch from Bean
32776 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32777
32778 * video/efi_gop.c: New file.
32779 * include/grub/efi/graphics_output.h: Likewise.
32780 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32781 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32782 variables.
32783 * conf/x86_64-efi.rmk: Likewise.
32784
8a4c48d8
VS
327852009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32786
32787 Rename efi_fb to efi_uga.
32788
32789 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32790 'efi_uga.mod'.
32791 (efi_fb_mod_SOURCES): Rename this ...
32792 (efi_uga_mod_SOURCES): ... to this.
32793 (efi_fb_mod_CFLAGS): Rename this ...
32794 (efi_uga_mod_CFLAGS): ... to this.
32795 (efi_fb_mod_LDFLAGS): Rename this ...
32796 (efi_uga_mod_LDFLAGS): ... to this.
32797 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32798 'efi_uga.mod'.
32799 (efi_fb_mod_SOURCES): Rename this ...
32800 (efi_uga_mod_SOURCES): ... to this.
32801 (efi_fb_mod_CFLAGS): Rename this ...
32802 (efi_uga_mod_CFLAGS): ... to this.
32803 (efi_fb_mod_LDFLAGS): Rename this ...
32804 (efi_uga_mod_LDFLAGS): ... to this.
32805 * video/efi_fb.c: Move this ...
32806 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32807
fb6c1a7b
RM
328082009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32809
32810 * po/README: New file. Explain our PO file workflow.
32811
3bc7896c
RM
328122009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32813
32814 * po/ChangeLog: Remove. Move relevant entries back to ...
32815 * ChangeLog: ... here.
32816 * po/ca.po: Remove (now handled by TLP).
32817 * po/id.po: Likewise.
32818 * po/zh_CN.po: Likewise.
32819 * Makefile.in (LINGUAS): Initialize in a way that supports
32820 empty set.
32821
9ed4841d
RM
328222009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32823
32824 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32825 reliing on po/LINGUAS.
32826 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32827 (po/%.po): ... this.
32828
0ad46fd7 328292009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32830
32831 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32832 (main): Use `program_name' instead of nonexistent `progname'.
32833
e30dd392
FZ
328342009-11-26 Felix Zielcke <fzielcke@z-51.de>
32835
32836 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32837 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32838
7656de4f
RM
328392009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32840
32841 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32842 commit.
32843 * conf/i386-efi.rmk: Likewise.
32844 * conf/i386-ieee1275.rmk: Likewise.
32845 * conf/powerpc-ieee1275.rmk: Likewise.
32846 * conf/sparc64-ieee1275.rmk: Likewise.
32847 * conf/x86_64-efi.rmk: Likewise.
32848
db77c4d4
FZ
328492009-11-26 Felix Zielcke <fzielcke@z-51.de>
32850
32851 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32852
a755bb04
FZ
328532009-11-26 Felix Zielcke <fzielcke@z-51.de>
32854
32855 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32856
8a4c07fd
RM
328572009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32858
32859 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32860 (grub_mkdevicemap_SOURCES): New variable.
32861 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32862 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32863 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32864 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32865 (grub_mkdevicemap_SOURCES): Remove.
32866 * conf/i386-efi.rmk: Likewise.
32867 * conf/i386-ieee1275.rmk: Likewise.
32868 * conf/i386-pc.rmk: Likewise.
32869 * conf/powerpc-ieee1275.rmk: Likewise.
32870 * conf/sparc64-ieee1275.rmk: Likewise.
32871 * conf/x86_64-efi.rmk: Likewise.
32872 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32873 (usage): Fix strings to use `program_name'.
32874 (main): Initialize gettext.
32875 * util/grub-editenv.c: Likewise.
32876 * util/grub-emu.c: Likewise.
32877 * util/grub-fstest.c: Likewise.
32878 * util/grub-mkdevicemap.c: Likewise.
32879 * util/grub-mkfont.c: Likewise.
32880 * util/grub-mkrelpath.c: Likewise.
32881 * util/grub-pe2elf.c: Likewise.
32882 * util/grub-probe.c: Likewise.
32883 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32884 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32885 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32886
32887 * util/misc.c: Include `"progname.h"'.
32888 (progname): Remove variable.
32889 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32890
6f61ed55
FZ
328912009-11-25 Felix Zielcke <fzielcke@z-51.de>
32892
32893 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32894 printf and print a newline after the menuentry header line.
32895 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32896
f022876b
FZ
328972009-11-25 Felix Zielcke <fzielcke@z-51.de>
32898
32899 autoconf >= 2.60 support $(localedir).
32900
32901 * INSTALL: Note that autoconf 2.60 is required.
32902 * configure.ac (AC_PREREQ): Bump to 2.60.
32903 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32904 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32905
6717926e
YB
329062009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32907
32908 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32909 aclocal is run.
32910
08806a54
RM
329112009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32912
32913 * normal/main.c (grub_normal_read_line): Fix off-by-one
32914 buffer overflow.
32915
13b33fba
RM
329162009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32917
32918 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32919 "parser.grub" in grub_command_execute() call.
32920
4a8572e9
CPE
329212009-11-24 Carles Pina i Estany <carles@pina.cat>
32922
32923 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32924 * conf/i386-efi.rmk: Likewise.
32925 * conf/i386-ieee1275.rmk: Likewise.
32926 * conf/i386-pc.rmk: Likewise.
32927 * conf/powerpc-ieee1275.rmk: Likewise.
32928 * conf/sparc64-ieee1275.rmk: Likewise.
32929 * conf/x86_64-efi.rmk: Likewise.
32930 * gettext/gettex.c: Include <grub/i18n.h>.
32931 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32932 here ...
32933 * include/grub/i18n.h: ... to here
32934 * include/grub/i18n.h: ... to here.
32935 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32936 (grub_gettext_dummy): Move above user.
4a8572e9 32937
bee48093
FZ
329382009-11-24 Felix Zielcke <fzielcke@z-51.de>
32939
32940 * util/Makefile.in (install-local): Convert a `for' into a normal
32941 shell expansion.
32942
a031e91c
RM
329432009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32944
32945 * autogen.sh: Add automake call.
32946 * config.guess: Remove.
32947 * config.sub: Likewise.
32948 * install-sh: Likewise.
32949
26bec39d
FZ
329502009-11-24 Felix Zielcke <fzielcke@z-51.de>
32951
32952 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32953
8e2532fd
FZ
329542009-11-24 Felix Zielcke <fzielcke@z-51.de>
32955
32956 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32957 function to a normal shell `for'.
32958
fefa1b7d
FZ
329592009-11-24 Felix Zielcke <fzielcke@z-51.de>
32960
32961 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32962
4501250b
FZ
329632009-11-24 Felix Zielcke <fzielcke@z-51.de>
32964
32965 * util/grub-mkrelpath.c: New file.
32966 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32967 (grub_mkrelpath_SOURCES): New variable.
32968 * include/grub/util/misc.h: New function prototype.
32969 * util/misc.c (make_system_path_relative_to_its_root): New function.
32970
32971 * util/grub-mkconfig_lib.in (bindir): New variable.
32972 (grub_mkrelpath): Likewise.
32973 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32974
32975 * util/probe.c (probe): Make the file path relative to its root.
32976 Change a info message to use the GRUB path. Enable again the
32977 check if we can read the file with GRUB facilities.
32978
32979 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32980 to its root.
32981
11d9778b
FZ
329822009-11-24 Felix Zielcke <fzielcke@z-51.de>
32983
32984 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32985 platform.
32986
4465287d
FZ
329872009-11-24 Felix Zielcke <fzielcke@z-51.de>
32988
32989 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32990 strncmp().
32991
62b47f22
FZ
329922009-11-24 Felix Zielcke <fzielcke@z-51.de>
32993
32994 * util/getroot.c (grub_util_is_dmraid): New function.
32995 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32996 devices as normal ones, not as LVM.
32997
1eafb9b9 329982009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32999
33000 * conf/common.rmk: Add grub-gettext_lib target and updates
33001 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33002 LDFLAGS.
33003 * gettext/gettext.c: New file. (Reads mo files).
33004 * include/grub/file.h (grub_file_pread): New prototype.
33005 * include/grub/i18n.h (_): New prototype.
33006 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33007 prototypes.
33008 * kern/misc.c (grub_gettext_dummy): New function.
33009 * normal/menu_text.c: Include <grub/i18n.h>.
33010 * normal/menu_text.c (print_timeout): Gettexttize string.
33011 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
33012 * po/POTFILES: Add `normal/menu_text.c'.
33013 * po/ca.po: Add new translations.
c3ea6bd4
CPE
33014 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33015 gettext module and defines locale_dir and lang in grub.cfg.
33016 * NEWS: Add gettext support.
33017
0fdb2568
RM
330182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33019
33020 * util/hostdisk.c: Include `<grub/i18n.h>'.
33021 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33022 (make_device_name): Rewrite using asprintf.
33023 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33024 (find_system_device): If a device is not found, generate one just
33025 by reusing the OS path name.
33026 (read_device_map): Make it permissible for device.map not to exist.
33027
f515aa62
RM
330282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33029
33030 * script/sh/execute.c: Move from here ...
33031 * script/execute.c: ... to here. Update all users.
33032 * script/sh/function.c: Move from here ...
33033 * script/function.c: ... to here. Update all users.
33034 * script/sh/lexer.c: Move from here ...
33035 * script/lexer.c: ... to here. Update all users.
33036 * script/sh/main.c: Move from here ...
33037 * script/main.c: ... to here. Update all users.
33038 * script/sh/parser.y: Move from here ...
33039 * script/parser.y: ... to here. Update all users.
33040 * script/sh/script.c: Move from here ...
33041 * script/script.c: ... to here. Update all users.
33042
f84b481b
RM
330432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33044
33045 * configure.ac: Detect all `emu' platforms. Define
33046 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33047 --enable-grub-emu logic. Disable include/grub/machine
33048 symlink on `emu' platforms.
33049
33050 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
33051 * gensymlist.sh.in: Likewise.
33052
33053 * include/grub/i386/coreboot/machine.h: Remove file.
33054 * include/grub/i386/efi/machine.h: Likewise.
33055 * include/grub/i386/ieee1275/machine.h: Likewise.
33056 * include/grub/i386/pc/machine.h: Likewise.
33057 * include/grub/i386/qemu/machine.h: Likewise.
33058 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33059 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33060 * include/grub/x86_64/efi/machine.h: Likewise.
33061
33062 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33063 * commands/halt.c: Likewise.
33064 * commands/reboot.c: Likewise.
33065 * include/grub/autoefi.h: Likewise.
33066 * include/grub/i386/at_keyboard.h: Likewise.
33067 * include/grub/i386/kernel.h: Likewise.
33068 * include/grub/i386/loader.h: Likewise.
33069 * include/grub/i386/pc/memory.h: Likewise.
33070 * kern/dl.c: Likewise.
33071 * kern/i386/coreboot/init.c: Likewise.
33072 * loader/i386/bsd.c: Likewise.
33073 * loader/i386/linux.c: Likewise.
33074 * loader/multiboot_loader.c: Likewise.
33075 * term/i386/pc/serial.c: Likewise.
33076 * term/usb_keyboard.c: Likewise.
33077
33078 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33079 `<grub/machine/machine.h>'
33080 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33081 * util/misc.c: Remove `<grub/machine/machine.h>' and
33082 `<grub/machine/time.h>'.
33083
33084 * Makefile.in (enable_grub_emu): Remove variable.
33085 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
33086
33087 * conf/any-emu.rmk: New file.
33088 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
33089 (grub_emu_init.c): Move from here ...
33090 * conf/any-emu.rmk: ... to here.
33091
33092 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
33093 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
33094 * conf/any-emu.rmk: ... to here.
33095
4efeab03
RM
330962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33097
33098 * include/grub/parser.h (grub_parser_register): Document need
33099 of `name' parameter.
33100 * normal/main.c (grub_normal_read_line): Simplify prompt string.
33101 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
33102 "sh" to "grub".
33103
ea1dd8bf
RM
331042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33105
33106 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
33107 `$(XGETTEXT)'.
33108 * include/grub/i18n.h (N_): New macro.
33109 * util/mkisofs/mkisofs.h: Likewise.
33110 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
33111 around N_().
33112 (usage): Use gettext() to translate help strings when printing them.
33113
0c140626
RM
331142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33115
33116 Based on patch from Bean
33117 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33118
33119 * video/efi_fb.c: New file.
33120 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
33121 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33122 variables.
33123 * conf/x86_64-efi.rmk: Likewise.
33124
87d58298
RM
331252009-11-22 Robert Millan <rmh.grub@aybabtu.com>
33126
33127 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
33128 * util/i386/pc/grub-setup.c: Likewise.
33129
994cc3a3
ST
331302009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
33131
33132 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
33133 <hurd/fs.h>
33134 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
33135 file_get_storage_info to implement grub_guess_root_device.
33136
26a61d6a
FZ
331372009-11-21 Felix Zielcke <fzielcke@z-51.de>
33138
33139 * Makefile.in (target): Use make's builtin $(shell) function
33140 instead of calling directly $(SHELL) to create the locale directories,
33141 inside the $(foreach) function.
33142
74ff1dd5
FZ
331432009-11-21 Felix Zielcke <fzielcke@z-51.de>
33144
33145 * util/grub-mkrescue.in: Print an error and usage if output option
33146 has not been given.
33147
0b787d0e
FZ
331482009-11-21 Felix Zielcke <fzielcke@z-51.de>
33149
33150 Patch from Loïc Minier <loic.minier@ubuntu.com>.
33151 * util/grub.d/30_os-prober.in: Cope with Linux entries where
33152 root and /boot are on different devices.
33153
1164b270
RM
331542009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33155
33156 Fix build for srcdir != objdir.
33157
33158 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
33159 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
33160 $(srcdir).
33161 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
33162 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
33163 reference for input.
33164
13774a2f
RM
331652009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33166
33167 * util/grub-mkrescue.in: Use source directory direcly (without copiing
33168 or hardlinking it). Remove -J option, Joliet is not compatible with
33169 multiple source directories.
33170
efda854e
RM
331712009-11-21 Carles Pina i Estany <carles@pina.cat>
331722009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33173
33174 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33175 (process_input_dir): New function. Process an arbitrary input
33176 directory.
33177 Misc adjustments to support both "override mode" and system-wide mode.
33178
6c09890c
FZ
331792009-11-20 Felix Zielcke <fzielcke@z-51.de>
33180
33181 * configure.ac (UNIFONT_BDF): Rename to ...
33182 (FONT_SOURCE): ... this. Update all users.
33183
a797824f
FZ
331842009-11-20 Felix Zielcke <fzielcke@z-51.de>
33185
33186 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33187 to the list of unifont files to look for.
33188
cd4f42b0
RM
331892009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33190
33191 Patch from Joe Auricchio <jauricchio@gmail.com>
33192 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33193 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33194 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33195
393c783d
FZ
331962009-11-19 Felix Zielcke <fzielcke@z-51.de>
33197
33198 * Makefile.in (install-local): Add a missing backslash.
33199
b2f1e327
FZ
332002009-11-19 Felix Zielcke <fzielcke@z-51.de>
33201
33202 * include/grub/x86_64/io.h: New file.
33203
f577f7a0
RM
332042009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33205
33206 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33207 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33208 Include `"progname.h"'.
33209 (main): Initialize gettext.
33210 * util/i386/pc/grub-setup.c: Gettexttize.
33211 * util/i386/pc/grub-mkimage.c: Likewise.
33212
33213 * Makefile.in (po/*.po): Redefine as ...
33214 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33215
3bc7896c
RM
33216 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33217
c37943b6
RM
332182009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33219
33220 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33221 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33222 (program_name): Remove.
33223 (main): Initialize gettext support.
6323f705
RM
33224 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33225 Include `<libintl.h>'.
33226 (_): New macro.
c37943b6
RM
33227
33228 * util/mkisofs/eltorito.c: Gettexttize.
33229 * util/mkisofs/joliet.c: Likewise.
33230 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
33231 * util/mkisofs/multi.c: Likewise.
33232 * util/mkisofs/rock.c: Likewise.
33233 * util/mkisofs/tree.c: Likewise.
33234 * util/mkisofs/write.c: Likewise.
33235
3bc7896c
RM
33236 * po/POTFILES: Update with new files.
33237
5ce77c6e
RM
332382009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33239
33240 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33241 * util/mkisofs/iso9660.h: Likewise.
33242 * util/mkisofs/joliet.c: Likewise.
33243 * util/mkisofs/mkisofs.c: Likewise.
33244 * util/mkisofs/mkisofs.h: Likewise.
33245 * util/mkisofs/rock.c: Likewise.
33246 * util/mkisofs/tree.c: Likewise.
33247 * util/mkisofs/write.c: Likewise.
33248
33249 * util/mkisofs/eltorito.c (rcsid): Remove.
33250 * util/mkisofs/hash.c: Likewise.
33251 * util/mkisofs/joliet.c: Likewise.
33252 * util/mkisofs/name.c: Likewise.
33253 * util/mkisofs/rock.c: Likewise.
33254 * util/mkisofs/tree.c: Likewise.
33255 * util/mkisofs/write.c: Likewise.
33256
1dabbc77
RM
332572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33258
33259 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33260 instead of static allocation.
33261 * util/mkisofs/match.h: Likewise.
33262
633877cb
RM
332632009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33264
3bc7896c
RM
33265 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33266 and `util/grub.d/10_linux.in'.
633877cb
RM
33267 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33268 translatable Shell files.
33269
af1c0c85
RM
332702009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33271
33272 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33273
769ae37b
RM
332742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33275
33276 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33277 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33278 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33279 Add gettext initialization.
33280 (kfreebsd_entry): Make menuentry output translatable.
33281
332822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33283
33284 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33285 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33286 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33287 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33288 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33289 * po/LINGUAS: New file.
769ae37b
RM
33290
332912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33292
33293 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33294 other things).
33295 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33296 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33297 bindtextdomain() calls for gettext initialization.
33298
332992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33300
33301 * gnulib/progname.c: New file (imported from Gnulib).
33302 * gnulib/progname.h: Likewise.
33303 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33304 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33305 (usage): Replace `progname' with `program_name'.
33306 (main): Use set_program_name() for program name initialization.
33307
333082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33309
33310 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33311 from here ...
33312 * Makefile.in (CPPFLAGS): ... to here.
33313
333142009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33315
33316 * aclocal.m4: Move from here ...
33317 * acinclude.m4: ... to here.
33318 * autogen.sh: Add call to `aclocal'.
33319 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33320
333212009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33322
33323 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33324 (LINGUAS): New variable.
33325 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33326 (install-local): Install MO files.
33327 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33328 * include/grub/i18n.h: New file.
3bc7896c
RM
33329 * po/POTFILES: New file.
33330 * po/ca.po: New file.
769ae37b
RM
33331 * util/grub.d/10_linux.in (bindir): New variable.
33332 Add gettext initialization.
33333 (linux_entry): Make menuentry output translatable.
33334 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33335 (usage): Make --help output translatable.
33336 (main): Initialize gettext.
33337
02c0a6ad
RM
333382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33339
33340 * import_gcry.py: New file (written by Vladimir with minor
33341 adjustments).
33342 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33343 ciphers.
33344 * INSTALL: Document that Python is required for bootstrap.
33345
333462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33347
33348 Import ciphers from libgcrypt 1.4.4.
33349
33350 * lib/libgcrypt/cipher/ChangeLog
33351 * lib/libgcrypt/cipher/ac.c
33352 * lib/libgcrypt/cipher/arcfour.c
33353 * lib/libgcrypt/cipher/bithelp.h
33354 * lib/libgcrypt/cipher/blowfish.c
33355 * lib/libgcrypt/cipher/camellia-glue.c
33356 * lib/libgcrypt/cipher/camellia.c
33357 * lib/libgcrypt/cipher/camellia.h
33358 * lib/libgcrypt/cipher/cast5.c
33359 * lib/libgcrypt/cipher/cipher.c
33360 * lib/libgcrypt/cipher/crc.c
33361 * lib/libgcrypt/cipher/des.c
33362 * lib/libgcrypt/cipher/dsa.c
33363 * lib/libgcrypt/cipher/ecc.c
33364 * lib/libgcrypt/cipher/elgamal.c
33365 * lib/libgcrypt/cipher/hash-common.c
33366 * lib/libgcrypt/cipher/hash-common.h
33367 * lib/libgcrypt/cipher/hmac-tests.c
33368 * lib/libgcrypt/cipher/md.c
33369 * lib/libgcrypt/cipher/md4.c
33370 * lib/libgcrypt/cipher/md5.c
33371 * lib/libgcrypt/cipher/primegen.c
33372 * lib/libgcrypt/cipher/pubkey.c
33373 * lib/libgcrypt/cipher/rfc2268.c
33374 * lib/libgcrypt/cipher/rijndael-tables.h
33375 * lib/libgcrypt/cipher/rijndael.c
33376 * lib/libgcrypt/cipher/rmd.h
33377 * lib/libgcrypt/cipher/rmd160.c
33378 * lib/libgcrypt/cipher/rsa.c
33379 * lib/libgcrypt/cipher/seed.c
33380 * lib/libgcrypt/cipher/serpent.c
33381 * lib/libgcrypt/cipher/sha1.c
33382 * lib/libgcrypt/cipher/sha256.c
33383 * lib/libgcrypt/cipher/sha512.c
33384 * lib/libgcrypt/cipher/tiger.c
33385 * lib/libgcrypt/cipher/twofish.c
33386 * lib/libgcrypt/cipher/whirlpool.c
33387
af2f93ac
RM
333882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33389
33390 Fix build for systems without error().
33391
33392 * gnulib/error.c: New file (imported from Gnulib).
33393 * gnulib/error.h: Likewise.
33394 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33395 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33396 (this variable is now used by error()).
33397
73fb3dd5
FZ
333982009-11-16 Felix Zielcke <fzielcke@z-51.de>
33399
814f5e96
FZ
33400 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33401 instead of relying that char is signed.
73fb3dd5 33402
a691ca33
VS
334032009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33404
33405 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33406 blocksize different from specified.
33407 (grub_pxefs_read): Likewise.
33408
2af8f0f4
FZ
334092009-11-16 Felix Zielcke <fzielcke@z-51.de>
33410
33411 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33412
33413 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33414 (grub_ata_readwrite): Likewise. Update 2 format strings.
33415 (grub_atapi_read): Likewise.
33416
33417 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33418 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33419 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33420 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33421 (ata_mod_LDFLAGS): Move from here ...
33422 * conf/i386.rmk: ... to here ...
33423 * conf/x86_64-efi.rmk: ... and here.
33424 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33425 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33426
83bdecaf
RM
334272009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33428
33429 Relicense multiboot.h, with RMS' blessing.
33430
33431 * include/multiboot.h: Change to X11 license.
33432
fd6fd3d7
RM
334332009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33434
33435 Support --version in grub-mkisofs.
33436
33437 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33438 (OPTION_VERSION): New macro.
33439 (ld_options): Recognize --version.
33440 (usage): Move `program_name' from here ...
33441 (program_name): ... to here. Add `static' qualifier.
33442 (main): Recognize `OPTION_VERSION'.
33443
16a88c49
FZ
334442009-11-15 Felix Zielcke <fzielcke@z-51.de>
33445
33446 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33447 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33448
a4158476
RM
334492009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33450
33451 Fix help2man generation for mkisofs.
33452
33453 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33454 (usage): Send output to stdout (rather than stderr).
33455
fc2208b0
RM
334562009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33457
33458 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33459 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33460 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33461 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33462 (bin_SCRIPTS): Add `grub-mkfloppy'.
33463 (grub_mkfloppy_SOURCES): New variable.
33464
33465 * util/grub-mkrescue.in: New file.
33466 * util/i386/pc/grub-mkfloppy.in: New file.
33467
33468 * util/i386/coreboot/grub-mkrescue.in: Remove.
33469 * util/i386/pc/grub-mkrescue.in: Remove.
33470
8d0edf4a
RM
334712009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33472
33473 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33474 from here ...
33475 * include/multiboot.h (struct multiboot_header): ... to here. Update
33476 all users.
33477 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33478 from here ...
33479 * include/multiboot.h (struct multiboot_info): ... to here. Update
33480 all users.
33481 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33482 from here ...
33483 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33484 Update all users.
33485 * include/grub/multiboot.h (struct grub_mod_list): Move
33486 from here ...
33487 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33488 Update all users.
33489
a73f5969
RM
334902009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33491
33492 * include/multiboot2.h (multiboot_word): Rename from this ...
33493 (multiboot2_word): ... to this. Update all users.
33494 (multiboot_header): Rename from this ...
33495 (multiboot2_header): ... to this. Update all users.
33496 (multiboot_tag_header): Rename from this ...
33497 (multiboot2_tag_header): ... to this. Update all users.
33498 (multiboot_tag_start): Rename from this ...
33499 (multiboot2_tag_start): ... to this. Update all users.
33500 (multiboot_tag_name): Rename from this ...
33501 (multiboot2_tag_name): ... to this. Update all users.
33502 (multiboot_tag_module): Rename from this ...
33503 (multiboot2_tag_module): ... to this. Update all users.
33504 (multiboot_tag_memory): Rename from this ...
33505 (multiboot2_tag_memory): ... to this. Update all users.
33506 (multiboot_tag_unused): Rename from this ...
33507 (multiboot2_tag_unused): ... to this. Update all users.
33508 (multiboot_tag_end): Rename from this ...
33509 (multiboot2_tag_end): ... to this. Update all users.
33510
1c8927f0
RM
335112009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33512
33513 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33514 this platform we should support Multiboot1 first.
33515
33516 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33517 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33518 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33519
6e1e0d89
RM
335202009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33521
33522 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33523 of write calls (converting them to fwrite() if they aren't already).
33524 (get_torito_desc): Likewise.
33525 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33526
7f2b34d8
RM
335272009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33528
33529 * util/i386/pc/grub-install.in: Move from here ...
33530 * util/grub-install.in: ... to here. Update all users.
33531
c0ef3311
CW
335322009-11-11 Colin Watson <cjwatson@ubuntu.com>
33533
33534 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33535
e1f240ff
RM
335362009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33537
33538 Support for El Torito without floppy emulation.
33539
33540 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33541 (init_boot_catalog): Improve error handling.
33542 (get_torito_desc): Don't use floppy emulation unless requested by
33543 user. Patch boot information table when requested via
33544 `-boot-info-table'.
33545 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33546 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33547 (use_boot_info_table): New variables.
33548 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33549 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33550 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33551 `--eltorito-emul-floppy'.
33552 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33553 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33554 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33555 (use_boot_info_table, get_731): New prototypes.
33556 * util/mkisofs/write.c (get_731): New function.
33557
af7d4de5
FZ
335582009-11-11 Felix Zielcke <fzielcke@z-51.de>
33559
33560 Fix the generation of the man page.
33561
33562 * util/pc/i386/grub-install.in: Source
33563 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33564
2c55dbc0
RM
335652009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33566
33567 Large file support for grub-mkisofs.
33568
33569 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33570 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33571 (session_start): Upgrade type to `uint64_t'. Update all users.
33572 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33573 (struct directory_entry): Upgrade type of `starting_block' and
33574 `size' to `uint64_t'. Update all users.
33575 (struct deferred): Remove unused structure.
33576 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33577 Update all users.
33578 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33579 file is larger than `UINT32_MAX'.
33580 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33581 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33582 return value.
33583 (struct deferred_write): Upgrade type of `extent' and `size' to
33584 `uint64_t'. Update all users.
33585 (last_extent_written): Upgrade type to `uint64_t'. Update all
33586 users.
33587 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33588 Update all users. Upgrade type of `remain' to `int64_t' and
33589 `use' to `size_t'. Use error() to handle fread() errors.
33590 (write_files): Rely on write_one_file() rather than calling
33591 xfwrite() directly.
33592
6a9cead5
FZ
335932009-11-09 Felix Zielcke <fzielcke@z-51.de>
33594
33595 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33596
4825d790
RM
335972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33598
33599 * util/mkisofs/fnmatch.c: Remove.
33600 * util/mkisofs/getopt1.c: Likewise.
33601 * util/mkisofs/getopt.c: Likewise.
33602 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33603 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33604 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33605 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33606 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33607
33608 * configure.ac: Detect `mingw32msvc' host_os.
33609 Check for lstat(), getuid() and getgid().
33610
33611 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33612 instances of `u_char' with `uint8_t'.
33613
33614 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33615 [!HAVE_GETUID] (getuid): New function (stub).
33616 [!HAVE_GETGID] (getgid): Likewise.
33617 [!HAVE_LSTAT] (lstat): Likewise.
33618 [!S_IROTH] (S_IROTH): New macro (dummy).
33619 [!S_IRGRP] (S_IRGRP): Likewise.
33620
84b860d8
RM
336212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33622
33623 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33624 conditional expression).
33625
66e9b712
RM
336262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33627
33628 Import from Gnulib.
33629
33630 * gnulib/fnmatch.c: New file.
33631 * gnulib/fnmatch.h: Likewise.
33632 * gnulib/fnmatch_loop.c: Likewise.
33633 * gnulib/getopt.c: Likewise.
33634 * gnulib/getopt.h: Likewise.
33635 * gnulib/getopt1.c: Likewise.
33636 * gnulib/getopt_int.h: Likewise.
33637 * gnulib/gettext.h: Likewise.
33638
34f4a5b0
RM
336392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33640
33641 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33642 * normal/handler.c (read_handler_list): Likewise.
33643
ac451143
RM
336442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33645
33646 Misc cleanup.
33647
33648 * kern/command.c (grub_register_command_prio): Use
33649 grub_zalloc() instead of explicitly zeroing data.
33650 * kern/list.c: Include `<grub/mm.h>'.
33651 (grub_named_list_find): Replace `0' with `NULL'.
33652 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33653 (fs_module_list): Change type to `grub_named_list_t'. Update all
33654 users.
33655 * normal/dyncmd.c (read_command_list): Add space between function
33656 call and parenthesis.
33657 * normal/handler.c (read_handler_list): Likewise.
33658
4089b167
RM
336592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33660
33661 * normal/auth.c (punishment_delay): Moved from here ...
33662 (grub_auth_strcmp): ... to here (inside function).
33663
325f5037
RM
336642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33665
33666 * include/grub/list.h (struct grub_named_list): Remove `const'
33667 qualifier from `name'.
33668 (struct grub_prio_list): Likewise.
33669
7aea29a3
RM
336702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33671
33672 * normal/auth.c: Include `<grub/time.h>'.
33673 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33674
3fd6f044
RM
336752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33676
33677 * normal/auth.c (punishment_delay): New variable.
33678 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33679 (grub_auth_check_authentication): Punish failed login attempts with
33680 an incremental (2^N) delay.
33681
a4cd68e4
RM
336822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33683
33684 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33685 path with $(srcdir).
33686
7ad12f43
VS
336872009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33688
33689 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33690
c1129f03
RM
336912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33692
33693 * util/i386/coreboot/grub-mkrescue.in: New file.
33694 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33695 variables.
33696
33697 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33698 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33699 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33700 requirements.
33701 * util/mkisofs/defaults.h: New file.
33702 * util/mkisofs/eltorito.c: Likewise.
33703 * util/mkisofs/exclude.h: Likewise.
33704 * util/mkisofs/fnmatch.c: Likewise.
33705 * util/mkisofs/getopt.c: Likewise.
33706 * util/mkisofs/getopt1.c: Likewise.
33707 * util/mkisofs/hash.c: Likewise.
33708 * util/mkisofs/include/fctldefs.h: Likewise.
33709 * util/mkisofs/include/mconfig.h: Likewise.
33710 * util/mkisofs/include/prototyp.h: Likewise.
33711 * util/mkisofs/include/statdefs.h: Likewise.
33712 * util/mkisofs/iso9660.h: Likewise.
33713 * util/mkisofs/joliet.c: Likewise.
33714 * util/mkisofs/match.c: Likewise.
33715 * util/mkisofs/match.h: Likewise.
33716 * util/mkisofs/mkisofs.c: Likewise.
33717 * util/mkisofs/mkisofs.h: Likewise.
33718 * util/mkisofs/multi.c: Likewise.
33719 * util/mkisofs/name.c: Likewise.
33720 * util/mkisofs/rock.c: Likewise.
33721 * util/mkisofs/tree.c: Likewise.
33722 * util/mkisofs/write.c: Likewise.
33723
ec8bb77d
VS
337242009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33725
33726 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33727 being insecure.
33728
3716b12c
RM
337292009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33730
33731 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33732 `grub-mkimage' (and use $0 when possible).
33733
b97b7b91
RM
337342009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33735
33736 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33737 error message for excessively large memory map.
33738
04114812
RM
337392009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33740
33741 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33742 executable bit.
33743
e4eb2373
RM
337442009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33745
33746 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33747 message for coreboot users.
33748
c926e1d5 337492009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33750
33751 Fix build with GNU gold.
33752
33753 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33754 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33755 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33756 link addresses.
33757 * aclocal.m4: Likewise.
33758
86e5b1db 337592009-11-04 Felix Zielcke <fzielcke@z-51.de>
33760
33761 * configure.ac (AC_PREREQ): Bump to 2.59d.
33762 * INSTALL: Make it more clear when Autoconf and Ruby are
33763 needed and when to run `./autogen.sh'.
33764
246cd78f 337652009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33766
33767 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33768 OSes.
33769
4f9dfb37 337702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33771
33772 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33773
b82bd5e1 337742009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33775
33776 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33777 giving it to GNU Mach.
33778
ff1a9bca 337792009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33780
33781 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33782 GNU partition number to get internal GRUB partition number.
33783
61697d9c 337842009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33785
33786 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33787 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33788
a50569e1 337892009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33790
33791 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33792 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33793 case.
33794
5b153867 337952009-11-01 Felix Zielcke <fzielcke@z-51.de>
33796
33797 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33798
d9e2cd70 337992009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33800
33801 Fix build problem.
33802
33803 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33804 `-isystem=$(srcdir)/include'.
33805
805111a4 338062009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33807
33808 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33809 checked (grub-install doesn't currently rely on it).
33810
fa6e945f 338112009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33812
33813 Revert SVN r2660.
33814
33815 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33816 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33817 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33818 * conf/i386-ieee1275.rmk: Likewise.
33819 * conf/i386-pc.rmk: Likewise.
33820 * conf/powerpc-ieee1275.rmk: Likewise.
33821 * conf/sparc64-ieee1275.rmk: Likewise.
33822 * conf/x86_64-efi.rmk: Likewise.
33823
cee15086 338242009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33825
33826 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33827
95b9239e 338282009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33829
33830 * include/grub/misc.h: Stop checking for APPLE_CC.
33831
2ed19dfd 338322009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33833
33834 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33835 doesn't cause an infinite call loop.
33836
fdcdde19 338372009-10-28 Felix Zielcke <fzielcke@z-51.de>
33838
33839 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33840 strings.
33841
cefabfe1 338422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33843
33844 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33845 variable.
33846 * Makefile.in: Likewise.
33847
ed96ab6d 338482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33849
33850 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33851
0579b753 338522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33853
33854 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33855
478df409 338562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33857
33858 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33859
083d1679 338602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33861
33862 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33863 from here ...
33864 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33865
5947ae32 338662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33867
33868 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33869 in $(MAKEINFO) invocation. This makes it clear in output that
33870 errors are being ignored.
33871
94180ff6 338722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33873
33874 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33875 from here ...
33876 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33877 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33878 * conf/i386-ieee1275.rmk: Likewise.
33879 * conf/i386-pc.rmk: Likewise.
33880 * conf/powerpc-ieee1275.rmk: Likewise.
33881 * conf/sparc64-ieee1275.rmk: Likewise.
33882 * conf/x86_64-efi.rmk: Likewise.
33883
9031b03a 338842009-10-26 Colin Watson <cjwatson@ubuntu.com>
33885
33886 * util/grub-editenv.c (main): If only a command is given, use
33887 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33888 (usage): FILENAME is now optional and has a default.
33889
e4f6809b 338902009-10-26 Colin Watson <cjwatson@ubuntu.com>
33891
33892 Improve grub-mkconfig performance when there are several menu
33893 entries on a single filesystem.
33894
33895 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33896 prepare_grub_to_access_device.
33897 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33898 * util/grub.d/30_os-prober.in: Likewise.
33899
67937d4d 339002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33901
33902 * util/grub.d/10_freebsd.in: Remove.
33903 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33904 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33905
ee3756cc 339062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33907
5c35048e 33908 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33909
4dea1c6f 339102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33911
33912 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33913 grub_util_error() call.
33914
042484d7 339152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33916
33917 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33918 `reserved_first_sector' member.
33919 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33920 `reserved_first_sector' to 1.
33921 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33922 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33923 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33924 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33925 filesystems which begin at first sector.
33926 (options): New option --skip-fs-probe.
33927 (main): Handle --skip-fs-probe and pass it to setup().
33928
d64448a7 339292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33930
33931 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33932 (memset): Fix function prototype.
33933
508d42ec 339342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
339352009-10-25 Vasily Averin <vvs@parallels.com>
33936
33937 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33938 `dirent.direntlen == 0'.
33939
b240e30c 339402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33941
33942 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33943 `cpio'.
33944 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33945
346e7fbe 339462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33947
33948 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33949 `__trampoline_setup' and `__ucmpdi2'.
33950 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33951 that libgcc provides.
33952
cdb308b0 339532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33954
33955 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33956 * include/grub/sparc64/libgcc.h (memset): Likewise.
33957 * include/grub/misc.h (memset, memcmp): New function prototypes.
33958
fb26abc2 339592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33960
33961 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33962 `cpio'.
33963 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33964
f6693890 339652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33966
33967 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33968 * docs/grub.cfg: Compensate for recent change in multiboot
33969 loader (since 2009-08-14 it won't pass filename to payload).
33970 * util/grub.d/10_hurd.in: Likewise.
33971
0933cdc0 339722009-10-21 Felix Zielcke <fzielcke@z-51.de>
33973
33974 * config.guess: Update to latest version from config git
33975 repository.
33976 * config.sub: Likewise.
33977
3b2fe8c2 339782009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33979
33980 Fix build on sparc64.
33981
33982 * configure.ac: Perform checks for libgcc symbols before
33983 adding `-nostdlib' to LDFLAGS.
33984
46695a62 339852009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33986
33987 Let user specify OpenBSD root device.
33988
33989 * loader/i386/bsd.c (openbsd_root): New variable.
33990 (openbsd_opts): New option 'root'.
33991 (OPENBSD_ROOT_ARG): New macro.
33992 (grub_openbsd_boot): Use 'openbsd_root'.
33993 (grub_cmd_openbsd): Fill 'openbsd_root'.
33994
d2b6b7fc 339952009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33996
33997 * NEWS: Misc adjustments.
33998
421bd7ac 339992009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34000
34001 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34002
f1d29d87 340032009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34004
34005 * configure.ac: Bump version to 1.97.
34006
6f3cd880 340072009-10-16 Colin Watson <cjwatson@ubuntu.com>
34008
34009 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34010 -mno-3dnow on x86 architectures. Some toolchains enable these
34011 features by default, but they rely on registers that aren't enabled
34012 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34013
035f7122 340142009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34015
34016 Make entry text a bit more readable.
34017
34018 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34019
44998e58 340202009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34021
34022 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34023
cd2851b3 340242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34025
34026 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34027 operations.
34028
c6f3b249 340292009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34030
34031 * configure.ac: Add missing dollar.
34032
6b5886ba 340332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34034
34035 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34036
34037 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34038 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34039 exports.
34040 * include/grub/sparc64/libgcc.h: Likewise. Use
34041 preprocessor conditionals.
34042
e9d66f6d 340432009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34044
34045 * conf/common.rmk (grub-dumpbios): Remove rule.
34046 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34047 * util/grub-dumpbios.in: Remove file.
34048
9155bc17 340492009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34050
34051 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
34052 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
34053
34054 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
34055 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
34056 users.
34057
34058 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
34059 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34060 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34061 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34062 users.
34063
bf7f7a18 340642009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34065
34066 * term/tparm.c: Switch to GPLv3.
34067
86564c26 340682009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34069
34070 * include/grub/i386/cpuid.h: Add header protection.
34071
5c936493 340722009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34073
34074 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34075
34076 * include/grub/i386/cpuid.h: New file.
34077 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34078 (has_longmode): Rename to ...
34079 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34080 `static' attribute.
34081 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34082 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34083 on a CPU that doesn't implement AMD64 instruction set.
34084
186e7cf2 340852009-10-06 Colin Watson <cjwatson@ubuntu.com>
34086
34087 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
34088 that version.texi is rebuilt on version number changes.
34089
83b65c4a 340902009-10-06 Colin Watson <cjwatson@ubuntu.com>
34091
34092 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
34093 Fixes bug #27602.
34094
d244281c 340952009-10-06 Colin Watson <cjwatson@ubuntu.com>
34096
34097 * util/i386/pc/grub-install.in: Source
34098 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
34099 that the --grub-probe option will work.
34100 * util/sparc64/ieee1275/grub-install.in: Likewise.
34101
da25306d 341022009-10-05 Robert Millan <rmh.grub@aybabtu.com>
34103
34104 * configure.ac: Bump version to 1.97~beta4.
34105
e8ee83c0 341062009-10-03 Robert Millan <rmh.grub@aybabtu.com>
34107
34108 Resync grub-mkdevicemap in x86_64-efi.
34109
34110 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
34111 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
34112 `util/devicemap.c'.
34113
50dcabcf 341142009-10-01 Colin Watson <cjwatson@ubuntu.com>
34115
34116 * util/grub-editenv.c (create_envblk_file): Write new block with a
34117 .new suffix and then rename it into place, to ensure atomic
34118 creation.
34119
0e51c3a7 341202009-09-28 Robert Millan <rmh.grub@aybabtu.com>
34121
34122 Do not automatically install headers.
34123
34124 * Makefile.in (include_DATA): Remove. Update all users.
34125
31299a95 341262009-09-26 Robert Millan <rmh.grub@aybabtu.com>
34127
34128 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
34129 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
34130
34131 * util/osdetect.lua: Remove.
34132 * script/lua/lauxlib.c: Likewise.
34133 * script/lua/ldebug.c: Likewise.
34134 * script/lua/grub_main.c: Likewise.
34135 * script/lua/lauxlib.h: Likewise.
34136 * script/lua/ldebug.h: Likewise.
34137 * script/lua/ltablib.c: Likewise.
34138 * script/lua/liolib.c: Likewise.
34139 * script/lua/lstrlib.c: Likewise.
34140 * script/lua/lualib.h: Likewise.
34141 * script/lua/ldo.c: Likewise.
34142 * script/lua/ldump.c: Likewise.
34143 * script/lua/ldo.h: Likewise.
34144 * script/lua/loslib.c: Likewise.
34145 * script/lua/lundump.c: Likewise.
34146 * script/lua/grub_lib.c: Likewise.
34147 * script/lua/ldblib.c: Likewise.
34148 * script/lua/lundump.h: Likewise.
34149 * script/lua/lmem.c: Likewise.
34150 * script/lua/grub_lib.h: Likewise.
34151 * script/lua/lmathlib.c: Likewise.
34152 * script/lua/lstate.c: Likewise.
34153 * script/lua/ltm.c: Likewise.
34154 * script/lua/lvm.c: Likewise.
34155 * script/lua/lmem.h: Likewise.
34156 * script/lua/lstate.h: Likewise.
34157 * script/lua/ltm.h: Likewise.
34158 * script/lua/ltable.c: Likewise.
34159 * script/lua/lvm.h: Likewise.
34160 * script/lua/llex.c: Likewise.
34161 * script/lua/lgc.c: Likewise.
34162 * script/lua/grub_lua.h: Likewise.
34163 * script/lua/loadlib.c: Likewise.
34164 * script/lua/lfunc.c: Likewise.
34165 * script/lua/lopcodes.c: Likewise.
34166 * script/lua/lparser.c: Likewise.
34167 * script/lua/ltable.h: Likewise.
34168 * script/lua/llex.h: Likewise.
34169 * script/lua/lgc.h: Likewise.
34170 * script/lua/lfunc.h: Likewise.
34171 * script/lua/lbaselib.c: Likewise.
34172 * script/lua/lopcodes.h: Likewise.
34173 * script/lua/lparser.h: Likewise.
34174 * script/lua/lzio.c: Likewise.
34175 * script/lua/linit.c: Likewise.
34176 * script/lua/lobject.c: Likewise.
34177 * script/lua/llimits.h: Likewise.
34178 * script/lua/lstring.c: Likewise.
34179 * script/lua/lzio.h: Likewise.
34180 * script/lua/lapi.c: Likewise.
34181 * script/lua/lcode.c: Likewise.
34182 * script/lua/lua.h: Likewise.
34183 * script/lua/lobject.h: Likewise.
34184 * script/lua/lstring.h: Likewise.
34185 * script/lua/lapi.h: Likewise.
34186 * script/lua/lcode.h: Likewise.
34187 * script/lua/luaconf.h: Likewise.
34188
cb8a2c38 341892009-09-26 Colin Watson <cjwatson@ubuntu.com>
34190
34191 * docs/grub.texi (Command-line and menu entry commands): Document
34192 date and echo commands.
34193
6b9b6276 341942009-09-24 Pavel Roskin <proski@gnu.org>
34195
34196 * include/grub/kernel.h (struct grub_module_header): Remove
34197 `grub_module_header_types'. Make `type' unsigned. Make `size'
34198 32-bit on all platforms.
34199 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34200 8-bit field. Use grub_host_to_target32() for `size'.
34201 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34202 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34203 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34204
4e5a02a7 342052009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34206
34207 Fix "lost keypress" bug in at_keyboard.
34208
34209 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34210 Checks for readyness of input buffer (without flushing it).
34211 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34212 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34213
c6dcedf6 342142009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34215
34216 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34217 size check within GRUB_MACHINE_PCBIOS section.
34218
74c958b1 342192009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34220
34221 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34222 return value.
34223 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34224 KEYBOARD_ISREADY check.
34225 (grub_at_keyboard_checkkey): Rename to ...
34226 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34227 Remove gratuitous cast.
34228
ff420223 342292009-09-23 Colin Watson <cjwatson@ubuntu.com>
34230
34231 * configure.ac: Call AC_PROG_MKDIR_P.
34232 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34233 version.texi in $(builddir) rather than $(srcdir).
34234 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34235 to makeinfo's @include search path.
34236
d96875df 342372009-09-23 Felix Zielcke <fzielcke@z-51.de>
34238
34239 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34240
9b3f8365 342412009-09-23 Felix Zielcke <fzielcke@z-51.de>
34242
34243 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34244 for `*.dpkg-new'.
34245
c44c90db 342462009-09-21 Colin Watson <cjwatson@ubuntu.com>
34247
34248 Build info documentation. Some code borrowed from Automake.
34249
34250 * configure.ac: Check for makeinfo.
34251 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34252 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34253 docs/version.texi.
34254 (MOSTLYCLEANFILES): Add vti.tmp.
34255 (docs/version.texi, docs/stamp-vti): Update automatically.
34256 (docs/grub.info): Build info documentation. Use --force and ignore
34257 errors for now.
34258 (all-local): Add $(INFOS).
34259 (install-local): Install info files.
34260 (uninstall): Uninstall info files.
34261 * docs/version.texi: Remove from revision control. This file is
34262 automatically generated on build now.
34263 * gendistlist.sh: Add `*.info'.
34264
e0b37bb5 342652009-09-21 Felix Zielcke <fzielcke@z-51.de>
34266
34267 * kern/term.c: Fix indentation.
34268
5a78865b 342692009-09-21 Felix Zielcke <fzielcke@z-51.de>
34270
34271 * util/hostdisk.c: Fix a comment.
34272
dace7e8a 342732009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34274
34275 Fix regression introduced in r2539.
34276
34277 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34278 to 0xA1.
34279
a83d079b 342802009-09-19 Colin Watson <cjwatson@ubuntu.com>
34281
34282 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34283 os-prober. Under normal operation, it does not print anything to
34284 stderr; if it does, we need to debug it, and throwing away stderr
34285 makes that excessively difficult.
a83d079b 34286
be94a509 342872009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34288
34289 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34290
63f745e8 342912009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34292
34293 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34294 AC_LANG_PROGRAM from autoconf.
34295 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34296 prototypes (fixes warning).
34297
34298 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34299 `--disable-werror' was used.
34300
bbb2a70f 343012009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34302
34303 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34304 uninitialized `lastaddr'.
34305
77c24f1d 343062009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34307
0f0b8c87 34308 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34309
07197f23 343102009-09-14 Colin Watson <cjwatson@ubuntu.com>
34311
34312 * commands/test.c (get_fileinfo): Return immediately if
34313 grub_fs_probe fails.
34314
dabf1798 343152009-09-14 José Martínez <xosemp@gmail.com>
34316
34317 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34318
d52109a7 343192009-09-14 Colin Watson <cjwatson@ubuntu.com>
34320
34321 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34322 output.
34323
56532179 343242009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34325
34326 * configure.ac: Remove --enable-grub-pe2elf. Only build
34327 grub-pe2elf when needed by the build system itself.
34328 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34329
8ef070f5 343302009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34331
34332 * configure.ac: Bump version to 1.97~beta3.
34333 * docs/version.texi: Likewise.
34334
61229557 343352009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34336
34337 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34338 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34339 from here ...
34340 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34341 (grub_linux_setup_video): ... to here (with some adjustments).
34342
5c9f8d84 343432009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34344
34345 Fix memory corruption issue (spotted by Colin Watson).
34346
34347 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34348 causing returned size to be stored in an incorrect memory location.
34349 Fix use of uninitialized value when storing the returned size.
34350
e8f5d6e9 343512009-09-12 Yves Blusseau <blusseau@zetam.org>
34352
34353 Change clean rules to properly remove files
34354
34355 * genmk.rb: add new clean rules
34356 * Makefile.in (clean): add the new targets
34357 (mostlyclean): likewise
34358
cda2a409 343592009-09-11 Colin Watson <cjwatson@ubuntu.com>
34360
34361 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34362 to grub_uint64_t.
34363 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34364 non-resident files.
34365
86695375 343662009-09-11 Colin Watson <cjwatson@ubuntu.com>
34367
34368 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34369 part of bug #27349.
34370
8aa1541a 343712009-09-10 Felix Zielcke <fzielcke@z-51.de>
34372
34373 * util/grub-mkconfig.in: Make the created config mode 400 and
34374 print a warning if it fails.
34375
48d9bb0a 343762009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34377
34378 * util/grub.d/40_custom.in: Ask user to type custom entries below
34379 comment, rather than below 'exec tail' line.
34380
3b0521be 343812009-09-10 Colin Watson <cjwatson@ubuntu.com>
34382
34383 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34384 visible in grub.cfg.
34385
50051d55 343862009-09-10 Colin Watson <cjwatson@ubuntu.com>
34387
34388 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34389 file.
34390
c0d34387 343912009-09-10 Felix Zielcke <fzielcke@z-51.de>
34392
34393 * docs/grub.cfg: Add an example menu entry for memtest86+.
34394
80a608f3 343952009-09-09 Felix Zielcke <fzielcke@z-51.de>
34396
a2094832 34397 * config.guess: Update to latest version from config git.
80a608f3 34398 * config.sub: Likewise.
34399
99423078 344002009-09-08 Colin Watson <cjwatson@ubuntu.com>
34401
34402 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34403 unknown-command case. Fixes bug #27320.
34404
44454e4c 344052009-09-08 Felix Zielcke <fzielcke@z-51.de>
34406
34407 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34408 `help' if the command exists.
34409
e30d87ad 344102009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34411
34412 * INSTALL: Require GCC 4.1.3 or later.
34413
9a86f1ec 344142009-09-06 Yves Blusseau <blusseau@zetam.org>
34415
34416 * Makefile.in (RMKFILES): add i386-qemu.rmk
34417 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34418 $(srcdir)/stamp-h.in
34419
7f26d466 344202009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34421
34422 * util/grub-probe.c (probe): Comment out buggy codepath, which
34423 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34424 should be re-enabled after 1.97.
34425
3a613259 344262009-09-05 Felix Zielcke <fzielcke@z-51.de>
34427
34428 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34429 find searches for.
34430
197f76c7 344312009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34432
34433 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34434 unnecessary calls to grub_error.
34435
70ba68ce 344362009-09-04 Colin Watson <cjwatson@ubuntu.com>
34437
34438 * NEWS: Mention `keystatus' and Unicode fonts.
34439
4ff0d7a4 344402009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34441
34442 * configure.ac: Bump version to 1.97~beta2.
34443 * docs/version.texi: Likewise.
34444
77c55a87 344452009-09-03 Colin Watson <cjwatson@ubuntu.com>
34446
34447 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34448 containing unwind information in some cases where it previously did
34449 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34450 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34451 discussion.
34452
f79572cd 344532009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34454
34455 Embedding loadenv module into grub-emu
34456
34457 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34458 commands/loadenv.c
34459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34460 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34461 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34463 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34464 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34465
93a81088 344662009-09-03 Magnus Granberg <zorry@ume.nu>
34467
34468 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34469 include -fPIE in the default specs.
34470 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34471 to TARGET_CFLAGS.
34472
160034b2 344732009-09-03 Felix Zielcke <fzielcke@z-51.de>
34474
34475 * INSTALL: Note that GNU Bison 2.3 or later is required.
34476
087c07c4 344772009-09-03 Colin Watson <cjwatson@ubuntu.com>
34478
34479 * kern/i386/pc/startup.S: Fix typo.
34480
cbf978c0 344812009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34482
34483 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34484 according to GCS.
34485
344862009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34487
34488 * docs/grub.texi (Naming convention): Describe one-based partition
34489 numbering.
34490 (Device syntax): Likewise.
34491 (File name syntax): Likewise.
34492 (Block list syntax): Likewise.
34493 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34494 menu.lst.
34495 (File name syntax): Likewise.
34496 (Command-line and menu entry commands): Document acpi, blocklist,
34497 crc, export, insmod, keystatus, ls, set, and unset commands.
34498
f3e8cdfd 344992009-09-02 Colin Watson <cjwatson@ubuntu.com>
34500
34501 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34502 to avoid implying that only one of --shift, --ctrl, or --alt may be
34503 used.
34504
c0bc232b 345052009-09-02 Colin Watson <cjwatson@ubuntu.com>
34506
34507 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34508 rather than comparing against S_IFREG, which will almost never work.
34509
aa0f752d 345102009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34511
34512 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34513 (write_blocklists): Likewise.
34514
ecb3166a 345152009-09-01 Colin Watson <cjwatson@ubuntu.com>
34516
34517 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34518 argument to grub_printf.
34519
c403a125 345202009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34521
34522 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34523 non GNU test.
31aba781 34524
b5e7312c 345252009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34526
34527 * kern/file.c (grub_file_read): Spelling fix
34528
fe00f472 345292009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34530
34531 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34532 loading of headers in some cases.
34533
cc55302e 345342009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34535
34536 * configure.ac: Bump version to 1.97~beta1.
34537 * docs/version.texi: Likewise.
34538
5c90cdd2 345392009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34540
34541 * include/grub/i386/xnu.h: Add license header.
34542 include grub/err.h explicitly.
34543
c90edae4 345442009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34545
34546 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34547 to `ufs' in the vfs.root.mountfrom kernel parameter.
34548
d8888b5c 345492009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34550
34551 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34552
34553 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34554 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34555
34556 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34557 `ARRAY_SIZE' macro.
34558
6f07b921 345592009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34560
34561 * kern/file.c (grub_file_read): Check offset.
34562 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34563 * fs/jfs.c (grub_jfs_read_file): Likewise.
34564 * fs/ntfs.c (grub_ntfs_read): Likewise.
34565 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34566 * fs/minix.c (grub_minix_read_file): Correct offset check.
34567 * fs/ufs.c (grub_ufs_read_file): Likewise.
34568
b4f34077 345692009-08-28 Colin Watson <cjwatson@ubuntu.com>
34570
34571 * term/i386/pc/console.c (bios_data_area): Cast
34572 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34573
e7c69859 345742009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34575
34576 1-bit optimised blitters.
34577
34578 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34579 prototype.
34580 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34581 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34582 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34583 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34584 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34585 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34586 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34587 function.
34588 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34589 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34590 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34591 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34592 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34593 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34594 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34595 when possible.
34596 * video/video.c (grub_video_get_blit_format): Return
34597 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34598
a57da43f 345992009-08-28 Colin Watson <cjwatson@ubuntu.com>
34600
34601 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34602 the first argument to grub_printf.
34603
4cbe67e5 346042009-08-28 Colin Watson <cjwatson@ubuntu.com>
346052009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34606
34607 Add `getkeystatus' terminal method. Add a new `keystatus' command
34608 to query it.
34609
34610 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34611 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34612 modifier key bitmasks.
34613 (struct grub_term_input): Add `getkeystatus' member.
34614 (grub_getkeystatus): Add prototype.
34615 * kern/term.c (grub_getkeystatus): New function.
34616
34617 * include/grub/i386/pc/memory.h
34618 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34619 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34620 Data Area layout.
34621 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34622 (grub_console_term_input): Set `getkeystatus' member.
34623 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34624 constants.
34625 (grub_usb_keyboard_getreport): Likewise.
34626 (grub_usb_keyboard_checkkey): Likewise.
34627 (grub_usb_keyboard_getkeystatus): New function.
34628 (grub_usb_keyboard_term): Set `getkeystatus' member.
34629
34630 * commands/keystatus.c: New file.
34631 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34632 (keystatus_mod_SOURCES): New variable.
34633 (keystatus_mod_CFLAGS): Likewise.
34634 (keystatus_mod_LDFLAGS): Likewise.
34635 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34636 commands/keystatus.c.
34637 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34639 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34641 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34642 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 34643
6e2a9085 346442009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34645
34646 Split befs.mod and afs.mod into *_be.mod and *.mod
34647
34648 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34649 (grub_fstest_SOURCES): Likewise.
34650 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34651 (afs_be_mod_SOURCES): New variable.
34652 (afs_be_mod_CFLAGS): Likewise.
34653 (afs_be_mod_LDFLAGS): Likewise.
34654 (befs_be_mod_SOURCES): Likewise.
34655 (befs_be_mod_CFLAGS): Likewise.
34656 (befs_be_mod_LDFLAGS): Likewise.
34657 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34658 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34659 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34660 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34661 (grub_emu_SOURCES): Likewise.
34662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34663 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34664 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34665 * fs/afs_be.c: New file.
34666 * fs/befs_be.c: New file.
34667 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34668 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34669 (U16): Replaced with ...
34670 (grub_afs_to_cpu16): ...this. All users updated.
34671 (U32): Replaced with ...
34672 (grub_afs_to_cpu32): ...this. All users updated.
34673 (U64): Replaced with ...
34674 (grub_afs_to_cpu64): ...this. All users updated.
34675 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34676 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34677 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34678 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34679 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34680 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34681 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34682 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34683 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34684 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34685 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34686
32a71655 346872009-08-26 Bean <bean123ch@gmail.com>
34688
34689 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34690 64-bit number.
34691 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34692 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34693 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34694
552bf6c5 346952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34696
34697 NetBSD memory map support.
34698
34699 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34700 (grub_netbsd_btinfo_mmap_header): New structure.
34701 (grub_netbsd_btinfo_mmap_entry): Likewise.
34702 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34703
1ae2078c 347042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34705
34706 Enable bsd.mod on coreboot.
34707
34708 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34709 (bsd_mod_SOURCES): New variable.
34710 (bsd_mod_CFLAGS): Likewise.
34711 (bsd_mod_LDFLAGS): Likewise.
34712 (bsd_mod_ASFLAGS): Likewise.
34713 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34714 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34715
beefc598 347162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34717
34718 Cleanup NetBSD root support.
34719
34720 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34721 grub_bsd_get_device.
34722 Fix typo.
34723
3b76e68b 347242009-08-25 Felix Zielcke <fzielcke@z-51.de>
34725
34726 * util/grub.d/00_header.in: Move check for the video backend of
34727 gfxterm from here ...
34728 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34729 a suitable video backend.
34730
aea664ea 347312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34732
34733 Fix breakage in grub-setup.
34734
34735 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34736 "msdos_partition_map".
34737
ff747d50 347382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34739
34740 Fix breakage in normal/auth.c.
34741
34742 * normal/auth.c (grub_iswordseparator): New function.
34743
e7e1f93f 347442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34745
34746 Authentication support.
34747
34748 * commands/password.c: New file.
34749 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34750 (password_mod_SOURCES): New variable.
34751 (password_mod_CFLAGS): Likewise.
34752 (password_mod_LDFLAGS): Likewise.
34753 (normal_mod_SOURCES): Add normal/auth.c.
34754 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34755 normal/auth.c.
34756 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34757 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34758 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34760 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34761 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34762 * include/grub/auth.h: New file.
34763 * include/grub/err.h (grub_err_t): New enum value
34764 GRUB_ERR_ACCESS_DENIED.
34765 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34766 'users'.
34767 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34768 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34769 users updated.
34770 * normal/auth.c: New file.
34771 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34772 (grub_cmdline_run): Don't allow to go to command line without
34773 authentication.
34774 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34775 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34776 menuentry without superuser rights.
34777 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34778 user isn't a superuser.
34779
70f1161d 347802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34781
34782 Save space by inlining misc.c functions.
34783
34784 * kern/misc.c (grub_iswordseparator): Made static.
34785 * kern/misc.c (grub_strcat): Moved from here ...
34786 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34787 * kern/misc.c (grub_strncat): Moved from here ...
34788 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34789 * kern/misc.c (grub_strcasecmp): Moved from here ...
34790 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34791 * kern/misc.c (grub_strncasecmp): Moved from here ...
34792 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34793 * kern/misc.c (grub_isalpha): Moved from here ...
34794 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34795 * kern/misc.c (grub_isdigit): Moved from here ...
34796 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34797 * kern/misc.c (grub_isgraph): Moved from here ...
34798 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34799 * kern/misc.c (grub_tolower): Moved from here ...
34800 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34801
48e40bff 348022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34803
34804 * script/sh/function.c (grub_script_function_find): Cut error message
34805 not to flood terminal.
34806 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34807 limit.
34808 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34809
c385bfc3 348102009-08-24 Colin Watson <cjwatson@ubuntu.com>
34811
34812 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34813 `report' grub_uint8_t *.
34814 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34815 Use a 50-millisecond timeout rather than just repeating
34816 grub_usb_keyboard_getreport 50 times.
34817 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34818
2d21e3e8 348192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34820
34821 Rename *_partition_map to part_*
34822
34823 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34824 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34825 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34826 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34827 All users updated.
34828 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34829 All users updated.
34830 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34831 * util/grub-probe.c (probe_partmap): Don't transform partition name
34832 to get module name.
34833
dd103c4e 348342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34835
34836 Fix OpenBSD and NetBSD support.
34837
34838 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34839 memory address conflict.
34840 (OPENBSD_MMAP_ACPI): New definition.
34841 (OPENBSD_MMAP_NVS): Likewise.
34842 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34843 and OPENBSD_MMAP_NVS.
34844 Add memory map terminator
34845 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34846 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34847
16c84d74 348482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34849
34850 Let user specify NetBSD root device.
34851
34852 * loader/i386/bsd.c (netbsd_root): New variable.
34853 (netbsd_opts): New option 'root'.
34854 (NETBSD_ROOT_ARG): New macro.
34855 (grub_netbsd_boot): Use 'netbsd_root'.
34856 (grub_bsd_unload): Free 'netbsd_root'.
34857 (grub_cmd_netbsd): Fill 'netbsd_root'.
34858
adb29902 348592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34860
34861 Support for 64-bit NetBSD.
34862
34863 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34864 point when booting non-FreeBSD.
34865
f5ae9f74 348662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34867
34868 Support --no-smp and --no-acpi for NetBSD.
34869
34870 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34871 (NETBSD_AB_NOACPI): Likewise.
34872 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34873 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34874
de74f136 348752009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34876
34877 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34878 errors.
34879 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34880 errors. Call grub_error when needed.
34881
e9a925da 348822009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34883
34884 * commands/search.c (search_fs): Try searching without autoload first.
34885 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34886 filesystem module explicitly for faster booting.
34887
5174302b 348882009-08-23 Colin Watson <cjwatson@ubuntu.com>
34889
34890 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34891
c8c80635 348922009-08-23 Colin Watson <cjwatson@ubuntu.com>
34893
34894 * util/grub.d/30_os-prober.in: Disable os-prober if
34895 `GRUB_DISABLE_OS_PROBER' was set to true.
34896
71acf5e5 348972009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34898
34899 * partmap/pc.c: Rename to ...
34900 * partmap/msdos.c: ... this. Update all users.
34901 (grub_pc_partition_map): Rename to ...
34902 (grub_msdos_partition_map): ... this. Update all users.
34903
34904 * parttool/pcpart.c: Rename to ...
34905 * parttool/msdospart.c: ... this. Update all users.
34906
34907 * include/grub/pc_partition.h: Rename to ...
34908 * include/grub/msdos_partition.h: ... this. Update all users.
34909 (grub_pc_partition_bsd_entry): Rename to ...
34910 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34911 (grub_pc_partition_disk_label): Rename to ...
34912 (grub_msdos_partition_disk_label): ... this. Update all users.
34913 (grub_pc_partition_entry): Rename to ...
34914 (grub_msdos_partition_entry): ... this. Update all users.
34915 (grub_pc_partition_mbr): Rename to ...
34916 (grub_msdos_partition_mbr): ... this. Update all users.
34917 (grub_pc_partition): Rename to ...
34918 (grub_msdos_partition): ... this. Update all users.
34919 (grub_pc_partition_is_empty): Rename to ...
34920 (grub_msdos_partition_is_empty): ... this. Update all users.
34921 (grub_pc_partition_is_extended): Rename to ...
34922 (grub_msdos_partition_is_extended): ... this. Update all users.
34923 (grub_pc_partition_is_bsd): Rename to ...
34924 (grub_msdos_partition_is_bsd): ... this. Update all users.
34925
34926 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34927 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34928 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34929 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34930 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34931 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34932 (gpt_mod_LDFLAGS): Rename to ...
34933 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34934 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34935 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34936 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34937 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34938 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34939 (part_gpt_mod_LDFLAGS): ... this.
34940 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34941 `pcpart.mod' to `msdospart.mod'.
34942 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34943 to ...
34944 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34945 (msdospart_mod_LDFLAGS): ... this.
34946
c11fded5 349472009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34948
34949 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34950 (openbsd_opts): Likewise.
34951 (netbsd_opts): Likewise.
34952 (freebsd_flags): Added 0 terminator.
34953 (openbsd_flags): Likewise.
34954 (netbsd_flags): Likewise.
34955 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34956 (grub_cmd_freebsd): Transformed into extended command.
34957 (grub_cmd_openbsd): Likewise.
34958 (grub_cmd_netbsd): Likewise.
34959 (cmd_freebsd): Changed type to grub_extcmd_t.
34960 (cmd_openbsd): Likewise.
34961 (cmd_netbsd): Likewise.
34962 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34963 grub_cmd_openbsd as extended commands.
34964 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34965 cmd_netbsd and cmd_openbsd
34966
11d1c769 349672009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34968
34969 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34970
7a9094e5 349712009-08-21 Pavel Roskin <proski@gnu.org>
34972
5496c37e 34973 * Makefile.in (install-local): When checking if a file is in the
34974 build directory, use "test -e" to detect symlinks.
34975
7a9094e5 34976 * Makefile.in (install-local): Remove all files in
34977 $(DESTDIR)$(pkglibdir) before installing new files there.
34978
e53cea11 349792009-08-18 Felix Zielcke <fzielcke@z-51.de>
34980
34981 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34982 grub-mkelfimage.
34983
9aced544 349842009-08-18 Felix Zielcke <fzielcke@z-51.de>
34985
34986 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34987 explicitly specified by the user.
34988
b7da6bab 349892009-08-18 Pavel Roskin <proski@gnu.org>
34990
34991 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34992 grub_uint8_t pointer for data.
34993 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34994 Likewise.
34995 * video/fb/fbutil.c: Remove unnecessary casts.
34996
19f1b335 349972009-08-17 Michal Suchanek <hramrach@centrum.cz>
34998
34999 VBE cleanup.
35000
35001 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35002 (grub_vbe_set_video_mode): Save active mode info
35003 only after setting the mode.
35004 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35005 second argument.
35006
2f467aa9 350072009-08-17 Michal Suchanek <hramrach@centrum.cz>
35008
35009 Rename variables for clarity.
35010
35011 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35012 (active_vbe_mode_info): ... this. All users updated.
35013 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35014 All users updated.
35015 (initial_mode): Rename to ...
35016 (initial_vbe_mode): ... this. All users updated.
35017 (mode_in_use): Rename to ..
35018 (vbe_mode_in_use): ... this. All users updated.
35019 (mode_list): Rename to ..
35020 (vbe_mode_list): ... this. All users updated.
35021 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35022 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35023 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35024 'mode_list_size' to 'vbe_mode_list_size'.
35025 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35026 'best_mode_info' to 'best_vbe_mode_info' and
35027 'best_mode' to 'best_vbe_mode'
35028
6025fcd7 350292009-08-17 Michal Suchanek <hramrach@centrum.cz>
35030
35031 Remove duplicate grub_video_fb_get_video_ptr.
35032
35033 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35034 (grub_video_fb_get_video_ptr): ... this.
35035 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35036 * video/fb/fbutil.c: Add comment about addressing.
35037 (get_data_ptr): Rename to ...
35038 (grub_video_fb_get_video_ptr): ... this. All users updated.
35039 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35040
cc8c6faf 350412009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35042
35043 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35044 grub_dprintf() that was just added.
35045
08aa61f0 350462009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35047
35048 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
35049 (DEFAULT_VIDEO_MODE): Remove macros.
35050 (grub_linux_boot): Remove assumption that Linux has FB support,
35051 and use "text" as default video mode.
35052
7cef4f75 350532009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
35054
35055 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
35056 grub_dprintf.
35057 * fs/fat.c (grub_fat_read_data): Likewise.
35058
e1f39873 350592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35060
35061 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35062 payload.
35063 (grub_module): Likewise.
35064
c166d79e 350652009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35066
35067 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35068 mbi->cmdline but free playground.
35069
c60cee8e 350702009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35071
35072 Handle group offset on UFS1.
35073
35074 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35075 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35076
c0d8b5d4 350772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35078
35079 Split ufs.mod into ufs1.mod and ufs2.mod.
35080
35081 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35082 (grub_fstest_SOURCES): Likewise.
35083 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
35084 (ufs_mod_SOURCES): Remove.
35085 (ufs_mod_CFLAGS): Likewise.
35086 (ufs_mod_LDFLAGS): Likewise.
35087 (ufs1_mod_SOURCES): New variable.
35088 (ufs1_mod_CFLAGS): Likewise.
35089 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 35090 (ufs2_mod_SOURCES): New variable.
35091 (ufs2_mod_CFLAGS): Likewise.
35092 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 35093 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
35094 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35095 Likewise.
35096 (grub_emu_SOURCES): Likewise.
35097 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35098 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35099 (grub_setup_SOURCES): Likewise.
35100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35101 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
35102 (grub_setup_SOURCES): Likewise.
35103 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35104 Likewise.
35105 * fs/ufs2.c: New file.
35106 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
35107
d3539132 351082009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35109
35110 Framebuffer split.
35111
35112 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
35113 subsystem at the end.
35114 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
35115 (video_fb_mod_SOURCES): New variable.
35116 (video_fb_mod_CFLAGS): Likewise.
35117 (video_fb_mod_LDFLAGS): Likewise.
35118 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
35119 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
35120 * video/i386/pc/vbeblit.c: Moved from here ...
35121 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
35122 * video/i386/pc/vbefill.c: Moved from here ...
35123 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
35124 * video/i386/pc/vbeutil.c: Moved from here ...
35125 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
35126 * include/grub/i386/pc/vbeblit.h: Moved from here ...
35127 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
35128 * include/grub/i386/pc/vbefill.h: Moved from here ...
35129 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
35130 * include/grub/i386/pc/vbeutil.h: Moved from here ...
35131 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
35132 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
35133 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
35134 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
35135 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
35136 (grub_video_adapter): Added 'get_info_and_fini'.
35137 (grub_video_get_info_and_fini): New prototype.
35138 (grub_video_set_mode): make modestring const char *.
35139 * loader/i386/linux.c (grub_linux_setup_video): Use
35140 grub_video_get_info_and_fini.
35141 (grub_linux_boot): Move modesetting just before booting.
35142 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
35143 grub_video_get_info_and_fini.
35144 * video/i386/pc/vbe.c: Moved framebuffer part ...
35145 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
35146 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
35147 grub_video_fbstd_colors and grub_video_fb_set_palette.
35148 (grub_video_vbe_init): Clear 'framebuffer' variable and use
35149 grub_video_fb_init.
35150 (grub_video_vbe_fini): Use grub_video_fb_fini.
35151 (grub_video_vbe_setup): Use framebuffer.render_target instead of
35152 render_target and use grub_video_fb_set_active_render_target and
35153 grub_video_fb_set_palette.
35154 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
35155 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
35156 (grub_video_vbe_adapter): Use framebuffer.
35157 * video/video.c (grub_video_get_info_and_fini): New function.
35158 (grub_video_set_mode): Make modestring const char *.
35159 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
35160 values are already initialised.
35161
d404ee56 351622009-08-14 Pavel Roskin <proski@gnu.org>
35163
35164 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
35165 ABS and APPLE_CC.
35166 * boot/i386/pc/diskboot.S: Likewise.
35167 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
35168 sectors allow compilation on MacOSX.
35169 * conf/i386-pc.rmk: Enable unconditional compilation of
35170 lnxboot.img.
35171
9a10df16 351722009-08-13 Colin Watson <cjwatson@ubuntu.com>
35173
35174 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35175 * util/grub.d/00_header.in: Enter interruptible sleep if
35176 GRUB_HIDDEN_TIMEOUT is set.
35177
be3c9ca7 351782009-08-13 Yves Blusseau <blusseau@zetam.org>
35179
35180 * include/grub/symbol.h: Add the LOCAL macro.
35181 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35182 starting with "L_".
35183
1f9e557e 351842009-08-13 Pavel Roskin <proski@gnu.org>
35185
9ca62843 35186 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35187 any modern compilers we support.
35188
1f9e557e 35189 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35190 Use local labels starting with "L_" so that Apple assembler
35191 knows they are local.
35192
81623db6 351932009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35194
35195 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35196 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35197 (bsd_kernel_types): ... this enum.
35198
35199 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35200 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35201 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35202
35203 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35204 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35205 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35206 messages.
35207
f5d35e7a 352082009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35209
35210 * util/grub-dumpdevtree: Moved from here ...
35211 * util/i386/efi/grub-dumpdevtree: ... to here.
35212 (hexify): New function. Converts a string to its hex version.
35213 Generate hex versions of "efi" and "device-properties" by calling
35214 hexify() on the ASCII strings rather than by hardcoding numbers.
35215
d1e1d527 352162009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35217
35218 * fs/jfs.c: Update copyright year.
35219
1ebbe064 352202009-08-08 Felix Zielcke <fzielcke@z-51.de>
35221
35222 * util/grub.d/00_header.in: Fix a comment.
35223 * util/grub.d/10_linux.in: Likewise.
35224 * util/grub.d/10_windows.in: Likewise.
35225 * util/grub.d/10_hurd.in: Likewise.
35226
a78c8d24 352272009-08-08 Felix Zielcke <fzielcke@z-51.de>
35228
35229 * util/grub-mkconfig.in: Allow the user to specify the used font
35230 with GRUB_FONT.
35231
29a6b9e8 352322009-08-08 Pavel Roskin <proski@gnu.org>
35233
b5f16cc4 35234 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35235 available, xfs.mod needs it now.
35236
2f5cb827 35237 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35238 the "g" modifier in sed when the intention is to strip something
35239 once. This fixes comparison of kernels with multiple dashes.
35240
29a6b9e8 35241 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35242 on it. Add missing space before closing bracket. Fix
35243 misleading formatting.
35244
892a3d98 352452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35246
35247 * docs/grub.texi: Major overhaul. Remove all sections that are
35248 specific to GRUB Legacy, or mostly composed of Legacy-specific
35249 information.
35250
ed94253f 352512009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35252
35253 * docs/version.texi: New file. Provides version information for
35254 grub.texi.
35255
126d6628 352562009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35257
35258 * docs/grub.texi: Update CVS information to SVN.
35259 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35260
998b5aa9 352612009-08-07 Felix Zielcke <fzielcke@z-51.de>
35262
35263 * util/grub-mkconfig.in: Remove a wrong `fi'.
35264
818e094a 352652009-08-07 Felix Zielcke <fzielcke@z-51.de>
35266
35267 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35268 (grub_jfs_uuid): New function.
35269 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35270
b969c52f 352712009-08-07 Felix Zielcke <fzielcke@z-51.de>
35272
35273 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35274 of it to ...
35275 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35276 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35277
7a4894cc 352782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35279
35280 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35281 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35282 Update all users.
35283
35284 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35285 not just "vmlinu[zx]".
35286 Moved from here ...
35287 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35288 all users.
35289
35290 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35291 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35292 all users.
35293
4e2171f8 352942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35295
35296 * util/grub.d/10_freebsd.in: Use an absolute device path for
35297 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35298
6dcfcb32 352992009-08-06 Felix Zielcke <fzielcke@z-51.de>
35300
35301 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35302 handling of multiple abstraction modules.
35303
f56a8756 353042009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35305
35306 Fix a bug resulting in black screen when loading Linux using a
35307 packed video mode.
35308
35309 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35310 function.
35311
35312 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35313 (grub_vbe_bios_getset_dac_palette_width): New function.
35314 (grub_vbe_bios_get_dac_palette_width)
35315 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35316 grub_vbe_bios_getset_dac_palette_width()).
35317
35318 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35319 check for return status.
35320 (grub_vbe_get_video_mode_info): When getting information for a packed
35321 mode (<= 8 bpp), obtain DAC palette width using
35322 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35323 {red,green,blue}_mark_size.
35324
222671b2 353252009-08-04 Felix Zielcke <fzielcke@z-51.de>
35326
ecb1a6d9 35327 * commands/search.c (options): Fix help output to match actual code.
222671b2 35328
f84114f5 353292009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35330
35331 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35332 of homegrown code.
35333
bd288a20 353342009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35335
35336 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35337 on XFS or ReiserFS.
35338
8aab5e25 353392009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35340
35341 Support Apple partition map with sector size different from 512 bytes.
35342
35343 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35344 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35345 and 'apart.partmap_size'.
35346
6ad6258a 353472009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
353482009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35349
35350 Fix cpuid command.
35351
35352 * commands/i386/cpuid.c (options): New variable.
35353 (grub_cmd_cpuid): Return real error.
35354 (GRUB_MOD_INIT(cpuid)): Declare options.
35355
67459bc6 353562009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35357
35358 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35359 valid.
35360
fbc6ab54 353612009-07-31 Bean <bean123ch@gmail.com>
35362
35363 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35364 log2_inode.
35365 (grub_fshelp_node): Move inode field to the end.
35366 (grub_xfs_data): Remove inode field.
35367 (grub_xfs_inode_block): Calculate inode size using sblock.
35368 (grub_xfs_inode_offset): Likewise.
35369 (grub_xfs_read_inode): Calculate inode size using sblock.
35370 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35371 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35372 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35373 to match inode size.
35374 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35375 not accessible when data is null.
35376 (grub_xfs_open): Likewise.
35377
f45d6cfc 353782009-07-31 Bean <bean123ch@gmail.com>
35379
35380 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35381 Don't change pv->disk if it's already set.
35382
35383 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35384 (grub_raid_register): ... here.
35385 (grub_raid_rescan): Removed.
35386
35387 * include/grub/raid.h (grub_raid_rescan): Removed.
35388
35389 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35390 (fstest): Replace grub_raid_rescan with module fini function followed
35391 by init function.
35392
35393 * util/grub-probe.c: Add include file <grub/raid.h>.
35394 (probe_raid_level): New function.
35395 (probe): Detect abstraction by walking the disk device, support two
35396 level of abstraction (LVM on RAID) when detecting partition map.
35397
24443b5a 353982009-07-31 Pavel Roskin <proski@gnu.org>
35399
35400 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35401 to grub_zalloc(), it was erroneous.
35402 Reported by Bean <bean123ch@gmail.com>
35403
a275d9e7 354042009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35405
35406 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35407 embedding zone, not only the first one.
a275d9e7 35408
56c5a47f 354092009-07-29 Joe Auricchio <jauricchio@gmail.com>
35410
35411 * term/gfxterm.c (clear_char): New function.
35412 (grub_virtual_screen_setup): Use clear_char.
35413 (scroll_up): Likewise.
35414 (grub_virtual_screen_cls): Likewise.
35415
67bb323a 354162009-07-29 Felix Zielcke <fzielcke@z-51.de>
35417
35418 * util/deviceiter.c (get_acceleraid_disk_name): New static
35419 function.
35420 (grub_util_iterate_devices): Handle Accelraid devices.
35421 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35422
388a7c75 354232009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35424
35425 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35426 separator for the suggested gfxpayload string (';' collides with the
35427 parser and needs escaping).
35428
3bb7abcf 354292009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35430
35431 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35432 Clear direction flag before jumping to OS.
35433 (grub_multiboot2_real_boot): Likewise.
35434
2ddd36d7 354352009-07-28 Felix Zielcke <fzielcke@z-51.de>
35436
35437 * util/i386/pc/grub-install: Fix parsing of --disk-module
35438 option.
35439
c521b62b 354402009-07-28 Felix Zielcke <fzielcke@z-51.de>
35441
35442 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35443 when embedding.
35444
880e0a0c 354452009-07-26 Felix Zielcke <fzielcke@z-51.de>
35446
35447 * util/grub-mkconfig.in (package_version): New variable.
35448 Use it do display the version.
35449
2366e356 354502009-07-25 Felix Zielcke <fzielcke@z-51.de>
35451
35452 * kern/file.c (grub_file_open): Revert to previous check with
35453 grub_errno.
35454
7ad8c80e 354552009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35456
35457 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35458 from help line. It's out of sync with code.
35459
72b9658b 354602009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35461
35462 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35463 entries on failed boot.
35464
77435277 354652009-07-25 Felix Zielcke <fzielcke@z-51.de>
35466
35467 * kern/file.c (grub_file_open): Fix an error check.
35468
fcaa8b21 354692009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35470
35d16c74 35471 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35472 partition map couldn't be identified.
fcaa8b21 35473
48904cd1 354742009-07-23 Pavel Roskin <proski@gnu.org>
35475
ef3c317f 35476 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35477 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35478 case of little endian words becomes just an optimization.
35479 Respect const modifier.
ad8ea1f4 35480 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35481
48904cd1 35482 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35483 to avoid loss of upper bits if align is unsigned and shorter
35484 than addr.
35485
260c9a89 354862009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35487
35488 UUID support for UFS
35489
35490 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35491 (grub_ufs_uuid): New function.
35492 (grub_ufs_fs): add .uuid
35493
f76ce889 354942009-07-21 Pavel Roskin <proski@gnu.org>
35495
35496 * kern/dl.c (grub_dl_check_header): Make static.
35497
6a6cbcaf 354982009-07-21 Felix Zielcke <fzielcke@z-51.de>
35499
35500 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35501 add drivemap for Vista. It breaks Windows 7.
35502
cffcddb2 355032009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35504
35505 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35506 128 bytes
35507
1ef44b80 355082009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35509
35510 Add BFS support
35511
35512 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35513 (grub_fstest_SOURCES): Likewise.
35514 (pkglib_MODULES): Add befs.mod.
35515 (befs_mod_SOURCES): New variable.
35516 (befs_mod_CFLAGS): Likewise.
35517 (befs_mod_LDFLAGS): Likewise.
35518 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35521 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35522 (grub_setup_SOURCES): Likewise.
35523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35525 (grub_setup_SOURCES): Likewise.
35526 * fs/befs.c: New file.
35527 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35528 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35529 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35530 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35531 (B_KEY_INDEX_ALIGN): New declaration.
35532 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35533 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35534 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35535 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35536 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35537 (grub_afs_mount) [MODE_BFS]: Likewise.
35538 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35539 (grub_afs_fs): Use GRUB_AFS_FSNAME
35540 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35541 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35542 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35543 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35544
4f253044 355452009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35546
35547 * util/getroot.c (find_root_device): Add support for MacOSX.
35548 * util/hostdisk.c: Likewise.
35549
57a55913 355502009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35551
35552 * font/font.c (find_glyph): Check whether a font is present to avoid
35553 segmentation fault.
75421ca9 35554
355552009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35556
35557 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35558
e98cd0c2 355592009-07-20 Pavel Roskin <proski@gnu.org>
35560
35561 * configure.ac: Trim excessively wordy excuses.
35562
1d2d169a 355632009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35564
35565 Add symlink, mtime and label support to AtheFS.
35566
35567 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35568 (grub_afs_iterate_dir): Handle symlinks.
35569 (grub_afs_open): Use grub_afs_read_symlink.
35570 (grub_afs_dir): Likewise.
35571 Pass mtime.
35572 (grub_afs_label): New function.
35573 (grub_afs_fs): Add grub_afs_label.
35574 (grub_afs_read_symlink): New function.
35575
186f3189 355762009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35577
35578 Fix AtheFS support.
35579
35580 * fs/afs.c: Fix comments style.
35581 (grub_afs_blockrun): Declare as packed.
35582 (grub_afs_datastream): Likewise.
35583 (grub_afs_bnode): Likewise.
35584 (grub_afs_btree): Likewise.
35585 (grub_afs_sblock): Likewise.
35586 Declare `name' as char.
35587 (grub_afs_inode): Declare as packed.
35588 Change void *vnode to grub_uint32_t unused.
35589 (grub_afs_iterate_dir): Check that key_size is positive.
35590 (grub_afs_mount): Don't read superblock twice.
75421ca9 35591 (grub_afs_dir): Don't free node in case of error,
186f3189 35592 grub_fshelp_find_file already handles this.
35593 (grub_afs_open): Likewise.
35594
5680109e 355952009-07-19 Pavel Roskin <proski@gnu.org>
35596
35597 * Makefile.in: Remove LIBLZO and enable_lzo.
35598 * conf/i386-pc.rmk: Remove lzo support.
35599 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35600 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35601 support.
35602 * kern/i386/pc/lzo1x.S: Remove.
35603 * kern/i386/pc/startup.S: Remove lzo support.
35604 * util/i386/pc/grub-mkimage.c: Likewise.
35605
ac70fa32 356062009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35607
35608 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35609 * fs/xfs.c (grub_xfs_dir): Likewise.
35610 * fs/afs.c (grub_afs_dir): Likewise.
35611 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35612 (grub_iso9660_open): Likewise.
35613 * fs/jfs.c (grub_jfs_open): Likewise.
35614 * fs/ext2.c (grub_ext2_dir): Likewise.
35615 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35616 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35617
eab58da2 356182009-07-16 Pavel Roskin <proski@gnu.org>
35619
d2838156 35620 * configure.ac: Never add "-c" to CFLAGS.
35621
55c70904 35622 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35623
43e6200c 35624 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35625 grub_cv_cc_efiemu should be used.
35626
ce7a733d 35627 * configure.ac: Typo fixes.
35628
eab58da2 35629 * kern/mm.c (grub_zalloc): New function.
35630 (grub_debug_zalloc): Likewise.
35631 * include/grub/mm.h: Declare grub_zalloc() and
35632 grub_debug_zalloc().
35633 * util/misc.c (grub_zalloc): New function.
35634 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35635 instead of grub_malloc(), remove unneeded initializations.
35636 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35637 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35638 * commands/parttool.c (grub_cmd_parttool): Likewise.
35639 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35640 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35641 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35642 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35643 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35644 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35645 (grub_cmd_efiemu_pnvram): Likewise.
35646 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35647 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35648 (grub_iso9660_iterate_dir): Likewise.
35649 * fs/jfs.c (grub_jfs_opendir): Likewise.
35650 * fs/ntfs.c (list_file): Likewise.
35651 (grub_ntfs_mount): Likewise.
35652 * kern/disk.c (grub_disk_open): Likewise.
35653 * kern/dl.c (grub_dl_load_core): Likewise.
35654 * kern/elf.c (grub_elf_file): Likewise.
35655 * kern/env.c (grub_env_context_open): Likewise.
35656 (grub_env_set): Likewise.
35657 (grub_env_set_data_slot): Likewise.
35658 * kern/file.c (grub_file_open): Likewise.
35659 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35660 * loader/i386/multiboot.c (grub_module): Likewise.
35661 * loader/xnu.c (grub_xnu_create_key): Likewise.
35662 (grub_xnu_create_value): Likewise.
35663 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35664 (read_config_file): Likewise.
35665 * normal/menu_entry.c (make_screen): Likewise.
35666 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35667 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35668 * script/sh/script.c (grub_script_parse): Likewise.
35669 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35670 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35671 * video/readers/png.c (grub_png_output_byte): Likewise.
35672 (grub_video_reader_png): Likewise.
35673
830afef7 356742009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35675
35676 Enable all targets that can be built by default
35677
830afef7 35678 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35679 grub-mkfont and grub-fstest if they can be built
35680
ee293aee 356812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35682
35683 Fix hang and segmentation fault in grub-emu-usb
35684
35685 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35686 * util/usb.c (grub_libusb_devices): likewise
35687 (grub_libusb_init): rename to ...
35688 (GRUB_MOD_INIT (libusb)):...this
35689 (grub_libusb_fini): rename to ..
35690 (GRUB_MOD_FINI (libusb)):...this
35691 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35692 * include/grub/disk.h (grub_raid_init): removed, it's useless
35693 (grub_raid_fini): likewise
35694 (grub_lvm_init): likewise
35695 (grub_lvm_fini): likewise
35696 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35697 by grub_init_all
35698
94414221 356992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35700
35701 Fix libusb
35702
35703 * Makefile.in (LIBUSB): new macro
35704 * genmk.rb (Utility/print_tail): new method
35705 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35706 (top level): call util.print_tail at the end.
35707
59ade63d 357082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35709
35710 Make FreeBSD accept zpool.cache
35711
35712 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35713 type is /boot/zfs/zpool.cache
35714
a58da8c7 357152009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35716
35717 Fix 64-bit efiemu
35718
35719 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35720 correct wrong typedef
35721 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35722
20591577 357232009-07-15 Pavel Roskin <proski@gnu.org>
35724
560ca572 35725 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35726 * kern/disk.c (struct grub_disk_cache): Likewise.
35727
e8e8e4fd 35728 * commands/probe.c (options): Typo fix.
35729
fde24e10 35730 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35731 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35732 accordingly.
35733 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35734
379c54c1 35735 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35736 the end of "Error" to make the message more readable.
35737
7bd8f5bf 35738 * boot/i386/pc/boot.S (kernel_segment): Remove.
35739 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35740 for destination.
35741
40b132c5 35742 * boot/i386/pc/boot.S (boot_version): Remove.
35743 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35744 Remove.
35745
20591577 35746 * include/grub/i386/pc/boot.h: Sort all offsets.
35747 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35748 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35749 * boot/i386/pc/boot.S: Assert location of every offset listed in
35750 include/grub/i386/pc/boot.h.
35751
2df32b2c 357522009-07-13 Pavel Roskin <proski@gnu.org>
35753
44b5d879 35754 * include/grub/i386/coreboot/machine.h: Rename
35755 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35756 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35757 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35758
17dc3751 35759 * kern/dl.c: Force native word size to suppress warnings when
35760 compiling grub-emu.
35761
2df32b2c 35762 * kern/device.c (grub_device_iterate): Change struct part_ent to
35763 hold the name, not a pointer to it. Use one grub_malloc() per
35764 partition, not two. Free partition_name if grub_malloc() fails.
35765 Set ents to NULL only before grub_partition_iterate() is called.
35766
75c59f59 357672009-07-11 Bean <bean123ch@gmail.com>
35768
35769 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35770 childname.
35771
0ae1bf88 357722009-07-10 Bean <bean123ch@gmail.com>
357732009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35774
35775 * kern/ieee1275/openfw.c (grub_children_iterate)
35776 (grub_devalias_iterate): Fix size evaluation for property or path
35777 strings, which was broken since r2132.
35778
8279cade 357792009-07-07 Pavel Roskin <proski@gnu.org>
35780
7d8a52d3 35781 * commands/search.c (search_file): Merge into ...
35782 (search_fs): ... this. Accept search type as argument.
35783 (grub_cmd_search): Pass search type to search_fs().
35784
25f9a05a 35785 * include/grub/util/console.h: New file.
35786 * util/console.c: Use it instead of grub/machine/console.h.
35787 * util/grub-emu.c: Likewise.
35788
8279cade 35789 * lib/arg.c (find_long_option): Remove.
35790 (find_long): Add `len' argument, make `s' const char *.
35791 (grub_arg_parse): Parse long options in place, not in a
35792 temporary buffer.
35793
4a11b60f 357942009-07-06 Pavel Roskin <proski@gnu.org>
35795
99f68041 35796 * commands/search.c (search_fs): Fix potential NULL pointer
35797 dereference.
35798
4a11b60f 35799 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35800 function pointer.
35801
e110f4de 358022009-07-06 Daniel Mierswa <impulze@impulze.org>
35803
35804 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35805 comparison.
35806
46eeb6a2 358072009-07-05 Pavel Roskin <proski@gnu.org>
35808
bab74958 35809 * include/grub/i386/linux.h (struct linux_kernel_params):
35810 Restore padding3, it's still needed.
35811
46eeb6a2 35812 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35813 FreeBSD.
35814 * util/osdetect.lua: Likewise.
35815
b4a1dc79 358162009-07-05 Bean <bean123ch@gmail.com>
35817
35818 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35819
35820 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35821 (grub_lua_getenv): Likewise.
35822 (grub_lua_setenv): Likewise.
35823 (save_errno): New function.
35824 (push_result): Likewise.
35825 (grub_lua_enum_device): Likewise.
35826 (grub_lua_enum_file): Likewise.
35827 (grub_lua_file_open): Likewise.
35828 (grub_lua_file_close): Likewise.
35829 (grub_lua_file_seek): Likewise.
35830 (grub_lua_file_read): Likewise.
35831 (grub_lua_file_getline): Likewise.
35832 (grub_lua_file_getsize): Likewise.
35833 (grub_lua_file_getpos): Likewise.
35834 (grub_lua_file_eof): Likewise.
35835 (grub_lua_file_exist): Likewise.
35836 (grub_lua_add_menu): Likewise.
35837
35838 * script/lua/grub_lua.h (isupper): New inline function.
35839 (islower): Likewise.
35840 (ispunct): Likewise.
35841 (isxdigit): Likewise.
35842 (strcspn): Change to normal function.
35843 (strpbkr): New function declaration.
35844 (memchr): Likewise.
35845
35846 * script/lua/grub_main.c (scan_str): New function.
35847 (strcspn): Likewise.
35848 (strpbrk): Likewise.
35849 (memchr): Likewise.
35850
35851 * script/lua/linit.c (lualibs): Enable the string library.
35852
35853 * util/osdetect.lua: New file.
35854
2da92295 358552009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35856
35857 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35858 `capabilities' member.
35859
b2582ec9 358602009-07-02 Pavel Roskin <proski@gnu.org>
35861
35862 * genparttoollist.sh: Add missing newline at the end.
35863
32622956 358642009-07-01 Pavel Roskin <proski@gnu.org>
35865
87a7339e 35866 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35867
d23af54e 35868 * util/hostdisk.c (open_device): Remove `const' from
35869 `sysctl_size', as sysctlbyname() can change it (in this case it
35870 doesn't actually happen).
35871
c94b18a9 35872 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35873 using signed long int constants.
35874
c6cd3ef0 35875 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35876 constant to avoid a warning on FreeBSD.
35877
0df63420 35878 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35879 where it's needed.
35880
999577f1 35881 * Makefile.in: Install include/grub/machine symlink.
35882
6f41557f 35883 * Makefile.in: When installing symlinks, use "cp -fR", which
35884 works on FreeBSD and MacOSX.
35885 From Yves Blusseau <cl7m42e02@sneakemail.com>
35886
c8d22988 35887 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35888 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35889
1b96e952 35890 * util/misc.c: Move grub_reboot() and grub_halt() ...
35891 * util/grub-emu.c: ... here. Make main_env static.
35892 * include/grub/util/misc.h: Remove main_env.
35893
2ef0084d 35894 * kern/mm.c: Use correct format to print size_t.
35895
32622956 35896 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35897 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35898 * kern/powerpc/dl.c: Likewise.
35899 * kern/sparc64/dl.c: Likewise.
35900 * kern/x86_64/dl.c: Likewise.
35901
3f7f0cd0 359022009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35903
35904 Fix grub-emu build on sparc64-ieee1275.
35905
75421ca9 35906 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35907 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35908
211d06b5 359092009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35910
35911 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35912 (grub_reboot, grub_halt): New functions.
35913
35914 * util/i386/pc/misc.c: Delete. Update all users.
35915 * util/sparc64/ieee1275/misc.c: Likewise.
35916 * util/powerpc/ieee1275/misc.c: Likewise.
35917
aaf53e3c 359182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35919
35920 * conf/i386.rmk (setjmp_mod_SOURCES)
35921 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35922 * conf/common.rmk (setjmp_mod_SOURCES)
35923 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35924 to use $(target_cpu).
35925 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35926 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35927 * conf/powerpc-ieee1275.rmk: Likewise.
35928 * conf/sparc64-ieee1275.rmk: Likewise.
35929
35930 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35931 $(target_cpu) for kern/$(target_cpu)/dl.c.
35932 * conf/i386-efi.rmk: Likewise.
35933 * conf/i386-ieee1275.rmk: Likewise.
35934 * conf/x86_64-efi.rmk: Likewise.
35935 * conf/i386-coreboot.rmk: Likewise.
35936 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35937 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35938 kern/$(target_cpu)/cache.S.
35939 * conf/sparc64-ieee1275.rmk: Likewise.
35940
a337130b 359412009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35942
35943 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35944 type to `grub_uint8_t', and adjust `padding9' accordingly.
35945
c6fe4d53 359462009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35947
b09db61d 35948 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35949
c6fe4d53 35950 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35951 assembly in final jump, using register constraints.
35952
b09db61d 35953 (grub_linux_boot): For text mode, initialize `have_vga' using
35954 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35955
35956 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35957 right before the final jump.
35958
35959 Set `video_mode' to 0x3.
35960
35961 Document initialization of `video_page', `video_mode' and
35962 `video_ega_bx'.
35963
28333ad0 359642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35965
35966 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35967 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35968 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35969
02164e1b 359702009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35971
35972 Fix build on Debian / sparc.
35973
35974 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35975
18b6c557 359762009-06-28 Pavel Roskin <proski@gnu.org>
35977
85f2aab6 35978 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35979 fix a warning.
35980
18b6c557 35981 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35982
ad760f81 359832009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35984
35985 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35986 `err'.
35987
87a4623b 359882009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35989
35990 Revert r2338.
35991
35992 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35993 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35994 grub_errno / grub_errmsg appropriately.
87a4623b 35995 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35996
8231fb77 359972009-06-27 Pavel Roskin <proski@gnu.org>
359982009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35999
36000 * include/grub/dl.h: Include grub/elf.h.
36001 (struct grub_dl): Add symtab field.
36002 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36003 GRUB_MODULES_MACHINE_READONLY.
36004 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36005 of the header for read-only modules.
36006 (grub_dl_unload): Free mod->symtab for read-only modules.
36007 * kern/i386/dl.c: Use mod->symtab.
36008 * kern/powerpc/dl.c: Likewise.
36009 * kern/sparc64/dl.c: Likewise.
36010 * kern/x86_64/dl.c: Likewise.
36011
36012 * conf/i386-qemu.rmk: New file.
36013 * kern/i386/qemu/startup.S: Likewise.
36014 * kern/i386/qemu/mmap.c: Likewise.
36015 * boot/i386/qemu/boot.S: Likewise.
36016 * include/grub/i386/qemu/time.h: Likewise.
36017 * include/grub/i386/qemu/serial.h: Likewise.
36018 * include/grub/i386/qemu/kernel.h: Likewise.
36019 * include/grub/i386/qemu/console.h: Likewise.
36020 * include/grub/i386/qemu/boot.h: Likewise.
36021 * include/grub/i386/qemu/init.h: Likewise.
36022 * include/grub/i386/qemu/machine.h: Likewise.
36023 * include/grub/i386/qemu/loader.h: Likewise.
36024 * include/grub/i386/qemu/memory.h: Likewise.
36025
36026 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36027 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36028 [qemu] (pkglib_IMAGES): Add `boot.img'.
36029 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36030 [qemu] (boot_img_FORMAT): New variables.
36031 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36032 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36033 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36034 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36035 [qemu] (kernel_img_FORMAT): New variables.
36036
36037 * configure.ac: Recognise `i386-qemu'.
36038
36039 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36040 (for no compression).
36041 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36042 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36043 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36044 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36045 ifdefs).
36046
97fe384e 360472009-06-27 Pavel Roskin <proski@gnu.org>
36048
36049 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
36050 read.
36051 * efiemu/prepare32.c: Likewise.
36052 * efiemu/prepare64.c: Likewise.
36053
c402ab17 360542009-06-26 Pavel Roskin <proski@gnu.org>
36055
36056 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
36057 * include/grub/elf.h: Define symbols without "32" or "64" based
36058 on GRUB_TARGET_WORDSIZE.
36059 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36060 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36061 ELF definitions.
36062 * efiemu/loadcore64.c: Likewise.
36063 * loader/i386/bsd32.c: Likewise.
36064 * loader/i386/bsd64.c: Likewise.
36065 * kern/dl.c: Remove own ELF definitions.
36066 * util/i386/efi/grub-mkimage.c: Likewise.
36067
9bbdfd4d 360682009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36069
36070 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36071 segment 0x0 unconditionally, because the reference generated by
36072 GAS is an absolute address.
36073
a42ce6e9 360742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36075
36076 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36077 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36078
c952cf92 360792009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36080
36081 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36082 indexes. Check for -f explicitly.
cc3752ad 36083 (search_file): Improve error message.
36084 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 36085
132a0a59 360862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36087
36088 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
36089 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
36090
387a140c 360912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36092
36093 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
36094 * conf/i386-ieee1275.rmk: Likewise.
36095 * conf/i386-coreboot.rmk: Likewise.
36096
36097 * kern/i386/pc/startup.S (grub_stop): Remove function.
36098 * kern/i386/ieee1275/startup.S: Likewise.
36099 * kern/i386/coreboot/startup.S: Likewise.
36100 * kern/i386/misc.S (grub_stop): New function.
36101
41da9665 361022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36103
36104 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
36105 * kern/i386/realmode.S (real_to_prot): ... to here.
36106
bf337234 361072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36108
36109 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
36110 with `kernel.img'.
36111 (kernel_elf_SOURCES): Rename to ...
36112 (kernel_img_SOURCES): ... this.
36113 (kernel_elf_HEADERS): Rename to ...
36114 (kernel_img_HEADERS): ... this. Update all users.
36115 (kernel_elf_ASFLAGS): Rename to ...
36116 (kernel_img_ASFLAGS): ... this.
36117 (kernel_elf_CFLAGS): Rename to ...
36118 (kernel_img_CFLAGS): ... this.
36119 (kernel_elf_LDFLAGS): Rename to ...
36120 (kernel_img_LDFLAGS): ... this.
36121 * conf/i386-coreboot.rmk: Likewise.
36122 * conf/powerpc-ieee1275.rmk: Likewise.
36123
36124 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
36125 with "kernel.img".
36126
f52196ff 361272009-06-21 Pavel Roskin <proski@gnu.org>
36128
c3cee413 36129 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
36130 to match nested functions.
36131 * loader/sparc64/ieee1275/linux.c: Likewise.
36132
f52196ff 36133 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
36134
58750afc 361352009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36136
36137 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
36138 all i386 platforms.
36139
15355c7d 361402009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36141
36142 Fix asm file handling on ELF, and remove workarounds.
36143
36144 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 36145 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 36146 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
36147 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
36148
3f3ec72b 361492009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
36150
36151 Load BSD ELF modules
36152
36153 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
36154 and loader/i386/bsd64.c
36155 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
36156 (FREEBSD_MODTYPE_ELF_MODULE): New definition
36157 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
36158 (grub_freebsd_load_elfmodule32): New declaration
36159 (grub_freebsd_load_elfmoduleobj64): Likewise
36160 (grub_freebsd_load_elf_meta32): Likewise
36161 (grub_freebsd_load_elf_meta64): Likewise
36162 (grub_freebsd_add_meta): Likewise
36163 (grub_freebsd_add_meta_module): Likewise
36164 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
36165 (grub_freebsd_add_meta_module): Likewise and move module-specific
36166 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
36167 (grub_cmd_freebsd): Add elf-kernel specific parts
36168 based on grub_freebsd_add_meta_module
36169 (grub_cmd_freebsd_module): Add type parsing moved from
36170 grub_freebsd_add_meta_module
36171 (grub_cmd_freebsd_module_elf): New function
36172 (cmd_freebsd_module_elf): New variable
36173 (GRUB_MOD_INIT): Register freebsd_module_elf
36174 * loader/i386/bsd32.c: New file
36175 * loader/i386/bsd64.c: Likewise
36176 * loader/i386/bsdXX.c: Likewise
36177 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36178 (grub_elf64_load): Likewise
36179 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36180 All users updated
36181 (grub_elf64_load_hook_t): Likewise
36182
0db15301 361832009-06-21 Colin Watson <cjwatson@ubuntu.com>
36184
36185 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36186 variable.
36187 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36188 don't write a menu entry for recovery mode.
36189
546796c1 361902009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36191
36192 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36193 after it's no longer needed.
36194
cd7310d5 361952009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36196
36197 * include/grub/i386/loader.h (grub_linux_prot_size)
36198 (grub_linux_tmp_addr, grub_linux_real_addr)
36199 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36200 GRUB_MACHINE_PCBIOS.
36201 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36202 common grub_util_info() call to ...
36203 (generate_image): ... here.
36204 Fix use of uninitialized memory, comparison of signed with
36205 unsigned integers and memory leak.
36206 Remove bogus module address message.
36207
ab32d3b5 362082009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36209
36210 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36211 grub_raid_register
36212 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36213
024ef597 362142009-06-19 Pavel Roskin <proski@gnu.org>
36215
36216 * configure.ac: Remove stray AC_MSG_CHECKING.
36217
3ac72b51 362182009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36219
36220 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 36221
e14cd814 362222009-06-18 Pavel Roskin <proski@gnu.org>
36223
36224 * conf/common.rmk: Add fs_file.mod.
36225 * disk/fs_file.c: New file.
36226 * include/grub/disk.h (enum grub_disk_dev_id): Add
36227 GRUB_DISK_DEVICE_FILE_ID.
36228
26586d98 362292009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36230
36231 Fix build with Apple's toolchain. Part 2
36232
36233 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36234 a fake start
36235
26de2bcd 362362009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36237
36238 Fix build with Apple's toolchain. Part 1
36239
36240 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36241 for long calls
36242 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 36243 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 36244 Apple's toolchain
36245
09b3490b 362462009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36247
36248 Fix warnings
36249
36250 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36251 (decomp_block): initialize ch
36252 use grub_memcpy instead of memcpy
36253
c22a006a 362542009-06-17 Pavel Roskin <proski@gnu.org>
36255
d3638678 36256 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36257 version, use declarations needed to use vga_text as the startup
36258 console.
36259
c22a006a 36260 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36261 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36262 the kernel.
36263 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36264 and grub_at_keyboard_fini(), it's done on module load and
36265 unload.
36266
05b129e0 362672009-06-17 Felix Zielcke <fzielcke@z-51.de>
36268
36269 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36270 file can't be found.
36271 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36272
cf24ed9e 362732009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36274
36275 Fix newline handling
36276
36277 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36278 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36279 (grub_script_yylex): don't segfault on unterminated script
36280 newline terminates command and variable
36281
74aa8e4b 362822009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36283
36284 avoid double grub_adjust_range call. Bug reported by David Simner
36285
36286 * kern/disk.c (grub_disk_write): change to raw disk access before
36287 calling disk_read
36288
1bd265f3 362892009-06-17 Colin Watson <cjwatson@ubuntu.com>
36290
36291 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36292 spaces, for the benefit of help2man.
36293 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36294
a2d08c06 362952009-06-16 Pavel Roskin <proski@gnu.org>
36296
36297 * kern/i386/halt.c: Include grub/machine/init.h.
36298 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36299
b97bcb19 363002009-06-16 Felix Zielcke <fzielcke@z-51.de>
36301
36302 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36303 drivemap menuentry.
36304
0644f96c 363052009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36306
36307 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36308 `echo' command.
36309
3ef17a2e 363102009-06-16 Pavel Roskin <proski@gnu.org>
36311
36312 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36313 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36314 save %dx, we only need %dl and we never change it.
36315 * boot/i386/pc/cdboot.S: Don't set the root drive.
36316 * boot/i386/pc/pxeboot.S: Likewise.
36317 * include/grub/i386/pc/boot.h: Remove
36318 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36319 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36320 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36321 * kern/i386/pc/init.c (make_install_device): Remove references
36322 to grub_root_drive.
36323 * kern/i386/pc/startup.S: Likewise.
36324 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36325
693fe637 363262009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36327
36328 xnu_uuid command
36329
36330 * commands/xnu_uuid.c: new file
36331 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36332 (xnu_uuid_mod_SOURCES): new variable
36333 (xnu_uuid_mod_CFLAGS): likewise
36334 (xnu_uuid_mod_LDFLAGS): likewise
36335 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36336 * conf/i386-ieee1275.rmk: likewise
36337 * conf/i386-pc.rmk: likewise
36338 * conf/powerpc-ieee1275.rmk: likewise
36339 * conf/sparc64-ieee1275.rmk: likewise
36340 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36341
c9da87d0 363422009-06-16 Pavel Roskin <proski@gnu.org>
36343
36344 * configure.ac: Avoid '==' in test command, it's not portable.
36345
9c6f4596 363462009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36347
36348 Probe command
36349
36350 * commands/probe.c: new file
36351 * conf/common.rmk (pkglib_MODULES): add probe.mod
36352 (probe_mod_SOURCES): new variable
36353 (probe_mod_CFLAGS): likewise
36354 (probe_mod_LDFLAGS): likewise
36355 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36356 * conf/i386-ieee1275.rmk: likewise
36357 * conf/i386-pc.rmk: likewise
36358 * conf/powerpc-ieee1275.rmk: likewise
36359 * conf/sparc64-ieee1275.rmk: likewise
36360
70b7f9fd 363612009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36362
36363 Fix handling of string like \"hello\" and "a
36364 b"
36365
36366 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36367 (grub_script_yylex): fix parsing of quoting, escaping and newline
36368
71c79a6b 363692009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36370
dd74360c 36371 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36372 handling
dd74360c 36373
0644f96c 363742009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36375
36376 * util/grub-mkconfig.in: Fix parsing of --output option.
36377
e40893c3 363782009-06-12 Pavel Roskin <proski@gnu.org>
36379
36380 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36381 genmk.rb don't need to be generated or installed.
36382
3a1acfe2 363832009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36384
36385 * commands/i386/pc/drivemap_int13h.S: add more comments
36386
3a4575d4 363872009-06-11 Pavel Roskin <proski@gnu.org>
36388
0658e928 36389 * Makefile.in (uninstall): Uninstall manuals.
36390
ca0388f0 36391 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36392 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36393 and update-grub_lib in two places.
36394 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36395
e3b27c39 36396 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36397 a compiler warning.
36398
3a4575d4 36399 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36400 `entry_lo' to fix variable shadowing.
36401
af1f4f55 364022009-06-11 Christian Franke <franke@computer.org>
36403
36404 * kern/misc.c (__enable_execute_stack): Add missing return type
36405 to prevent gcc warning.
36406
5225e649 364072009-06-11 Felix Zielcke <fzielcke@z-51.de>
36408
36409 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36410
7d83bd47 364112009-06-11 Pavel Roskin <proski@gnu.org>
36412
c1cb63ba 36413 * Makefile.in: Don't rely on any scripts being executable.
36414 Always use $(SHELL) to run shell scripts.
36415
7d83bd47 36416 * configure.ac: Always define ___main if using -nostdlib. This
36417 fixes tests on Cygwin.
36418
948f48e7 364192009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36420
36421 UDF fix
36422
7d83bd47 36423 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36424 is in bytes and not in blocks
7d83bd47 36425
8ada9bc1 364262009-06-11 Pavel Roskin <proski@gnu.org>
36427
36428 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36429 warning.
36430
25ad2323 364312009-06-11 Felix Zielcke <fzielcke@z-51.de>
36432
36433 * util/grub.d/30_os-prober.in: Fix a comment. Source
36434 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36435 to set the root device. Place drivemap command in the generated
36436 chain entry.
36437
e65acb0c 364382009-06-11 Pavel Roskin <proski@gnu.org>
36439
36440 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36441 have long been resolved.
36442
f285fe2d 364432009-06-11 Colin Watson <cjwatson@ubuntu.com>
36444
bd47b0b5 36445 * util/grub.d/10_linux.in: Capitalise "Linux".
36446
f285fe2d 36447 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36448
a0c62e4e 364492009-06-11 Pavel Roskin <proski@gnu.org>
36450
b6783cb2 36451 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36452 fix a gcc warning and ensure that the function won't ever exit.
36453
dde032e8 36454 * kern/i386/ieee1275/init.c: Add missing prototype for
36455 grub_stop_floppy().
36456
22cd079d 36457 * loader/ieee1275/multiboot2.c [__i386__]: Include
36458 grub/cpu/multiboot.h.
36459
a0c62e4e 36460 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36461 casts to short - they are not portable and cause warnings. Fix
36462 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36463
63963d17 364642009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36465
36466 Drivemap fixes
36467
36468 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36469 new function
36470 (grub_get_root_biosnumber_saved): new variable
36471 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36472 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36473 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36474 %dx after the call if necessary
36475 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36476 (boot_mod_SOURCES): remove
36477 (boot_mod_CFLAGS): remove
36478 (boot_mod_LDFLAGS): remove
36479 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36480 (boot_mod_SOURCES): new variable
36481 (boot_mod_CFLAGS): likewise
36482 (boot_mod_LDFLAGS): likewise
36483 * conf/i386-efi.rmk: likewise
36484 * conf/i386-ieee1275.rmk: likewise
36485 * conf/i386-pc.rmk: likewise
36486 * conf/powerpc-ieee1275.rmk: likewise
36487 * conf/sparc64-ieee1275.rmk: likewise
36488 * conf/x86_64-efi.rmk: likewise
36489 * include/grub/i386/pc/biosnum.h: new file
36490 * lib/i386/pc/biosnum.c: likewise
36491 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36492 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36493 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36494
33abf7ae 364952009-06-10 Pavel Roskin <proski@gnu.org>
36496
5ac35b35 36497 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36498 Use separate variables. Read only the file size at the end, but
36499 not the checksum that we don't use.
36500
5c5215d5 36501 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36502 Adjust all callers.
36503
27d5fef7 36504 * kern/ieee1275/openfw.c: Remove libc includes.
36505 * kern/ieee1275/cmain.c: Likewise.
36506 * include/grub/ieee1275/ieee1275.h: Likewise.
36507
33abf7ae 36508 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36509 compiler warnings.
36510
19d50c2b 365112009-06-10 Felix Zielcke <fzielcke@z-51.de>
36512
36513 * Makefile.in: Remove all trailing whitespace.
36514 * conf/i386-pc.rmk: Likewise.
36515 * conf/powerpc-ieee1275.rmk: Likewise.
36516 * conf/sparc64-ieee1275.rmk: Likewise.
36517 * docs/grub.texi: Likewise.
36518 * docs/texinfo.tex: Likewise.
36519 * disk/fs_uuid.c: Likewise.
36520 * disk/lvm.c: Likewise.
36521 * disk/scsi.c: Likewise.
36522 * disk/ata.c: Likewise.
36523 * disk/ieee1275/ofdisk.c: Likewise.
36524 * disk/i386/pc/biosdisk.c: Likewise.
36525 * disk/host.c: Likewise.
36526 * disk/raid.c: Likewise.
36527 * disk/efi/efidisk.c: Likewise.
36528 * disk/usbms.c: Likewise.
36529 * disk/memdisk.c: Likewise.
36530 * disk/loopback.c: Likewise.
36531 * kern/powerpc/dl.c: Likewise.
36532 * kern/device.c: Likewise.
36533 * kern/dl.c: Likewise.
36534 * kern/sparc64/dl.c: Likewise.
36535 * kern/ieee1275/ieee1275.c: Likewise.
36536 * kern/term.c: Likewise.
36537 * kern/fs.c: Likewise.
36538 * kern/i386/dl.c: Likewise.
36539 * kern/i386/pc/startup.S: Likewise.
36540 * kern/i386/pc/init.c: Likewise.
36541 * kern/i386/pc/mmap.c: Likewise.
36542 * kern/i386/pc/lzo1x.S: Likewise.
36543 * kern/i386/ieee1275/init.c: Likewise.
36544 * kern/i386/realmode.S: Likewise.
36545 * kern/i386/tsc.c: Likewise.
36546 * kern/partition.c: Likewise.
36547 * kern/corecmd.c: Likewise.
36548 * kern/file.c: Likewise.
36549 * kern/efi/efi.c: Likewise.
36550 * kern/efi/init.c: Likewise.
36551 * kern/efi/mm.c: Likewise.
36552 * kern/main.c: Likewise.
36553 * kern/err.c: Likewise.
36554 * kern/env.c: Likewise.
36555 * kern/disk.c: Likewise.
36556 * kern/generic/millisleep.c: Likewise.
36557 * kern/generic/rtc_get_time_ms.c: Likewise.
36558 * kern/misc.c: Likewise.
36559 * kern/parser.c: Likewise.
36560 * genmk.rb: Likewise.
36561 * configure.ac: Likewise.
36562 * boot/i386/pc/diskboot.S: Likewise.
36563 * boot/i386/pc/pxeboot.S: Likewise.
36564 * boot/i386/pc/boot.S: Likewise.
36565 * boot/i386/pc/lnxboot.S: Likewise.
36566 * boot/i386/pc/cdboot.S: Likewise.
36567 * parttool/pcpart.c: Likewise.
36568 * video/readers/tga.c: Likewise.
36569 * video/video.c: Likewise.
36570 * video/bitmap.c: Likewise.
36571 * lib/envblk.c: Likewise.
36572 * lib/i386/setjmp.S: Likewise.
36573 * fs/xfs.c: Likewise.
36574 * fs/afs.c: Likewise.
36575 * fs/fat.c: Likewise.
36576 * fs/ntfs.c: Likewise.
36577 * fs/udf.c: Likewise.
36578 * fs/affs.c: Likewise.
36579 * fs/iso9660.c: Likewise.
36580 * fs/hfs.c: Likewise.
36581 * fs/fshelp.c: Likewise.
36582 * fs/ext2.c: Likewise.
36583 * fs/jfs.c: Likewise.
36584 * fs/reiserfs.c: Likewise.
36585 * fs/hfsplus.c: Likewise.
36586 * fs/minix.c: Likewise.
36587 * fs/cpio.c: Likewise.
36588 * fs/sfs.c: Likewise.
36589 * fs/ufs.c: Likewise.
36590 * efiemu/prepare.c: Likewise.
36591 * efiemu/loadcore_common.c: Likewise.
36592 * efiemu/runtime/efiemu.sh: Likewise.
36593 * efiemu/runtime/efiemu.S: Likewise.
36594 * efiemu/runtime/efiemu.c: Likewise.
36595 * efiemu/pnvram.c: Likewise.
36596 * efiemu/main.c: Likewise.
36597 * efiemu/i386/pc/cfgtables.c: Likewise.
36598 * efiemu/i386/loadcore64.c: Likewise.
36599 * efiemu/i386/loadcore32.c: Likewise.
36600 * efiemu/loadcore.c: Likewise.
36601 * efiemu/symbols.c: Likewise.
36602 * efiemu/mm.c: Likewise.
36603 * include/grub/autoefi.h: Likewise.
36604 * include/grub/datetime.h: Likewise.
36605 * include/grub/term.h: Likewise.
36606 * include/grub/hfs.h: Likewise.
36607 * include/grub/lvm.h: Likewise.
36608 * include/grub/i386/tsc.h: Likewise.
36609 * include/grub/i386/linux.h: Likewise.
36610 * include/grub/i386/xnu.h: Likewise.
36611 * include/grub/i386/efiemu.h: Likewise.
36612 * include/grub/i386/pc/biosdisk.h: Likewise.
36613 * include/grub/i386/pc/memory.h: Likewise.
36614 * include/grub/i386/pc/vbe.h: Likewise.
36615 * include/grub/parttool.h: Likewise.
36616 * include/grub/video.h: Likewise.
36617 * include/grub/memory.h: Likewise.
36618 * include/grub/fs.h: Likewise.
36619 * include/grub/partition.h: Likewise.
36620 * include/grub/xnu.h: Likewise.
36621 * include/grub/efi/api.h: Likewise.
36622 * include/grub/efi/pe32.h: Likewise.
36623 * include/grub/efi/memory.h: Likewise.
36624 * include/grub/multiboot.h: Likewise.
36625 * include/grub/usbdesc.h: Likewise.
36626 * include/grub/multiboot2.h: Likewise.
36627 * include/grub/acpi.h: Likewise.
36628 * include/grub/efiemu/efiemu.h: Likewise.
36629 * include/grub/disk.h: Likewise.
36630 * include/grub/ieee1275/ieee1275.h: Likewise.
36631 * include/grub/net.h: Likewise.
36632 * include/grub/machoload.h: Likewise.
36633 * include/grub/macho.h: Likewise.
36634 * include/multiboot.h: Likewise.
36635 * genmoddep.awk: Likewise.
36636 * normal/main.c: Likewise.
36637 * normal/menu_entry.c: Likewise.
36638 * normal/menu_viewer.c: Likewise.
36639 * normal/completion.c: Likewise.
36640 * normal/cmdline.c: Likewise.
36641 * normal/misc.c: Likewise.
36642 * normal/datetime.c: Likewise.
36643 * bus/usb/usbtrans.c: Likewise.
36644 * bus/usb/ohci.c: Likewise.
36645 * bus/usb/uhci.c: Likewise.
36646 * bus/usb/usb.c: Likewise.
36647 * mmap/efi/mmap.c: Likewise.
36648 * mmap/i386/pc/mmap_helper.S: Likewise.
36649 * mmap/i386/pc/mmap.c: Likewise.
36650 * mmap/i386/mmap.c: Likewise.
36651 * mmap/i386/uppermem.c: Likewise.
36652 * mmap/mmap.c: Likewise.
36653 * commands/acpi.c: Likewise.
36654 * commands/echo.c: Likewise.
36655 * commands/blocklist.c: Likewise.
36656 * commands/loadenv.c: Likewise.
36657 * commands/usbtest.c: Likewise.
36658 * commands/boot.c: Likewise.
36659 * commands/parttool.c: Likewise.
36660 * commands/search.c: Likewise.
36661 * commands/cat.c: Likewise.
36662 * commands/i386/pc/play.c: Likewise.
36663 * commands/i386/pc/drivemap.c: Likewise.
36664 * commands/i386/pc/vbeinfo.c: Likewise.
36665 * commands/i386/pc/acpi.c: Likewise.
36666 * commands/i386/pc/vbetest.c: Likewise.
36667 * commands/ls.c: Likewise.
36668 * commands/cmp.c: Likewise.
36669 * commands/test.c: Likewise.
36670 * commands/efi/acpi.c: Likewise.
36671 * commands/gptsync.c: Likewise.
36672 * commands/help.c: Likewise.
36673 * partmap/amiga.c: Likewise.
36674 * partmap/apple.c: Likewise.
36675 * partmap/acorn.c: Likewise.
36676 * partmap/pc.c: Likewise.
36677 * partmap/sun.c: Likewise.
36678 * partmap/gpt.c: Likewise.
36679 * script/sh/lexer.c: Likewise.
36680 * script/sh/function.c: Likewise.
36681 * font/font.c: Likewise.
36682 * font/font_cmd.c: Likewise.
36683 * loader/powerpc/ieee1275/linux.c: Likewise.
36684 * loader/efi/chainloader.c: Likewise.
36685 * loader/multiboot_loader.c: Likewise.
36686 * loader/macho.c: Likewise.
36687 * loader/i386/multiboot.c: Likewise.
36688 * loader/i386/linux.c: Likewise.
36689 * loader/i386/pc/linux.c: Likewise.
36690 * loader/i386/pc/multiboot2.c: Likewise.
36691 * loader/i386/pc/chainloader.c: Likewise.
36692 * loader/i386/pc/xnu.c: Likewise.
36693 * loader/i386/bsd_trampoline.S: Likewise.
36694 * loader/i386/efi/linux.c: Likewise.
36695 * loader/i386/multiboot_elfxx.c: Likewise.
36696 * loader/i386/bsd_helper.S: Likewise.
36697 * loader/i386/bsd.c: Likewise.
36698 * loader/i386/linux_trampoline.S: Likewise.
36699 * loader/i386/xnu_helper.S: Likewise.
36700 * loader/i386/xnu.c: Likewise.
36701 * loader/i386/bsd_pagetable.c: Likewise.
36702 * loader/i386/multiboot_helper.S: Likewise.
36703 * loader/xnu.c: Likewise.
36704 * loader/xnu_resume.c: Likewise.
36705 * io/gzio.c: Likewise.
36706 * term/efi/console.c: Likewise.
36707 * term/terminfo.c: Likewise.
36708 * term/ieee1275/ofconsole.c: Likewise.
36709 * term/i386/pc/serial.c: Likewise.
36710 * term/i386/pc/vesafb.c: Likewise.
36711 * term/i386/pc/vga.c: Likewise.
36712 * term/usb_keyboard.c: Likewise.
36713 * term/gfxterm.c: Likewise.
36714 * aclocal.m4: Likewise.
36715 * util/lvm.c: Likewise.
36716 * util/grub.d/30_os-prober.in: Likewise.
36717 * util/grub.d/10_hurd.in: Likewise.
36718 * util/console.c: Likewise.
36719 * util/grub-macho2img.c: Likewise.
36720 * util/grub-probe.c: Likewise.
36721 * util/hostfs.c: Likewise.
36722 * util/i386/pc/grub-mkimage.c: Likewise.
36723 * util/i386/pc/grub-setup.c: Likewise.
36724 * util/i386/efi/grub-mkimage.c: Likewise.
36725 * util/grub-mkconfig.in: Likewise.
36726 * util/raid.c: Likewise.
36727 * util/resolve.c: Likewise.
36728 * util/grub-mkdevicemap.c: Likewise.
36729 * util/grub-emu.c: Likewise.
36730 * util/getroot.c: Likewise.
36731 * util/hostdisk.c: Likewise.
36732 * util/usb.c: Likewise.
36733 * util/grub-editenv.c: Likewise.
36734 * util/misc.c: Likewise.
36735
d2d49665 367362009-06-10 Felix Zielcke <fzielcke@z-51.de>
36737
36738 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36739 `genparttoollist.sh'.
36740 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36741 Add `*.sh' to the list find searches for and change `mdate.sh'
36742 to `mdate-sh'.
36743
fe052e37 367442009-06-10 Pavel Roskin <proski@gnu.org>
36745
2763ac18 36746 * include/grub/multiboot2.h: Provide compatibility defines for
36747 multiboot2.h.
36748 * include/multiboot2.h: Include stdint.h only if needed, using
36749 angle brackets.
36750 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36751 grub/multiboot2.h.
36752 * loader/ieee1275/multiboot2.c: Likewise.
36753 * loader/multiboot2.c: Likewise.
36754 * loader/multiboot_loader.c: Likewise.
36755
437e6adc 36756 * configure.ac: Use -nostdlib when probing for the target. It
36757 should not be required to have libc for the target.
36758
06a6836c 36759 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36760 they fail without libc headers for the target.
36761 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36762 exports.
36763 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36764 preprocessor conditionals.
36765
fe052e37 36766 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36767 build system doesn't need to be aware of the tar.c internals.
36768
afd22553 367692009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 36770
afd22553 36771 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 36772
6b787c4f 367732009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36774
36775 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36776 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36777
367782009-06-09 Felix Zielcke <fzielcke@z-51.de>
36779
36780 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 36781 aren't available if ata.mod gets used.
6b787c4f 36782
473d1e45 367832009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 36784
473d1e45 36785 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 36786 initialising controller.
473d1e45 36787 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 36788
255a27d4 367892009-06-08 Felix Zielcke <fzielcke@z-51.de>
36790
36791 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36792 to choose between ata and biosdisk module on i386-pc.
36793
473d1e45 367942009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 36795
d55842d8 36796 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36797 Subclass and Programming Interface fields in terms of the 3 byte
36798 Class Code register.
36799 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36800
fa5db0b1 36801 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36802 interface is OHCI. Add grub_dprintf for symmetry with
36803 bus/usb/uhci.c.
36804 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36805 interface is UHCI. Add interf variable for programming
36806 interface. Print interface with class/subclass.
36807
c0947beb 36808 * bus/usb/ohci.c: Set interf with correct field.
36809
69da8877 36810 * bus/usb/uhci.c: Remove unneeded doubled lines.
36811 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36812 Remove whitespace inside comment.
36813
9e172e30 368142009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36815
36816 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36817 as fallback an equivalent option without depth.
36818
de65ee2b 368192009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36820
36821 Not fail if unable to retrieve C/H/S on LBA disks
36822
473d1e45 36823 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36824 if unable to retrieve C/H/S on LBA disks
36825
b57ea2c9 368262009-06-08 Pavel Roskin <proski@gnu.org>
36827
36828 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36829 about aliasing.
36830
af361263 368312009-06-08 Felix Zielcke <fzielcke@z-51.de>
36832
36833 * Makefile.in (uninstall): Remove all $lib_DATA files.
36834
4c9ec6b3 368352009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36836
36837 Bugfix: install on partitionless device
36838
36839 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36840 is a whole disk
36841
e76fc924 368422009-06-08 Felix Zielcke <fzielcke@z-51.de>
36843
36844 * Makefile.in (uninstall): Remove all $include_DATA files.
36845
ba5a0d05 368462009-06-08 Felix Zielcke <fzielcke@z-51.de>
36847
36848 * commands/true.c: New file. Implement the true and false commands.
36849 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36850 (true_mod_SOURCES): New variable.
36851 (true_mod_CFLAGS): Likewise.
36852 (true_mod_LDFLAGS): Likewise.
36853
c8048e32 368542009-06-05 Colin D Bennett <colin@gibibit.com>
36855
36856 Optimized font character lookup using binary search instead of linear
36857 search. Fonts now are required to have the character index ordered by
36858 code point.
36859
36860 * font/font.c (load_font_index): Verify that fonts have ordered
36861 character indices.
36862 (find_glyph): Use binary search instead of linear search to find a
36863 character in a font.
36864
408305be 368652009-06-05 Michael Scherer <misc@mandriva.org>
36866
36867 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36868 uses case sensitive btree.
36869 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36870 only for case insensitive filesystems.
36871
8ee1e0d9 368722009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36873
36874 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36875 * conf/common.rmk (search_mod_CFLAGS): likewise
36876
a9966eb1 368772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36878
473d1e45 36879 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36880 compensate a compiler bug
36881
9e7100fb 368822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36883
473d1e45 36884 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36885 instead of '\b'
473d1e45 36886
ede21d71 368872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36888
36889 Definitions for creating asm symbols with Apple's CC
36890
36891 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36892 [APPLE_CC] (VARIABLE): likewise
36893
9dbf7653 368942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36895
36896 Disable lnxboot.img when compiled
36897 with Apple's CC
36898
36899 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36900 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36901 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36902 [! APPLE_CC] (CODE_LENG): skip
36903 [! APPLE_CC] (setup_sects): likewise
36904 [! APPLE_CC]: skip filling
473d1e45 36905
e93cdc3d 369062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36907
36908 Address in trampolines based on 32-bit registers when compiled
36909 with Apple's CC
36910
473d1e45 36911 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36912 for addresses
36913 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36914
6c688477 369152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36916
36917 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36918
36919 * kern/misc.c [APPLE_CC] (memcpy): new function
36920 [APPLE_CC] (memmove): likewise
36921 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36922 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36923 (memset): likewise
36924 (abort): likewise
36925 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36926 APPLE_CC are defined
36927 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36928 (grub_assert_fail): make prototype conditional
36929
e37ffc5c 369302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36931
36932 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36933
473d1e45 36934 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36935 grub-macho2img
e37ffc5c 36936 (CLEANFILES): add grub-macho2img
36937 (grub_macho2img_SOURCES): new variable
36938 * kern/i386/pc/startup.S (bss_start): new variable
36939 (bss_end): likewise
36940 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36941 * util/grub-macho2img.c: new file
36942
cf00df31 369432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36944
36945 Use objconv when compiling with Apple's CC
36946
36947 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36948 (efiemu64.o): likewise
36949 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36950 when compiling with Apple's CC
36951 (efiemu64_s.o): likewise
36952 * configure.ac: check for objconv when compiling with Apple's CC
36953 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36954
d119a20c 369552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36956
36957 Define segment as well as section when compiling with
36958 Apple's CC
36959
36960 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36961 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36962 (efiemu_convert_pointer): likewise
36963 (efiemu_set_virtual_address_map): likewise
36964 (efiemu_convert_pointer): likewise
36965 (efiemu_getcrc32): likewise
36966 (init_crc32_table): likewise
36967 (reflect): likewise
36968 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36969 (GRUB_MOD_DEP): likewise
473d1e45 36970
c8600122 369712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36972
36973 Allow a compilation without -mcmodel=large
36974
36975 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36976 when compiled without -mcmodel=large
473d1e45 36977 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36978 without -mcmodel=large
473d1e45 36979 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36980 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36981
e8df1d4e 369822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36983
36984 Remove nested functions in efiemu core
36985
36986 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36987
cc6c3ac1 369882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36989
36990 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36991
36992 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36993 temporary storage
473d1e45 36994 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36995 using Apple's CC
cc6c3ac1 36996 (grub_cpu_is_tsc_supported): likewise
36997 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36998
3e325901 369992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37000
37001 Absolute addressing through constant with Apple's cc
37002
37003 * kern/i386/pc/startup.S: Define necessary constants
37004 and address through it when using ABS with Apple's CC
37005 * boot/i386/pc/diskboot.S: likewise
37006 * boot/i386/pc/boot.S: likewise
37007 * boot/i386/pc/lnxboot.S: likewise
37008 * boot/i386/pc/cdboot.S: likewise
37009 * mmap/i386/pc/mmap_helper.S: likewise
37010 * commands/i386/pc/drivemap_int13h.S: likewise
37011
2b167a72 370122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37013
37014 Check if compiler is apple cc
37015
37016 * Makefile.in (ASFLAGS): new variable
37017 (TARGET_ASFLAGS): likewise
37018 (TARGET_MODULE_FORMAT): likewise
37019 (TARGET_APPLE_CC): likewise
37020 (OBJCONV): likewise
37021 (TARGET_IMG_CFLAGS): likewise
37022 (TARGET_CPPFLAGS): add includedir
37023 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37024 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37025 Check for linker script only if compiler isn't Apple's CC
37026 (TARGET_MODULE_FORMAT): set
37027 (TARGET_APPLE_CC): likewise
37028 (TARGET_ASFLAGS): likewise
37029 (ASFLAGS): likewise
37030 Check for objcopy only if compiler isn't Apple's CC
37031 Check for BSS symbol only if compiler isn't Apple's CC
37032 * genmk.rb: adapt nm options if we use Apple's utils
37033 * aclocal.m4 (grub_apple_cc): new test
37034 (grub_apple_target_cc): likewise
473d1e45 37035
fb14123e 370362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37037
37038 Simplify sed expressions and improve awk
37039
37040 * Makefile.in (install-local): simplify sed expression
37041 * gencmdlist.sh: likewise
37042 * genmoddep.awk: avoid adding module as a dependency of itself
37043
5b889789 370442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37045
37046 Add missing start symbols
37047
37048 * boot/i386/pc/boot.S: add start
fb14123e 37049 * boot/i386/pc/pxeboot.S: likewise
473d1e45 37050
fd2bf2e3 370512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37052
37053 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 37054
37055 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 37056 (relocate_addresses): consider both r_addend and value at offset
37057 (make_mods_section): zerofill modinfo and header
37058 (convert_elf): write prefix here
473d1e45 37059
5389763d 370602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37061
37062 Use .asciz instead of .string
37063
37064 * i386/pc/diskboot.S: use .asciz instead of .string
37065 * i386/pc/boot.S: likewise
37066 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37067 (GRUB_MOD_NAME): likewise
473d1e45 37068
3eb5ed4e 370692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37070
37071 gfxpayload support
37072
37073 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37074 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37075 (grub_video_setup): remove
37076 (grub_video_set_mode): new prototype
37077 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37078 (vid_mode): remove
37079 (linux_vesafb_res): compile only on PCBIOS
37080 (grub_linux_boot): support gfxpayload
37081 * loader/i386/pc/xnu.c (video_hook): new function
37082 (grub_xnu_set_video): support gfxpayload
37083 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
37084 (DEFAULT_VIDEO_HEIGHT): likewise
37085 (DEFAULT_VIDEO_FLAGS): likewise
37086 (DEFAULT_VIDEO_MODE): new definition
37087 (video_hook): new function
37088 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 37089 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 37090 loading xnu
37091 * video/video.c (grub_video_setup): removed
473d1e45 37092 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 37093 grub_video_setup
37094
4b0e1143 370952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37096
37097 Avoid calling biosdisk in drivemap
37098
37099 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
37100 (revparse_biosdisk): likewise
37101 (list_mappings): derive name from id directly
37102 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 37103
fda6cb98 371042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37105
37106 Script fixes
37107
37108 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
37109 (grub_lexer_param): add tokenonhold
37110 (grub_script_create_cmdline): remove cmdline. All callers updated
37111 (grub_script_function_create): make functionname
37112 grub_script_arg. All callers updated
37113 (grub_script_execute_argument_to_string): new prototype
37114 * kern/parser.c (state_transitions): reorder
37115 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 37116 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 37117 make global
37118 (grub_script_execute_cmdline): use new format
37119 * script/sh/function.c (grub_script_function_create): make functionname
37120 grub_script_arg. All callers updated
473d1e45 37121 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 37122 (grub_script_yylex): remove
37123 (grub_script_yylex2): renamed to ...
37124 (grub_script_yylex): ...renamed
37125 parse the expressions like a${b}c
37126 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
37127 (GRUB_PARSER_TOKEN_VAR): remove
37128 (GRUB_PARSER_TOKEN_NAME): likewise
37129 ("if"): declare as typeless
37130 ("while"): likewise
37131 ("function"): likewise
37132 ("else"): likewise
37133 ("then"): likewise
37134 ("fi"): likewise
37135 (text): remove
37136 (argument): likewise
37137 (script): accept empty scripts and make exit on error
37138 (arguments): use GRUB_PARSER_TOKEN_ARG
37139 (function): likewise
37140 (command): move error handling to script
37141 (menuentry): move grub_script_lexer_ref before
473d1e45 37142 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 37143 argument. All callers updated
37144
f4448a07 371452009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37146
37147 Prevent GRUB from probing floppies during boot.
37148
37149 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
37150 * commands/search.c (options): Add --no-floppy.
37151 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
37152 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
37153 --no-floppy when searching for UUIDs.
37154
2bf5885a 371552009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37156
37157 Simplify the code duplication in commands/search.c.
37158
37159 * commands/search.c (search_label, search_fs_uuid): Merge into ...
37160 (search_fs): ... this. Update all users.
37161
f6fd460a 371622009-06-03 Felix Zielcke <fzielcke@z-51.de>
37163
37164 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
37165
cbb3c83e 371662009-05-28 Pavel Roskin <proski@gnu.org>
37167
57788cfd 37168 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
37169 Remove the original symlink explicitly.
37170
cbb3c83e 37171 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37172 just one slash. That's how grub_fshelp_find_file() does it.
37173
cd0d5e30 371742009-05-26 Pavel Roskin <proski@gnu.org>
37175
f0f8bbe2 37176 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37177 to `str'.
37178
cd0d5e30 37179 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37180 possibly unused.
37181
8c2cab51 371822009-05-25 Christian Franke <franke@computer.org>
37183
37184 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37185 register.
37186 (grub_atapi_identify): Add wait after drive select.
37187 (grub_ata_identify): Do more strict status register check before
37188 calling grub_atapi_identify (). Suppress error message if status
37189 register is 0x00 after command failure. Add status register
37190 check after PIO read to avoid bogus identify due to stuck DRQ.
37191 Thanks to Pavel Roskin for testing.
37192 (grub_device_initialize): Remove unsafe status register check.
37193 Thanks to 'phcoder' for problem report and patch.
37194 Prevent sign extension in debug message.
37195
230c0ad6 371962009-05-23 Colin D Bennett <colin@gibibit.com>
37197
37198 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37199 definition file, and functions defined in `normal/menu.c' have had
37200 their prototypes moved to `include/grub/menu.h' for consistency.
37201
37202 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37203 from normal.h.
37204 (grub_menu_get_entry): Likewise.
37205 (grub_menu_get_timeout): Likewise.
37206 (grub_menu_set_timeout): Likewise.
37207 (grub_menu_execute_entry): Likewise.
37208 (grub_menu_execute_with_fallback): Likewise.
37209 (grub_menu_entry_run): Likewise.
37210
37211 * include/grub/normal.h: Re-ordered and grouped function
37212 prototypes by file that the function is defined in.
37213 (grub_menu_execute_callback): Removed; moved to menu.h.
37214 (grub_menu_get_entry): Likewise.
37215 (grub_menu_get_timeout): Likewise.
37216 (grub_menu_set_timeout): Likewise.
37217 (grub_menu_execute_entry): Likewise.
37218 (grub_menu_execute_with_fallback): Likewise.
37219 (grub_menu_entry_run): Likewise.
37220 (grub_menu_addentry): Renamed from this ...
37221 (grub_normal_add_menu_entry): ... to this.
37222
37223 * normal/main.c (grub_menu_addentry): Renamed from this ...
37224 (grub_normal_add_menu_entry): ... to this.
37225
37226 * script/sh/execute.c (grub_script_execute_menuentry): Update
37227 reference to renamed grub_menu_addentry function.
37228
861f03a5 372292009-05-23 Felix Zielcke <fzielcke@z-51.de>
37230
37231 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37232
96b1619a 372332009-05-22 Pavel Roskin <proski@gnu.org>
37234
bf6a5fb2 37235 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37236 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37237 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37238 compiling for the i386 targets, but not for the utilities.
37239
96b1619a 37240 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37241 to grub_uint8_t.
37242 (grub_root_drive): Likewise.
37243 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37244 remove alignment.
37245 (grub_root_drive): Change size to byte.
37246 (grub_start_addr): Remove.
37247 (grub_end_addr): Likewise.
37248 (grub_apm_bios_info): Likewise.
37249
b729776b 372502009-05-21 Felix Zielcke <fzielcke@z-51.de>
37251
37252 * normal/i386: Remove.
37253 * normal/powerpc: Likewise.
37254 * normal/sparc64: Likewise.
37255 * normal/x86_64: Likewise.
37256
0a15ce80 372572009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37258
37259 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37260 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37261 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37262
33db9015 372632009-05-18 Colin D Bennett <colin@gibibit.com>
37264
d6da58e6 37265 Display error messages when parsing a Lua statement fails.
37266 Previously, executing a syntactically invalid statement like
37267 ")foo" or "bar;" would silently fail.
33db9015 37268
37269 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37270 (grub_lua_parse_line): Improved reporting of Lua parser and
37271 execution errors.
33db9015 37272
46422c89 372732009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37274
37275 Remove -Werror which causes build to fail on some systems
37276
37277 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37278 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37279 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37280
22f53a96 372812009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37282
37283 trampoline for linux on 64-bit platform
37284
18f547ad 37285 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37286 loader/i386/efi/linux_trampoline.S
37287 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37288 declaration
d6da58e6 37289 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37290 here
22f53a96 37291 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37292 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37293 trampoline
22f53a96 37294 (jumpvector): removed
37295 (grub_linux_trampoline_start): new declaration
37296 (grub_linux_trampoline_end): likewise
37297 (grub_linux_boot): use trampoline when on 64-bit platform
37298 * loader/i386/linux.c: likewise
37299
cb5a0f40 373002009-05-16 Pavel Roskin <proski@gnu.org>
37301
37302 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37303 const to avoid a warning.
37304 (grub_lua_setenv): Likewise.
37305 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37306 lmsg to fix a warning.
37307
334f2c28 373082009-05-16 Felix Zielcke <fzielcke@z-51.de>
37309
37310 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37311 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37312 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37313 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37314 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37315 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37316 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37317 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37318
59e5d3ec 373192009-05-16 Felix Zielcke <fzielcke@z-51.de>
37320
37321 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37322
9d87a1ba 373232009-05-16 Bean <bean123ch@gmail.com>
37324
37325 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37326 (lua_mod_SOURCES): New variable.
37327 (lua_mod_CFLAGS): Likewise.
37328 (lua_mod_LDFLAGS): Likewise.
37329
37330 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37331 (setjmp_mod_SOURCES): New variable.
37332 (setjmp_mod_CFLAGS): Likewise.
37333 (setjmp_LDFLAGS): Likewise.
37334
37335 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37336 (setjmp_mod_SOURCES): New variable.
37337 (setjmp_mod_CFLAGS): Likewise.
37338 (setjmp_LDFLAGS): Likewise.
37339
37340 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37341 (setjmp_mod_SOURCES): New variable.
37342 (setjmp_mod_CFLAGS): Likewise.
37343 (setjmp_LDFLAGS): Likewise.
37344
37345 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37346 (setjmp_mod_SOURCES): New variable.
37347 (setjmp_mod_CFLAGS): Likewise.
37348 (setjmp_LDFLAGS): Likewise.
37349
37350 * normal/i386/setjmp.S: Moved from here ...
37351 * lib/i386/setjmp.S: ... Moved here
37352 * normal/x86_64/setjmp.S: Moved from here ...
37353 * lib/x86_64/setjmp.S: ... Moved here
37354 * normal/powerpc/setjmp.S: Moved from here ...
37355 * lib/powerpc/setjmp.S: ... Moved here
37356 * normal/sparc64/setjmp.S: Moved from here ...
37357 * lib/sparc64/setjmp.S: ... Moved here
37358
37359 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37360 returns_twice in mingw.
37361
37362 * script/lua/grub_lib.c: New file.
37363 * script/lua/grub_lib.h: Likewise.
37364 * script/lua/grub_lua.h: Likewise.
37365 * script/lua/grub_main.c: Likewise.
37366 * script/lua/lapi.c: Likewise.
37367 * script/lua/lapi.h: Likewise.
37368 * script/lua/lauxlib.c: Likewise.
37369 * script/lua/lauxlib.h: Likewise.
37370 * script/lua/lbaselib.c: Likewise.
37371 * script/lua/lcode.c: Likewise.
37372 * script/lua/lcode.h: Likewise.
37373 * script/lua/ldblib.c: Likewise.
37374 * script/lua/ldebug.c: Likewise.
37375 * script/lua/ldebug.h: Likewise.
37376 * script/lua/ldo.c: Likewise.
37377 * script/lua/ldo.h: Likewise.
37378 * script/lua/ldump.c: Likewise.
37379 * script/lua/lfunc.c: Likewise.
37380 * script/lua/lfunc.h: Likewise.
37381 * script/lua/lgc.c: Likewise.
37382 * script/lua/lgc.h: Likewise.
37383 * script/lua/linit.c: Likewise.
37384 * script/lua/liolib.c: Likewise.
37385 * script/lua/llex.c: Likewise.
37386 * script/lua/llex.h: Likewise.
37387 * script/lua/llimits.h: Likewise.
37388 * script/lua/lmathlib.c: Likewise.
37389 * script/lua/lmem.c: Likewise.
37390 * script/lua/lmem.h: Likewise.
37391 * script/lua/loadlib.c: Likewise.
37392 * script/lua/lobject.c: Likewise.
37393 * script/lua/lobject.h: Likewise.
37394 * script/lua/lopcodes.c: Likewise.
37395 * script/lua/lopcodes.h: Likewise.
37396 * script/lua/loslib.c: Likewise.
37397 * script/lua/lparser.c: Likewise.
37398 * script/lua/lparser.h: Likewise.
37399 * script/lua/lstate.c: Likewise.
37400 * script/lua/lstate.h: Likewise.
37401 * script/lua/lstring.c: Likewise.
37402 * script/lua/lstring.h: Likewise.
37403 * script/lua/lstrlib.c: Likewise.
37404 * script/lua/ltable.c: Likewise.
37405 * script/lua/ltable.h: Likewise.
37406 * script/lua/ltablib.c: Likewise.
37407 * script/lua/ltm.c: Likewise.
37408 * script/lua/ltm.h: Likewise.
37409 * script/lua/lua.h: Likewise.
37410 * script/lua/luaconf.h: Likewise.
37411 * script/lua/lualib.h: Likewise.
37412 * script/lua/lundump.c: Likewise.
37413 * script/lua/lundump.h: Likewise.
37414 * script/lua/lvm.c: Likewise.
37415 * script/lua/lvm.h: Likewise.
37416 * script/lua/lzio.c: Likewise.
37417 * script/lua/lzio.h: Likewise.
37418
5e898c9d 374192009-05-16 Bean <bean123ch@gmail.com>
37420
37421 * include/grub/kernel.h (grub_module_header_types): Add type
37422 OBJ_TYPE_CONFIG.
37423
37424 * kern/main.c (grub_load_config): New function.
37425 (grub_main): Call grub_load_config to read boot config.
37426
37427 * grub-mkimage (generate_image): New parameter config_path.
37428 (options): New option --config.
37429 (main): Parse --config option, and pass it to generate_image.
37430
cf353a47 374312009-05-14 Christian Franke <franke@computer.org>
37432
37433 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37434 This fixes build on Cygwin.
37435
3834887f 374362009-05-14 Pavel Roskin <proski@gnu.org>
37437
37438 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37439 jump. This saves two bytes, so the typical case of 2 swapped
37440 drives would fit 32 bytes.
37441
8090fc01 374422009-05-13 Pavel Roskin <proski@gnu.org>
37443
ac963883 37444 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37445 grub_uint32_t to avoid a warning.
37446
8090fc01 37447 * loader/i386/linux.c (allocate_pages): When assigning
37448 real_mode_mem, cast through grub_size_t to fix a warning. The
37449 code already makes sure that the value would fit a pointer.
37450 (grub_linux_setup_video): Cast render_target->data to
37451 grub_size_t to fix a warning.
37452
18f547ad 374532009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37454
37455 * commands/i386/pc/drivemap.c: New file - implement drivemap
37456 command.
37457 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37458 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37459
6f6a8b28 374602009-05-13 Pavel Roskin <proski@gnu.org>
37461
37462 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37463 embedding_area_exists.
37464
15fbf4c4 374652009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37466
37467 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37468 it easier to understand / work with.
59978c8a 37469 Improve warning messages for cases where there's no embedding area,
37470 or when it is too small (or core.img too large).
15fbf4c4 37471
238e871f 374722009-05-13 Pavel Roskin <proski@gnu.org>
37473
0ab3a9a4 37474 * loader/i386/pc/multiboot2.c: Add necessary includes for
37475 grub_multiboot2_real_boot().
37476
a2c8c5f8 37477 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37478 PX record is always little-endian. We only need the lower 2
37479 bytes of the mode.
37480
faec96af 37481 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37482 facilitate code reuse.
37483 (grub_cpio_mount): Use "struct head", not a char buffer. This
37484 fixes a warning reported by gcc 4.4.
37485
238e871f 37486 * kernel/disk.c (grub_disk_read): Use void pointer for the
37487 buffer.
37488 (grub_disk_write): Use const void pointer for the buffer.
37489 Adjust all callers. Remove unnecessary casts.
37490
901d2f0c 374912009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37492
37493 * util/i386/pc/grub-install.in: Update copyright year.
37494
18f547ad 374952009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37496
37497 gptsync
37498
37499 * commands/gptsync.c: new file
37500 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37501 (gptsync_mod_SOURCES): new variable
37502 (gptsync_mod_CFLAGS): likewise
37503 (gptsync_mod_LDFLAGS): likewise
18f547ad 37504 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37505 new definition
37506 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37507 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37508 * conf/i386-ieee1275.rmk: likewise
37509 * conf/i386-pc.rmk: likewise
37510 * conf/powerpc-ieee1275.rmk: likewise
37511
b4ba690a 375122009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37513
37514 Fixed grub-emu
37515
37516 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37517 (grub_dl_ref): likewise
37518
317e1a44 375192009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37520
37521 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37522 split in two functions (one for msdos and one for gpt).
37523
041b8094 375242009-05-08 Pavel Roskin <proski@gnu.org>
37525
752473c2 37526 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37527 not modified.
37528
041b8094 37529 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37530 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37531 Initialize them with -1. Add sanity check for bad1. Eliminate
37532 nerr variable.
37533
172800ce 375342009-05-08 David S. Miller <davem@davemloft.net>
37535
37536 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37537
29aa5e81 375382009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37539
37540 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37541 existence.
29aa5e81 37542
96613b62 375432009-05-05 Felix Zielcke <fzielcke@z-51.de>
37544
37545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37546 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37547
eef73c8a 375482009-05-05 David S. Miller <davem@davemloft.net>
37549
37550 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37551
119494b5 375522009-05-05 Pavel Roskin <proski@gnu.org>
37553
37554 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37555 of grub_dl_ref() and grub_dl_unref().
37556 * commands/parttool.c: Remove preprocessor conditionals around
37557 grub_dl_ref() and grub_dl_unref().
37558 * fs/affs.c: Likewise.
37559 * fs/afs.c: Likewise.
37560 * fs/cpio.c: Likewise.
37561 * fs/ext2.c: Likewise.
37562 * fs/fat.c: Likewise.
37563 * fs/hfs.c: Likewise.
37564 * fs/hfsplus.c: Likewise.
37565 * fs/iso9660.c: Likewise.
37566 * fs/jfs.c: Likewise.
37567 * fs/minix.c: Likewise.
37568 * fs/ntfs.c: Likewise.
37569 * fs/reiserfs.c: Likewise.
37570 * fs/sfs.c: Likewise.
37571 * fs/udf.c: Likewise.
37572 * fs/ufs.c: Likewise.
37573 * fs/xfs.c: Likewise.
37574 * include/grub/dl.h: Likewise.
37575 * loader/xnu.c: Likewise.
37576
de5fd76e 375772009-05-04 Pavel Roskin <proski@gnu.org>
37578
37579 * commands/acpi.c: Remove unused variable my_mod.
37580 * partmap/amiga.c: Likewise.
37581 * partmap/apple.c: Likewise.
37582 * partmap/gpt.c: Likewise.
37583 * partmap/pc.c: Likewise.
37584 * partmap/sun.c: Likewise.
37585 * term/gfxterm.c: Likewise.
37586 * term/i386/pc/vesafb.c: Likewise.
37587 * term/i386/pc/vga.c: Likewise.
37588
983598ad 375892009-05-04 David S. Miller <davem@davemloft.net>
37590
37591 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37592 pointer args to grub_ieee1275_get_property().
37593
8aadec43 37594 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37595
9554b15e 37596 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37597 devices, and do not traverse down under controller nodes.
37598
67e23c90 37599 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37600 (grub_ofdisk_open): Use it to un-escape "," characters.
37601 * kern/disk.c (find_part_sep): New.
37602 (grub_disk_open): Use it to find the first non-escaped ','
37603 character in the disk name.
37604 * util/ieee1275/devicemap.c (escape_of_path): New.
37605 (grub_util_emit_devicemap_entry): Use it.
37606 * util/sparc64/ieee1275/grub-install.in: Update script to
37607 strip partition specifiers properly by not triggering on
37608 '\' escaped ',' characters.
37609
74bfdd2f 376102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37611
37612 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37613 to 0x300.
37614 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37615 resolutions.
37616 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37617 on documentation from Wikipedia).
37618
4241d2b1 376192009-05-04 Pavel Roskin <proski@gnu.org>
37620
37621 * disk/ata.c: Spelling fixes.
37622 * disk/raid.c: Likewise.
37623 * disk/usbms.c: Likewise.
37624 * disk/dmraid_nvidia.c: Likewise.
37625 * kern/ieee1275/openfw.c: Likewise.
37626 * kern/ieee1275/init.c: Likewise.
37627 * kern/ieee1275/cmain.c: Likewise.
37628 * boot/i386/pc/cdboot.S: Likewise.
37629 * video/readers/png.c: Likewise.
37630 * video/i386/pc/vbe.c: Likewise.
37631 * fs/udf.c: Likewise.
37632 * fs/hfs.c: Likewise.
37633 * fs/reiserfs.c: Likewise.
37634 * efiemu/runtime/efiemu.c: Likewise.
37635 * efiemu/main.c: Likewise.
37636 * efiemu/mm.c: Likewise.
37637 * include/grub/elf.h: Likewise.
37638 * include/grub/xnu.h: Likewise.
37639 * include/grub/usbdesc.h: Likewise.
37640 * include/grub/usb.h: Likewise.
37641 * include/grub/script_sh.h: Likewise.
37642 * include/grub/lib/LzmaEnc.h: Likewise.
37643 * include/grub/efiemu/efiemu.h: Likewise.
37644 * include/grub/command.h: Likewise.
37645 * normal/menu.c: Likewise.
37646 * normal/main.c: Likewise.
37647 * normal/datetime.c: Likewise.
37648 * bus/usb/uhci.c: Likewise.
37649 * mmap/i386/uppermem.c: Likewise.
37650 * mmap/mmap.c: Likewise.
37651 * commands/acpi.c: Likewise.
37652 * commands/test.c: Likewise.
37653 * partmap/apple.c: Likewise.
37654 * font/font.c: Likewise.
37655 * loader/sparc64/ieee1275/linux.c: Likewise.
37656 * loader/macho.c: Likewise.
37657 * loader/i386/bsd_trampoline.S: Likewise.
37658 * loader/i386/bsd.c: Likewise.
37659 * loader/xnu.c: Likewise.
37660 * term/i386/pc/vesafb.c: Likewise.
37661 * term/usb_keyboard.c: Likewise.
37662 * util/resolve.c: Likewise.
37663 * util/getroot.c: Likewise.
37664
0cfc0083 376652009-05-04 Felix Zielcke <fzielcke@z-51.de>
37666
37667 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37668
7c1d00cd 376692009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37670
37671 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37672 build error.
37673
b01f0548 376742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37675
37676 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37677 parameter only available on BIOS.
37678
ecc3eb22 376792009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37680
37681 Removed wrong semicolon in declaration
37682
37683 * grub/misc.h (grub_dprintf): remove semicolon
37684
112972a9 376852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37686
37687 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37688 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37689 is done by grub_cmd_linux() now).
37690 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37691 restore video to text mode.
37692 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37693 indicates lack of "vga=" parameter. "vga=0" is mapped to
37694 `GRUB_LINUX_VID_MODE_NORMAL'.
37695
afd5c115 376962009-05-04 Felix Zielcke <fzielcke@z-51.de>
37697
37698 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37699 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37700 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37701 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37702 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37703 `grub_script.tab.c'.
37704
37705 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37706 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37708 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37709 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37710
faa517ce 37711 * Makefile.in: Remove duplicated 2008 in Copyright line.
37712
ae0c0bdc 377132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37714
473d1e45 37715 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37716 unconditionally.
37717 * include/grub/util/misc.h (grub_util_warn): New declaration.
37718
37719 * util/i386/pc/grub-install.in: Understand --force and pass it down
37720 to grub-setup.
37721
37722 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37723 down to setup().
37724 (setup): Improve error messages and add warnings when requested to
37725 install in odd layouts. Refuse to install using blocklists unless
37726 --force was set.
37727
18f547ad 377282009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 37729
37730 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37731
6d260daa 377322009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37733
37734 Updated copyright year
37735
37736 * fs/hfsplus.c: updated copyright year
18f547ad 37737
69f853f8 377382009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37739
37740 HFS+ UUID
37741
18f547ad 37742 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 37743 in the space previously used by unused3
37744 (grub_hfsplus_uuid): new function
37745 (grub_hfsplus_fs): added uuid field
37746
4c402e73 377472009-05-03 Pavel Roskin <proski@gnu.org>
37748
37749 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37750 suppress warnings. It's no longer needed.
37751 * disk/host.c: Likewise.
37752 * disk/ata_pthru.c: Likewise.
37753 * disk/loopback.c: Likewise.
37754 * hook/datehook.c: Likewise.
37755 * parttool/pcpart.c: Likewise.
37756 * fs/i386/pc/pxe.c: Likewise.
37757 * fs/ntfscomp.c: Likewise.
37758 * efiemu/main.c: Likewise.
37759 * mmap/mmap.c: Likewise.
37760 * commands/crc.c: Likewise.
37761 * commands/hexdump.c: Likewise.
37762 * commands/hdparm.c: Likewise.
37763 * commands/acpi.c: Likewise.
37764 * commands/echo.c: Likewise.
37765 * commands/minicmd.c: Likewise.
37766 * commands/blocklist.c: Likewise.
37767 * commands/memrw.c: Likewise.
37768 * commands/loadenv.c: Likewise.
37769 * commands/usbtest.c: Likewise.
37770 * commands/lsmmap.c: Likewise.
37771 * commands/boot.c: Likewise.
37772 * commands/parttool.c: Likewise.
37773 * commands/configfile.c: Likewise.
37774 * commands/search.c: Likewise.
37775 * commands/ieee1275/suspend.c: Likewise.
37776 * commands/cat.c: Likewise.
37777 * commands/i386/pc/pxecmd.c: Likewise.
37778 * commands/i386/pc/play.c: Likewise.
37779 * commands/i386/pc/halt.c: Likewise.
37780 * commands/i386/pc/vbeinfo.c: Likewise.
37781 * commands/i386/pc/vbetest.c: Likewise.
37782 * commands/lspci.c: Likewise.
37783 * commands/date.c: Likewise.
37784 * commands/handler.c: Likewise.
37785 * commands/ls.c: Likewise.
37786 * commands/test.c: Likewise.
37787 * commands/cmp.c: Likewise.
37788 * commands/efi/loadbios.c: Likewise.
37789 * commands/efi/fixvideo.c: Likewise.
37790 * commands/halt.c: Likewise.
37791 * commands/help.c: Likewise.
37792 * commands/reboot.c: Likewise.
37793 * hello/hello.c: Likewise.
37794 * script/sh/main.c: Likewise.
37795 * loader/xnu.c: Likewise.
37796 * term/terminfo.c: Likewise.
37797 * term/i386/pc/serial.c: Likewise.
37798 * term/usb_keyboard.c: Likewise.
37799
515b5079 378002009-05-03 David S. Miller <davem@davemloft.net>
37801
37802 * normal/menu.c: Include grub/parser.h
37803
dfc31a22 378042009-05-03 Pavel Roskin <proski@gnu.org>
37805
2fee74f1 37806 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37807 not char*.
37808 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37809 Suggested by Javier Martín <lordhabbit@gmail.com>
37810
dfc31a22 37811 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37812 efiemu??.o doesn't exist.
37813 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37814 copying.
37815
18f547ad 378162009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37817
37818 FreeBSD 64-bit support
37819
18f547ad 37820 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37821 and loader/i386/bsd_trampoline.S
37822 (bsd_mod_ASFLAGS): new variable
37823 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37824 (FREEBSD_MODTYPE_KERNEL64): likewise
37825 (grub_bsd64_trampoline_start): likewise
37826 (grub_bsd64_trampoline_end): likewise
37827 (grub_bsd64_trampoline_selfjump): likewise
37828 (grub_bsd64_trampoline_gdt): likewise
37829 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37830 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37831 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37832 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37833 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37834 of "attrib" member
37835 * loader/i386/bsd_pagetable.c: new file
37836 * loader/i386/bsd_trampoline.S: likewise
37837 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37838 (ALIGN_VAR): likewise
37839 (entry_hi): new variable
37840 (kern_end_mdofs): likewise
37841 (is_64bit): likewise
37842 (grub_freebsd_add_meta): use ALIGN_VAR
37843 (grub_e820_mmap): new declaration
37844 (grub_freebsd_add_mmap): new function
37845 (grub_freebsd_add_meta_module): support 64 bit kernels
37846 (grub_freebsd_list_modules): use ALIGN_VAR
37847 (gdt_descriptor): new declaration
37848 (grub_freebsd_boot): support 64 bit kernels
37849 (grub_bsd_elf64_hook): new function
37850 (grub_bsd_load_elf): support elf64
37851
038c5720 378522009-05-03 Bean <bean123ch@gmail.com>
37853
37854 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37855 after we get the result of if statement.
37856
fc45fb58 378572009-05-03 Bean <bean123ch@gmail.com>
37858
37859 * Makefile.in (enable_efiemu): New variable.
37860
37861 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37862 set.
37863 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37864 path.
37865 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37866 path, add -mno-red-zone option.
37867 (efiemu64_s.o): Likewise.
37868 (efiemu64.o): Use macro $^ for source file.
37869
37870 * configure.ac (--enable-efiemu): New option.
37871
bbee0f2b 378722009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37873
37874 xnu support
37875
37876 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37877 (pkglib_MODULES): add xnu.mod
37878 (xnu_mod_SOURCES): new variable
37879 (xnu_mod_CFLAGS): likewise
37880 (xnu_mod_LDFLAGS): likewise
37881 (xnu_mod_ASFLAGS): likewise
37882 * conf/i386-pc.rmk: likewise
37883 * conf/x86_64-efi.rmk: likewise
7dd4a573 37884 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37885 new declaration
37886 * include/grub/i386/macho.h: new file
37887 * include/grub/i386/xnu.h: likewise
37888 * include/grub/macho.h: likewise
37889 * include/grub/machoload.h: likewise
37890 * include/grub/x86_64/macho.h: likewise
37891 * include/grub/x86_64/xnu.h: likewise
37892 * include/grub/xnu.h: likewise
37893 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37894 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37895 * loader/i386/efi/xnu.c: new file
37896 * loader/i386/pc/xnu.c: likewise
37897 * loader/i386/xnu.c: likewise
37898 * loader/i386/xnu_helper.S: likewise
37899 * loader/macho.c: likewise
37900 * loader/xnu.c: likewise
37901 * loader/xnu_resume.c: likewise
37902 * util/grub-dumpdevtree: likewise
37903 * include/grub/i386/pit.h: include grub/err.h
37904 (grub_pit_wait): export
37905 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37906
5caf964d 379072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37908
37909 Efiemu
7dd4a573 37910
5caf964d 37911 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37912 _linux_efi, linux_efi.
37913 new files in grub-emu
5caf964d 37914 new targets efiemu32.o and efiemu64.o
37915 * loader/linux_normal_efiemu.c: likewise
37916 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37917 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37918 files to copy
37919 * include/grub/autoefi.h: new file
7dd4a573 37920 * include/grub/i386/efiemu.h: likewise
5caf964d 37921 * include/grub/i386/pc/efiemu.h: likewise
37922 * include/grub/efi/api.h: add LL suffix when necessary
37923 new definitions relating to tables
37924 * include/grub/efiemu/efiemu.h: new file
37925 * include/grub/efiemu/runtime.h: likewise
37926 * efiemu/prepare.c: likewise
37927 * efiemu/loadcore_common.c: likewise
37928 * efiemu/loadcore64.c: likewise
37929 * efiemu/runtime/efiemu.sh: likewise
37930 * efiemu/runtime/efiemu.S: likewise
37931 * efiemu/runtime/efiemu.c: likewise
37932 * efiemu/runtime/config.h: likewise
37933 * efiemu/prepare32.c: likewise
37934 * efiemu/main.c: likewise
37935 * efiemu/modules/pnvram.c: likewise
37936 * efiemu/modules/i386: likewise
37937 * efiemu/modules/i386/pc: likewise
37938 * efiemu/modules/acpi.c: likewise
37939 * efiemu/i386/pc/cfgtables.c: likewise
37940 * efiemu/i386/loadcore64.c: likewise
37941 * efiemu/i386/loadcore32.c: likewise
37942 * efiemu/prepare64.c: likewise
37943 * efiemu/loadcore.c: likewise
37944 * efiemu/symbols.c: likewise
37945 * efiemu/mm.c: likewise
37946 * efiemu/loadcore32.c: likewise
7dd4a573 37947
379482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37949
37950 ACPI spoofing
37951
37952 * commands/acpi.c: new file
37953 * commands/i386/pc/acpi.c: likewise
37954 * commands/efi/acpi.c: likewise
37955 * include/grub/acpi.h: likewise
37956 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37957 (acpi_mod_SOURCES): new variable
37958 (acpi_mod_CFLAGS): likewise
37959 (acpi_mod_LDFLAGS): likewise
37960 * conf/i386-efi.rmk: likewise
37961 * conf/x86_64-efi.rmk: likewise
37962
7dd4a573 379632009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37964
37965 Missing part from mmap patch
37966
37967 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37968 (grub_mmap_unregister)
37969 (grub_mmap_free_and_unregister): use grub_mmap_register
37970
7dd4a573 379712009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37972
37973 Mmap services
37974
37975 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37976 * loader/i386/linux.c (find_mmap_size): likewise
37977 (allocate_pages): likewise
37978 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37979 (grub_fill_multiboot_mmap): likewise
37980 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37981 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37982 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37983 (OPENBSD_MMAP_RESERVED): likewise
37984 * include/grub/i386/pc/memory.h: include grub/memory.h
37985 (grub_lower_mem): removed
37986 (grub_upper_mem): likewise
37987 (GRUB_MACHINE_MEMORY_ACPI): new definition
37988 (GRUB_MACHINE_MEMORY_NVS): likewise
37989 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37990 (GRUB_MACHINE_MEMORY_HOLE): likewise
37991 (grub_machine_mmap_register): likewise
37992 (grub_machine_mmap_unregister): likewise
37993 (grub_machine_get_upper): likewise
37994 (grub_machine_get_lower): likewise
37995 (grub_machine_get_post64): likewise
37996 * include/grub/i386/efi/memory.h: new file
37997 * include/grub/x86_64/efi/memory.h: likewise
37998 * include/grub/efi/memory.h: likewise
37999 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38000 (mmap_mod_SOURCES): new variable
38001 (mmap_mod_LDFLAGS): likewise
38002 (mmap_mod_ASFLAGS): likewise
38003 * conf/i386-coreboot.rmk: likewise
38004 * conf/i386-ieee1275.rmk: likewise
38005 * conf/i386-efi.rmk: likewise
38006 * conf/x86_64-efi.rmk: likewise
38007 * include/grub/types.h (UINT_TO_PTR): new macro
38008 (PTR_TO_UINT32): likewise
38009 (PTR_TO_UINT64): likewise
38010 * include/grub/memory.h: new file
38011 * mmap/i386/pc/mmap.c: likewise
38012 * mmap/i386/pc/mmap_helper.S: likewise
38013 * mmap/i386/uppermem.c: likewise
38014 * mmap/mmap.c: likewise
38015 * mmap/efi/mmap.c: likewise
7dd4a573 38016 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 38017 grub_upper_mem
38018 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38019 (grub_upper_mem): likewise
38020 (grub_machine_init): don't use grub_upper_mem,
38021 make grub_lower_mem local
38022 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38023 grub_mmap_iterate and grub_mmap_get_upper
38024 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38025
d558e6b5 380262009-05-02 Bean <bean123ch@gmail.com>
38027
38028 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38029 script/sh/parser.y.
38030 (pkglib_MODULES): Add normal.mod and sh.mod.
38031 (normal_SOURCES): New variable.
38032 (normal_mod_CFLAGS): Likewise.
38033 (normal_mod_LDFLAGS): Likewise.
38034 (sh_mod_SOURCES): Likewise.
38035 (sh_mod_CFLAGS): Likewise.
38036 (sh_mod_LDFLAGS): Likewise.
38037
38038 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38039 script/sh/lexer.c_DEPENDENCIES.
38040 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38041 kern/rescue_reader.c and kern/rescue_parser.c.
38042 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38043 (grub_emu_SOURCES): Change source files.
38044 (pkglib_MODULES): Remove normal.mod.
38045 (normal_SOURCES): Removed.
38046 (normal_mod_CFLAGS): Likewise.
38047 (normal_mod_LDFLAGS): Likewise.
38048 * conf/i386-coreboot.rmk: Likewise.
38049 * conf/i386-efi.rmk: Likewise.
38050 * conf/i386-ieee1276.rmk: Likewise.
38051 * conf/powerpc-ieee1275.rmk: Likewise.
38052 * conf/sparc64-ieee1275.rmk: Likewise.
38053 * conf/x86_64-efi.rmk: Likewise.
38054
38055 * include/grub/command.h (grub_command_execute): New inline function.
38056
38057 * include/grub/menu.h (grub_menu_entry): Removed commands field.
38058
38059 * include/grub/normal.h: Remove <grub/setjmp.h>.
38060 (grub_fs_module_list): Moved to normal/autofs.c.
38061 (grub_exit_env): Removed.
38062 (grub_command_execute): Likewise.
38063 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38064 parameter script.
38065 (read_command_list): New function declaration.
38066 (read_fs_list): Likewise.
38067
38068 * include/parser.h: Include <grub/reader.h>.
38069 (grub_parser_split_cmdline): Change type of getline parameter.
38070 (grub_parser): New structure.
38071 (grub_parser_class): New variable.
38072 (grub_parser_execute): New function declaration.
38073 (grub_register_rescue_parser): Likewise.
38074 (grub_parser_register): New inline function.
38075 (grub_parser_unregister): Likewise.
38076 (grub_parser_get_current): Likewise.
38077 (grub_parser_set_current): Likewise.
38078
38079 * include/grub/reader.h: New file.
38080 * kern/reader.c: Likewise.
38081 * kern/rescue_parser.c: Likewise.
38082 * kern/rescue_reader.c: Likewise.
38083 * normal/autofs.c: Likewise.
38084 * normal/dyncmd.c: Likewise.
38085
38086 * include/grub/rescue.h: Removed.
38087 * normal/command.h: Likewise.
38088
38089 * include/grub/script.h: Moved to ...
38090 * include/grub/script_sh.h: ... Moved here.
38091 * normal/execute.c: Moved to ...
38092 * script/sh/execute.c: ... Moved here.
38093 * normal/function.c: Moved to ...
38094 * script/sh/function.c: ... Moved here.
38095 * normal/lexer.c: Moved to ...
38096 * script/sh/lexer.c: ... Moved here.
38097 * normal/parser.y: Moved to ...
38098 * script/sh/parser.y: ... Moved here.
38099 * normal/script.c: Moved to ...
38100 * script/sh/script.c: ... Moved here.
38101
38102 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
38103 <grub/reader.h>.
38104 (grub_exit_env): Removed.
38105 (fs_module_list): Moved to normal/autofs.c.
38106 (grub_file_getline): Don't handle comment here.
38107 (free_menu): Skip removed field entry->commands.
38108 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
38109 script parameter.
38110 (read_config_file): Removed nested parameter, change getline function.
38111 (grub_enter_normal_mode): Removed.
38112 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
38113 (read_command_list): Likewise.
38114 (autoload_fs_module): Moved to normal/autofs.c.
38115 (read_fs_list): Likewise.
38116 (reader_nested): New variable.
38117 (grub_normal_execute): Run parser.sh to switch to sh parser.
38118 (grub_cmd_rescue): Removed.
38119 (cmd_normal): Removed.
38120 (grub_cmd_normal): Unregister itself at the beginning. Don't register
38121 rescue command.
38122 (grub_cmdline_run): New function.
38123 (grub_normal_reader_init): Likewise.
38124 (grub_normal_read_line): Likewise.
38125 (grub_env_write_pager): Likewise.
38126 (cmdline): New variable.
38127 (grub_normal_reader): Likewise.
38128 (GRUB_MOD_INIT): Register normal reader and set as current, register
38129 pager hook, register normal command with grub_register_command_prio,
38130 so that it won't show up in command.lst.
38131 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
38132 grub_fs_autoload_hook.
38133
38134 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
38135 (grub_menu_execute_entry): Replace grub_script_execute with
38136 grub_parser_execute, change parameter to grub_command_execute.
38137
38138 * normal/menu_text.c: Remove <grub/script.h>.
38139
38140 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
38141 and <grub/parser.h>.
38142 (run): Change editor_getline to use new parser interface. Change
38143 parameter to grub_command_execute.
38144
38145 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
38146 <grub/reader.h> and <grub/parser.h>.
38147 (grub_load_normal_mode): Execute normal command.
38148 (grub_main): Call grub_register_core_commands,
38149 grub_register_rescue_parser and grub_register_rescue_reader, use
38150 grub_reader_loop to enter input loop.
38151
7dd4a573 38152 * kern/parser.c (grub_parser_split_cmdline): Change type of
38153 getline parameter.
d558e6b5 38154 (grub_parser_class): New variable.
38155 (grub_parser_execute): New function.
38156
38157 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
38158 * loader/multiboot2.c: Likewise.
38159 * loader/sparc64/ieee1275/linux.c: Likewise.
38160
38161 * util/grub-emu.c (read_command_list): New dummy function.
38162
18db813d 381632009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38164
38165 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
38166 count to 16 for CCISS and IDA.
38167
6c67de15 381682009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38169
38170 * normal/menu_text.c (grub_wait_after_message): Print a newline
38171 after waiting for user input.
38172
38173 * loader/i386/linux.c: Include `<grub/normal.h>'.
38174 (grub_cmd_linux): Improve the error message about `ask' mode, by
38175 waiting for user input so it's not missed (we can do this, since
38176 user requested interaction).
38177
d9dc87b0 381782009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38179
38180 Added missing lst to grub-mkrescue
38181
38182 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38183 and ${input_dir}/parttool.lst
38184
ac8a2baa 381852009-04-30 David S. Miller <davem@davemloft.net>
38186
ad22a610 38187 * util/hostdisk.c (device_is_wholedisk): New function.
38188 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38189 zero only if device_is_wholedisk() returns true.
38190
6966215d 38191 * util/hostdisk.c (convert_system_partition_to_system_disk):
38192 Handle virtual disk devices named /dev/vdiskX as found on sparc
38193 and powerpc.
38194
ac8a2baa 38195 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38196 lettered partition specifier is found, convert to numbered.
38197
979b4fb4 381982009-04-29 David S. Miller <davem@davemloft.net>
38199
e2bf39b2 38200 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38201 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38202
3c64e104 38203 * normal/command.c: Add missing newline at end of file.
38204
979b4fb4 38205 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38206 warnings.
38207 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38208 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38209 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38210 ihandles have a 32-bit type but need to be stored in a "void *".
38211
136d9f82 382122009-04-28 Pavel Roskin <proski@gnu.org>
38213
9459c306 38214 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38215 not disk. Adjust all dependencies.
2e08a26a 38216 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 38217 grub_disk_close().
38218
136d9f82 38219 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38220 parent's partition, don't copy it by reference, as it gets freed
38221 on close.
38222
7dd4a573 382232009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 38224
38225 Preboot hooks support
38226
38227 * commands/boot.c (struct grub_preboot_t): new declaration
38228 (preboots_head): new variable
38229 (preboots_tail): likewise
38230 (grub_loader_register_preboot_hook): new function
38231 (grub_loader_unregister_preboot_hook): likewise
38232 (grub_loader_set): launch preboot hooks
38233 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38234 (grub_loader_register_preboot_hook): new declaration
38235 (grub_loader_unregister_preboot_hook): likewise
38236
5af922b5 382372009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38238
38239 Warning fix
38240
7dd4a573 38241 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 38242 calling grub_dprintf
38243
a5562c30 382442009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38245
38246 Bug and warning fixes
38247
7dd4a573 38248 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38249 declaration
38250 * commands/test.c (test_parse): fixed bug with file tests and corrected
38251 declaration of find_file
38252
4006f85c 382532009-04-26 Pavel Roskin <proski@gnu.org>
38254
38255 * Makefile.in: Don't install empty manual pages if help2man is
38256 missing. Use help2man option for output, not shell redirection.
38257
5c77c3de 382582009-04-26 David S. Miller <davem@davemloft.net>
38259
38260 * util/grub-mkdevicemap.c (make_device_map): Add missing
38261 NESTED_FUNC_ATTR to process_device().
38262
033b10a8 382632009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38264
38265 Test command
38266
38267 * commands/test.c: rewritten to use bash-like test
38268
e4343593 382692009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38270
38271 Parttool autoloading and improvements
38272
7dd4a573 38273 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38274 (parttool.lst): new target
38275 * genmk.rb: generate parttool-*
38276 (CLEANFILES): add #{parttool}
38277 (PARTTOOLFILES): new variable
38278 * genparttoollist.sh: new file
7dd4a573 38279 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38280 (grub_pcpart_type): likewise
38281 * commands/parttool.c (helpmsg): new variable
38282 (grub_cmd_parttool): output help if not enough arguments are supplied
38283 autoload modules
38284 (GRUB_MOD_INIT(parttool)): use helpmsg
38285
0d312500 382862009-04-24 David S. Miller <davem@davemloft.net>
38287
7dd4a573 38288 Avoiding opening same device multiple times in device iterator.
0d312500 38289
38290 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38291 and use it to build a list of partitions in iterate_disk() and
0d312500 38292 iterate_partition().
38293
ac20caff 38294 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38295 on disk->data.
38296
0dcf7495 38297 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38298 grub_devalias_iterate() result instead of unconditional 0.
38299 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38300 Also, capture hook return value, either directly or via
38301 grub_children_iterate(), and propagate to caller.
38302 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38303 grub_children_iterate): Return value is now 'int' instead of
38304 'grub_err_t'.
38305 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38306 like a proper iterator, stopping when hooks return non-zero.
38307 (grub_devalias_iterate): Likewise.
38308
c8c08833 383092009-04-23 David S. Miller <davem@davemloft.net>
38310
38311 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38312
f01005a8 383132009-04-22 David S. Miller <davem@davemloft.net>
38314
38315 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38316 is larger than address_cells, use that value for address_cells too.
38317
4e8269da 38318 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38319 IEEE1275_MAX_PATH_LEN): Define.
38320 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38321 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38322 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38323 'devtype'. Explicitly NULL terminate devalias expansion.
38324
a1447506 38325 * util/sparc64/ieee1275/misc.c: New file.
38326 * util/sparc64/ieee1275/grub-setup.c: New file.
38327 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38328 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38329 * util/sparc64/ieee1275/grub-install.in: New file.
38330 * util/ieee1275/ofpath.c: New file.
38331 * util/ieee1275/devicemap.c: New file.
38332 * util/devicemap.c: New file.
38333 * util/deviceiter.c: New file.
38334 * kern/sparc64/ieee1275/init.c: New file.
38335 * include/grub/util/ofpath.h: New file.
38336 * include/grub/util/deviceiter.h: New file.
38337 * util/grub-mkdevicemap.c: Include deviceiter.h.
38338 Implement using grub_util_emit_devicemap_entry and
38339 grub_util_iterate_devices.
38340 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38341 util/devicemap.c into grub-mkdevicemap
38342 * conf/i386-efi.rmk: Likewise.
38343 * conf/i386-ieee1275.rmk: Likewise.
38344 * conf/i386-pc.rmk: Likewise.
38345 * conf/powerpc-ieee1275.rmk: Likewise.
38346 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38347 images and installation utilities. Build kernel as image
38348 instead of as elf binary. Use common rules as much as possible.
38349
7dd4a573 383502009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38351
38352 Correct GPT definition
38353
7dd4a573 38354 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38355 of "attrib" member
38356
c6c5219f 383572009-04-19 Felix Zielcke <fzielcke@z-51.de>
38358
38359 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38360
0552ff9f 383612009-04-19 David S. Miller <davem@davemloft.net>
38362
38363 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38364 (grub_rescue_cmd_linux): Rename to...
38365 (grub_cmd_linux): and fix prototype.
38366 (grub_rescue_cmd_initrd): Rename to...
38367 (grub_cmd_initrd): and fix prototype.
38368 (cmd_linux, cmd_initrd): New.
38369 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38370 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38371
d1a282fc 383722009-04-17 Pavel Roskin <proski@gnu.org>
38373
07c5039f 38374 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38375 format.
38376 (grub_ohci_transfer): Likewise.
38377
b012002d 38378 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38379
1bc09c35 38380 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38381 return without a value. Fix inconsistent indentation.
38382
e0ff9126 38383 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38384 match struct grub_fs.
38385
d1a282fc 38386 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38387 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38388 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38389 * commands/lspci.c (grub_lspci_iter): Likewise.
38390
a96df3f2 383912009-04-16 Bean <bean123ch@gmail.com>
38392
38393 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38394 value.
38395
41bb0fe9 383962009-04-15 Pavel Roskin <proski@gnu.org>
38397
38398 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38399 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38400 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38401 definitions.
38402
596c6970 384032009-04-15 Felix Zielcke <fzielcke@z-51.de>
38404
38405 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38406 that no multiple data or metadata areas are supported and `Unknown
596c6970 38407 metadata header'.
38408
7dd4a573 384092009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38410
38411 Move loader out of the kernel
38412
38413 * kern/loader.c: moved to ...
38414 * commands/boot.c: ... moved here
38415 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38416 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38417 * include/grub/kernel.h (grub_machine_fini): export
38418 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38419 (grub_loader_set): likewise
38420 (grub_loader_unset): likewise
38421 (grub_loader_boot): likewise
38422 * conf/common.rmk: new module boot.mod
38423 (pkglib_MODULES): add boot.mod
38424 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38425 (grub_emu_SOURCES): likewise
38426 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38427 (grub_emu_SOURCES): likewise
38428 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38429 (grub_emu_SOURCES): likewise
38430 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38431 (grub_emu_SOURCES): likewise
38432 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38433 (grub_emu_SOURCES): likewise
7dd4a573 38434 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38435 (grub_emu_SOURCES): likewise
0d5d5653 38436 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38437 (grub_emu_SOURCES): likewise
0d5d5653 38438
7dd4a573 384392009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38440
38441 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38442
5999d619 38443 * kern/misc.c (grub_itoa): Removed function
38444 (grub_ltoa): likewise
38445 (grub_vsprintf): use grub_lltoa
38446
7dd4a573 384472009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38448
38449 Restore grub-emu
38450
38451 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38452 * conf/i386-coreboot.rmk: likewise
38453 * conf/i386-ieee1275.rmk: likewise
38454 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38455
20318222 384562009-04-15 Felix Zielcke <fzielcke@z-51.de>
38457
38458 * INSTALL: Add that `./autogen.sh' needs to be run before
38459 `./configure.'.
38460
d05f0df3 384612009-04-14 Bean <bean123ch@gmail.com>
38462
38463 * Makefile.in (pkglib_DATA): Add handler.lst.
38464 (handler.lst): New rule.
38465
38466 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38467 * conf/i386-coreboot.rmk: Likewise.
38468 * conf/i386-ieee1275.rmk: Likewise.
38469 * conf/i386-efi.rmk: Likewise.
38470 * conf/x86_64-efi.rmk: Likewise.
38471 * conf/powerpc-ieee1275.rmk: Likewise.
38472 * conf/sparc64-ieee1275.rmk: Likewise.
38473
38474 * genhandlerlist.sh: New file.
38475
38476 * genmk.rb: Add rules to generate handler.lst.
38477
38478 * include/grub/normal.h (grub_file_getline): New function definition.
38479 (read_handler_list): Likewise.
38480 (free_handler_list): Likewise.
38481
38482 * include/grub/term.h (grub_term_register_input): Add name parameter
38483 for auto generation of handler.lst.
38484 (grub_term_register_output): Likewise.
38485
38486 * normal/handler.c: New file.
38487
38488 * normal/main.c (get_line): Renamed to grub_file_getline.
38489 (read_config_file): Use the newly renamed grub_file_getline.
38490 (read_command_list): Likewise.
38491 (read_fs_list): Likewise.
38492 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38493 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38494
38495 * term/efi/console.c (grub_console_init): Add name parameter for auto
38496 generation of handler.lst.
38497 * term/gfxterm.c: Likewise.
38498 * term/i386/pc/at_keyboard.c: Likewise.
38499 * term/i386/pc/console.c: Likewise.
38500 * term/i386/pc/serial.c: Likewise.
38501 * term/i386/pc/vesafb.c: Likewise.
38502 * term/i386/pc/vga.c: Likewise.
38503 * term/i386/pc/vga_text.c: Likewise.
38504 * term/ieee1275/ofconsole.c: Likewise.
38505 * term/usb_keyboard.c: Likewise.
38506
33c846be 385072009-04-14 Bean <bean123ch@gmail.com>
38508
38509 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38510 properly with null character.
38511
4484e01e 385122009-04-14 Felix Zielcke <fzielcke@z-51.de>
38513
38514 * configure: Remove.
38515 * config.h.in: Likewise.
f93d668e 38516 * stamp-h.in: Likewise.
4484e01e 38517 * DISTLIST: Likewise.
38518 * conf/common.mk: Likewise.
38519 * conf/i386-coreboot.mk: Likewise.
38520 * conf/i386-efi.mk: Likewise.
38521 * conf/i386-ieee1275.mk: Likewise.
38522 * conf/i386.mk: Likewise.
38523 * conf/i386-pc.mk: Likewise.
38524 * conf/powerpc-ieee1275.mk: Likewise.
38525 * conf/sparc64-ieee1275.mk: Likewise.
38526 * conf/x86_64-efi.mk: Likewise.
38527
38528 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38529 develop on GRUB.
38530
7dd4a573 385312009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38532 David S. Miller <davem@davemloft.net>
38533
38534 * util/hostdisk.c (make_device_name): Fix buffer length
38535 calculations.
38536
e25b5a8c 385372009-04-14 Felix Zielcke <fzielcke@z-51.de>
38538
38539 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38540 <sys/param.h> and <sys/sysctl.h>.
38541 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38542 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38543 opening the device and reset them afterwards.
38544
1f1f580c 385452009-04-13 Pavel Roskin <proski@gnu.org>
38546
38547 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38548 Reported by John Stanley <jpsinthemix@verizon.net>
38549
7ebc2d6b 385502009-04-13 Robert Millan <rmh@aybabtu.com>
38551
38552 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38553 that name for menuentries when appropriate.
7ebc2d6b 38554
d8ba3667 385552009-04-13 Felix Zielcke <fzielcke@z-51.de>
38556
38557 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38558
cba416eb 385592009-04-13 Robert Millan <rmh@aybabtu.com>
38560
38561 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38562 to Linux, simply abort telling the user it's no longer supported.
38563
a547a745 385642009-04-13 Felix Zielcke <fzielcke@z-51.de>
38565
38566 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38567 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38568 `freebsd_loadenv' only when devices.hints exist.
38569
232a769c 385702009-04-13 Pavel Roskin <proski@gnu.org>
38571
38572 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38573
c3012039 385742009-04-13 Felix Zielcke <fzielcke@z-51.de>
38575
38576 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38577 partition number.
38578 (grub_drive): Likewise.
38579
234022fe 385802009-04-13 David S. Miller <davem@davemloft.net>
38581
38582 * kern/sparc64/ieee1275/ieee1275.c: New file.
38583 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38584 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38585 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38586 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38587 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38588 grub_ieee1275_alloc_physmem): Declare new exported functions.
38589
d8e1836c 38590 * include/grub/sparc64/ieee1275/loader.h: New file.
38591 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38592 * include/grub/sparc64/kernel.h: Likewise.
38593 * loader/sparc64/ieee1275/linux.c: Likewise.
38594
96bd81ec 38595 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38596 (grub_fstest_SOURCES): Likewise.
38597
6a4737e5 38598 * util/hostdisk.c (make_device_name): Do not make any assumptions
38599 about the length of drive names.
38600
1d7a72fd 38601 * kern/dl.c (grub_dl_load_file): Close file immediately when
38602 we are done using it.
38603
56bc2471 386042009-04-12 David S. Miller <davem@davemloft.net>
38605
38606 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38607 values. Noticed by Pavel Roskin.
38608
df38d0bb 38609 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38610 target compiler.
7dd4a573 38611
e382e93a 38612 * genmk.rb: Add more flexible image type specification, also
38613 pass --strip-unneeded to objcopy.
38614 * conf/i386-pc.rmk: Use *_FORMAT.
38615 * conf/i386-pc.mk: Rebuilt.
38616
f5dbbca9 38617 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38618 (OFDISK_HASH_SZ): Define.
38619 (ofdisk_hash): New hash table.
38620 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38621 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38622 instead of device phandle which is not unique.
38623
91c88b12 38624 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38625 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38626 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38627 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38628 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38629 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38630 GRUB_KERNEL_MACHINE_DATA_END): Define.
38631 (grub_kernel_image_size, grub_total_module_size): Declare.
38632
5b5d4aa5 386332009-04-12 Pavel Roskin <proski@gnu.org>
38634
7dd4a573 38635 * configure.ac: Change the logic when we check for target tools.
38636 Do it when the target is specified and it's different from the
38637 specified value of the host.
5b5d4aa5 38638
c91e1793 386392009-04-11 Felix Zielcke <fzielcke@z-51.de>
38640
38641 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38642 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38643 GNU/kFreeBSD. Check if a device is a character device. Use
38644 DIOCGMEDIASIZE to get the size.
38645 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38646 support for GNU/kFreeBSD.
38647 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38648 is a character device instead of a block device. Add support for
38649 FreeBSD device names.
38650
38651 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38652 is a character device instead of a block device.
38653
38654 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38655 is a character device instead of a block device.
38656
b1ac8644 386572009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38658
38659 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38660 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38661 FreeBSD. Check if a device is a character device. Use
38662 DIOCGMEDIASIZE to get the size.
38663 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38664 support for FreeBSD.
38665 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38666 is a character device instead of a block device. Add support for
38667 FreeBSD device names.
38668
38669 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38670 a character device instead of a block device.
38671 (grub_util_check_char_device): New function.
38672
38673 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38674 a character device instead of a block device.
38675
38676 * include/grub/util/getroot.h (grub_util_check_char_device): New
38677 prototype.
38678
a3f7515a 386792009-04-11 David S. Miller <davem@davemloft.net>
38680
38681 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38682 static libgcc.
38683 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38684 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38685 function, if present.
38686 (__bswapdi2): Likewise.
38687
0d44993d 38688 * include/grub/sparc64/ieee1275/boot.h: New file.
38689 * boot/sparc64/ieee1275/boot.S: Likewise.
38690 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38691
ed3d2bc2 38692 * kern/misc.c (grub_ltoa): New function.
38693 (grub_vsprintf): Use it to format 'long' integers.
38694
d3bfb59c 386952009-04-10 David S. Miller <davem@davemloft.net>
38696
38697 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38698 slots are of type grub_ieee1275_cell_t.
38699 (grub_nand_read): Likewise.
38700 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38701 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38702 macros are used to compare values in arg/ret block of the call.
38703 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38704 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38705 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38706 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38707 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38708 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38709 grub_ieee1275_close, grub_ieee1275_set_property,
38710 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38711 grub_ieee1275_cell_t.
38712 * kern/ieee1275/openfw.c (grub_map): Likewise.
38713 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38714 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38715
450e2238 38716 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38717 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38718 (grub_devalias_iterate): Likewise.
38719
7dd4a573 387202009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38721
38722 UFS improvements
38723
38724 * fs/ufs.c (INODE_NBLOCKS): new definition
38725 (struct grub_ufs_dirent): added fields for non-BSD dirents
38726 (grub_ufs_get_file_block): fixed double indirect handling
38727 (grub_ufs_lookup_symlink): use more robust way to determine whether
38728 symlink is inline
38729 (grub_ufs_find_file): support for non-BSD dirents
38730 (grub_ufs_dir): support for non-BSD dirents
38731
e7e6862a 387322009-04-10 Bean <bean123ch@gnail.com>
38733
38734 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38735 attribute, otherwise the size would be wrong for i386 platform.
38736
38737 * include/grub/pci.h (grub_pci_read_word): New inline function.
38738 (grub_pci_read_byte): Likewise.
38739 (grub_pci_write): Likewise.
38740 (grub_pci_write_word): Likewise.
38741 (grub_pci_write_byte): Likewise.
38742
38743 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38744
38745 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38746 (find_framebuf): Scan pci to locate the frame buffer address.
38747
38748 * commands/efi/fixvideo.c: New file.
38749
38750 * commands/efi/loadbios.c: Likewise.
38751
38752 * commands/memrw.c: Likewise.
38753
38754 * util/grub-dumpbios.in: Likewise.
38755
38756 * conf/common.rmk (grub-dumpbios): New utility.
38757 (pkglib_MODULES): New module memrw.mod.
38758 (memrw_mod_SOURCE): New macro.
38759 (memrw_mod_CFLAGS): Likewise.
38760 (memrw_mod_LDFLAGS): Likewise.
38761
7dd4a573 38762 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38763 fixvideo.mod.
38764 (loadbios_mod_SOURCE): New macro.
38765 (loadbios_mod_CFLAGS): Likewise.
38766 (loadbios_mod_LDFLAGS): Likewise.
38767 (fixvideo_mod_SOURCE): Likewise.
38768 (fixvideo_mod_CFLAGS): Likewise.
38769 (fixvideo_mod_LDFLAGS): Likewise.
38770
7dd4a573 38771 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38772 fixvideo.mod.
38773 (loadbios_mod_SOURCE): New macro.
38774 (loadbios_mod_CFLAGS): Likewise.
38775 (loadbios_mod_LDFLAGS): Likewise.
38776 (fixvideo_mod_SOURCE): Likewise.
38777 (fixvideo_mod_CFLAGS): Likewise.
38778 (fixvideo_mod_LDFLAGS): Likewise.
38779
af63ada2 387802009-04-08 Felix Zielcke <fzielcke@z-51.de>
38781
38782 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38783
c2cdde70 387842009-04-07 David S. Miller <davem@davemloft.net>
38785
38786 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38787 support for R_SPARC_OLO10 relocations. Fix compile warning for
38788 R_SPARC_WDISP30 case.
ea3f72cf 38789 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 38790
761319cf 387912009-04-06 Pavel Roskin <proski@gnu.org>
38792
1007d1f5 38793 * include/grub/misc.h (ARRAY_SIZE): New macro.
38794 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38795 New macro.
38796 * loader/i386/linux.c (allocate_pages): Use free_pages().
38797 (grub_linux_unload): Don't use free_pages().
38798 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38799 wrong index. Treat all other modes as text modes.
38800 (grub_cmd_linux): Initialize vid_mode unconditionally to
38801 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38802
761319cf 38803 * commands/help.c (print_command_help): Use cmd->prio, not
38804 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38805
ea761d40 388062009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38807
ea761d40 38808 Parttool
38809
38810 * parttool/pcpart.c: new file
38811 * commands/parttool.c: likewise
38812 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38813 (parttool_mod_SOURCES): new variable
38814 (parttool_mod_CFLAGS): likewise
38815 (parttool_mod_LDFLAGS): likewise
38816 (pcpart_mod_SOURCES): likewise
38817 (pcpart_mod_CFLAGS): likewise
38818 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38819 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38820 and parttool/pcpart.c
38821 * conf/i386-efi.rmk: likewise
38822 * conf/i386-ieee1275.rmk: likewise
38823 * conf/i386-pc.rmk: likewise
38824 * conf/powerpc-ieee1275.rmk: likewise
38825 * conf/sparc64-ieee1275.rmk: likewise
38826 * conf/x86_64-ieee1275.rmk: likewise
38827
05aaebfb 388282009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38829
38830 Support for mtime and further expandability of dir command
38831
38832 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38833 * include/grub/datetime.h: ... moved here and added
05aaebfb 38834 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38835 * include/grub/fs.h: new syntax for dir and mtime functions in
38836 struct grub_fs
05aaebfb 38837 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38838 and GRUB_FSHELP_FLAGS_MASK
38839 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38840 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38841 (grub_ext2_mtime): new function
38842 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38843 (grub_hfsplus_mtime): new function
38844 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38845 (GRUB_UFS_ATTR_FILE): likewise
38846 (GRUB_UFS_ATTR_LNK): likewise
38847 (struct grub_ufs_sblock): new fields mtime
38848 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38849 all users updated
38850 (grub_ufs_dir): mtime support
38851 (grub_ufs_mtime): new function
38852 * fs/affs.c (grub_affs_dir): use new dir syntax
38853 * fs/afs.c (grub_afs_dir): likewise
38854 * fs/cpio.c (grub_cpio_dir): likewise
38855 * fs/fat.c (grub_fat_find_dir): likewise
38856 * fs/hfs.c (grub_hfs_dir): likewise
38857 * fs/iso9660.c (grub_iso9660_dir): likewise
38858 * fs/jfs.c (grub_jfs_dir): likewise
38859 * fs/minix.c (grub_minix_dir): likewise
38860 * fs/ntfs.c (grub_ntfs_dir): likewise
38861 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38862 * fs/sfs.c (grub_sfs_dir): likewise
38863 * fs/xfs.c (grub_xfs_dir): likewise
38864 * util/hostfs.c (grub_hostfs_dir): likewise
38865 * lib/datetime.c: moved to ...
38866 * normal/datetime.c: ... moved here
38867 (grub_unixtime2datetime): new function
38868 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38869 * normal/completion.c (iterate_dir): use new dir syntax
38870 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38871 last modification time of a volume
7dd4a573 38872 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38873 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38874 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38875 (normal_mod_SOURCES): likewise
38876 (datetime_mod_SOURCES): Removed lib/datetime.c
38877 * conf/i386-efi.rmk: likewise
7dd4a573 38878 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38879 * conf/i386-pc.rmk: likewise
38880 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38881 * conf/sparc64-ieee1275.rmk: likewise
38882 * conf/x86_64-efi.rmk: likewise
05aaebfb 38883
8a7e1a14 388842009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38885
38886 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38887
38888 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38889 on grub_fat_find_dir
38890 (grub_fat_find_dir): use grub_fat_iterate_dir
38891 (grub_fat_label): likewise
38892
04186a9c 388932009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38894
7dd4a573 38895 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38896 and command.h
38897 remove extraneous kernel_elf_HEADERS
38898
da4c0bb6 388992009-04-04 Bean <bean123ch@gnail.com>
38900
38901 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38902
38903 * util/misc.c: Likewise.
38904
54ad9555 389052009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38906
38907 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38908 instead of grub_printf.
38909
7a6bf9f2 389102009-04-03 Robert Millan <rmh@aybabtu.com>
38911
38912 * loader/i386/linux.c (grub_linux_setup_video): Fill
38913 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38914 values from `mode info' structure instead of hardcoded
38915 values.
38916
3fcc2083 389172009-04-01 Pavel Roskin <proski@gnu.org>
38918
38919 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38920 unused now.
38921 * genmk.rb: Likewise.
38922 * configure.ac: Likewise.
38923
5ec9740b 389242009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38925
38926 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38927 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38928
5270cec8 389292009-04-01 David S. Miller <davem@davemloft.net>
38930
38931 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38932 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38933 (grub_setjmp): Mark with 'returns_twice' attribute.
38934 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38935 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38936 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38937
9c3dd854 389382009-04-01 Robert Millan <rmh@aybabtu.com>
38939
38940 Reapply fix from 2008-07-28 which was accidentally reverted; also
38941 perform the same fix to a similar check in same function.
38942
38943 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38944 with the same number are found, just use issue a warning with
38945 grub_dprintf(), as this error has been reported to be non-fatal.
38946
0d818b7e 389472009-03-31 Pavel Roskin <proski@gnu.org>
38948
38949 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38950 for cross-compilation.
38951
95646d92 389522009-03-30 Robert Millan <rmh@aybabtu.com>
38953
38954 Fix i386-ieee1275 build.
38955
38956 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38957 Remove declaration.
38958
6a003ed1 389592009-03-30 Pavel Roskin <proski@gnu.org>
38960
38961 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38962 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38963 zero-terminated, rely only on the strlen value. Fix comparison
38964 of strings differing in length.
38965
92f33540 389662009-03-30 Robert Millan <rmh@aybabtu.com>
38967
38968 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38969 checking for abi version. Improve error messages on BIOS to notify
38970 user about `linux16' command.
38971
a8c48fd5 389722009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38973
f968172e 38974 Leak fixes
a8c48fd5 38975
f968172e 38976 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38977 in case of collision
38978 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38979
9c323f09 389802009-03-29 Robert Millan <rmh@aybabtu.com>
38981
38982 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38983 set `vid_mode' accordingly.
38984 (grub_linux_boot): Process `vid_mode' and set video mode.
38985
ae68f423 389862009-03-29 Robert Millan <rmh@aybabtu.com>
38987
38988 * util/grub.d/10_linux.in (linux_entry): New function.
38989 Factorize generation of Linux boot entries.
38990
5709cfc4 389912009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38992
38993 Make the format of Environment Block plain text. The boot loader
38994 part is not tested well yet.
7dd4a573 38995
5709cfc4 38996 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38997 (buffer): Removed.
38998 (envblk): Likewise.
38999 (usage): Remove "info" and "clear". Add "unset". Update the
39000 description of "set", as this does not delete variables any
39001 longer.
39002 (create_envblk_file): Complete rewrite.
39003 (open_envblk_file): Likewise.
39004 (cmd_info): Removed.
39005 (cmd_list): Likewise.
39006 (cmd_set): Likewise.
39007 (cmd_clear): Likewise.
39008 (list_variables): New function.
39009 (write_envblk): Likewise.
39010 (set_variables): Likewise.
39011 (unset_variables): Likewise.
39012 (main): Complete rewrite.
39013
39014 * commands/loadenv.c (buffer): Removed.
39015 (envblk): Likewise.
39016 (open_envblk_file): New function.
39017 (read_envblk_file): Complete rewrite.
39018 (grub_cmd_load_env): Likewise.
39019 (grub_cmd_list_env): Likewise.
39020 (struct blocklist): New struct.
39021 (free_blocklists): New function.
39022 (check_blocklists): Likewise.
39023 (write_blocklists): Likewise.
39024 (grub_cmd_save_env): Complete rewrite.
39025
39026 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39027 a plain text signature.
39028 (GRUB_ENVBLK_MAXLEN): Removed.
39029 (struct grub_envblk): Complete rewrite.
39030 (grub_envblk_find): Removed.
39031 (grub_envblk_insert): Likewise.
39032 (grub_envblk_open): New prototype.
39033 (grub_envblk_set): Likewise.
39034 (grub_envblk_delete): Put const to VALUE.
39035 (grub_envblk_iterate): Put const to NAME and VALUE.
39036 (grub_envblk_close): New prototype.
39037 (grub_envblk_buffer): New inline function.
39038 (grub_envblk_size): Likewise.
39039
39040 * lib/envblk.c: Include grub/mm.h.
39041 (grub_env_find): Removed.
39042 (grub_envblk_open): New function.
39043 (grub_envblk_close): Likewise.
39044 (escaped_value_len): Likewise.
39045 (find_next_line): Likewise.
39046 (grub_envblk_insert): Removed.
39047 (grub_envblk_set): New function.
39048 (grub_envblk_delete): Complete rewrite.
39049 (grub_envblk_iterate): Likewise.
39050
a9368fd3 390512009-03-28 Robert Millan <rmh@aybabtu.com>
39052
39053 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
39054 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
39055 variables. Use 16-bit loader.
39056 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
39057 loader.
39058 * kern/i386/loader.S (grub_linux_boot): Rename to ...
39059 (grub_linux16_boot): ... this. Update all users.
39060 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39061 (grub_linux_boot): ... this. Update all users.
39062
39063 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39064 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39065 commands to `linux16' and `initrd16'.
39066 (GRUB_MOD_FINI(linux)): Rename to ...
39067 (GRUB_MOD_FINI(linux16)): ... this.
39068
e4dd5a7e 390692009-03-24 Pavel Roskin <proski@gnu.org>
39070
39071 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39072 not just for compilation.
39073
c04d6e05 390742009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39075
39076 Move multiboot helper out of kernel
39077
39078 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39079 `loader/i386/multiboot_helper.S'.
39080 * conf/i386-coreboot.rmk: Likewise
39081 * conf/i386-ieee1275.rmk: Likewise
39082
39083 * kern/i386/loader.S: Move multiboot helpers from here...
39084 * loader/i386/multiboot_helper.S: ...moved here
39085 * include/grub/i386/loader.h: Move declarations of multiboot
39086 helpers from here...
39087 * include/grub/i386/multiboot.h: ...moved here
39088 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
39089
42a5b3fc 390902009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39091
39092 * kern/env.c (grub_env_context_open): Added an argument to specify
39093 whether a new context inherits exported variables from current
39094 one. This is useful when making a sandbox to interpret a config
39095 file.
39096 All callers updated.
39097
39098 * include/grub/env.h (grub_env_context_open): Updated the prototype.
39099
b28bbc4e 391002009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39101
39102 * kern/env.c (grub_env_context_close): Fix memory leaks.
39103
f04f02e4 391042009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39105
39106 * normal/main.c (grub_normal_execute): Added an argument
39107 BATCH to specify if an interactive interface should be provided
39108 after reading a config file.
39109 All callers updated.
39110 (read_command_list): Prevent being executed twice.
39111 (read_fs_list): Likewise.
39112
42a5b3fc 39113 * include/grub/normal.h (grub_normal_execute): Updated the
39114 prototype.
f04f02e4 39115
41473ac2 391162009-03-22 Pavel Roskin <proski@gno.org>
39117
fbc00b0c 39118 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
39119 _start.
39120 * kern/i386/pc/startup.S: Likewise.
39121 * kern/i386/efi/startup.S: Likewise.
39122 * kern/i386/ieee1275/startup.S: Likewise.
39123 * kern/i386/coreboot/startup.S: Likewise.
39124 * kern/x86_64/efi/startup.S: Likewise.
39125
41473ac2 39126 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
39127 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
39128 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
39129
2274cc8f 391302009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
39131
39132 Bugfixes in multiboot for bugs uncovered by solaris kernel.
39133
39134 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
39135 limit detection.
39136 Use vaddr of correct segment for entry_point.
39137
b1b797cb 391382009-03-21 Bean <bean123ch@gmail.com>
39139
39140 * commands/blocklist.c: Add include file <grub/command.h>, remove
39141 <grub/normal.h> and <grub/arg.h>.
39142 (grub_cmd_blocklist): Use the new command interface.
39143 (GRUB_MOD_INIT): Likewise.
39144 (GRUB_MOD_FINI): Likewise.
39145 * commands/boot.c: Likewise.
39146 * commands/cat.c: Likewise.
39147 * commands/cmp.c: Likewise.
39148 * commands/configfile.c: Likewise.
39149 * commands/crc.c: Likewise.
39150 * commands/echo.c: Likewise.
39151 * commands/halt.c: Likewise.
39152 * commands/handler.c: Likewise.
39153 * commands/hdparm.c: Likewise.
39154 * commands/help.c: Likewise.
39155 * commands/hexdump.c: Likewise.
39156 * commands/loadenv.c: Likewise.
39157 * commands/ls.c: Likewise.
39158 * commands/lsmmap.c: Likewise.
39159 * commands/lspci.c: Likewise.
39160 * commands/loadenv.c: Likewise.
39161 * commands/read.c: Likewise.
39162 * commands/reboot.c: Likewise.
39163 * commands/search.c: Likewise.
39164 * commands/sleep.c: Likewise.
39165 * commands/test.c: Likewise.
39166 * commands/usbtest.c: Likewise.
39167 * commands/videotest.c: Likewise.
39168 * commands/i386/cpuid.c: Likewise.
39169 * commands/i386/pc/halt.c: Likewise.
39170 * commands/i386/pc/play.c: Likewise.
39171 * commands/i386/pc/pxecmd.c: Likewise.
39172 * commands/i386/pc/vbeinfo.c: Likewise.
39173 * commands/i386/pc/vbetest.c: Likewise.
39174 * commands/ieee1275/suspend.c: Likewise.
39175 * disk/loopback.c: Likewise.
39176 * font/font_cmd.c: Likewise.
39177 * hello/hello.c: Likewise.
39178 * loader/efi/appleloader.c: Likewise.
39179 * loader/efi/chainloader.c: Likewise.
39180 * loader/i386/bsd.c: Likewise.
39181 * loader/i386/efi/linux.c: Likewise.
39182 * loader/i386/ieee1275/linux.c: Likewise.
39183 * loader/i386/linux.c: Likewise.
39184 * loader/i386/pc/chainloader.c: Likewise.
39185 * loader/i386/pc/linux.c: Likewise.
39186 * loader/powerpc/ieee1275/linux.c: Likewise.
39187 * loader/multiboot_loader.c: Likewise.
39188 * term/gfxterm.c: Likewise.
39189 * term/i386/pc/serial.c: Likewise.
39190 * term/terminfo.c: Likewise.
39191
39192 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39193 * term/i386/pc/vga.c: Likewise.
39194 * video/readers/jpeg.c: Likewise.
39195 * video/readers/png.c: Likewise.
39196 * video/readers/tga.c: Likewise.
39197
39198 * util/grub-fstest (cmd_loopback): Removed.
39199 (cmd_blocklist): Likewise.
39200 (cmd_ls): Likewise.
39201 (grub_register_command): Likewise.
39202 (grub_unregister_command): Likewise.
39203 (execute_command): Use grub_command_find to locate command and execute
39204 it.
39205
39206 * include/grub/efi/chainloader.h: Removed.
39207 * loader/efi/chainloader_normal.c: Likewise.
39208 * loader/i386/bsd_normal.c: Likewise.
39209 * loader/i386/pc/chainloader_normal.c: Likewise.
39210 * loader/i386/pc/multiboot_normal.c: Likewise.
39211 * loader/linux_normal.c: Likewise.
39212 * loader/multiboot_loader_normal.c: Likewise.
39213 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39214
39215 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39216 and grub_register_command_p1.
39217
39218 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39219 kern/command.c, lib/arg.c and commands/extcmd.c.
39220 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39221 (minicmd_mod_SOURCES): New variable.
39222 (minicmd_mod_CFLAGS): Likewise.
39223 (minicmd_mod_LDFLAGS): Likewise.
39224 (extcmd_mod_SOURCES): Likewise.
39225 (extcmd_mod_CFLAGS): Likewise.
39226 (extcmd_mod_LDFLAGS): Likewise.
39227 (boot_mod_SOURCES): Removed.
39228 (boot_mod_CFLAGS): Likewise.
39229 (boot_mod_LDFLAGS): Likewise.
39230
39231 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39232 kern/corecmd.c.
39233 (kernel_img_HEADERS): Add command.h.
39234 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39235 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39236 and lib/arg.c.
39237 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39238 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39239 remove the corresponding normal mode command.
39240 (normal_mod_SOURCES): Remove normal/arg.c.
39241 * conf/i386-coreboot.rmk: Likewise.
39242 * conf/i386-efi.rmk: Likewise.
39243 * conf/i386-ieee1275.rmk: Likewise.
39244 * conf/powerpc-ieee1275.rmk: Likewise.
39245 * conf/x86_64-efi.rmk: Likewise.
39246
39247 * include/grub/arg.h: Move from here ...
39248 * include/grub/lib/arg.h: ... to here.
39249
39250 * normal/arg.c: Move from here ...
39251 * lib/arg.c: ... to here.
39252
39253 * commands/extcmd.c: New file.
39254 * commands/minicmd.c: Likewise.
39255 * include/grub/command.h: Likewise.
39256 * include/grub/extcmd.h: Likewise.
39257 * kern/command.c: Likewise.
39258 * kern/corecmd.c: Likewise.
39259
39260 * kern/list.c (grub_list_iterate): Return int instead of void.
39261 (grub_list_insert): New function.
39262 (grub_prio_list_insert): Likewise.
39263
39264 * kern/rescue.c (grub_rescue_command): Removed.
39265 (grub_rescue_command_list): Likewise.
39266 (grub_rescue_register_command): Likewise.
39267 (grub_rescue_unregister_command): Likewise.
39268 (grub_rescue_cmd_boot): Move to minicmd.c
39269 (grub_rescue_cmd_help): Likewise.
39270 (grub_rescue_cmd_info): Likewise.
39271 (grub_rescue_cmd_boot): Likewise.
39272 (grub_rescue_cmd_testload): Likewise.
39273 (grub_rescue_cmd_dump): Likewise.
39274 (grub_rescue_cmd_rmmod): Likewise.
39275 (grub_rescue_cmd_lsmod): Likewise.
39276 (grub_rescue_cmd_exit): Likewise.
39277 (grub_rescue_print_devices): Moved to corecmd.c.
39278 (grub_rescue_print_files): Likewise.
39279 (grub_rescue_cmd_ls): Likewise.
39280 (grub_rescue_cmd_insmod): Likewise.
39281 (grub_rescue_cmd_set): Likewise.
39282 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39283 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39284 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39285 commands, remove grub_rescue_register_command calls.
b1b797cb 39286
7d074e3c 39287 * normal/command.c (grub_register_command): Removed.
b1b797cb 39288 (grub_unregister_command): Likewise.
39289 (grub_command_find): Likewise.
39290 (grub_iterate_commands): Likewise.
39291 (rescue_command): Likewise.
39292 (export_command): Moved to corecmd.c.
39293 (set_command): Removed.
39294 (unset_command): Likewise.
39295 (insmod_command): Likewise.
39296 (rmmod_command): Likewise.
39297 (lsmod_command): Likewise.
39298 (grub_command_init): Likewise.
39299
39300 * normal/completion.c (iterate_command): Use cmd->prio to check for
39301 active command.
39302 (complete_arguments): Use grub_extcmd_t structure to find options.
39303 (grub_normal_do_completion): Change function grub_iterate_commands to
39304 grub_command_iterate.
39305
39306 * normal/execute.c (grub_script_execute_cmd): No need to parse
39307 argument here.
39308
39309 * normal/main.c (grub_dyncmd_dispatcher): New function.
39310 (read_command_list): Register unload commands as dyncmd.
39311 (grub_cmd_normal): Use new command interface, register rescue,
39312 unregister normal at entry, register normal, unregister rescue at exit.
39313
39314 * include/grub/list.h (grub_list_test_t): New type.
39315 (grub_list_iterate): Return int instead of void.
39316 (grub_list_insert): New function.
39317 (GRUB_AS_NAMED_LIST_P): New macro.
39318 (GRUB_AS_PRIO_LIST): Likewise.
39319 (GRUB_AS_PRIO_LIST_P): Likewise.
39320 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39321 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39322 (grub_prio_list): New structure.
39323 (grub_prio_list_insert): New function.
39324 (grub_prio_list_remove): New inline function.
39325
39326 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39327 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39328 (GRUB_COMMAND_FLAG_MENU): Likewise.
39329 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39330 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39331 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39332 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39333 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39334 (grub_command): Likewise.
39335 (grub_register_command): Likewise.
39336 (grub_command_find): Likewise.
39337 (grub_iterate_commands): Likewise.
39338 (grub_command_init): Likewise.
39339 (grub_arg_parse): Likewise.
39340 (grub_arg_show_help): Likewise.
39341
39342 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39343 (grub_rescue_unregister_command): Likewise.
39344
39345 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39346 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39347 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39348
39349 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39350 grub_rescue_cmd_initrd.
39351 * include/grub/i386/loader.h: Likewise.
39352 * include/grub/x86_64/loader.h: Likewise.
39353
39354 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39355
1f4147aa 393562009-03-21 Bean <bean123ch@gmail.com>
39357
39358 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39359 instead of stat in mingw environment.
39360
39361 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39362
39363 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39364
39365 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39366 AC_CONFIG_LINKS.
39367
2156d5ba 393682009-03-21 Bean <bean123ch@gmail.com>
39369
39370 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39371 out of range error.
39372
177b82ca 393732009-03-18 Michel Dänzer <michel@daenzer.net>
39374
39375 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39376 checking inode flags for EXT4_EXTENTS_FLAG.
39377
14aad807 393782009-03-18 Robert Millan <rmh@aybabtu.com>
39379
39380 * loader/i386/linux.c: Include `<grub/video.h>' and
39381 `<grub/i386/pc/vbe.h>'..
39382 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39383 (grub_linux32_boot): Attempt to configure video settings with
39384 grub_linux_setup_video().
39385 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39386 to avoid grub_console_fini() which would step out of graphical mode
39387 unconditionally.
39388
8cf83a27 393892009-03-14 Robert Millan <rmh@aybabtu.com>
39390
39391 Fix build on powerpc.
39392 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39393
40164e75 393942009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39395
39396 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39397 background image command.
39398
c58bc32a 393992009-03-12 Colin D Bennett <colin@gibibit.com>
39400
39401 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39402 (grub_gfxterm_putchar): Extract pairs of identical calls to
39403 draw_cursor out of conditional blocks.
39404
5415144a 394052009-03-11 Pavel Roskin <proski@gnu.org>
39406
39407 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39408 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39409
6394042e 394102009-03-11 Robert Millan <rmh@aybabtu.com>
39411
39412 * loader/i386/multiboot_elfxx.c
39413 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39414
b7b50e5f 394152009-03-11 Felix Zielcke <fzielcke@z-51.de>
39416
39417 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39418 `kern/handler.c'.
39419
1ca7fc96 394202009-03-11 Robert Millan <rmh@aybabtu.com>
39421
39422 * loader/i386/multiboot.c (code_size): New variable.
39423 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39424 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39425 4-byte alignment to MBI and others by increasing
7d074e3c 39426 `boot_loader_name_length' appropriately.
1ca7fc96 39427
39428 * loader/i386/multiboot_elfxx.c
39429 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39430
a83ea1d2 394312009-03-09 Felix Zielcke <fzielcke@z-51.de>
39432
39433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39434 `fs/ext2.c'.
39435
aa9f3bff 394362009-03-08 Robert Millan <rmh@aybabtu.com>
39437
39438 Make loader/i386/linux.c usable on i386-pc again.
39439
39440 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39441 memory to heap.
39442 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39443 `#error' stanza.
39444
d8b3b60e 394452009-03-07 Bean <bean123ch@gmail.com>
39446
39447 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39448 allocation.
39449
b362c9e9 394502009-03-06 Robert Millan <rmh@aybabtu.com>
39451
39452 Fix display issue on terminals with screen size other than 80x25
39453 (e.g. gfxterm with resolution higher than 640x480).
39454
39455 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39456 position relative to the center of the terminal instead of relying
b362c9e9 39457 on a hardcoded offset.
39458
9304eef1 394592009-03-04 Robert Millan <rmh@aybabtu.com>
39460
39461 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39462 installed.
39463
39464 * Makefile.in (host_kernel): New variable.
39465 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39466 scripts instead of just the windows one.
39467 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39468
eabc95fb 394692009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39470
39471 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39472 `kern/handler.c'.
39473 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39474 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39475 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39477 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39478 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39479
ceb1223c 394802009-03-04 Felix Zielcke <fzielcke@z-51.de>
39481
39482 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39483 or if there's no space for the disk label and print the partition number on a
39484 invalid magic.
39485
4910684a 394862009-03-04 Felix Zielcke <fzielcke@z-51.de>
39487
39488 * util/misc.c: Include <time.h>.
39489 (grub_millisleep): New function.
39490
7e9ca17a 394912009-03-04 Bean <bean123ch@gmail.com>
39492
39493 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39494 another option -mno-red-zone.
39495
39496 * commands/handler.c: Change module description.
39497
39498 * kern/handler.c: Add missing space at the end of description line.
39499
39500 * kern/list.c: Likewise.
39501
f501677c 395022009-03-03 Robert Millan <rmh@aybabtu.com>
39503
39504 Move more components to the relocation area, and fix mbi pointer
39505 handling to use the destination rather than the origin (thanks to
39506 Vladimir Serbinenko for spotting).
39507
39508 * loader/i386/multiboot.c (mbi_dest): New variable.
39509 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39510 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39511 relocation area.
39512
9902d047 395132009-03-01 Bean <bean123ch@gmail.com>
39514
50fb7002 39515 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39516 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39517 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39518 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39519
39520 * loader/i386/efi/linux.c (acpi_guid): New variable.
39521 (acpi_guid): Likewise.
39522 (EBDA_SEG_ADDR): New constant.
39523 (LOW_MEM_ADDR): Likewise.
39524 (FAKE_EBDA_SEG): Likewise.
39525 (fake_bios_data): New function.
39526 (grub_linux_boot): Call fake_bios_data.
39527
71b9f361 395282009-03-01 Bean <bean123ch@gmail.com>
39529
39530 * commands/terminal.c: Removed.
39531
39532 * commands/handler.c: New file.
39533
39534 * include/grub/list.h: Likewise.
39535
39536 * include/grub/handler.h: Likewise.
39537
39538 * kern/list.c: Likewise.
39539
39540 * kern/handler.c: Likewise.
39541
39542 * kern/term.h: Include header file <grub/handler.h>.
39543 (grub_term_input): Move next field to the beginning.
39544 (grub_term_output): Likewise.
39545 (grub_term_input_class): New variable.
39546 (grub_term_output_class): Likewise.
39547 (grub_term_register_input): Changed to inline function.
39548 (grub_term_register_output): Likewise.
39549 (grub_term_unregister_input): Likewise.
39550 (grub_term_unregister_output): Likewise.
39551 (grub_term_set_current_input): Likewise.
39552 (grub_term_set_current_output): Likewise.
39553 (grub_term_get_current_input): Likewise.
39554 (grub_term_get_current_output): Likewise.
39555 (grub_term_iterate_input): Removed.
39556 (grub_term_iterate_output): Likewise.
39557
39558 * kern/term.c (grub_term_list_input): Removed.
39559 (grub_term_list_output): Likewise.
39560 (grub_term_input_class): New variable.
39561 (grub_term_output_class): Likewise.
50fb7002 39562 (grub_cur_term_input): Change variable as macro.
71b9f361 39563 (grub_cur_term_output): Likewise.
39564 (grub_term_register_input): Removed.
39565 (grub_term_register_output): Likewise.
39566 (grub_term_unregister_input): Likewise.
39567 (grub_term_unregister_output): Likewise.
39568 (grub_term_set_current_input): Likewise.
39569 (grub_term_set_current_output): Likewise.
39570 (grub_term_iterate_input): Likewise.
39571 (grub_term_iterate_output): Likewise.
39572 (grub_term_get_current_input): Likewise.
39573 (grub_term_get_current_output): Likewise.
39574
39575 * util/grub-editenv.c: Include header file <grub/handler.h>.
39576 (grub_term_get_current_input): Removed.
39577 (grub_term_get_current_output): Likewise.
39578 (grub_term_input_class): New variable.
50fb7002 39579 (grub_term_output_class): Likewise.
71b9f361 39580
39581 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39582 (grub_term_get_current_output): Likewise.
39583 (grub_term_input_class): New variable.
50fb7002 39584 (grub_term_output_class): Likewise.
71b9f361 39585
39586 * util/grub-probe.c (grub_term_get_current_input): Removed.
39587 (grub_term_get_current_output): Likewise.
39588 (grub_term_input_class): New variable.
50fb7002 39589 (grub_term_output_class): Likewise.
71b9f361 39590
39591 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39592 (grub_term_get_current_output): Likewise.
39593 (grub_term_input_class): New variable.
50fb7002 39594 (grub_term_output_class): Likewise.
71b9f361 39595
39596 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39597 (terminal_mod_SOURCES): Likewise.
39598 (terminal_mod_CFLAGS): Likewise.
39599 (terminal_mod_LDFLAGS): Likewise.
39600
39601 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39602 handler.c.
39603 (kernel_img_SOURCES): Add list.c and handler.c.
39604 (kernel_img_HEADERS): Add list.h and handler.h.
39605
39606 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39607 handler.c.
39608 (kernel_mod_SOURCES): Add list.c and handler.c.
39609 (kernel_mod_HEADERS): Add list.h and handler.h.
39610
39611 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39612 handler.c.
39613 (kernel_elf_SOURCES): Add list.c and handler.c.
39614 (kernel_elf_HEADERS): Add list.h and handler.h.
39615
39616 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39617 handler.c.
39618 (kernel_elf_SOURCES): Add list.c and handler.c.
39619 (kernel_elf_HEADERS): Add list.h and handler.h.
39620
39621 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39622 handler.c.
39623 (kernel_mod_SOURCES): Add list.c and handler.c.
39624 (kernel_mod_HEADERS): Add list.h and handler.h.
39625
39626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39627 handler.c.
39628 (kernel_elf_SOURCES): Add list.c and handler.c.
39629 (kernel_elf_HEADERS): Add list.h and handler.h.
39630
8a31787f 396312009-02-27 Robert Millan <rmh@aybabtu.com>
39632
39633 Factorize elf32 / elf64 code in Multiboot loader. This will
39634 prevent it from getting out of sync again.
39635
39636 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39637 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39638 grub_multiboot_load_elf64): Move from here ...
39639 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39640 grub_multiboot_load_elf): ... to here (new file).
39641
51cd3dfc 396422009-02-27 Robert Millan <rmh@aybabtu.com>
39643
39644 * util/grub.d/10_linux.in: Rename "single-user mode" to
39645 "recovery mode".
39646
6e8c9c3a 396472009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39648
39649 Don't leak in SCSI code.
39650 * disk/scsi.c (grub_scsi_close): free `scsi'.
39651
4b6bf4f9 396522009-02-27 Robert Millan <rmh@aybabtu.com>
39653
39654 * loader/i386/pc/multiboot.c: Move from here ...
39655 * loader/i386/multiboot.c: ... to here. Update all users.
39656
b9413424 396572009-02-27 Robert Millan <rmh@aybabtu.com>
39658
39659 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39660 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39661
50fb7002 396622009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39663
39664 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39665 b-tree.
39666
8cc50345 396672009-02-27 Robert Millan <rmh@aybabtu.com>
39668
39669 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39670 `0x' qualifier as 0 when base is specified as parameter).
39671
6e09b8b7 396722009-02-24 Bean <bean123ch@gmail.com>
39673
39674 * configure.ac: Check for -mcmodel=large in x86_64 target.
39675
39676 * include/grub/efi/api.h (efi_call_10): New macro.
39677 (efi_wrap_10): New function.
39678
39679 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39680 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39681 (GRUB_PE32_REL_BASED_LOW): Likewise.
39682 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39683 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39684 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39685 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39686 (GRUB_PE32_REL_BASED_REL): Likewise.
39687 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39688 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39689 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39690
39691 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39692 issue.
39693
39694 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39695 (efi_wrap_10): New function.
39696
39697 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39698
39699 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39700 MB/MBP model (NV chipset).
39701 (devdata_devs): Add devpath_5 to the list.
39702
39703 * load/i386/efi/linux.c (video_base): Remove variable.
39704 (RGB_MASK): New macro.
39705 (RGB_MAGIC): Likewise.
39706 (LINE_MIN): Likewise.
39707 (LINE_MAX): Likewise.
39708 (FBTEST_STEP): Likewise.
39709 (FBTEST_COUNT): Likewise.
39710 (fb_list): New variable.
39711 (grub_find_video_card): Remove function.
39712 (find_framebuf): New function.
39713 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39714 line length.
39715
39716 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39717 problem for x86_64.
39718
74b21bee 397192009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39720
39721 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39722
39723 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39724 coding tool name.
39725
a455f472 397262009-02-22 Robert Millan <rmh@aybabtu.com>
39727
39728 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39729 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39730 in our relocation, instead of using it directly from heap. Also
39731 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39732
6374daf3 397332009-02-21 Robert Millan <rmh@aybabtu.com>
39734
39735 Implement USB keyboard support (based on patch by Marco Gerards)
39736
39737 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39738 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39739 (usb_keyboard_mod_LDFLAGS): New variables.
39740
39741 * term/usb_keyboard.c: New file.
39742
8fa4ea70 397432009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39744
39745 Corrected wrong declaration
39746
39747 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39748
353976ac 397492009-02-14 Christian Franke <franke@computer.org>
39750
39751 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39752 (grub_lspci_iter): Print class code and programming interface byte.
39753
6aa1169b 397542009-02-14 Christian Franke <franke@computer.org>
39755
39756 * gendistlist.sh: Ignore `.svn' directories.
39757
265372ca 397582009-02-14 Felix Zielcke <fzielcke@z-51.de>
39759
39760 * fs/fat.c: Add 2009 to Copyright line.
39761
9ff516f3 397622009-02-14 Christian Franke <franke@computer.org>
39763
39764 * commands/hdparm.c: New file. Provides `hdparm' command
39765 which sends ATA commands via grub_disk_ata_pass_through ().
39766
39767 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39768
39769 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39770 and <grub/cpu/io.h> to include/grub/ata.h.
39771 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39772 (GRUB_CDROM_SECTOR_SIZE): Remove.
39773 (GRUB_ATA_*): Move to include/grub/ata.h.
39774 (GRUB_ATAPI_*): Likewise.
39775 (enum grub_ata_commands): Likewise.
39776 (enum grub_ata_timeout_milliseconds): Likewise.
39777 (struct grub_ata_device): Likewise.
39778 (grub_ata_regset): Likewise.
39779 (grub_ata_regget): Likewise.
39780 (grub_ata_regset2): Likewise.
39781 (grub_ata_regget2): Likewise.
39782 (grub_ata_check_ready): Likewise.
39783 (grub_ata_wait_not_busy): Remove static, exported in
39784 include/grub/ata.h.
39785 (grub_ata_wait_drq): Likewise.
39786 (grub_ata_pio_read): Likewise.
39787
39788 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39789 function for hdparm.mod.
39790
39791 * include/grub/ata.h: New file, contains declarations from
39792 disk/ata.c.
39793 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39794
39795 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39796 (grub_disk_ata_pass_through): New exported variable.
39797
39798 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39799
772e23da 398002009-02-13 Colin D Bennett <colin@gibibit.com>
39801
39802 Support multiple fallback entries, and provide an API to support
39803 executing default+fallback menu entries. Renamed the `terminal' menu
39804 viewer to `text'.
39805
39806 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39807 variable declaration.
39808 (grub_menu_execute_callback): New structure declaration.
39809 (grub_menu_execute_callback_t): New typedef.
39810 (grub_menu_execute_with_fallback): New function declaration.
39811 (grub_menu_get_entry): Likewise.
39812 (grub_menu_get_timeout): Likewise.
39813 (grub_menu_set_timeout): Likewise.
39814
39815 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39816
39817 * normal/menu.c (grub_wait_after_message): Moved to
39818 `normal/menu_text.c'.
39819 (draw_border): Likewise.
39820 (print_message): Likewise.
39821 (print_entry): Likewise.
39822 (print_entries): Likewise.
39823 (grub_menu_init_page): Likewise.
39824 (get_entry_number): Likewise.
39825 (print_timeout): Likewise.
39826 (run_menu): Likewise.
39827 (grub_menu_execute_entry): Likewise.
39828 (show_text_menu): Likewise.
39829 (get_and_remove_first_entry_number): New function.
39830 (grub_menu_execute_with_fallback): Likewise.
39831 (get_entry): Renamed to ...
39832 (grub_menu_get_entry): .. this and made it global.
39833 (get_timeout): Renamed to ...
39834 (grub_menu_get_timeout): ... this and made it global.
39835 (set_timeout): Renamed to ...
39836 (grub_menu_set_timeout): ... this and made it global.
39837 (grub_normal_terminal_menu_viewer): Renamed to ...
39838 (grub_normal_text_menu_viewer): ... this.
39839
39840 * normal/menu_text.c: New file. Extracted text-menu-specific code
39841 from normal/menu.c.
39842
39843 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39844 (normal_mod_SOURCES): Likewise.
39845
39846 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39847 (normal_mod_SOURCES): Likewise.
39848
39849 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39850 (normal_mod_SOURCES): Likewise.
39851
39852 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39853 (normal_mod_SOURCES): Likewise.
39854
39855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39856 (normal_mod_SOURCES): Likewise.
39857
39858 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39859 (normal_mod_SOURCES): Likewise.
39860
39861 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39862 (normal_mod_SOURCES): Likewise.
39863
16ac430e 398642009-02-11 Robert Millan <rmh@aybabtu.com>
39865
39866 * util/grub.d/00_header.in: Update old reference to `font' command.
39867
06ff20fc 398682009-02-10 Felix Zielcke <fzielcke@z-51.de>
39869
39870 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39871
39872 Based on patch from Javier Martín.
39873
96da9407 398742009-02-09 Felix Zielcke <fzielcke@z-51.de>
39875
39876 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39877 to avoid false positives with FAT.
96da9407 39878 (grub_fstest_SOURCES): Likewise.
39879 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39880 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39882 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39883 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39884 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39885
6dca6fe4 398862009-02-09 Felix Zielcke <fzielcke@z-51.de>
39887
06ff20fc 39888 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39889 bpb.version_specific.fat12_or_fat16.fstype and
39890 bpb.version_specific.fat32.fstype.
39891
2550c62f 398922009-02-08 Robert Millan <rmh@aybabtu.com>
39893
be110b30 39894 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39895
56978920 398962009-02-08 Robert Millan <rmh@aybabtu.com>
39897
39898 * Makefile.in (host_os, host_cpu): New variables.
39899 (target_os): Remove. Update all users.
39900
d64399b5 399012009-02-08 Marco Gerards <marco@gnu.org>
39902
39903 * Makefile.in (enable_grub_emu_usb): New variable.
39904 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39905 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39906 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39907 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39908 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39909 `usbtest.mod' and `usbms.mod'.
39910 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39911 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39912 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39913 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39914 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39915 variables.
39916
39917 * disk/usbms.c: New file.
39918
39919 * include/grub/usb.h: Likewise.
39920
39921 * include/grub/usbtrans.h: Likewise.
39922
39923 * include/grub/usbdesc.h: Likewise.
39924
39925 * bus/usb/usbtrans.c: Likewise.
39926
39927 * bus/usb/ohci.c: Likewise.
39928
39929 * bus/usb/uhci.c: Likewise.
39930
39931 * bus/usb/usbhub.c: Likewise.
39932
39933 * bus/usb/usb.c: Likewise.
39934
39935 * commands/usbtest.c: Likewise.
39936
39937 * util/usb.c: Likewise.
50fb7002 39938
d64399b5 39939 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39940
39941 * configure.ac: Test for libusb presence.
50fb7002 39942
d64399b5 39943 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39944
2b40d6bb 399452009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39946
39947 * kern/mm.c: Add more comments.
39948
73a4ce81 399492009-02-08 Robert Millan <rmh@aybabtu.com>
39950
39951 Patch from Javier Martín.
39952 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39953 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39954
f821ce59 399552009-02-08 Robert Millan <rmh@aybabtu.com>
39956
39957 * fs/cpio.c: Split tar functionality to ...
39958 * fs/tar.c: ... here (new file). Update all users.
39959
aebfc4b0 399602009-02-07 Robert Millan <rmh@aybabtu.com>
39961
39962 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39963 backward-incompatible features.
39964
39965 Based on patch from Javier Martín, with some adjustments.
39966
50fb7002 399672009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39968
39969 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39970
0bb5115e 399712009-02-07 Robert Millan <rmh@aybabtu.com>
39972
39973 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39974 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39975 after the RAID stuff.
39976
38a0f8e7 399772009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39978
50fb7002 39979 Fixes problem when running vbetest command as reported by
38a0f8e7 39980 Vladimir Serbinenko <phcoder@gmail.com>.
39981
39982 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39983
3143cc1c 399842009-02-04 Felix Zielcke <fzielcke@z-51.de>
39985
39986 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39987 /dev/md/NpN style mdraid devices.
39988
9cba6fce 399892009-02-03 Felix Zielcke <fzielcke@z-51.de>
39990
39991 * util/unifont2pff.rb: Remove.
39992
e507a2c1 399932009-02-03 Felix Zielcke <fzielcke@z-51.de>
39994
39995 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39996 `#'.
39997
d2c2b4cd 399982009-02-03 Felix Zielcke <fzielcke@z-51.de>
39999
40000 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40001 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40002 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40003 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40005 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40006 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40007
b4315fb0 400082009-02-02 Christian Franke <franke@computer.org>
40009
40010 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40011
de3aa260 400122009-02-01 Felix Zielcke <fzielcke@z-51.de>
40013
7c3ff286 40014 * INSTALL: Note that we now require at least autoconf 2.59 and
40015 that LZO is optional.
de3aa260 40016
825a182b 400172009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40018
40019 Base on patch on bug #24154 created by Tomas Tintera
40020 <trosos@seznam.cz>.
40021
40022 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40023
a69ef770 400242009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40025
7c3ff286 40026 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 40027 <bero@arklinux.org>.
40028
40029 * normal/parser.y (script_init): Add missing semicolon.
40030
6fa42fa6 400312009-01-31 Colin D Bennett <colin@gibibit.com>
40032
7c3ff286 40033 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 40034 (free_menu_entry_classes): Added.
40035 (grub_normal_menu_addentry): Added class property handling.
40036 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40037 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40038
40039 * normal/menu_viewer.c: New file.
40040
40041 * normal/menu.c (run_menu_entry): Renamed to ...
40042 (grub_menu_execute_entry): ... this and made it as global.
40043 (grub_menu_run): Renamed to ...
40044 (show_text_menu): ... this and made it local.
40045 (show_text_menu): Adapt to new function names.
40046 (grub_normal_terminal_menu_viewer): New global variable.
40047
40048 * include/grub/menu.h: New file.
40049
40050 * include/grub/menu_viewer.h: New file.
40051
40052 * include/grub/normal.h: Added include to grub/menu.h.
40053 (grub_menu_entry): Moved to include/grub/menu.h.
40054 (grub_menu_entry_t): Likewise.
40055 (grub_menu): Likewise.
40056 (grub_menu_t): Likewise.
40057 (grub_normal_terminal_menu_viewer): Added.
40058 (grub_menu_execute_entry): Likewise.
40059 (grub_menu_run): Removed.
40060
40061 * DISTLIST: Added include/grub/menu.h.
40062 Added include/grub/menu_viewer.h.
40063 Added normal/menu_viewer.c.
40064
400652009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40066
40067 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40068 arglist for menutitle arguments.
40069
40070 * normal/main.c (grub_normal_menu_addentry): Likewise.
40071
40072 * normal/parser.y (menuentry): Likewise.
40073
40074 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40075
40076 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40077 (grub_script_create_cmdmenu): Likewise.
40078
40079 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40080
40081 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40082 changes.
40083
40084 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
40085
40086 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
40087
40088 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
40089
40090 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40091
40092 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40093
40094 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40095
56192c23 400962009-01-30 Christian Franke <franke@computer.org>
40097
40098 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
40099 in option help text.
40100
d72521b3 401012009-01-27 Pavel Roskin <proski@gnu.org>
40102
40103 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
40104
994b5e84 401052009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40106
40107 * commands/lsmmap.c: Add include to grub/machine/memory.h.
40108
40109 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
40110
40111 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
40112 unregister function.
40113
6a7eab2c 401142009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40115
40116 * disk/scsi.c (grub_scsi_read): Fix sign problem.
40117
40118 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
40119
40120 * util/grub-mkfont.c (usage): Fix typo.
40121
40122 * util/elf/grub-mkimage.c (load_modules): Fix warning.
40123
1806b56e 401242009-01-26 Daniel Mierswa <impulze@impulze.org>
40125
3fb18f09 40126 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
40127
336e1fb9 40128 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
40129
1806b56e 40130 * kern/misc.c (grub_strcasecmp): New function.
40131 (grub_strcasecmp): Use grub_size_t instead of int for length.
40132 Fix return value.
40133 * include/grub/misc.h: Update function prototypes.
40134
580b2a0f 401352009-01-26 Robert Millan <rmh@aybabtu.com>
40136
40137 * configure.ac: Fix cross-compilation check.
ef257b36 40138
d31c24f1 401392009-01-22 Christian Franke <franke@computer.org>
40140
40141 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
40142 (precision) digit string. Allow `.format2' without `format1' (width).
40143 Limit input chars for `%s' output to `format2' if specified. This is
40144 compatible with standard printf ().
40145
3138b44c 401462009-01-22 Christian Franke <franke@computer.org>
40147
40148 * disk/ata.c (grub_ata_wait_status): Replace by ...
40149 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
40150 other status bits may be invalid while BSY is asserted.
40151 (grub_ata_check_ready): New function.
40152 (grub_ata_cmd): Removed.
40153 (grub_ata_wait_drq): New function.
40154 (grub_ata_strncpy): Remove inline.
40155 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
40156 and error check now done by grub_ata_wait_drq ().
40157 (grub_ata_pio_write): Likewise.
40158 (grub_atapi_identify): Set DEV before check for !BSY. Use
40159 grub_ata_wait_drq () to wait for data.
40160 (grub_ata_device_initialize): Add status register check to
40161 detect missing SATA slave devices. Add debug messages.
40162 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
40163 (grub_atapi_packet): Set DEV before check for !BSY. Replace
40164 transfer loop by grub_ata_pio_write ().
40165 (grub_ata_identify): Set DEV before check for !BSY. Use
40166 grub_ata_wait_drq () to wait for data.
ef257b36 40167 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 40168 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
40169 read/write in one loop. Fix invalid command on write. Fix incomplete
40170 command on (size % batch) == 0. Add missing error check after write of
40171 last block. Add debug messages.
40172 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40173
59a64ef6 401742009-01-19 Christian Franke <franke@computer.org>
40175
40176 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40177 (GRUB_ATAPI_IREASON_*): Likewise.
40178 (grub_ata_pio_write): Fix timeout error return.
40179 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40180 (grub_atapi_wait_drq): New function.
40181 (grub_atapi_packet): New parameter `size'.
40182 Use grub_atapi_wait_drq () and direct write instead of
40183 grub_ata_pio_write ().
40184 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40185 reads the number of bytes requested by the device for each DRQ
40186 assertion.
40187 (grub_atapi_write): Remove old implementation, return not
40188 implemented instead.
40189
1cfe20b3 401902009-01-19 Christian Franke <franke@computer.org>
40191
40192 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40193 of 512 to calculate data size.
40194 (grub_scsi_read12): Likewise.
40195 (grub_scsi_write10): Likewise.
40196 (grub_scsi_write12): Likewise.
40197 (grub_scsi_read): Adjust size according to blocksize.
40198 Add checks for invalid blocksize and unaligned transfer.
40199
bee5fe5d 402002009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40201
40202 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40203
ef257b36 40204 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 40205 width glyphs.
40206
3e643f8c 402072009-01-19 Robert Millan <rmh@aybabtu.com>
40208
40209 * config.guess: Update to latest version from config git.
40210 * config.sub: Likewise.
40211
4fa80998 402122009-01-17 Felix Zielcke <fzielcke@z-51.de>
40213
40214 * Makefile.in: Change font compilation to use new grub-mkfont instead
40215 of java version.
40216
40217 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40218 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40219 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40220 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40221 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40222 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40223 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40224 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40225 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40226
7086085b 402272009-01-16 Christian Franke <franke@computer.org>
40228
40229 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40230 (enum grub_ata_timeout_milliseconds): New enum.
40231 (grub_ata_wait_status): Add parameter milliseconds.
40232 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40233 recovery from timed-out commands.
40234 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40235 return grub_errno instead of REG_ERROR.
40236 (grub_ata_pio_write): Add parameter milliseconds.
40237 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40238 Pass milliseconds to grub_ata_wait_status () and
40239 grub_ata_pio_read ().
40240 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40241 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40242 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40243 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40244 It is not suitable for device detection, because DEV bit is ignored,
40245 the command may run too long, and not all devices set the signature
40246 properly.
40247 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40248 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40249 Fix device selection, DEV bit must be set first to address the registers
40250 of the correct device.
40251 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40252 grub_ata_pio_read/write ().
40253 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40254 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40255
4a412913 402562009-01-13 Carles Pina i Estany <carles@pina.cat>
40257
40258 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40259
7795c55e 402602009-01-13 Bean <bean123ch@gmail.com>
d913988c 40261
40262 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40263
7795c55e 402642009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40265
40266 * Makefile.in: (enable_grub_mkfont): New variable.
40267 (freetype_cflags): Likewise.
40268 (freetype_libs): Likewise.
40269
40270 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40271 (grub_mkfont_SOURCES): New variable.
40272 (grub_mkfont_CFLAGS): Likewise.
40273 (grub_mkfont_LDFLAGS): Likewise.
40274
40275 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40276 library if `--enable-grub-mkfont' is requested.
40277 (enable_grub_mkfont): New variable.
40278 (freetype_cflags): Likewise.
40279 (freetype_libs): Likewise.
40280
40281 * util/grub-mkfont.c: New file.
40282
093af1fe 402832009-01-12 Christian Franke <franke@computer.org>
40284
40285 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40286 mode check. Fix setting of compat_use[].
40287
f36cc108 402882009-01-10 Robert Millan <rmh@aybabtu.com>
40289
40290 Update a few copyright years which we forgot to do in 2008 (only for
40291 files whose changes made in 2008 were copyright-significant)
40292
40293 * Makefile.in: Add 2008 to Copyright line.
40294 * disk/ieee1275/ofdisk.c: Likewise.
40295 * disk/efi/efidisk.c: Likewise.
40296 * kern/dl.c: Likewise.
40297 * kern/sparc64/ieee1275/init.c: Likewise.
40298 * kern/mm.c: Likewise.
40299 * kern/efi/mm.c: Likewise.
40300 * boot/i386/pc/boot.S: Likewise.
40301 * genfslist.sh: Likewise.
40302 * fs/iso9660.c: Likewise.
40303 * fs/hfs.c: Likewise.
40304 * fs/jfs.c: Likewise.
40305 * fs/minix.c: Likewise.
40306 * fs/ufs.c: Likewise.
40307 * gensymlist.sh.in: Likewise.
40308 * genkernsyms.sh.in: Likewise.
40309 * include/grub/misc.h: Likewise.
40310 * include/grub/types.h: Likewise.
40311 * include/grub/symbol.h: Likewise.
40312 * include/grub/elf.h: Likewise.
40313 * include/grub/kernel.h: Likewise.
40314 * include/grub/disk.h: Likewise.
40315 * include/grub/dl.h: Likewise.
40316 * include/grub/i386/linux.h: Likewise.
40317 * include/grub/i386/pc/biosdisk.h: Likewise.
40318 * include/grub/efi/api.h: Likewise.
40319 * include/grub/efi/pe32.h: Likewise.
40320 * include/grub/util/misc.h: Likewise.
40321 * normal/execute.c: Likewise.
40322 * normal/arg.c: Likewise.
40323 * normal/completion.c: Likewise.
40324 * normal/lexer.c: Likewise.
40325 * normal/parser.y: Likewise.
40326 * normal/misc.c: Likewise.
40327 * commands/i386/pc/vbeinfo.c: Likewise.
40328 * commands/hexdump.c: Likewise.
40329 * commands/terminal.c: Likewise.
40330 * commands/ls.c: Likewise.
40331 * commands/help.c: Likewise.
40332 * partmap/pc.c: Likewise.
40333 * loader/efi/chainloader.c: Likewise.
40334 * loader/multiboot_loader.c: Likewise.
40335 * loader/i386/pc/multiboot2.c: Likewise.
40336 * term/efi/console.c: Likewise.
40337 * term/i386/pc/serial.c: Likewise.
40338 * util/lvm.c: Likewise.
40339 * util/console.c: Likewise.
40340 * util/i386/efi/grub-mkimage.c: Likewise.
40341 * util/raid.c: Likewise.
40342
7f02114b 403432009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40344
40345 * commands/videotest.c: Removed include to grub/machine/memory.h.
40346
40347 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40348 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40349 (video_mod_SOURCES): Removed.
40350 (video_mod_CFLAGS): Likewise.
40351 (video_mod_LDFLAGS): Likewise.
40352 (gfxterm_mod_SOURCES): Likewise.
40353 (gfxterm_mod_CFLAGS): Likewise.
40354 (gfxterm_mod_LDFLAGS): Likewise.
40355 (videotest_mod_SOURCES): Likewise.
40356 (videotest_mod_CFLAGS): Likewise.
40357 (videotest_mod_LDFLAGS): Likewise.
40358 (bitmap_mod_SOURCES): Likewise.
40359 (bitmap_mod_CFLAGS): Likewise.
40360 (bitmap_mod_LDFLAGS): Likewise.
40361 (tga_mod_SOURCES): Likewise.
40362 (tga_mod_CFLAGS): Likewise.
40363 (tga_mod_LDFLAGS): Likewise.
40364 (jpeg_mod_SOURCES): Likewise.
40365 (jpeg_mod_CFLAGS): Likewise.
40366 (jpeg_mod_LDFLAGS): Likewise.
40367 (png_mod_SOURCES): Likewise.
40368 (png_mod_CFLAGS): Likewise.
40369 (png_mod_LDFLAGS): Likewise.
40370
40371 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40372 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40373 (video_mod_SOURCES): Added.
40374 (video_mod_CFLAGS): Likewise.
40375 (video_mod_LDFLAGS): Likewise.
40376 (videotest_mod_SOURCES): Likewise.
40377 (videotest_mod_CFLAGS): Likewise.
40378 (videotest_mod_LDFLAGS): Likewise.
40379 (bitmap_mod_SOURCES): Likewise.
40380 (bitmap_mod_CFLAGS): Likewise.
40381 (bitmap_mod_LDFLAGS): Likewise.
40382 (tga_mod_SOURCES): Likewise.
40383 (tga_mod_CFLAGS): Likewise.
40384 (tga_mod_LDFLAGS): Likewise.
40385 (jpeg_mod_SOURCES): Likewise.
40386 (jpeg_mod_CFLAGS): Likewise.
40387 (jpeg_mod_LDFLAGS): Likewise.
40388 (png_mod_SOURCES): Likewise.
40389 (png_mod_CFLAGS): Likewise.
40390 (png_mod_LDFLAGS): Likewise.
40391 (gfxterm_mod_SOURCES): Likewise.
40392 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40393 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40394
40395 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40396 grub/machine/console.h.
40397
644fff97 403982009-01-04 Jerone Young <jerone@gmail.com>
40399
40400 Make on screen instructions clearer
40401
40402 Based on patch created by Jidanni <jidanni@jidanni.org>
40403
40404 * normal/menu.c: print clearer instructions on the screen
40405
1e901a75 404062009-01-02 Colin D Bennett <colin@gibibit.com>
40407
40408 New font engine.
34c44600 40409
1e901a75 40410 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40411 build system and fixed gfxterm.c to work with different sized fonts.
40412
40413 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40414
1e901a75 40415 * configure: Re-generated.
34c44600 40416
1e901a75 40417 * DISTLIST: Removed font/manager.c.
40418 Added font/font.c.
40419 Added font/font_cmd.c.
34c44600 40420
1e901a75 40421 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40422 compilation.
34c44600 40423
1e901a75 40424 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40425
40426 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40427
40428 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40429
1e901a75 40430 * normal/menu.c: Likewise.
34c44600 40431
1e901a75 40432 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40433 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40434
1e901a75 40435 * include/grub/font.h: Replaced with new file.
34c44600 40436
1e901a75 40437 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40438 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40439 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40440 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40441 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40442 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40443 fg_red, fg_green, fg_blue, fg_alpha.
40444 (grub_video_adapter): Removed blit_glyph.
34c44600 40445 (grub_video_blit_glyph): Removed.
40446
1e901a75 40447 * font/manager.c: Removed file.
34c44600 40448
40449 * font/font.c: New file.
40450
1e901a75 40451 * font/font_cmd.c: Likewise.
34c44600 40452
1e901a75 40453 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40454
1e901a75 40455 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40456 (grub_video_vbe_map_rgba): Likewise.
40457 (grub_video_vbe_unmap_color_int): Likewise.
40458 (grub_video_vbe_blit_glyph): Removed.
40459 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40460
1e901a75 40461 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40462 (get_pixel): Likewise.
34c44600 40463 (set_pixel): Likewise.
40464
1e901a75 40465 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40466
1e901a75 40467 * term/gfxterm.c: Adapted to new font engine.
34c44600 40468
1e901a75 40469 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40470
1e901a75 40471 * term/i386/pc/vga.c: Likewise.
34c44600 40472
1e901a75 40473 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40474
1e901a75 40475 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40476
1e901a75 40477 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40478
1e901a75 40479 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40480
1e901a75 40481 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40482
1e901a75 40483 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40484
1e901a75 40485 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40486
1e901a75 40487 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40488
1e901a75 40489 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40490
40491 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40492
1e901a75 40493 * util/grub-mkconfig_lib.in: Changed font extension.
40494
278922e8 404952008-12-28 Felix Zielcke <fzielcke@z-51.de>
40496
40497 * util/getroot.c (grub_util_get_grub_dev): Add support for
40498 /dev/md/dNNpNN style partitionable mdraid devices.
40499
3ced05cf 405002008-12-12 Alex Smith <alex@alex-smith.me.uk>
40501
40502 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40503 at a time limit of the PXE TFTP API correctly.
40504 (grub_pxefs_close): Likewise.
40505
7fd0ee30 405062008-11-29 Robert Millan <rmh@aybabtu.com>
40507
34c44600 40508 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40509 grub_ata_device_initialize() calls.
40510
34c44600 405112008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40512
40513 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40514 iteration failed.
40515 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40516
89313780 405172008-11-28 Robert Millan <rmh@aybabtu.com>
40518
40519 Fix build on powerpc-ieee1275. Based on patch created by
40520 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40521 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40522 `kern/ieee1275/mmap.c'.
40523 * include/grub/powerpc/ieee1275/memory.h: New file.
40524
15257703 40525 Provide grub-install on coreboot.
40526 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40527 (grub_install_SOURCES): New variable.
40528 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40529 usable on coreboot.
40530
9fc5388a 405312008-11-25 Felix Zielcke <fzielcke@z-51.de>
40532
40533 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40534 to `grub_term_input_t'.
40535 (grub_term_get_current_output): Change return type to
40536 `grub_term_output_t'.
40537
bc3a2f31 405382008-11-22 Robert Millan <rmh@aybabtu.com>
40539
34c44600 40540 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40541 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40542 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40543 grub_vga_text_cls().
40544
80fc88f2 40545 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40546 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40547
cbf36fd3 40548 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40549 to 0x200000 (avoids trouble with some OFW implementations, and matches
40550 with the one in Yaboot).
40551 Reported by Manoel Abranches
40552
73e8e268 405532008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40554
40555 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40556 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40557
73e8e268 40558 * util/grub-mkconfig_lib.in (grub_warn): New function.
40559 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40560 warnings, to obtain consistent formatting.
40561 * util/grub.d/00_header.in: Likewise.
40562 * util/update-grub_lib.in: Likewise.
40563
e94045a1 40564 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40565 Move comment text to `#error' stanza.
e94045a1 40566
79d29fd7 40567 Harmonize ieee1275's grub_available_iterate() with the generic
40568 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40569 build problem on i386-ieee1275):
40570 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40571 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40572 parameter `type'. Update all users of this function.
40573 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40574 `kern/ieee1275/mmap.c'.
40575 * kern/ieee1275/init.c
40576 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40577 with ...
40578 (grub_machine_mmap_iterate): ... this.
40579 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40580 return type to `grub_err_t'. Update all implementations of this
40581 function prototype.
40582 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40583 Likewise.
40584
60d6b16e 40585 Add `lsmmap' command (lists firmware-provided memory map):
40586 * commands/lsmmap.c: New file.
40587 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40588 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40589 variables.
40590 * conf/powerpc-ieee1275.rmk: Likewise.
40591 * conf/i386-coreboot.rmk: Likewise.
40592 * conf/i386-ieee1275.rmk: Likewise.
40593
ebaaf49b 405942008-11-19 Robert Millan <rmh@aybabtu.com>
40595
40596 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40597 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40598 constraints to initrd allocation (based on code from
40599 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40600 for Linux to find it.
ebaaf49b 40601
dfab719f 406022008-11-14 Robert Millan <rmh@aybabtu.com>
40603
40604 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40605 order to cope with duplicate slashes.
40606
10fc3eb9 406072008-11-14 Robert Millan <rmh@aybabtu.com>
40608
40609 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40610 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40611 don't want to mess with lower memory, because it is used in the Linux
40612 loader.
40613
40614 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40615 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40616 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40617 is in our heap (probably as a result of it being corrupted during
2f2a3442 40618 decompression). Add #error instance with comment to explain why this
40619 loader isn't currently usable on PC/BIOS.
10fc3eb9 40620
e2e07847 406212008-11-14 Robert Millan <rmh@aybabtu.com>
40622
40623 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40624 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40625
fe8e8d69 406262008-11-12 Robert Millan <rmh@aybabtu.com>
40627
40628 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40629
40630 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40631 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40632 from here ...
40633 * include/grub/i386/pc/memory.h: ... to here.
40634
976b07d0 406352008-11-12 Robert Millan <rmh@aybabtu.com>
40636
40637 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40638 split).
40639
40640 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40641 (grub_console_cur_color, grub_console_real_putchar)
40642 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40643 (grub_console_setcolorstate, grub_console_setcolor)
40644 (grub_console_getcolor): Move from here ...
40645 * include/grub/i386/vga_common.h: ... to here (new file).
40646
40647 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40648 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40649 `<grub/i386/io.h>'.
40650 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40651 `<grub/i386/vga_common.h>'.
40652
76679cd3 406532008-11-12 Robert Millan <rmh@aybabtu.com>
40654
40655 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40656 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40657 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40658 variables.
40659 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40660 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40661
40662 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40663 grub_console_init() with call to grub_vga_text_init().
40664 (grub_machine_fini): Replace call to
40665 grub_console_fini() with call to grub_vga_text_fini() and
40666 grub_at_keyboard_fini().
40667
40668 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40669 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40670 (grub_console_setcolorstate, grub_console_setcolor)
40671 (grub_console_getcolor): New function prototypes.
40672
40673 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40674 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40675 (grub_vga_text_setcursor): Static-ize.
40676 (grub_vga_text_term): New structure.
40677 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40678
40679 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40680 (grub_console_cur_color, grub_console_standard_color)
40681 (grub_console_normal_color, grub_console_highlight_color)
40682 (map_char, grub_console_putchar, grub_console_getcharwidth)
40683 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40684 (grub_console_getcolor): Move from here ...
40685 * term/i386/vga_common.c: ... to here (same function names).
40686
95b841d3 406872008-11-12 Robert Millan <rmh@aybabtu.com>
40688
40689 Use newly-added Multiboot support in coreboot.
40690
40691 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40692 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40693
40694 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40695 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40696 (codestart): Store the MBI in `startup_multiboot_info' when we're
40697 being loaded using Multiboot.
40698
40699 * kern/i386/coreboot/init.c (grub_machine_init): Move
40700 grub_at_keyboard_init() call to beginning of function (useful for
40701 debugging). Call grub_machine_mmap_init() before attempting to use
40702 grub_machine_mmap_iterate().
40703 (grub_lower_mem, grub_upper_mem): Move from here ...
40704 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40705 here (new file).
40706
40707 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40708 function prototype.
40709
761ca975 407102008-11-12 Robert Millan <rmh@aybabtu.com>
40711
40712 Fix a regression introduced by the at_keyboard.mod split. Because
40713 some terminals are default on some platforms and non-default on
40714 others, the first terminal being registered determines which is
40715 going to be default.
40716
40717 * kern/term.c (grub_term_register_input): If this is the first
40718 terminal being registered, set it as the current one.
40719 (grub_term_register_output): Likewise.
40720
40721 * term/efi/console.c (grub_console_init): Do not call
40722 grub_term_set_current_output() or grub_term_set_current_input().
40723 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40724 * term/i386/pc/console.c (grub_console_init): Likewise.
40725 (grub_console_fini): Do not call grub_term_set_current_input()
40726 (but leave grub_term_set_current_output() to restore text mode).
40727
6c529df7 407282008-11-10 Robert Millan <rmh@aybabtu.com>
40729
40730 * util/grub.d/00_header.in: Add backward compatibility check for
40731 versions of terminal.mod that don't understand `terminal_input' or
40732 `terminal_output'.
40733
132e4113 407342008-11-09 Robert Millan <rmh@aybabtu.com>
40735
40736 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40737 `terminal_input' / `terminal_output', not `terminal'.
40738
ac293d50 407392008-11-08 Robert Millan <rmh@aybabtu.com>
40740
40741 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 40742 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 40743
0025933a 407442008-11-08 Robert Millan <rmh@aybabtu.com>
40745
40746 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 40747 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 40748 members. Update all users.
40749 * util/console.c (grub_ncurses_term): Split in ...
40750 (grub_ncurses_term_input): ... this, and ...
40751 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 40752 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 40753
37c86336 407542008-11-08 Robert Millan <rmh@aybabtu.com>
40755
40756 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40757 (PKGDATA): Add $(pkgdata_SRCDIR).
40758 (pkglib_BUILDDIR): New variable.
40759 (pkgdata_SRCDIR): New variable.
40760 (build_env.mk): New target.
40761 (include_DATA): New variable.
40762 (install-local): Install $(include_DATA) files in $(includedir).
40763
b6c15a2d 407642008-11-07 Pavel Roskin <proski@gnu.org>
40765
d99d46f1 40766 * gendistlist.sh: Use C locale for sorting to ensure consistent
40767 output on all systems.
40768
b6c15a2d 40769 * util/grub.d/00_header.in: Remove incorrect space before
40770 "serial".
40771
c32ee8c9 407722008-11-07 Robert Millan <rmh@aybabtu.com>
40773
40774 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40775 per specification.
40776 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40777 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40778 (based on find_multi_boot1_header).
40779 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40780 using find_multi_boot2_header(), and abort if neither Multiboot or
40781 Multiboot headers were found.
40782
651c29b7 407832008-11-07 Robert Millan <rmh@aybabtu.com>
40784
40785 Modularize at_keyboard.mod:
40786
40787 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40788 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40789 (at_keyboard_mod_LDFLAGS): New variables.
40790
40791 Actual terminal split:
40792
40793 * include/grub/term.h (struct grub_term): Split in ...
40794 (struct grub_term_input): ... this, and ...
40795 (struct grub_term_output): ... this. Update all users.
40796 (grub_term_set_current): Split in ...
40797 (grub_term_set_current_input): ... this, and ...
40798 (grub_term_set_current_output): ... this.
40799 (grub_term_get_current): Split in ...
40800 (grub_term_get_current_input): ... this, and ...
40801 (grub_term_get_current_output): ... this.
40802 (grub_term_register): Split in ...
40803 (grub_term_register_input): ... this, and ...
40804 (grub_term_register_output): ... this.
40805 (grub_term_unregister): Split in ...
40806 (grub_term_unregister_input): ... this, and ...
40807 (grub_term_unregister_output): ... this.
40808 (grub_term_iterate): Split in ...
40809 (grub_term_iterate_input): ... this, and ...
40810 (grub_term_iterate_output): ... this.
40811
40812 * kern/term.c (grub_term_list): Split in ...
40813 (grub_term_list_input): ... this, and ...
40814 (grub_term_list_output): ... this. Update all users.
40815 (grub_cur_term): Split in ...
40816 (grub_cur_term_input): ... this, and ...
40817 (grub_cur_term_output): ... this. Update all users.
40818 (grub_term_set_current): Split in ...
40819 (grub_term_set_current_input): ... this, and ...
40820 (grub_term_set_current_output): ... this.
40821 (grub_term_get_current): Split in ...
40822 (grub_term_get_current_input): ... this, and ...
40823 (grub_term_get_current_output): ... this.
40824 (grub_term_register): Split in ...
40825 (grub_term_register_input): ... this, and ...
40826 (grub_term_register_output): ... this.
40827 (grub_term_unregister): Split in ...
40828 (grub_term_unregister_input): ... this, and ...
40829 (grub_term_unregister_output): ... this.
40830 (grub_term_iterate): Split in ...
40831 (grub_term_iterate_input): ... this, and ...
40832 (grub_term_iterate_output): ... this.
40833
40834 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40835 a check for input and one for output (and only attempt to get keys
40836 from user when input works).
40837
40838 * util/grub-probe.c (grub_term_get_current): Split in ...
40839 (grub_term_get_current_input): ... this, and ...
40840 (grub_term_get_current_output): ... this.
40841 * util/grub-fstest.c: Likewise.
40842 * util/i386/pc/grub-setup.c: Likewise.
40843 * util/grub-editenv.c: Likewise.
40844
40845 Portability adjustments:
40846
40847 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40848 `term/i386/pc/at_keyboard.c'.
40849 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40850 grub_keyboard_controller_init() (now handled by terminal .init).
40851 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40852 grub_at_keyboard_init().
40853 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40854 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40855 at_keyboard.mod via input terminal interface).
40856 * include/grub/i386/coreboot/console.h: Convert into a stub for
40857 `<grub/i386/pc/console.h>'.
40858
40859 Migrate full terminals to new API:
40860
40861 * term/efi/console.c (grub_console_term): Split into ...
40862 (grub_console_term_input): ... this, and ...
40863 (grub_console_term_output): ... this. Update all users.
40864 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40865 (grub_ofconsole_init): Split into ...
40866 (grub_ofconsole_init_input): ... this, and ...
40867 (grub_ofconsole_init_output): ... this.
40868 (grub_ofconsole_term): Split into ...
40869 (grub_ofconsole_term_input): ... this, and ...
40870 (grub_ofconsole_term_output): ... this. Update all users.
40871 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40872 (grub_serial_term_input): ... this, and ...
40873 (grub_serial_term_output): ... this. Update all users.
40874 * term/i386/pc/console.c (grub_console_term): Split into ...
40875 (grub_console_term_input): ... this, and ...
40876 (grub_console_term_output): ... this. Update all users.
40877 (grub_console_term_input): Only enable it on PC/BIOS platform.
40878 (grub_console_init): Remove grub_keyboard_controller_init() call.
40879
40880 Migrate input terminals to new API:
40881
40882 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40883 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40884 i386-specific anyway).
40885 (grub_console_checkkey): Rename to ...
40886 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40887 users.
40888 (grub_keyboard_controller_orig): New variable.
40889 (grub_console_getkey): Rename to ...
40890 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40891 users.
40892 (grub_keyboard_controller_init): Static-ize. Save original
40893 controller value so that it can be restored ...
40894 (grub_keyboard_controller_fini): ... here (new function).
40895 (grub_at_keyboard_term): New structure.
40896 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40897 functions.
40898
40899 Migrate output terminals to new API:
40900
40901 * term/i386/pc/vga.c (grub_vga_term): Change type to
40902 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40903 members. Update all users.
40904 * term/gfxterm.c (grub_video_term): Change type to
40905 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40906 members. Update all users.
40907 * include/grub/i386/pc/console.h (grub_console_checkkey)
40908 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40909 etc).
40910
40911 Migrate `terminal' command and userland tools to new API:
40912
40913 * commands/terminal.c (grub_cmd_terminal): Split into ...
40914 (grub_cmd_terminal_input): ... this, and ...
40915 (grub_cmd_terminal_output): ... this.
40916 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40917 `terminal_input' and `terminal_output'.
40918 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40919 `terminal_input' / `terminal_output' API.
40920 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40921 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40922 provided ${GRUB_TERMINAL}, convert it).
40923
96e5d876 409242008-11-04 Robert Millan <rmh@aybabtu.com>
40925
40926 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40927 for FreeBSD.
40928 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40929
556f3775 409302008-11-03 Bean <bean123ch@gmail.com>
40931
40932 * kern/elf.c (grub_elf32_load): Revert to previous code.
40933 (grub_elf64_load): Likewise.
40934
40935 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40936
926b9823 409372008-11-01 Robert Millan <rmh@aybabtu.com>
40938
40939 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40940 (TARGET_CPPFLAGS): Likewise.
40941 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40942
1432e958 409432008-11-01 Carles Pina i Estany <carles@pina.cat>
40944
40945 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40946
dba3f844 409472008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40948
40949 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40950 addition of objects until the code is not going to be able to fail.
40951
dba3f844 409522008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40953
40954 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40955 (add a missing NULL check, and correct them by moving the pointer
40956 operations after the actual check).
40957
7ab28c21 409582008-10-29 Robert Millan <rmh@aybabtu.com>
40959
40960 * util/i386/pc/grub-install.in: Handle empty string as output from
40961 make_system_path_relative_to_its_root().
40962
1b7748eb 409632008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40964
40965 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40966 circular metadata worst case scenario. If the metadata is circular
40967 then copy the wrap in place.
40968 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40969 project lib/format_text/layout.h
40970 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40971
c9618ab2 409722008-10-03 Felix Zielcke <fzielcke@z-51.de>
40973
7a36edca 40974 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40975
bf981c62 409762008-10-03 Felix Zielcke <fzielcke@z-51.de>
40977
40978 * util/update-grub_lib.in: Mention filename in warning message.
40979
6d994591 409802008-09-29 Felix Zielcke <fzielcke@z-51.de>
40981
40982 * NEWS: Update for rename of update-grub to grub-mkconfig.
40983
18ade780 409842008-09-29 Felix Zielcke <fzielcke@z-51.de>
40985
40986 * util/update-grub_lib.in: Copy to ...
40987 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40988 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40989 * util/update-grub.in: Rename to ...
40990 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40991 option. Add `--output' option to allow users to specify the generated
40992 configuration file. Default to stdout.
40993 (update_grub_dir): Rename to ...
40994 (grub_mkconfig_dir): ... this.
40995 (grub_cfg): Default to an empty string.
40996 * conf/common.rmk (update-grub): Rename to ...
40997 (grub-mkconfig): ... this.
40998 (update-grub_lib): Copy to ...
40999 (grub-mkconfig_lib): ... this.
41000 (update-grub_SCRIPTS): Copy to ...
41001 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41002 (update-grub_DATA): Rename to ...
41003 (grub-mkconfig_DATA): ... this.
41004
556ce6ac 410052008-09-28 Robert Millan <rmh@aybabtu.com>
41006
41007 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41008 to `modified'. Add the real `created' field.
41009 (grub_iso9660_uuid): Use `modified' rather than `created' for
41010 constructing the UUID.
41011
410122008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 41013
41014 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41015 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41016
92274e85 410172008-09-28 Bean <bean123ch@gmail.com>
41018
41019 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41020 Thanks to Christian Franke for finding this bug.
41021
add6f17a 410222008-09-25 Robert Millan <rmh@aybabtu.com>
41023
41024 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41025 instances of grub_util_get_disk_name() (see previous commit).
41026
d2a367b8 410272008-09-25 Robert Millan <rmh@aybabtu.com>
41028
41029 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41030 `util/i386/get_disk_name.c'.
41031 * conf/i386-efi.rmk: Likewise.
41032 * conf/x86_64-efi.rmk: Likewise.
41033 * conf/i386-coreboot.rmk: Likewise.
41034 * conf/i386-ieee1275.rmk: Likewise.
41035 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41036 `util/ieee1275/get_disk_name.c'.
41037 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41038 * util/ieee1275/get_disk_name.c: Remove file.
41039 * util/i386/get_disk_name.c: Remove file.
41040 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41041 "hd%d" for device.map entries, rather than using
41042 grub_util_get_disk_name().
41043
81a06771 410442008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 41045
41046 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41047 warning.
41048 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
41049
5a004279 410502008-09-24 Carles Pina i Estany <carles@pina.cat>
41051
41052 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
41053 Changed to 0x5100.
41054 (GRUB_TERM_PPAGE): Changed to 0x4900.
41055
397093d3 410562008-09-24 Robert Millan <rmh@aybabtu.com>
41057
41058 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
41059 macros (they were i386-pc specific).
41060 * include/grub/sparc64/ieee1275/console.h: Likewise.
41061 * include/grub/efi/console.h: Likewise.
41062
a91b6c7c 410632008-09-22 Bean <bean123ch@gmail.com>
41064
41065 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41066 resident and in attribute list.
41067
41068 * include/grub/ntfs.h (BMP_LEN): Removed.
41069
c40fd116 410702008-09-22 Bean <bean123ch@gmail.com>
41071
81a06771 41072 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 41073 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41074
41075 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41076 error occurs, as grub_disk_open will call grub_disk_close, which will
41077 call p->close (scsi).
41078
81a06771 410792008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 41080
41081 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41082 (AC_PREREQ): Bumped to 2.59.
41083 (AC_TRY_COMPILE): Replace obsolete macro with ...
41084 (AC_COMPILE_IFELSE): ... this.
41085 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
41086 (AC_LINK_IFELSE): ... this.
41087
5dc43410 410882008-09-21 Felix Zielcke <fzielcke@z-51.de>
41089
41090 * autogen.sh: Add a call to `gendistlist.sh'.
41091
9035dce4 410922008-09-19 Christian Franke <franke@computer.org>
41093
41094 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
41095 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
41096 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
41097 Export __enable_execute_stack() to modules.
41098 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
41099 New function.
41100
7fd75377 411012008-09-09 Felix Zielcke <fzielcke@z-51.de>
41102
040030b3 41103 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
41104 Sort the list.
41105
411062008-09-09 Felix Zielcke <fzielcke@z-51.de>
41107
41108 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 41109 #include <grub/util/hostdisk.h>.
41110
89d5ffcf 411112008-09-08 Robert Millan <rmh@aybabtu.com>
41112
41113 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
41114 segments when their filesz is zero (grub_file_read() interprets
81a06771 41115 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 41116 Use `lowest_segment' rather than 0 for calculating the current
41117 segment load address.
41118
40da438f 411192008-09-08 Robert Millan <rmh@aybabtu.com>
41120
41121 * util/hostdisk.c (open_device): Replace a grub_util_info() call
41122 with grub_dprintf("hostdisk", ...), as it was so verbose that it
41123 clobbered useful information.
41124
ddbf5556 411252008-09-08 Robert Millan <rmh@aybabtu.com>
41126
41127 * include/grub/util/biosdisk.h: Move to ...
41128 * include/grub/util/hostdisk.h: ... here. Update all users.
41129 * util/biosdisk.c: Move to ...
41130 * util/hostdisk.c: ... here. Update all users.
41131
783d0f48 411322008-09-07 Robert Millan <rmh@aybabtu.com>
41133
41134 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
41135 variables.
41136 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
41137 and length can be stored directly in the `mbi->mmap_addr' and
41138 `mbi->mmap_length' struct fields.
41139
548e2ea5 411402008-09-07 Robert Millan <rmh@aybabtu.com>
41141
41142 * conf/i386.rmk: New file. Provides declaration for building
41143 `cpuid.mod'.
41144 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
41145 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
41146 variables.
41147 Include `conf/i386.mk'.
41148 * conf/i386-efi.rmk: Likewise.
41149 * conf/x86_64-efi.rmk: Likewise.
41150 * conf/i386-coreboot.rmk: Likewise.
41151 * conf/i386-ieee1275.rmk: Likewise.
41152
0ea85a37 411532008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
41154
41155 Based on patch created by Colin D Bennett <colin@gibibit.com>.
41156 Adds optimization support for BGR based modes.
41157
41158 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
41159 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41160 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41161 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41162 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41163 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41164 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41165 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41166 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41167 (grub_video_i386_vbeblit_index_index): Likewise.
41168 (grub_video_i386_vbeblit_replace_directN): Added.
41169 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41170 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41171 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41172 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41173 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41174 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 41175 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 41176 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41177 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41178 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41179 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41180 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41181 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41182
41183 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41184 (grub_video_i386_vbefill_R8G8B8): Likewise.
41185 (grub_video_i386_vbefill_index): Likewise.
41186 (grub_video_i386_vbefill_direct32): Added.
41187 (grub_video_i386_vbefill_direct24): Likewise.
41188 (grub_video_i386_vbefill_direct16): Likewise.
41189 (grub_video_i386_vbefill_direct8): Likewise.
41190
81a06771 41191 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 41192 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41193 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41194 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41195 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41196 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 41197
0ea85a37 41198 * video/video.c (grub_video_get_blit_format): Updated to use new
41199 blit formats. Added handling for 16 bit color modes.
81a06771 41200
41201 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 41202 fillers.
41203 (common_blitter): Updated to use new blitters.
41204
41205 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41206 Removed.
41207 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41208 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41209 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41210 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41211 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41212 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41213 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41214 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41215 (grub_video_i386_vbeblit_index_index): Likewise.
41216 (grub_video_i386_vbeblit_replace_directN): Added.
41217 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41218 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41219 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41220 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41221 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41222 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41223 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41224 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41225 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41226 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41227 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41228 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41229 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 41230
0ea85a37 41231 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41232 (grub_video_i386_vbefill_R8G8B8): Likewise.
41233 (grub_video_i386_vbefill_index): Likewise.
41234 (grub_video_i386_vbefill_direct32): Added.
41235 (grub_video_i386_vbefill_direct24): Likewise.
41236 (grub_video_i386_vbefill_direct16): Likewise.
41237 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 41238
0ea85a37 41239 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41240 types.
81a06771 41241
0ea85a37 41242 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41243 types.
81a06771 41244
0ea85a37 41245 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41246 blitter types.
81a06771 41247
0ea85a37 41248 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41249 types.
41250
e8a83df6 412512008-09-06 Felix Zielcke <fzielcke@z-51.de>
41252
41253 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41254 RAID level 1.
41255
6bcd8ee5 412562008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41257
6bcd8ee5 41258 * fs/iso9660.c (grub_iso9660_date): New structure.
41259 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41260 (grub_iso9660_uuid): New function.
c375ae58 41261
59261157 412622008-09-05 Bean <bean123ch@gmail.com>
41263
41264 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41265
41266 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41267 insensitive bit for names in Win32 and Win32 & DOS namespace.
41268
41269 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41270
41271 * include/grub/types.h (LONG_MAX): Likewise.
41272
58b6645a 412732008-09-04 Felix Zielcke <fzielcke@z-51.de>
41274
4ee55921 41275 * util/getroot.c: Include <config.h>.
41276 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41277 add support for /dev/md/N devices and handle LVM double dash escaping.
41278
412792008-09-04 Felix Zielcke <fzielcke@z-51.de>
41280
41281 * config.guess: Update to latest version from config git.
41282 * config.sub: Likewise.
58b6645a 41283
9124f65d 412842008-09-03 Robert Millan <rmh@aybabtu.com>
41285
41286 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41287 `disk->total_sectors'.
41288
81a06771 412892008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41290
41291 * include/grub/normal.h: Fixed incorrect comment for
41292 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41293
81a06771 412942008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41295
41296 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41297 values with defines.
41298
41299 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41300 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41301 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41302 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41303 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41304 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41305 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41306 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41307 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41308 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41309 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41310 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41311 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41312 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41313 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41314 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41315 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41316 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41317 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41318
93d5cbf8 413192008-08-31 Robert Millan <rmh@aybabtu.com>
41320
41321 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41322 declaration.
41323 (grub_multiboot): Fix a few warnings.
41324
21751d50 413252008-08-31 Robert Millan <rmh@aybabtu.com>
41326
41327 * loader/i386/pc/multiboot.c: Update comment not to say that
41328 boot_device support is unimplemented.
41329
e27a75c5 413302008-08-31 Robert Millan <rmh@aybabtu.com>
41331
41332 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41333 or memory map support are unimplemented.
41334
81a06771 413352008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41336
41337 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41338
81a06771 413392008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41340
41341 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41342 total video memory in 'vbeinfo' output; show color format details for
41343 each video mode.
41344
7c5d8d95 413452008-08-30 Pavel Roskin <proski@gnu.org>
41346
41347 * util/genmoddep.c: Remove for real this time.
41348 * DISTLIST: Remove util/genmoddep.c.
41349
4cebd25a 413502008-08-30 Robert Millan <rmh@aybabtu.com>
41351
41352 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41353 as required by Multiboot spec (it was already 4-byte aligned, but
41354 only by chance).
41355
b497a269 413562008-08-29 Pavel Roskin <proski@gnu.org>
41357
e3925185 41358 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41359 * kern/powerpc/ieee1275/startup.S: ... this.
41360 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41361 * DISTLIST: Likewise.
41362
b497a269 41363 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41364 grub/cpu/kernel.h. Add start label for consistency with other
41365 platforms. Add grub_prefix immediately after start. Add jump
41366 to the code after grub_prefix.
41367 * include/grub/powerpc/kernel.h: Provide valid values for
41368 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41369
6e5a42fe 413702008-08-29 Bean <bean123ch@gmail.com>
41371
41372 * configure.ac: Change host_os to cygwin for mingw.
41373 (asprintf): New check for function.
41374
41375 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41376 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41377
41378 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41379 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41380 sync, sleep and grub_util_get_disk_size for mingw.
41381
41382 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41383 to get size in mingw.
41384 (open_device): Use flag O_BINARY if it's defined.
41385 (find_root_device): Add dummy code for mingw.
41386
41387 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41388 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41389 (get_scsi_disk_name): Return 0 for mingw.
41390
41391 * util/hostfs.c: #include <grub/util/misc.h>.
41392 (grub_hostfs_open): Use "rb" flag to open file, use
41393 grub_util_get_disk_size to get disk size for mingw.
41394
41395 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41396 (asprintf): New function if HAVE_ASPRINTF is not set.
41397 (sync): New function for mingw.
41398 (sleep): Likewise.
41399 (grub_util_get_disk_size): Likewise.
41400
ab3f2673 414012008-08-28 Pavel Roskin <proski@gnu.org>
41402
41403 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41404 kern/time.c.
41405
1c282483 414062008-08-28 Robert Millan <rmh@aybabtu.com>
41407
41408 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41409
678e849c 414102008-08-28 Robert Millan <rmh@aybabtu.com>
41411
41412 Change find_grub_drive() syntax so it doesn't prevent it from
41413 detecting NULL names as errors.
41414
41415 * util/biosdisk.c (find_grub_drive): Move free slot search code
41416 from here ...
41417 (find_free_slot): ... to here.
41418 (read_device_map): Use find_free_slot() to search for free slots.
41419
965c75ca 414202008-08-27 Marco Gerards <marco@gnu.org>
41421
41422 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41423 (scsi_mod_SOURCES): New variable.
41424 (scsi_mod_CFLAGS): Likewise
41425 (scsi_mod_LDFLAGS): Likewise.
41426
41427 * disk/scsi.c: New file.
41428
41429 * include/grub/scsi.h: Likewise.
41430
41431 * include/grub/scsicmd.h: Likewise.
41432
41433 * disk/ata.c: Include <grub/scsi.h>.
41434 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41435 instead.
41436 (grub_ata_iterate): Skip ATAPI devices.
41437 (grub_ata_open): Only handle ATAPI devices.
41438 (struct grub_atapi_read): Removed.
41439 (grub_atapi_readsector): Likewise.
41440 (grub_ata_read): No longer handle ATAPI devices.
41441 (grub_ata_write): Likewise.
41442 (grub_atapi_iterate): New function.
41443 (grub_atapi_read): Likewise.
41444 (grub_atapi_write): Likewise.
41445 (grub_atapi_open): Likewise.
41446 (grub_atapi_close): Likewise.
41447 (grub_atapi_dev): New variable.
41448 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41449 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41450
41451 * include/grub/disk.h (enum grub_disk_dev_id): Add
41452 `GRUB_DISK_DEVICE_SCSI_ID'.
41453
c07ae501 414542008-08-26 Robert Millan <rmh@aybabtu.com>
41455
41456 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41457 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41458 descriptive.
41459
5ed20adc 414602008-08-23 Bean <bean123ch@gmail.com>
41461
41462 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41463 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41464 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41465 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41466 dm_nv.mod.
41467 (raid5rec_mod_SOURCES): New macro.
41468 (raid5rec_mod_CFLAGS): Likewise.
41469 (raid5rec_mod_LDFLAGS): Likewise.
41470 (raid6rec_mod_SOURCES): Likewise.
41471 (raid6rec_mod_CFLAGS): Likewise.
41472 (raid6rec_mod_LDFLAGS): Likewise.
41473 (mdraid_mod_SOURCES): Likewise.
41474 (mdraid_mod_CFLAGS): Likewise.
41475 (mdraid_mod_LDFLAGS): Likewise.
41476 (dm_nv_mod_SOURCES): Likewise.
41477 (dm_nv_mod_CFLAGS): Likewise.
41478 (dm_nv_mod_LDFLAGS): Likewise.
41479
41480 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41481 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41482 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41483
41484 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41485 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41486
41487 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41488
41489 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41490
41491 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41492
41493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41494
41495 * disk/raid5_recover.c: New file.
41496
41497 * disk/raid6_recover.c: Likewise.
41498
41499 * disk/mdraid_linux.c: Likewise.
41500
41501 * disk/dmraid_nvidia.c: Likewise.
41502
41503 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41504 ULONG_MAX.
41505
41506 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41507 calculate the size of raid device.
41508 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41509 different layout of raid5.
41510 (grub_raid_scan_device): Remove code specific to mdraid.
41511 (grub_raid_list): New variable.
41512 (free_array): New function.
41513 (grub_raid_register): Likewise.
41514 (grub_raid_unregister): Likewise.
41515 (grub_raid_rescan): Likewise.
41516 (GRUB_MOD_INIT): Don't iterate device here.
41517 (GRUB_MOD_FINI): Use free_array to release resource.
41518
41519 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41520 (grub_raid5_recover_func_t): New function variable type.
41521 (grub_raid6_recover_func_t): Likewise.
41522 (grub_raid5_recover_func): New variable.
41523 (grub_raid6_recover_func): Likewise.
41524 (grub_raid_register): New function.
41525 (grub_raid_unregister): Likewise.
41526 (grub_raid_rescan): Likewise.
41527 (grub_raid_block_xor): Likewise.
41528
41529 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41530 (CMD_CRC): New macro.
41531 (part): Removed.
41532 (read_file): Handle device as well as file.
41533 (cmd_crc): New function.
41534 (fstest): Handle multiple disks.
41535 (options): Remove part, raw and long, add root and diskcount.
41536 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41537 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41538 add handling for the new options, support multiple disks.
41539
41540 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41541
29c18915 415422008-08-23 Bean <bean123ch@gmail.com>
41543
41544 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41545
41546 * genfslist.sh: Ignore kernel.mod.
41547
41548 * genpartmaplist.sh: Likewise.
41549
8415f261 415502008-08-23 Robert Millan <rmh@aybabtu.com>
41551
41552 * util/getroot.c (find_root_device): Skip anything that starts with
41553 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41554
d5a7dc5b 415552008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41556
d5a7dc5b 41557 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41558 * util/grub.d/00_header.in: Allow the administrator to change default
41559 gfxmode via ${GRUB_GFXMODE}.
41560
380cfbb4 415612008-08-21 Felix Zielcke <fzielcke@z-51.de>
41562
41563 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41564
c9baafe7 415652008-08-21 Robert Millan <rmh@aybabtu.com>
41566
41567 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41568 loader.
41569 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41570 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41571
e290bef2 415722008-08-20 Carles Pina i Estany <carles@pina.cat>
41573
41574 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41575 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41576
f9dbfc96 415772008-08-19 Robert Millan <rmh@aybabtu.com>
41578
41579 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41580 (struct grub_virtual_screen): Remove `cursor_color'.
41581 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41582 initialization.
41583 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41584
dd6bd6ab 415852008-08-18 Robert Millan <rmh@aybabtu.com>
41586
41587 Unify (identical) linux_normal.c files.
41588 * loader/i386/efi/linux_normal.c: Move from here ...
41589 * loader/linux_normal.c: ... to here. Update all users.
41590 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41591 * loader/i386/ieee1275/linux_normal.c: Likewise.
41592
7f42f83e 415932008-08-18 Robert Millan <rmh@aybabtu.com>
41594
41595 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41596 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41597 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41598 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41599 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41600 New macros.
41601 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41602 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41603 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41604 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41605 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41606 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41607 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41608 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41609 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41610 portably using grub_getxy().
41611 Replace `-EFI' with `-bzImage' in boot message.
41612
38487ddb 416132008-08-17 Robert Millan <rmh@aybabtu.com>
41614
41615 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41616
deceb3ec 416172008-08-17 Robert Millan <rmh@aybabtu.com>
41618
41619 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41620
41621 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41622 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41623 (grub_machine_mmap_iterate): New function declaration.
41624 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41625 structure.
41626 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41627 macros.
41628
41629 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41630 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41631 Move e820 parsing from here ...
41632 * kern/i386/pc/mmap.c: New file.
41633 (grub_machine_mmap_iterate): ... to here.
41634
41635 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41636 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41637 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41638 (grub_available_iterate): Redeclare to return `void', and redeclare
41639 its hook to use grub_uint64_t as addr and size parameters, and rename
41640 to ...
41641 (grub_machine_mmap_iterate): ... this. Update all users.
41642
41643 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41644 to make it more readable. Rename to ...
41645 (grub_machine_mmap_iterate): ... this.
41646
41647 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41648 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41649 (grub_multiboot): Allocate an extra region after the payload, and fill
41650 it with a Multiboot memory map. Adjust a.out loader to calculate size
41651 with the extra space.
41652 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41653 with the extra space.
41654
f8aa0f43 416552008-08-17 Carles Pina i Estany <carles@pina.cat>
41656
9807deb9 41657 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41658
605f5bb6 416592008-08-17 Felix Zielcke <fzielcke@z-51.de>
41660
41661 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41662 mdate-sh to the list `find' searches for.
41663 * DISTLIST: Regenerated.
41664
210db6c6 416652008-08-16 Felix Zielcke <fzielcke@z-51.de>
41666
41667 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41668 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41669 genmoddep.awk, gensymlist.sh.in.
41670 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41671 * DISTLIST: Regenerated.
48cdbfd4 41672 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41673
1082b929 416742008-08-16 Robert Millan <rmh@aybabtu.com>
41675
41676 * disk/raid.c (grub_raid_init): Handle/report errors set by
41677 grub_device_iterate().
41678 * disk/lvm.c (grub_lvm_init): Likewise.
41679
42ce5170 416802008-08-15 Bean <bean123ch@gmail.com>
41681
41682 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41683 and datehook.mod.
41684 (datetime_mod_SOURCES): New macro.
41685 (datetime_mod_CFLAGS): Likewise.
41686 (datetime_mod_LDFLAGS): Likewise.
41687 (date_mod_SOURCES): Likewise.
41688 (date_mod_CFLAGS): Likewise.
41689 (date_mod_LDFLAGS): Likewise.
41690 (datehook_mod_SOURCES): Likewise.
41691 (datehook_mod_CFLAGS): Likewise.
41692 (datehook_mod_LDFLAGS): Likewise.
41693
41694 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41695 and datehook.mod.
41696 (datetime_mod_SOURCES): New macro.
41697 (datetime_mod_CFLAGS): Likewise.
41698 (datetime_mod_LDFLAGS): Likewise.
41699 (date_mod_SOURCES): Likewise.
41700 (date_mod_CFLAGS): Likewise.
41701 (date_mod_LDFLAGS): Likewise.
41702 (datehook_mod_SOURCES): Likewise.
41703 (datehook_mod_CFLAGS): Likewise.
41704 (datehook_mod_LDFLAGS): Likewise.
41705
41706 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41707 and datehook.mod.
41708 (datetime_mod_SOURCES): New macro.
41709 (datetime_mod_CFLAGS): Likewise.
41710 (datetime_mod_LDFLAGS): Likewise.
41711 (date_mod_SOURCES): Likewise.
41712 (date_mod_CFLAGS): Likewise.
41713 (date_mod_LDFLAGS): Likewise.
41714 (datehook_mod_SOURCES): Likewise.
41715 (datehook_mod_CFLAGS): Likewise.
41716 (datehook_mod_LDFLAGS): Likewise.
41717
41718 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41719 and datehook.mod.
41720 (datetime_mod_SOURCES): New macro.
41721 (datetime_mod_CFLAGS): Likewise.
41722 (datetime_mod_LDFLAGS): Likewise.
41723 (date_mod_SOURCES): Likewise.
41724 (date_mod_CFLAGS): Likewise.
41725 (date_mod_LDFLAGS): Likewise.
41726 (datehook_mod_SOURCES): Likewise.
41727 (datehook_mod_CFLAGS): Likewise.
41728 (datehook_mod_LDFLAGS): Likewise.
41729
41730 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41731 and datehook.mod.
41732 (datetime_mod_SOURCES): New macro.
41733 (datetime_mod_CFLAGS): Likewise.
41734 (datetime_mod_LDFLAGS): Likewise.
41735 (date_mod_SOURCES): Likewise.
41736 (date_mod_CFLAGS): Likewise.
41737 (date_mod_LDFLAGS): Likewise.
41738 (datehook_mod_SOURCES): Likewise.
41739 (datehook_mod_CFLAGS): Likewise.
41740 (datehook_mod_LDFLAGS): Likewise.
41741
41742 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41743
41744 * commands/date.c: New file.
41745
41746 * hook/datehook.c: Likewise.
41747
41748 * include/grub/lib/datetime.h: Likewise.
41749
41750 * include/grub/i386/cmos.h: Likewise.
41751
41752 * lib/datetime.c: Likewise.
41753
41754 * lib/i386/datetime.c: Likewise.
41755
41756 * lib/efi/datetime.c: Likewise.
41757
0e9242da 417582008-08-14 Robert Millan <rmh@aybabtu.com>
41759
41760 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41761 (grub_mkelfimage_SOURCES): New variable.
41762 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41763
41764 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41765 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41766 * conf/powerpc-ieee1275.rmk: Likewise.
41767 * conf/i386-ieee1275.rmk: Likewise.
41768
41769 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41770 * kern/i386/coreboot/init.c: Likewise.
41771
41772 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41773 with `<grub/cpu/kernel.h>'.
41774 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41775 to ...
41776 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41777 * kern/i386/coreboot/startup.S: Likewise.
41778
41779 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41780 (GRUB_MOD_GAP): Remove.
41781 * include/grub/powerpc/kernel.h: New file.
41782 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41783 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41784 * include/grub/i386/kernel.h: New file.
41785 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41786 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41787 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41788
41789 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41790 `grub-mkelfimage'.
41791 Use --directory when invoking grub_mkimage.
41792
41793 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41794 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41795 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41796 and GRUB_KERNEL_CPU_PREFIX.
41797
b86408f8 417982008-08-14 Felix Zielcke <fzielcke@z-51.de>
41799
d5e619ca 41800 * include/grub/err.h (grub_err_printf): New function prototype.
41801 * util/misc.c (grub_err_printf): New function.
41802 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41803 grub_printf.
41804 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41805
7161f0e0 418062008-08-13 Robert Millan <rmh@aybabtu.com>
41807
41808 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41809
a1967522 418102008-08-13 Robert Millan <rmh@aybabtu.com>
41811
41812 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41813 boot entry.
41814
371458b5 418152008-08-12 Robert Millan <rmh@aybabtu.com>
41816
41817 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41818 of the relocation code from here ...
41819 (grub_multiboot): ... to here.
41820 (forward_relocator, backward_relocator): Move from here ...
41821 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41822 (grub_multiboot_backward_relocator): ... to here.
41823 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41824 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41825 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41826 (grub_multiboot_forward_relocator_end)
41827 (grub_multiboot_backward_relocator)
41828 (grub_multiboot_backward_relocator_end): New variables.
41829
05f9452b 418302008-08-12 Bean <bean123ch@gmail.com>
41831
41832 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41833
20024ab0 418342008-08-11 Robert Millan <rmh@aybabtu.com>
41835
41836 * kern/i386/linuxbios/startup.S: Move from here ...
41837 * kern/i386/coreboot/startup.S: ... to here.
41838
41839 * kern/i386/linuxbios/init.c: Move from here ...
41840 * kern/i386/coreboot/init.c: ... to here.
41841
41842 * kern/i386/linuxbios/table.c: Move from here ...
41843 * kern/i386/coreboot/mmap.c: ... to here.
41844
41845 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41846
e352e9cd 418472008-08-11 Robert Millan <rmh@aybabtu.com>
41848
41849 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41850 errors. Leave it to the upper layer to handle them.
41851
2d05bc6a 418522008-08-09 Christian Franke <franke@computer.org>
41853
41854 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41855 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41856 Install `grub.d/10_windows' only on Cygwin.
41857 * configure.ac: Add subst of `target_os'.
41858 Check `target_os' also before setting TARGET_OBJ2ELF.
41859 Add `--enable-grub-pe2elf'.
41860
042bd419 418612008-08-08 Robert Millan <rmh@aybabtu.com>
41862
41863 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41864 (grub_last_time): Change type to grub_uint64_t.
41865 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41866 (grub_disk_close): Likewise.
41867
41868 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41869 (run_menu): Migrate code from to using grub_get_time_ms().
41870
41871 * util/misc.c (grub_get_time_ms): New function.
41872
7f280db5 418732008-08-08 Marco Gerards <marco@gnu.org>
41874
41875 * disk/ata.c (grub_ata_regget): Change return type to
41876 `grub_uint8_t'.
41877 (grub_ata_regget2): Likewise.
41878 (grub_ata_wait_status): New function.
41879 (grub_ata_wait_busy): Removed function, updated all users to use
41880 `grub_ata_wait_status'.
41881 (grub_ata_wait_drq): Likewise.
41882 (grub_ata_cmd): New function.
41883 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41884 error handling.
41885 (grub_ata_pio_write): Add error handling.
41886 (grub_atapi_identify): Likewise.
41887 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41888 handling.
41889 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41890 handling. Actually use the detected registers. Reorder the
41891 detection logic such that it is easier to read.
41892 (grub_ata_pciinit): Do not assign the same ID to each controller.
41893 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41894 handling.
41895 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41896
41897 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41898
1fbc5e66 418992008-08-08 Marco Gerards <marco@gnu.org>
41900
41901 * NEWS: Update.
41902
819ce6c0 419032008-08-07 Bean <bean123ch@gmail.com>
41904
41905 * include/grub/x86_64/pci.h: New file.
41906
5c41d44d 419072008-08-07 Christian Franke <franke@computer.org>
41908
41909 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41910 (TIMER2_GATE): Likewise.
41911 (grub_pit_wait): Add enable/disable of the timer2 gate
41912 bit of port 0x61. This fixes a possible infinite loop.
41913
5ebc275d 419142008-08-07 Bean <bean123ch@gmail.com>
41915
41916 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41917 kern/i386/tsc.c and kern/i386/pit.c.
41918
41919 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41920 x86_64 platform.
41921
41922 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41923 <grub/i386/tsc.h>.
41924
41925 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41926
e383b3d0 419272008-08-07 Bean <bean123ch@gmail.com>
41928
41929 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41930
41931 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41932
41933 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41934 multiple inclusion. Add #include <grub/types.h>.
41935
1cbb58ac 419362008-08-06 Christian Franke <franke@computer.org>
41937
41938 * conf/common.rmk: Build and install `10_windows'.
41939 * util/grub.d/10_windows.in: New script.
41940
337f5a1e 419412008-08-06 Pavel Roskin <proski@gnu.org>
41942
41943 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41944
057bc4ac 419452008-08-06 Robert Millan <rmh@aybabtu.com>
41946
41947 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41948 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41949
2b99f123 419502008-08-06 Bean <bean123ch@gmail.com>
41951
41952 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41953 (grub_pxefs_fs_int): Remove dummy definition.
41954 (grub_pxefs_open): Use data->block_size to store the current block
41955 size setting.
41956 (grub_pxefs_read): Use block size stored in data->block_size. As the
41957 value of grub_pxe_blksize can be changed after the file is opened.
41958
9f0234cb 419592008-08-06 Bean <bean123ch@gmail.com>
41960
41961 * fs/i386/pc/pxe.c (curr_file): new variable.
41962 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41963 require the dummy internal file system anymore.
41964 (grub_pxefs_read): Removed.
41965 (grub_pxefs_close): Likewise.
41966 (grub_pxefs_fs_int): Likewise.
41967 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41968 connection when we switch file.
41969 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41970
a55d42e0 419712008-08-06 Robert Millan <rmh@aybabtu.com>
41972
41973 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41974 `halt.mod'.
41975 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41976 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41977
41978 * kern/i386/halt.c: New file.
41979 * kern/i386/reboot.c: Likewise.
41980 * include/grub/i386/reboot.h: Likewise.
41981 * include/grub/i386/halt.h: Likewise.
41982
41983 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41984 Include `<grub/cpu/halt.h>'.
41985 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41986 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41987
41988 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41989 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41990 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41991 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41992 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41993 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41994 from here ...
41995 * include/grub/i386/at_keyboard.h: ... to here.
41996
24371d26 419972008-08-05 Robert Millan <rmh@aybabtu.com>
41998
41999 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42000 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42001 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42002 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42003 `kern/generic/millisleep.c'.
42004
42005 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42006 instead of grub_get_rtc().
42007 (grub_tsc_init): Initialize `tsc_boot_time'.
42008
42009 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42010 (grub_machine_init): Use grub_tsc_init() rather than
42011 installing an RTC-based handler via grub_install_get_time_ms().
42012
42013 * kern/i386/pit.c: New file.
42014 * include/grub/i386/pit.h: Likewise.
42015
9e7007b3 420162008-08-05 Bean <bean123ch@gmail.com>
42017
42018 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42019
42020 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42021 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42022 (pxe_mod_SOURCES): New macro.
42023 (pxe_mod_CFLAGS): Likewise.
42024 (pxe_mod_LDFLAGS): Likewise.
42025 (pxecmd_mod_SOURCES): Likewise.
42026 (pxecmd_mod_CFLAGS): Likewise.
42027 (pxecmd_mod_LDFLAGS): Likewise.
42028
42029 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42030 (grub_pxe_call): Likewise.
42031
42032 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42033
42034 * commands/i386/pc/pxecmd.c: New file.
42035
9f0234cb 42036 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 42037
42038 * include/grub/i386/pc/pxe.h: Likewise.
42039
6977d49f 420402008-08-05 Bean <bean123ch@gmail.com>
42041
42042 * util/console.c (grub_console_cur_color): New variable.
42043 (grub_console_standard_color): Likewise.
42044 (grub_console_normal_color): Likewise.
42045 (grub_console_highlight_color): Likewise.
42046 (color_map): Likewise.
42047 (use_color): Likewise.
42048 (NUM_COLORS): New macro.
42049 (grub_ncurses_setcolorstate): Handle color properly.
42050 (grub_ncurses_setcolor): Don't change color here, just remember the
42051 settings, color will be set in grub_ncurses_setcolorstate.
42052 (grub_ncurses_getcolor): New function.
42053 (grub_ncurses_init): Initialize color pairs.
42054 (grub_ncurses_term): New member grub_ncurses_getcolor.
42055
9c2ff3ee 420562008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 42057
9c2ff3ee 42058 High resolution timer support. Implemented for x86 CPUs using TSC.
42059 Extracted generic grub_millisleep() so it's linked in only as needed.
42060 This requires a Pentium compatible CPU; if the RDTSC instruction is
42061 not supported, then it falls back on the generic grub_get_time_ms()
42062 implementation that uses the machine's RTC.
42063
42064 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42065 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42066 `kern/generic/millisleep.c'.
42067
42068 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42069 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42070
42071 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42072 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42073
42074 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42075
42076 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42077 `kern/generic/millisleep.c'.
42078
42079 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42080
42081 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42082
42083 * kern/generic/rtc_get_time_ms.c: New file.
42084
42085 * kern/generic/millisleep.c: New file.
337f5a1e 42086
9c2ff3ee 42087 * kern/misc.c: Don't include
42088 <kern/time.h> anymore.
42089 (grub_millisleep_generic): Removed.
42090
42091 * commands/sleep.c (grub_interruptible_millisleep): Uses
42092 grub_get_time_ms() instead of grub_get_rtc().
42093
42094 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
42095 function.
42096 (grub_cpu_is_cpuid_supported): New inline function.
42097 (grub_cpu_is_tsc_supported): New inline function.
42098 (grub_tsc_init): New function prototype.
42099 (grub_tsc_get_time_ms): New function prototype.
42100
42101 * kern/i386/tsc.c (grub_get_time_ms): New file.
42102
42103 * include/grub/time.h: Include <grub/types.h.
42104 (grub_millisleep_generic): Removed.
42105 (grub_get_time_ms): New prototype.
42106 (grub_install_get_time_ms): New prototype.
42107 (grub_rtc_get_time_ms): New prototype.
42108
42109 * kern/time.c (grub_get_time_ms): New function.
42110 (grub_install_get_time_ms): New function.
42111
42112 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
42113 <grub/time.h> anymore.
42114 (grub_millisleep): Removed.
42115 (grub_machine_init): Call grub_tsc_init.
42116
42117 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
42118 get_time_ms() implementation.
42119
42120 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
42121 (ieee1275_get_time_ms): New function.
42122 (grub_machine_init): Install get_time_ms() implementation.
42123
42124 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
42125 (grub_machine_init): Call grub_tsc_init().
42126 (grub_millisleep): Removed.
bf06a93f 42127
9c2ff3ee 42128 * kern/ieee1275/init.c (grub_millisleep): Removed.
42129 (grub_machine_init): Install ieee1275_get_time_ms()
42130 implementation.
42131 (ieee1275_get_time_ms): New function.
42132 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
42133 real work.
42134
9ec92aaf 421352008-08-05 Marco Gerards <marco@gnu.org>
42136
42137 * disk/ata.c: Include <grub/pci.h>.
42138 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
42139 (grub_ata_initialize): Rewritten.
42140 (grub_ata_device_initialize): New function.
42141
8d23f507 421422008-08-04 Pavel Roskin <proski@gnu.org>
42143
42144 * kern/main.c: Include grub/mm.h.
42145
5e15ee3d 421462008-08-04 Robert Millan <rmh@aybabtu.com>
42147
42148 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
42149 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
42150 corruption problem).
42151
a9053f8f 421522008-08-04 Robert Millan <rmh@aybabtu.com>
42153
42154 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
42155 warnings introduced in my last commit.
42156
dd19c7d7 421572008-08-03 Robert Millan <rmh@aybabtu.com>
42158
42159 Make PCI available on all i386 architectures.
42160
42161 * include/grub/i386/pc/pci.h: Move from here ...
42162 * include/grub/i386/pci.h: ... to here.
42163
42164 * include/grub/i386/pc/pci.h: Remove.
42165 * include/grub/i386/efi/pci.h: Remove.
42166 * include/grub/x86_64/efi/pci.h: Remove.
42167
42168 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
42169 `<grub/cpu/pci.h>'.
42170
42171 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42172 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42173 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42174
42175 * conf/i386-ieee1275.rmk: Likewise.
42176
e14a6184 421772008-08-03 Robert Millan <rmh@aybabtu.com>
42178
42179 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42180 (grub_console_setcursor): Make it possible to set cursor off.
42181
52768e37 421822008-08-03 Robert Millan <rmh@aybabtu.com>
42183
42184 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42185 of modules instead of assuming which platform provides what.
42186 * util/update-grub.in: Likewise.
42187
2d52f57f 421882008-08-03 Robert Millan <rmh@aybabtu.com>
42189
42190 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42191 instead of `grub_install_dos_part' to determine whether a drive needs
42192 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 42193 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 42194
2a5cd121 421952008-08-02 Robert Millan <rmh@aybabtu.com>
42196
42197 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42198
93808428 421992008-08-02 Robert Millan <rmh@aybabtu.com>
42200
42201 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42202 of informational grub_dprintf() calls.
42203
3bd0a12a 422042008-08-02 Robert Millan <rmh@aybabtu.com>
42205
42206 * disk/memdisk.c (memdisk_size): Don't initialize.
42207 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42208
42209 * include/grub/i386/pc/kernel.h
42210 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42211 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42212 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42213 (grub_arch_memdisk_size): Remove.
42214
42215 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42216 field (was only used to transfer a constant). Add `type' field to
42217 support multiple module types.
42218 (grub_module_iterate): New function.
42219
42220 * kern/device.c (grub_device_open): Do not hide error messages
42221 when grub_disk_open() fails. Use grub_print_error() instead.
42222
42223 * kern/i386/pc/init.c (grub_arch_modules_addr)
42224 (grub_arch_memdisk_size): Remove functions.
42225 (grub_arch_modules_addr): Return the module address in high memory
42226 (now that it isn't copied anymore).
42227
42228 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42229 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42230 decompression routine (grub_total_module_size already includes that
42231 now). Don't copy modules back to low memory.
42232
42233 * kern/main.c: Include `<grub/mm.h>'.
42234 (grub_load_modules): Split out (and use) ...
42235 (grub_module_iterate): ... this function, which iterates through
42236 module objects and runs a hook.
42237 Comment out grub_mm_init_region() call, as it would cause non-ELF
42238 modules to be overwritten.
42239
42240 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42241 the memdisk image in its own region, make it part of the module list.
42242 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42243 (main): Parse --memdisk|-m option, and pass user-provided path as
42244 parameter to generate_image().
42245 (add_segments): Pass `memdisk_path' down to load_modules().
42246 (load_modules): Embed memdisk image in module section when requested.
42247 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42248 `header.type' instead of `header.offset'.
42249
42250 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42251 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42252 (memdisk_mod_LDFLAGS): New variables.
42253 * conf/i386-coreboot.rmk: Likewise.
42254 * conf/i386-ieee1275.rmk: Likewise.
42255
a927cc73 422562008-08-02 Robert Millan <rmh@aybabtu.com>
42257
42258 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42259 (backward_relocator): New variables. Used to allocate and relocate
42260 the payload, respectively.
42261 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42262 address, install the appropriate relocator code in each bound of
a927cc73 42263 the payload, and set the entry point such that
42264 grub_multiboot_real_boot() will jump to one of them.
42265
42266 * kern/i386/loader.S (grub_multiboot_payload_size)
42267 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42268 (grub_multiboot_payload_entry_offset): New variables.
42269 (grub_multiboot_real_boot): Set cpu context to what the relocator
42270 expects, and jump to the relocator instead of the payload.
42271
42272 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42273 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42274 (grub_multiboot_payload_entry_offset): Export.
42275
b15d8a0c 422762008-08-01 Bean <bean123ch@gmail.com>
42277
42278 * normal/menu_entry.c (editor_getline): Don't return the original
42279 string as result, as it will be released by lexer once it has done
42280 using it.
42281
cdfb3d22 422822008-08-01 Robert Millan <rmh@aybabtu.com>
42283
42284 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42285 within menuentries, not before them.
42286 util/grub.d/10_hurd.in: Likewise.
42287
9175e93d 422882008-08-01 Bean <bean123ch@gmail.com>
42289
42290 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42291 (bufio_mod_SOURCES): New macro.
42292 (bufio_mod_CFLAGS): Likewise.
42293 (bufio_mod_LDFLAGS): Likewise.
42294
42295 * include/grub/bufio.h: New file.
42296
42297 * io/bufio.c: Likewise.
42298
42299 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42300 (grub_video_reader_png): Use grub_buffile_open to open file.
42301
42302 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42303 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42304
42305 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42306 (grub_video_reader_tga): Use grub_buffile_open to open file.
42307
42308 * font/manager.c: Include <grub/bufio.h>.
42309 (add_font): Use grub_buffile_open to open file.
42310
3d8383e7 423112008-07-31 Robert Millan <rmh@aybabtu.com>
42312
42313 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42314 ELF segments, use a macro for arbitrarily accessing any of them instead
42315 of preparing a pointer that allows access to one at a time.
42316 (grub_multiboot_load_elf64): Likewise.
42317
16e641b6 423182008-07-31 Bean <bean123ch@gmail.com>
42319
42320 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42321 GRUB_KERNEL_MACHINE_DATA_END.
42322
59198b72 423232008-07-30 Robert Millan <rmh@aybabtu.com>
42324
42325 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42326 Increase from 0x50 to 0x60.
42327 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42328 use UUIDs to identify the root drive for them. If that's not
42329 possible, abort.
42330 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42331 check, for cross-disk installs.
42332
ae88bca3 423332008-07-30 Robert Millan <rmh@aybabtu.com>
42334
42335 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42336 is non-empty, use it to set the `prefix' environment variable instead
42337 of the usual approach.
42338 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42339 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42340 environment variable instead of dummy make_install_device().
42341
42342 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42343 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42344 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42345
42346 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42347 New variable reference.
42348 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42349 New macro. Defines offset of `grub_prefix' within startup.S (relative
42350 to `start').
42351 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42352 section within startup.S (relative to `start').
42353 * include/grub/i386/coreboot/kernel.h: Likewise.
42354
42355 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42356 Overwrite grub_prefix with its contents, at the beginning of the
42357 first segment.
42358 (main): Understand -p|--prefix.
42359
14f41dd1 423602008-07-30 Robert Millan <rmh@aybabtu.com>
42361
42362 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42363
4ca049a3 423642008-07-30 Robert Millan <rmh@aybabtu.com>
42365
42366 * term/i386/pc/vga_text.c (grub_console_cls): Use
42367 grub_console_gotoxy() to go back to beginning of the screen.
42368 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42369
2921d337 423702008-07-29 Christian Franke <franke@computer.org>
42371
42372 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42373 Add conversion of emulated mount points on Cygwin.
42374
b609876d 423752008-07-29 Christian Franke <franke@computer.org>
42376
42377 * util/update-grub.in: Add a check for admin
42378 group on Cygwin.
42379 Remove old `grub.cfg.new' before creation.
42380 Add `-f' to `mv' to handle the different filesystem
42381 semantics of Windows.
42382
e93e4679 423832008-07-29 Bean <bean123ch@gmail.com>
42384
42385 * normal/main.c (get_line): Fix buffer overflow bug.
42386
41694fd0 423872008-07-28 Robert Millan <rmh@aybabtu.com>
42388
42389 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42390 (struct grub_apple_header): New struct. Describes the layout of
42391 the partmap header.
42392 (apple_partition_map_iterate): Check the header magic as well as the
42393 partition magic (which was already being checked).
42394
cfd0b4e6 423952008-07-28 Pavel Roskin <proski@gnu.org>
42396
42397 * genmk.rb: Add a warning to the beginning of the output that
42398 it's a generated file and should not be edited.
42399
93cce016 424002008-07-28 Robert Millan <rmh@aybabtu.com>
42401
42402 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42403 with the same number are found, just use issue a warning with
42404 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42405
cd1df915 424062008-07-27 Robert Millan <rmh@aybabtu.com>
42407
42408 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42409 information.
42410
b70a8427 424112008-07-27 Bean <bean123ch@gmail.com>
42412
42413 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42414 (grub_fat_find_dir): Ignore case when comparing filename.
42415
8f5e379f 424162008-07-27 Bean <bean123ch@gmail.com>
42417
42418 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42419 smallino, as it's more descriptive, and i8count can be confused with
42420 the other field count.
42421 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42422 inode type.
42423
a85cd5a0 424242008-07-27 Bean <bean123ch@gmail.com>
42425
42426 * commands/crc.c: New file.
42427
42428 * lib/crc.c: Likewise.
42429
42430 * include/grub/lib/crc.h: Likewise.
42431
42432 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42433
42434 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42435 (hexdump): Move this function to ...
42436
42437 * lib/hexdump.c: ... here.
42438
42439 * include/grub/hexdump.h: Renamed to ...
42440
42441 * include/grub/lib/hexdump.h: ... this.
42442
42443 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42444
42445 * util/grub-editenv.c: Likewise.
42446
42447 * include/envblk.h: Renamed to ...
42448
42449 * include/lib/envblk.h: ... this.
42450
42451 * util/envblk.c: Renamed to ...
42452
42453 * lib/envblk.c: ... this.
42454
42455 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42456 lib/hexdump.c.
42457 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42458 (pkglib_MODULES): Add crc.mod.
42459 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42460 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42461 (crc_mod_SOURCES): New macro.
42462 (crc_mod_CFLAGS): Likewise.
42463 (crc_mod_LDFLAGS): Likewise.
42464
42465 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42466
42467 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42468
42469 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42470
42471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42472
42473 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42474
c298def0 424752008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42476
42477 * commands/help.c: Include <grub/term.h>.
42478 (TERM_WIDTH): Removed. Updated all users.
42479
cc349fb3 424802008-07-27 Pavel Roskin <proski@gnu.org>
42481
42482 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42483 spurious warnings about a comment within a comment.
42484
9051607e 424852008-07-25 Robert Millan <rmh@aybabtu.com>
42486
42487 * util/getroot.c (find_root_device): Skip devices that match
42488 /dev/dm-[0-9]. This lets the real device be found for any type of
42489 abstraction (LVM, EVMS, RAID..).
42490 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42491 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42492 device is found first, find_root_device() will now skip it.
42493
01453bfc 424942008-07-24 Pavel Roskin <proski@gnu.org>
42495
42496 * include/grub/types.h: Use __builtin_bswap32() and
42497 __builtin_bswap64() with gcc 4.3 and newer.
42498
6af9849f 424992008-07-24 Christian Franke <franke@computer.org>
42500
3a0fa256 42501 * util/i386/pc/grub-install.in: If `--debug' is specified,
42502 pass `--verbose' to grub-setup.
42503 Abort script if make_system_path_relative_to_its_root() fails.
42504
7810e747 425052008-07-24 Bean <bean123ch@gmail.com>
42506
42507 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42508 variable `target_platform' should be `platform'.
42509
42290e17 425102008-07-24 Bean <bean123ch@gmail.com>
42511
51cc5193 42512 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42513 (grub_png_init_fixed_block): New function.
42514 (grub_png_decode_image_data): Handle fixed huffman code compression.
42515
2a8a80e4 425162008-07-24 Bean <bean123ch@gmail.com>
42517
42518 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42519 (grub_pe2elf_SOURCES): New macro.
42520 (CLEANFILES): Add grub-pe2elf.
42521
42522 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42523 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42524 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42525 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42526 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42527 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42528 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42529 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42530 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42531 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42532 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42533 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42534 (GRUB_PE32_DT_FUNCTION): Likewise.
42535 (GRUB_PE32_REL_I386_DIR32): Likewise.
42536 (GRUB_PE32_REL_I386_REL32): Likewise.
42537 (grub_pe32_symbol): New structure.
42538 (grub_pe32_reloc): Likewise.
42539
42540 * util/grub-pe2elf.c: New file.
42541
42542 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42543 start symbol in non pc platform.
42544
42545 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42546
42547 The following patches are from Christian Franke.
42548
42549 * include/grub/dl.h: Remove .previous, gas supports this only
42550 for ELF format.
42551
42552 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42553 Remove .type, gas supports this only for ELF format.
42554
42555 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42556 nullbytes in symbol table. This fixes an infinite loop if table is
42557 zero filled.
42558
42559 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42560 TARGET_IMG_LDFLAGS and EXEEXT.
42561
42562 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42563 TARGET_IMG_LDFLAGS_AC.
42564 (grub_CHECK_STACK_ARG_PROBE): New function.
42565
42566 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42567
42568 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42569
42570 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42571 to set TARGET_IMG_LD* accordingly.
42572 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42573 Add call to grub_CHECK_STACK_ARG_PROBE.
42574 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42575
42576 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42577
42578 * genmk.rb: Add EXEEXT to CLEANFILES.
42579
12ccdb75 425802008-07-23 Robert Millan <rmh@aybabtu.com>
42581
42582 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42583 define the codes for arrows and lines used for the menu).
42584 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42585 as well.
42586
42587 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42588 fonts, because the latter are too slow.
42589
18eeaf04 425902008-07-21 Bean <bean123ch@gmail.com>
42591
42592 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42593 a20. Run keyboard test last, as it will cause macbook to halt.
42594
b095e2ad 425952008-07-18 Pavel Roskin <proski@gnu.org>
42596
42597 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42598 load foreign architecture modules correctly anyway. Keep
42599 support for loading host architecture modules, whether we
42600 compile them or not.
42601
737feb35 426022008-07-17 Pavel Roskin <proski@gnu.org>
42603
3f4ce737 42604 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42605 change target_cpu. The compiler default can mismatch target_cpu
42606 in any case.
42607
4ad2d049 42608 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42609 * kern/efi/efi.c: Likewise.
42610
f6130a12 42611 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42612 target compiler is functional.
42613 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42614 are set up.
42615
58393a2d 42616 * configure.ac: Default to efi platform for x86_64-apple. Allow
42617 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42618 adjustments from the rest, only do them if target is not
42619 explicitly given. Merge other adjustments with the final sanity
42620 check. Remove an extraneous check for supported CPU. Be
42621 specific which CPU and which platform is not supported.
42622
737feb35 42623 * configure.ac: Default to pc platform for x86_64.
42624
546f966a 426252008-07-17 Robert Millan <rmh@aybabtu.com>
42626
42627 Partial LinuxBIOS -> Coreboot rename.
42628
42629 * conf/i386-linuxbios.rmk: Renamed to ...
42630 * conf/i386-coreboot.rmk: ... this.
42631 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42632 * configure.ac: Accept "coreboot" as input platform (but maintain
42633 compatibility with "linuxbios").
42634 * include/grub/i386/linuxbios: Renamed to ...
42635 * include/grub/i386/coreboot: ... this.
42636
20011694 426372008-07-17 Bean <bean123ch@gmail.com>
42638
42639 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42640 (appleldr_mod_SOURCE): New variable.
20011694 42641 (appleldr_mod_CFLAGS): Likewise.
42642 (appleldr_mod_LDFLAGS): Likewise.
42643 (pci_mod_SOURCES): Likewise.
42644 (pci_mod_CFLAGS): Likewise.
42645 (pci_mod_LDFLAGS): Likewise.
42646 (lspci_mod_SOURCES): Likewise.
42647 (lspci_mod_CFLAGS): Likewise.
42648 (lspci_mod_LDFLAGS): Likewise.
42649
42650 * conf/x86_64-efi.rmk: New file.
42651
42652 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42653 macro.
42654 (grub_efidisk_write): Likewise.
42655
42656 * include/efi/api.h (efi_call_0): New macro.
42657 (efi_call_1): Likewise.
42658 (efi_call_2): Likewise.
42659 (efi_call_3): Likewise.
42660 (efi_call_4): Likewise.
42661 (efi_call_5): Likewise.
42662 (efi_call_6): Likewise.
42663
42664 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42665 grub_rescue_cmd_chainloader.
42666
42667 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42668 (grub_pe32_optional_header): Change some fields based on i386 or
42669 x86_64 platform.
42670 (GRUB_PE32_PE32_MAGIC): Likewise.
42671
42672 * include/grub/efi/uga_draw.h: New file.
42673
42674 * include/grub/elf.h (STN_ABS): New constant.
42675 (R_X86_64_NONE): Relocation constant for x86_64.
42676 (R_X86_64_64): Likewise.
42677 (R_X86_64_PC32): Likewise.
42678 (R_X86_64_GOT32): Likewise.
42679 (R_X86_64_PLT32): Likewise.
42680 (R_X86_64_COPY): Likewise.
42681 (R_X86_64_GLOB_DAT): Likewise.
42682 (R_X86_64_JUMP_SLOT): Likewise.
42683 (R_X86_64_RELATIVE): Likewise.
42684 (R_X86_64_GOTPCREL): Likewise.
42685 (R_X86_64_32): Likewise.
42686 (R_X86_64_32S): Likewise.
42687 (R_X86_64_16): Likewise.
42688 (R_X86_64_PC16): Likewise.
42689 (R_X86_64_8): Likewise.
42690 (R_X86_64_PC8): Likewise.
42691
42692 * include/grub/i386/efi/pci.h: New file.
42693
42694 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42695 Change it value based on platform.
42696 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42697 (GRUB_E820_RAM): Likewise.
42698 (GRUB_E820_RESERVED): Likewise.
42699 (GRUB_E820_ACPI): Likewise.
42700 (GRUB_E820_NVS): Likewise.
42701 (GRUB_E820_EXEC_CODE): Likewise.
42702 (GRUB_E820_MAX_ENTRY): Likewise.
42703 (grub_e820_mmap): New structure.
42704 (linux_kernel_header): Change the efi field according to different
42705 kernel version, also field from linux_kernel_header.
42706
42707 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42708
42709 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42710 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42711 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42712 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42713 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42714 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42715 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42716 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42717 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42718 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42719
42720 * include/grub/x86_64/efi/kernel.h: New file.
42721
42722 * include/grub/x86_64/efi/loader.h: Likewise.
42723
42724 * include/grub/x86_64/efi/machine.h: Likewise.
42725
42726 * include/grub/x86_64/efi/pci.h: Likewise.
42727
42728 * include/grub/x86_64/efi/time.h: Likewise.
42729
42730 * include/grub/x86_64/linux.h: Likewise.
42731
42732 * include/grub/x86_64/setjmp.h: Likewise.
42733
42734 * include/grub/x86_64/time.h: Likewise.
42735
42736 * include/grub/x86_64/types.h: Likewise.
42737
42738 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42739 GRUB_TARGET_SIZEOF_VOID_P.
42740
42741 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42742 (grub_efi_locate_handle): Likewise.
42743 (grub_efi_open_protocol): Likewise.
42744 (grub_efi_set_text_mode): Likewise.
42745 (grub_efi_stall): Likewise.
42746 (grub_exit): Likewise.
42747 (grub_reboot): Likewise.
42748 (grub_halt): Likewise.
42749 (grub_efi_exit_boot_services): Likewise.
42750 (grub_get_rtc): Likewise.
42751
42752 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42753 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42754 (grub_efi_allocate_pages): Wrap efi calls.
42755 (grub_efi_free_pages): Wrap efi calls.
42756 (grub_efi_get_memory_map): Wrap efi calls.
42757
42758 * kern/x86_64/dl.c: New file.
42759
42760 * kern/x86_64/efi/callwrap.S: Likewise.
42761
42762 * kern/x86_64/efi/startup.S: Likewise.
42763
42764 * loader/efi/appleloader.c: Likewise.
42765
42766 * loader/efi/chainloader.c (cmdline): New variable.
42767 (grub_chainloader_unload): Wrap efi calls.
42768 (grub_chainloader_boot): Likewise.
42769 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42770 command line.
42771
42772 * loader/efi/chainloader_normal.c (chainloader_command):
42773 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42774 command line.
42775
42776 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42777 method.
42778 (grub_e820_add_region): New function.
42779 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42780 booting.
42781 (grub_find_video_card): New function.
42782 (grub_linux_setup_video): New function.
42783 (grub_rescue_cmd_linux): Probe for video information.
42784
42785 * normal/x86_64/setjmp.S: New file.
42786
42787 * term/efi/console.c (map_char): New function.
42788 (grub_console_putchar): Map unicode char.
42789 (grub_console_checkkey): Wrap efi calls.
42790 (grub_console_getkey): Likewise.
42791 (grub_console_getwh): Likewise.
42792 (grub_console_gotoxy): Likewise.
42793 (grub_console_cls): Likewise.
42794 (grub_console_setcolorstate): Likewise.
42795 (grub_console_setcursor): Likewise.
42796
42797 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42798
59652a20 427992008-07-16 Pavel Roskin <proski@gnu.org>
42800
ef294055 42801 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42802 format strings.
42803
59652a20 42804 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42805 pointer, not an integer. This fixes a warning and prevents
42806 precision loss on 64-bit systems.
42807 (relocate_addresses): Remove unneeded cast.
42808
afc3b5d7 428092008-07-15 Pavel Roskin <proski@gnu.org>
42810
506b2b3e 42811 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42812
62ead89c 42813 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42814
c4cd51d7 42815 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42816 Fix comparison between signed and unsigned.
42817
0d3d8f28 42818 * include/grub/i386/ieee1275/console.h: Declare
42819 grub_console_init() and grub_console_fini().
42820
8804b286 42821 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42822 It's empty and unused.
42823
ee01cf35 42824 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42825 beginning to avoid warnings with some compilers.
42826
afc3b5d7 42827 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42828 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42829
e4e8eaa5 428302008-07-14 Pavel Roskin <proski@gnu.org>
42831
407aceb4 42832 * kern/env.c (grub_register_variable_hook): Don't copy empty
42833 string, it leaks memory. Pass "" to grub_env_set(), it should
42834 handle constant strings.
42835
e4e8eaa5 42836 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42837 * commands/cmp.c (grub_cmd_cmp): Likewise.
42838 * kern/dl.c (grub_dl_flush_cache): Likewise.
42839 (grub_dl_load_core): Likewise.
42840 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42841 (grub_elf64_load_phdrs): Likewise.
42842
d4e2dad3 428432008-07-13 Pavel Roskin <proski@gnu.org>
42844
42845 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42846 between signed and unsigned.
42847 (LzmaEnc_Finish): Fix warning about an unused parameter.
42848
aa24b516 428492008-07-13 Bean <bean123ch@gmail.com>
42850
42851 * Makefile.in (enable_lzo): New rule.
42852
42853 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42854
42855 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42856
42857 * boot/i386/pc/lnxboot.S: #include <config.h>.
42858
42859 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42860 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42861
42862 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42863 compression algorithm according to configure macro.
42864
42865 * kern/i386/pc/startup.S (codestart): Likewise.
42866
42867 * kern/i386/pc/lzma_decode.S: New file.
42868
42869 * include/grub/lib/LzFind.h: Likewise.
42870
42871 * include/grub/lib/LzHash.h: Likewise.
42872
42873 * include/grub/lib/LzmaDec.h: Likewise.
42874
42875 * include/grub/lib/LzmaEnc.h: Likewise.
42876
42877 * include/grub/lib/LzmaTypes.h: Likewise.
42878
42879 * lib/LzFind.c: Likewise.
42880
42881 * lib/LzmaDec.c: Likewise.
42882
42883 * lib/LzmaEnc.c: Likewise.
42884
4ae821ac 428852008-07-13 Bean <bean123ch@gmail.com>
42886
42887 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42888 (grub_ext4_extent_header): New structure.
42889 (grub_ext4_extent): Likewise.
42890 (grub_ext4_extent_idx): Likewise.
42891 (grub_ext4_find_leaf): New function.
42892 (grub_ext2_read_block): Handle extents.
42893
9a745147 428942008-07-12 Robert Millan <rmh@aybabtu.com>
42895
42896 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42897
d49a4cf6 428982008-07-11 Robert Millan <rmh@aybabtu.com>
42899
42900 * util/grub.d/40_custom.in: New file. Example on how to add custom
42901 entries to /etc/grub.d.
42902 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42903 40_custom (implicitly, by merging all the grub.d rules).
42904
947414b4 429052008-07-11 Pavel Roskin <proski@gnu.org>
42906
0059cf6f 42907 * commands/read.c (grub_getline): Fix invalid memory access.
42908 Don't add newline to the variable value.
42909
947414b4 42910 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42911 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42912 (serial_hw_get_port): Check validity of the port number.
42913 (grub_cmd_serial): Check return value of serial_hw_get_port().
42914
62a02d00 429152008-07-07 Pavel Roskin <proski@gnu.org>
42916
42917 * boot/i386/pc/diskboot.S (notification_string): Replace
42918 "Loading kernel" with just "loading". This is shorter, less
42919 confusing and saves a few bytes for possible future changes.
42920
3e5581b0 429212008-07-05 Pavel Roskin <proski@gnu.org>
42922
ea387a48 42923 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42924 size for ATAPI devices, they are undefined. Output sector
42925 number in decimal form.
42926
3e5581b0 42927 * disk/ata.c: Use named constants for status bits.
42928
fdecb8fd 429292008-07-04 Pavel Roskin <proski@gnu.org>
42930
bcd35b90 42931 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42932 grub_addr_t before casting it to the void pointer to fix a
42933 warning. Non-addressable regions are discarded earlier.
42934 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42935 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42936 (check_signature): Don't shadow table_header.
42937 (grub_linuxbios_table_iterate): Cast numeric constants to
42938 grub_linuxbios_table_header_t.
42939 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42940 grub_stop().
42941
af58ab3d 42942 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42943 prevent warnings.
42944
1759aa57 42945 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42946 pointer, which can cause warnings. Support 64-bit addresses.
42947
fdecb8fd 42948 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42949 of sizeof(long). This fixes PowerPC image generation on x86_64.
42950
8516d2a8 429512008-07-04 Robert Millan <rmh@aybabtu.com>
42952
42953 This fixes a performance issue when pc & gpt partmap iterators
42954 didn't abort iteration even after our hook found what it was
fe987087 42955 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42956
42957 Some callers relied on previous buggy behaviour, since they would
34c44600 42958 raise an error when their own hooks caused early abortion of its
8516d2a8 42959 iteration.
42960
42961 * kern/device.c (grub_device_open): Improve error message.
42962 * disk/lvm.c (grub_lvm_open): Likewise.
42963 * disk/raid.c (grub_raid_open): Likewise.
42964
42965 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42966 when hook requests it, independently of grub_errno.
42967 (pc_partition_map_probe): Do not fail when find_func() caused
42968 early abortion of pc_partition_map_iterate().
42969
42970 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42971 when hook requests it, independently of grub_errno.
42972 (gpt_partition_map_probe): Do not fail when find_func() caused
42973 early abortion of gpt_partition_map_iterate().
42974
42975 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42976 when hook requests it, independently of grub_errno. Do not fail when
42977 part_map_iterate_hook() caused early abortion of p->iterate().
42978
42979 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42980 when grub_partition_iterate() returned with non-zero.
42981
277d0de9 429822008-07-03 Pavel Roskin <proski@gnu.org>
42983
42984 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42985 like we do in grub_ata_pio_read().
42986 (grub_ata_readwrite): Always write individual sectors. Fix the
42987 sector count for the remainder.
42988 (grub_ata_write): Enable writing to ATA devices. Correctly
42989 report error for ATAPI devices.
42990
d4c9b428 429912008-07-02 Pavel Roskin <proski@gnu.org>
42992
e43fc690 42993 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42994 warning.
42995
f707af42 42996 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42997 for every read sector, we already increment it for the whole
42998 batch. This fixes reading more than 256 sectors at once.
42999
11e16b15 43000 * util/grub-editenv.c (cmd_info): Cast argument to long
43001 explicitly. ptrdiff_t reduces to int on i386.
43002
cbabfdd4 43003 * util/grub-editenv.c (main): Be specific which parameter is
43004 missing.
43005
b8fbce0a 43006 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43007 (memdisk): Make memdisk_orig_addr a pointer.
43008
c9c8e606 43009 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43010 for file offsets, use grub_off_t instead. Fix printf format
43011 warnings.
43012
ca62e598 43013 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43014 there. Real unexpected warnings should not drown in the noise
43015 about known problems.
43016
ce8d1766 43017 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43018 grub_disk_addr_t for memory addresses.
43019
00c7a56a 43020 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43021 explicitly to fix a warning.
43022
08d3ef09 43023 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43024
cb71ba20 43025 * Makefile.in (MODULE_LDFLAGS): New variable.
43026 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43027 the linker accepts --build-id=none.
43028 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43029 MODULE_LDFLAGS.
43030 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43031
d4c9b428 43032 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43033 those in Linux XFS code. Provide a way to access 64-bit parent
43034 inode.
43035 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43036 the end of struct grub_xfs_dir_header.
43037
d4156eee 430382008-07-02 Bean <bean123ch@gmail.com>
43039
43040 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43041 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43042 and GRUB_IEEE1275_FLAG_NO_ANSI.
43043
43044 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43045 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43046 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43047
43048 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
43049 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
43050
43051 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
43052 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
43053
43054 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
43055 esc sequence on non ANSI terminal.
43056 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
43057
43058 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
43059 beginning of file.
43060
2270f77b 430612008-07-02 Bean <bean123ch@gmail.com>
43062
43063 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43064 (grub_editenv_SOURCES): New variable.
43065 (pkglib_MODULES): Add loadenv.mod.
43066 (loadenv_mod_SOURCES): New variable.
43067 (loadenv_mod_CFLAGS): Likewise.
43068 (loadenv_mod_LDFLAGS): Likewise.
43069
43070 * include/grub/envblk.h: New file.
43071
43072 * util/envblk.c: New file.
43073
43074 * util/grub-editenv.c: New file.
43075
43076 * commands/loadenv.c: New file.
43077
0e9e51ec 430782008-07-01 Pavel Roskin <proski@gnu.org>
43079
d89b7634 43080 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43081 not unsigned char. This fixes warnings and is consistent with
43082 other tags.
43083
bf1835b1 43084 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
43085
8222a04b 43086 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
43087
6a42d99d 43088 * term/tparm.c (analyze): Always set *popcount.
43089
10b159d1 43090 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
43091 cast to fix a warning.
43092
b8789f6c 43093 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
43094 cast to suppress a warning.
43095
29d7e38a 43096 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
43097 grub_fshelp_read_file() expects.
43098
f341f669 43099 * fs/fat.c: Fix UUID calculation on big-endian systems. We
43100 write uuid as a 32-bit value in CPU byte order, so declare and
43101 use it as such.
43102
0e9e51ec 43103 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
43104 long if the format specifier expects it.
43105 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
43106 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43107 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
43108 long to fix a warning.
43109 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
43110 grub_dprintf() arguments to fix warnings.
43111
3aefa857 431122008-06-30 Pavel Roskin <proski@gnu.org>
43113
56c7668b 43114 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
43115 install_bsd_part immediately before core.img is embedded or
43116 modified on disk. This fixes core.img verification if core.img
43117 cannot be embedded.
43118
3aefa857 43119 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
43120 core_path to calculate the blocklist.
43121 Patch from Javier Martín <lordhabbit@gmail.com>
43122
5444088d 431232008-06-29 Robert Millan <rmh@aybabtu.com>
43124
43125 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
43126 block to disk block.
43127 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
43128 Patch from Niels Böhm <bitbucket@arcor.de>
43129
674835c8 431302008-06-29 Robert Millan <rmh@aybabtu.com>
43131
43132 * util/update-grub_lib.in (font_path): Search for fonts in
43133 /boot/grub first, which is more likely to be readable (we aren't
43134 deciding where fonts live, just looking for them).
43135
f527dbc8 431362008-06-26 Pavel Roskin <proski@gnu.org>
43137
6c2d8df6 43138 * util/biosdisk.c (read_device_map): Don't leave dead map
43139 entries for devices failing stat() check.
43140
f527dbc8 43141 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
43142 core_path_dev for the core.img path on the target device.
43143
aebe3d13 431442008-06-26 Robert Millan <rmh@aybabtu.com>
43145
43146 * disk/fs_uuid.c: New file.
43147 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
43148 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
43149 (fs_uuid_mod_LDFLAGS): New variables.
43150 * include/grub/disk.h (grub_disk_dev_id): Add
43151 `GRUB_DISK_DEVICE_UUID_ID'.
43152 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
43153 implement iterate().
43154
37aaf354 431552008-06-26 Robert Millan <rmh@aybabtu.com>
43156
43157 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
43158 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
43159 Linux image includes no initrd.
43160
25ff262a 431612008-06-21 Javier Martín <lordhabbit@gmail.com>
43162
43163 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
43164 call to resolve the core image location that effectively appended the
43165 name twice.
43166
76a2bd44 431672008-06-21 Robert Millan <rmh@aybabtu.com>
43168
43169 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43170 call from here ...
43171
43172 * util/grub.d/10_hurd.in: ... to here ...
43173 * util/grub.d/10_linux.in: ... and here.
43174
650e1c79 431752008-06-19 Robert Millan <rmh@aybabtu.com>
43176
fe987087 43177 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 43178 after it has been set by grub_machine_set_prefix().
43179
6ce63911 431802008-06-19 Robert Millan <rmh@aybabtu.com>
43181
43182 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43183 search result when not saving to variable, not the other way around.
43184 When saving to variable, abort iteration as soon as a match is found.
43185
73940cec 431862008-06-19 Robert Millan <rmh@aybabtu.com>
43187
43188 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43189 check for partition that provides /boot/grub. Its logic is flawed,
43190 as it prevents prepare_grub_to_access_device() from being called
43191 multiple times.
43192
3c62a39d 431932008-06-19 Robert Millan <rmh@aybabtu.com>
43194
43195 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43196 "insmod" command directly when abstraction modules are needed,
fe987087 43197 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 43198 since it had already been processed).
43199
47395a42 432002008-06-19 Pavel Roskin <proski@gnu.org>
43201
43202 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43203 changed. This is needed in case GRUB_LIBDIR changes.
43204 * conf/i386-ieee1275.rmk: Likewise.
43205 * conf/i386-linuxbios.rmk: Likewise.
43206 * conf/i386-pc.rmk: Likewise.
43207 * conf/powerpc-ieee1275.rmk: Likewise.
43208
a145ac2d 432092008-06-18 Pavel Roskin <proski@gnu.org>
43210
43211 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43212 kernel_elf_symlist.c to symlist.c for consistency with other
43213 architectures. Update all users.
43214 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43215
7847c51e 432162008-06-18 Robert Millan <rmh@aybabtu.com>
43217
43218 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43219 it in prefix.
43220
43221 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43222 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43223 a RAID device, run setup() for all members independently on whether
43224 LVM abstraction is being used.
43225 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43226 If grub-mkimage has set `*install_dos_part == -2', don't override this
43227 value.
43228 Perform *install_dos_part adjustments independently on whether
43229 we're embedding or not.
43230 Clarify error message when image is too big for embedding.
43231 Remove duplicate *install_dos_part stanza.
43232
b23e5644 432332008-06-17 Robert Millan <rmh@aybabtu.com>
43234
43235 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43236 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43237 variables.
43238 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43239 values in grub_ofconsole_normal_color and
43240 grub_ofconsole_highlight_color (they're not directly related to
43241 background and foreground).
43242 (grub_ofconsole_setcolorstate): Extract background and foreground
43243 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43244
0aac2f79 432452008-06-17 Robert Millan <rmh@aybabtu.com>
43246
43247 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43248 /boot/grub for the check in last commit, not /boot (they could be
43249 different partitions).
43250
3cca7ef3 432512008-06-16 Robert Millan <rmh@aybabtu.com>
43252
43253 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43254 asked to setup access for the same partition that provides /boot,
43255 don't bother using UUIDs since our root already has the value we
43256 want.
43257
347396d8 432582008-06-16 Robert Millan <rmh@aybabtu.com>
43259
43260 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43261 I2O devices.
43262 Patch from Sven Mueller <sven@debian.org>.
43263
991477f8 432642008-06-16 Robert Millan <rmh@aybabtu.com>
43265
43266 * util/update-grub.in: Check for $EUID instead of $UID.
43267 Reported by Vincent Zweije.
43268
d31a32a1 432692008-06-16 Bean <bean123ch@gmail.com>
43270
fe987087 43271 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43272 (grub_ext2_read_block): Likewise.
43273 (grub_ext2_read_inode): Likewise.
43274 (grub_ext2_mount): Likewise.
43275 (grub_ext2_close): Likewise.
43276 (grub_ext3_get_journal): Removed.
43277
fe987087 43278 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43279 (grub_reiserfs_read_symlink): Likewise.
43280 (grub_reiserfs_mount): Likewise.
43281 (grub_reiserfs_open): Likewise.
43282 (grub_reiserfs_read): Likewise.
43283 (grub_reiserfs_close): Likewise.
43284 (grub_reiserfs_get_journal): Removed.
43285
43286 * fs/fshelp.c (grub_fshelp_read): Removed.
43287 (grub_fshelp_map_block): Likewise.
43288
43289 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43290 (grub_fshelp_journal): Likewise.
43291 (grub_fshelp_read): Likewise.
43292 (grub_fshelp_map_block): Likewise.
43293
3540a760 432942008-06-16 Pavel Roskin <proski@gnu.org>
43295
43296 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43297 floating point anymore.
43298 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43299
95614c84 433002008-06-15 Pavel Roskin <proski@gnu.org>
43301
43302 * commands/ls.c (grub_ls_list_files): Use integer calculations
43303 for human readable format, avoid floating point use.
43304 * kern/misc.c (grub_ftoa): Remove.
43305 (grub_vsprintf): Remove floating point support.
43306
50465dd6 433072008-06-15 Robert Millan <rmh@aybabtu.com>
43308
fe6b695a 43309 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43310 devices.
43311 Reported by Max Vozeler.
43312
a9207284 433132008-06-15 Robert Millan <rmh@aybabtu.com>
43314
43315 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43316 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43317 skipped later.
43318 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43319 the beginning of the prefix.
43320
43321 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43322 It is assumed that if we have a memdisk, grub-mkimage has set
43323 grub_prefix to include the "(memdisk)" drive in it.
43324
a7cbd45a 433252008-06-15 Robert Millan <rmh@aybabtu.com>
43326
43327 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43328 Initialize keyboard controller after registering the terminal, so that
43329 grub_printf() can be called from grub_keyboard_controller_init().
43330
21cf716a 433312008-06-15 Robert Millan <rmh@aybabtu.com>
43332
43333 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43334 extent-btree which is written as big endian on disk.
43335 Reported by Alain Greppin <al@chilibi.org>.
43336
23a64d8e 433372008-06-14 Robert Millan <rmh@aybabtu.com>
43338
43339 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43340 * util/i386/pc/grub-install.in (modules): Likewise.
43341
d687651c 433422008-06-13 Pavel Roskin <proski@gnu.org>
43343
43344 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43345
dfe9ddd4 433462008-06-13 Bean <bean123ch@gmail.com>
43347
43348 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43349
43350 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43351
43352 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43353 to indicate sparse block.
43354
16ae7781 433552008-06-12 Pavel Roskin <proski@gnu.org>
43356
e6d1a308 43357 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43358 number, grub_fshelp_read() does it for us.
43359
16ae7781 43360 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43361 linear disk read with journal translation.
43362 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43363 * include/grub/fshelp.h: Declare grub_fshelp_read().
43364
40fd3a2b 433652008-06-09 Pavel Roskin <proski@gnu.org>
43366
43367 * fs/minix.c (grub_minix_mount): Handle error reading
43368 superblock.
43369
f5679726 433702008-06-08 Robert Millan <rmh@aybabtu.com>
43371
43372 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43373 don't append the RAID prefix afterwards.
43374 Reported by Clint Adams.
43375
ce525529 433762008-06-08 Robert Millan <rmh@aybabtu.com>
43377
43378 Based on description from Pavel:
43379 * kern/disk.c (grub_disk_check_range): Rename to ...
43380 (grub_disk_adjust_range): ... this. Add a comment explaining the
43381 tasks performed by this function.
43382
ad4936a0 433832008-06-08 Robert Millan <rmh@aybabtu.com>
43384
43385 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43386 `num_serial' (for consistency with other variables).
43387 (struct grub_ntfs_data): Add `uuid' member.
43388 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43389 (grub_ntfs_uuid): New function.
43390 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43391
dc20b0f9 433922008-06-07 Pavel Roskin <proski@gnu.org>
43393
43394 * util/biosdisk.c (open_device): Revert last change to the
43395 function, it broke installation. The sector needs to be
43396 different dependent on which device is opened.
43397
c5e3cfba 433982008-06-06 Robert Millan <rmh@aybabtu.com>
43399
43400 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43401 rest of GRUB, and breakage doesn't happen if its value were modified.
43402
43403 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43404 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43405 a constant (same value).
43406 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43407 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43408
26a1f8c4 434092008-06-06 Robert Millan <rmh@aybabtu.com>
43410
43411 * util/biosdisk.c (open_device): Do not modify sector offset when
43412 accessing a partition. kern/disk.c already handles this for us.
43413
25d6b327 434142008-06-06 Robert Millan <rmh@aybabtu.com>
43415
43416 * util/grub-emu.c (grub_machine_init): Move code in this function from
43417 here ...
43418 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43419 segfault in case grub_printf() is called).
43420
43421 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43422 grub_probe. Update all users not to explicitly add it again.
43423 (grub_device): New variable; contains corresponding device for grubdir.
43424 (fs_module, partmap_module, devabstraction_module): Pass
43425 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43426 every time.
43427
9ece62fb 434282008-06-05 Robert Millan <rmh@aybabtu.com>
43429
43430 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43431 is found, print it (same layout as with labels).
43432
1ad36d37 434332008-06-04 Robert Millan <rmh@aybabtu.com>
43434
43435 * util/biosdisk.c (get_drive): Rename to ...
43436 (find_grub_drive): ... this. Update all users.
43437
43438 (get_os_disk): Rename to ...
43439 (convert_system_partition_to_system_disk): ... this. Update all users.
43440
43441 (find_drive): Rename to ...
43442 (find_system_device): ... this. Update all users.
43443
e6a30859 434442008-06-04 Robert Millan <rmh@aybabtu.com>
43445
43446 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43447 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43448 (make_device_map): Likewise.
43449
00c108a4 434502008-06-01 Robert Millan <rmh@aybabtu.com>
43451
43452 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43453 before dereferencing it.
43454
43455 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43456 union with fat12/fat16-specific ones. Add some new fields, including
43457 `num_serial' for both versions.
43458 (struct grub_fat_data): Add `uuid' member.
43459 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43460 names. Initialize `data->uuid' using `num_serial'.
43461 (grub_fat_uuid): New function.
43462 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43463
43464 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43465 (grub_reiserfs_uuid): New function.
43466 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43467 member.
43468
43469 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43470 (grub_xfs_uuid): New function.
43471 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43472
1385c5bb 434732008-06-01 Robert Millan <rmh@aybabtu.com>
43474
43475 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43476 code that is backward compatible with pre-uuid search command.
43477
c682dfd7 434782008-05-31 Robert Millan <rmh@aybabtu.com>
43479
43480 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43481 floppies after everything else, to ensure floppy drive isn't accessed
43482 unnecessarily (patch from Bean).
43483
b7db5d47 434842008-05-31 Robert Millan <rmh@aybabtu.com>
43485
43486 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43487 not print device names when we were asked to set a variable.
43488
6e037aa9 434892008-05-31 Robert Millan <rmh@aybabtu.com>
43490
43491 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43492 using "cursor-on" and "cursor-off" commands (understood at least by
43493 the Open Firmware flavour on OLPC).
43494
41305bc8 434952008-05-31 Michael Gorven <michael@gorven.za.net>
43496
43497 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43498 on and off sequences.
43499
69ba137e 435002008-05-31 Robert Millan <rmh@aybabtu.com>
43501
43502 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43503 * util/update-grub.in: Likewise.
43504
520ae21b 435052008-05-30 Pavel Roskin <proski@gnu.org>
43506
43507 * util/biosdisk.c (linux_find_partition): Simplify logic and
43508 make the code more universal. Keep special processing for
43509 devfs, but use a simple rule for all other devices. If the
43510 device ends with a number, append 'p' and the partition number.
43511 Otherwise, append only the partition number.
43512
5786569b 435132008-05-30 Robert Millan <rmh@aybabtu.com>
43514
43515 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43516 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43517 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43518 the `root' parameter to Linux.
43519
51500452 435202008-05-30 Robert Millan <rmh@aybabtu.com>
43521
43522 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43523 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43524 --fs_uuid with --fs-uuid.
43525 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43526 all filesystems support them).
43527
811d3878 435282008-05-30 Robert Millan <rmh@aybabtu.com>
43529
43530 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43531 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43532
cab63c95 435332008-05-30 Robert Millan <rmh@aybabtu.com>
43534
43535 * util/grub.d/00_header.in: Remove obsolete comment referencing
43536 convert_system_path_to_grub_path().
43537 * util/update-grub.in: Likewise.
43538 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43539 (convert_system_path_to_grub_path): Add a warning message explaining
43540 that this function is deprecated. Rely on is_path_readable_by_grub()
43541 for the readability checks.
43542 (font_path): Use is_path_readable_by_grub() for the readability
43543 check rather than convert_system_path_to_grub_path().
43544
972e2f7a 435452008-05-30 Robert Millan <rmh@aybabtu.com>
43546
43547 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43548 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43549 converting it first.
43550 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43551 grub.cfg for access to font file, and afterwards call it again to set
43552 the root device.
43553
62191274 435542008-05-30 Robert Millan <rmh@aybabtu.com>
43555
43556 * commands/search.c (options): Add --fs_uuid option.
43557 (search_fs_uuid): New function.
43558 (grub_cmd_search): Fix --set argument passing.
43559 Use search_fs_uuid() when requested via --fs_uuid.
43560 (grub_search_init): Update help message.
43561 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43562 and redeclare it as an array of 16-bit words.
43563 (grub_ext2_uuid): New function.
43564 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43565 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43566 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43567 (GRUB_DEVICE_BOOT_UUID): New variables.
43568 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43569 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43570 whenever possible.
43571 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43572 just assume `root' variable has the right value.
43573 * util/grub.d/10_linux.in: Likewise.
43574 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43575 via PRINT_FS_UUID.
43576 (main): Recognise `-t fs_uuid' argument.
43577
01b73ec8 435782008-05-30 Robert Millan <rmh@aybabtu.com>
43579
43580 * util/biosdisk.c (map): Redefine structure to hold information
43581 about GRUB drive name.
fe6b695a 43582 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43583 drive names.
43584 (call_hook): Remove.
43585 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43586 member. Assume drive has partitions.
43587 (grub_util_biosdisk_open): Access device names via `.device' struct
43588 member.
43589 (open_device): Likewise.
43590 (find_drive): Likewise.
43591 (read_device_map): Adjust map[] usage to match the new struct
43592 definition. Don't check for duplicates (still possible, but not cheap
43593 anymore).
43594 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43595 (make_device_name): Remove assumption of BIOS-like drive names.
43596
22f16596 435972008-05-30 Pavel Roskin <proski@gnu.org>
43598
43599 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43600 compiling execute.c doesn't need grub_script.tab.h anymore.
43601 (normal/command.c_DEPENDENCIES): Likewise.
43602 (normal/function.c_DEPENDENCIES): Likewise.
43603 * conf/i386-ieee1275.rmk: Likewise.
43604 * conf/i386-linuxbios.rmk: Likewise.
43605 * conf/i386-pc.rmk: Likewise.
43606 * conf/powerpc-ieee1275.rmk: Likewise.
43607 * conf/sparc64-ieee1275.rmk: Likewise.
43608
528ad8f2 436092008-05-29 Pavel Roskin <proski@gnu.org>
43610
d1dff95d 43611 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43612 when scanning metadata for volume group name.
43613
528ad8f2 43614 * include/grub/script.h: Don't include grub_script.tab.h. It's
43615 a generated file, which may only be included from the files with
43616 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43617 use union YYSTYPE, as the later allows forward declaration.
43618 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43619
47248e08 436202008-05-29 Robert Millan <rmh@aybabtu.com>
43621
43622 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43623 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43624 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43625 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43626 scan codes.
43627
ee632529 436282008-05-29 Robert Millan <rmh@aybabtu.com>
43629
43630 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43631 control key combinations.
43632
eee96e08 436332008-05-29 Robert Millan <rmh@aybabtu.com>
43634
43635 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43636 * util/ieee1275/grub-install.in: ... to here.
43637 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43638 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43639 (grub_install_SOURCES): Likewise.
43640
da9a6a94 436412008-05-29 Robert Millan <rmh@aybabtu.com>
43642
43643 * fs/affs.c: Update copyright year.
43644 * fs/ext2.c: Likewise.
43645 * fs/fshelp.c: Likewise.
43646 * fs/hfsplus.c: Likewise.
43647 * fs/ntfs.c: Likewise.
43648 * fs/xfs.c: Likewise.
43649 * include/grub/fshelp.h: Likewise.
43650 * util/grub-mkdevicemap.c: Likewise.
43651
12e65f3a 436522008-05-28 Robert Millan <rmh@aybabtu.com>
43653
43654 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43655 might need to be fatfs to support some firmware implementations
43656 (e.g. OFW or EFI).
43657
23023641 436582008-05-28 Robert Millan <rmh@aybabtu.com>
43659
43660 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43661 devices.
43662 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43663 (make_device_map): Likewise.
43664
887d2619 436652008-05-20 Bean <bean123ch@gmail.com>
43666
43667 * fs/fshelp.c (grub_fshelp_map_block): New function.
43668 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43669 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43670
43671 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43672 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43673 (grub_fshelp_journal): New structure.
43674 (grub_fshelp_map_block): New function prototype.
43675 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43676 (grub_fshelp_map_block): Likewise.
43677
43678 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43679 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43680 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43681 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43682 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43683 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43684 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43685 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43686 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43687 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43688 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43689 (grub_ext2_sblock): New members for journal support.
43690 (grub_ext3_journal_header): New structure.
43691 (grub_ext3_journal_revoke_header): Likewise.
43692 (grub_ext3_journal_block_tag): Likewise.
43693 (grub_ext3_journal_sblock): Likewise.
43694 (grub_fshelp_node): New members logfile and journal.
43695 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43696 grub_fshelp_map_block to get real block number.
43697 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43698 number.
43699 (grub_ext2_read_inode): Likewise.
43700 (grub_ext3_get_journal): New function.
43701 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43702 (grub_ext2_close): Release memory used by journal.
43703
43704 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43705 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43706 (grub_reiserfs_transaction_header): Renamed to
43707 grub_reiserfs_description_block, replace field data with real_blocks.
43708 (grub_reiserfs_commit_block): New structure.
43709 (grub_reiserfs_data): New member journal.
43710 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43711 number.
43712 (grub_reiserfs_read_symlink): Likewise.
43713 (grub_reiserfs_iterate_dir): Likewise.
43714 (grub_reiserfs_open): Likewise.
43715 (grub_reiserfs_read): Likewise.
43716 (grub_reiserfs_get_journal): New function.
43717 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43718 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43719 using grub_reiserfs_get_journal.
43720 (grub_reiserfs_close): Release memory used by journal.
43721
43722 * fs/affs.c (grub_affs_read_block): Change block type to
43723 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43724
43725 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43726
43727 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43728
43729 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43730
43731 * fs/udf.c (grub_udf_read_block): Change block type to
43732 grub_disk_addr_t. Use type cast to avoid warning.
43733
43734 * fs/xfs.c (grub_xfs_read_block): Likewise.
43735
b7c6bed5 437362008-05-16 Christian Franke <franke@computer.org>
43737
43738 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43739 to ensure that break with ESC will always work.
43740 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43741 Remove ESC from keyboard queue.
43742
eedf167f 437432008-05-16 Christian Franke <franke@computer.org>
43744
43745 * util/biosdisk.c: [__CYGWIN__] Add includes.
43746 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43747 (get_os_disk): Move variable declarations to OS specific
43748 parts to avoid warning.
43749 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43750 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43751 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43752 Cygwin.
43753 * util/getroot.c: [__CYGWIN__] Add includes.
43754 (strip_extra_slashes): Fix "/" case.
43755 [__CYGWIN__] (get_win32_path): New function.
43756 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43757 [__CYGWIN__] (find_root_device): Disable.
43758 [__CYGWIN__] (get_bootsec_serial): New function.
43759 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43760 [__linux__] (grub_guess_root_device): Add early returns to simplify
43761 structure.
43762 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43763 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43764 check for Linux only.
43765
a079699e 437662008-05-15 Bean <bean123ch@gmail.com>
43767
43768 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43769 keyboard hang problem in apple's intel mac.
43770
1cf4059a 437712008-05-09 Robert Millan <rmh@aybabtu.com>
43772
43773 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43774 devices.
43775 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43776 (make_device_map): Likewise.
43777 Reported by Aurelien Jarno <aurel32@debian.org>
43778
ed759390 437792008-05-07 Ian Campbell <ijc@hellion.org.uk>
43780
43781 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43782 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43783 (make_device_map): Output entries for xvd type disks.
43784
b56c4eaa 437852008-05-07 Robert Millan <rmh@aybabtu.com>
43786
43787 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43788 devices.
43789 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43790 (make_device_map): Likewise.
43791 Reported by Roland Dreier <rdreier@cisco.com>
43792
7f8866ed 437932008-05-07 Robert Millan <rmh@aybabtu.com>
43794
43795 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43796 grub_strstr() call. Correct a few mistakes in failure path handling.
43797
b0346e0f 437982008-05-06 Robert Millan <rmh@aybabtu.com>
43799
43800 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43801 Do not print a trailing slash (therefore, the root directory is an
43802 empty string).
43803 (convert_system_path_to_grub_path): Do not remove trailing slash
43804 from make_system_path_relative_to_its_root() output.
43805
43806 * util/i386/pc/grub-install.in: Add trailing slash to output from
43807 make_system_path_relative_to_its_root().
43808
6cf12cbd 438092008-05-06 Robert Millan <rmh@aybabtu.com>
43810
43811 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43812 ensures that output lines aren't intermangled with those sent to
43813 stderr (via grub_util_info()).
43814 * util/grub-probe.c (grub_refresh): Likewise.
43815 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43816
0fbb3117 438172008-05-05 Christian Franke <franke@computer.org>
43818
43819 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43820 Add Cygwin device names.
43821 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43822 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43823 (check_device): Return error instead of success on empty name.
43824 (make_device_map): Move label inside linux specific code to
43825 prevent compiler warning.
43826
8124cdb7 438272008-04-30 Robert Millan <rmh@aybabtu.com>
43828
43829 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43830 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43831 first boot option.
43832 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43833
094c01d0 438342008-04-29 Robert Millan <rmh@aybabtu.com>
43835
43836 * docs/grub.cfg: New file (example GRUB configuration).
43837
f4b1fc02 438382008-04-26 Robert Millan <rmh@aybabtu.com>
43839
329ce2a5 43840 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43841 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43842 and `disk/ieee1275/nand.c'.
f4b1fc02 43843
25f16ec1 438442008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43845
25f16ec1 43846 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43847 i386-linuxbios.
43848
43849 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43850 change the buffer size to 4096 for cdrom device.
43851
43852 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43853 and nand.mod.
43854 (_linux_mod_SOURCES): New variable.
43855 (_linux_mod_CFLAGS): Likewise.
43856 (_linux_mod_LDFLAGS): Likewise.
43857 (linux_mod_SOURCES): Likewise.
43858 (linux_mod_CFLAGS): Likewise.
43859 (linux_mod_LDFLAGS): Likewise.
43860 (nand_mod_SOURCES): Likewise.
43861 (nand_mod_CFLAGS): Likewise.
43862 (nand_mod_LDFLAGS): Likewise.
43863
43864 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43865 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43866 type property. (nand device in olpc don't have this property)
43867
43868 * include/grub/disk.h (grub_disk_dev_id): New macro
43869 GRUB_DISK_DEVICE_NAND_ID.
43870
43871 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43872 function prototype.
43873 (grub_rescue_cmd_initrd): Likewise.
43874
43875 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43876 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43877 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43878
25f16ec1 43879 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43880 GRUB_MACHINE_IEEE1275 is defined.
43881
43882 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43883 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43884
43885 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43886 on nested function heap_init.
43887 (grub_upper_mem): New variable for i386-ieee1275.
43888 (grub_get_extended_memory): New function for i386-ieee1275.
43889 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43890
43891 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43892 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43893 property.
f19dbdb7 43894
25f16ec1 43895 * loader/i386/ieee1275/linux.c: New file.
43896
43897 * loader/i386/ieee1275/linux_normal.c: New file.
43898
43899 * disk/ieee1275/nand.c: New file.
43900
e89d61e9 439012008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43902
43903 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43904 value.
43905 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43906
602566f6 439072008-04-18 Robert Millan <rmh@aybabtu.com>
43908
43909 Restructures early code path on ieee1275 to unify grub_main() as
43910 the first C function that is executed in every platform.
43911
43912 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43913 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43914 cmain().
43915 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43916 * kern/ieee1275/cmain.c (cmain): Rename to ...
43917 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43918 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43919 at the beginning.
43920
57490c2b 439212008-04-18 Robert Millan <rmh@aybabtu.com>
43922
43923 * util/update-grub.in: Fix syntax error when setting
43924 `GRUB_PRELOAD_MODULES'.
43925 Reported by Stephane Chazelas <stephane@artesyncp.com>
43926
1977517d 439272008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43928
43929 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43930 section into account, newer toolchains generate unique build ids
43931 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43932 we want build ids to be preserved
1977517d 43933 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43934 far from other sections don't cause the raw binary images grow
43935 size
43936
bfb1f1a2 439372008-04-15 Robert Millan <rmh@aybabtu.com>
43938
43939 * disk/lvm.c: Update copyright year.
43940 * kern/misc.c: Likewise.
43941
01979850 439422008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43943
43944 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43945 there is no memory left for physical volume name.
01979850 43946
0a1150e2 439472008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43948
43949 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43950 volume name mapping to support bigger than 9 character names properly.
43951
82ead3fe 439522008-04-13 Robert Millan <rmh@aybabtu.com>
43953
43954 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43955 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43956
e54a72f5 439572008-04-13 Christian Franke <franke@computer.org>
43958
43959 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43960 to create a floppy emulation boot CD when non emulation mode
43961 does not work.
43962 Enable Joliet CD filesystem extension.
43963
9fe86034 439642008-04-13 Robert Millan <rmh@aybabtu.com>
43965
43966 * kern/misc.c (grub_strncat): Fix off-by-one error.
43967 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43968
43969 * kern/env.c (grub_env_context_close): Clear current context, not
43970 previous one.
43971 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43972
43973 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43974
7ceeee39 439752008-04-13 Robert Millan <rmh@aybabtu.com>
43976
43977 Improve robustness when handling LVM.
43978
43979 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43980 (and leave `*p' unmodified).
7ceeee39 43981 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43982 through it.
43983 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43984 iterating through it.
43985 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43986 through it.
fe6b695a 43987 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43988 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43989 Don't assume `vg->pvs != NULL' when iterating through it.
43990
58cd3d85 439912008-04-13 Robert Millan <rmh@aybabtu.com>
43992
43993 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43994 * genmk.rb (partmap): New variable.
43995 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43996 (#{partmap}): New target rule.
43997 * genpartmaplist.sh: New file.
43998 * Makefile.in (pkglib_DATA): Add partmap.lst.
43999 (partmap.lst): New target rule.
44000 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44001 modules (including all partition maps), instead of preloading them.
44002
78b51059 440032007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44004
44005 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44006 `linux-boot-prober' (if installed) to detect other operating
44007 systems which are installed on the computer and add them to
44008 the boot menu.
44009 * conf/common.rmk: Build and install 30_os-prober.
44010
a91627b4 440112008-04-12 Robert Millan <rmh@aybabtu.com>
44012
44013 * kern/powerpc/ieee1275/init.c: Move from here ...
44014 * kern/ieee1275/init.c: ... to here. Update all users.
44015
44016 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44017 * kern/ieee1275/cmain.c: ... to here. Update all users.
44018
44019 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44020 * kern/ieee1275/openfw.c: ... to here. Update all users.
44021
44022 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44023 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44024
322562ea 440252008-04-10 Pavel Roskin <proski@gnu.org>
44026
44027 * configure.ac: Always use "_cv_" in cache variables for
44028 compatibility with Autoconf 2.62.
44029
a02a73c5 440302008-04-07 Robert Millan <rmh@aybabtu.com>
44031
44032 Revert grub/machine/init.h addition by Pavel (since it breaks on
44033 i386-ieee1275 and others):
44034 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44035 * util/powerpc/ieee1275/misc.c: Likewise.
44036
25c024b1 440372008-04-07 Robert Millan <rmh@aybabtu.com>
44038
44039 * util/grub-probe.c (probe): Improve error message.
44040
3cbd2f98 440412008-04-07 Robert Millan <rmh@aybabtu.com>
44042
44043 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44044 (this prevents the presence of a bogus entry from ruining the whole
44045 thing).
44046
87a297bf 440472008-04-06 Pavel Roskin <proski@gnu.org>
44048
36747a62 44049 * util/biosdisk.c: Include grub/util/biosdisk.h.
44050 * util/grub-fstest.c (execute_command): Make static.
44051 * util/grub-mkdevicemap.c (check_device): Likewise.
44052 * util/i386/pc/misc.c: Include grub/machine/init.h.
44053 * util/powerpc/ieee1275/misc.c: Likewise.
44054 * util/lvm.c: Include grub/util/lvm.h.
44055 * util/misc.c: Include grub/kernel.h, grub/misc.h and
44056 grub/cache.h.
44057 * util/raid.c: Include grub/util/raid.h.
44058 (grub_util_getdiskname): Make static.
44059
87a297bf 44060 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44061 grub_hostfs_fini(), as they are called from grub_init_all() and
44062 grub_fini_all() respectively. This fixes an infinite loop in
44063 grub-fstest due to double registration of hostfs.
44064 Reported by Christian Franke <Christian.Franke@t-online.de>
44065
f6ce7629 440662008-04-05 Pavel Roskin <proski@gnu.org>
44067
44068 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44069 all 8 functions. Otherwise, probe function 0 only.
44070
070e49e4 440712008-04-04 Pavel Roskin <proski@gnu.org>
44072
8b088a4c 44073 * commands/lspci.c (grub_lspci_iter): Print the bus number
44074 correctly.
44075
4f657021 44076 * commands/lspci.c (grub_pci_classes): Fix typos.
44077 (grub_lspci_iter): Don't print func twice. Print vendor ID
44078 before device ID, as it's normally done.
44079
070e49e4 44080 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44081 Fix signedness warnings.
44082 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44083 Likewise.
44084 * util/ieee1275/get_disk_name.c: Include config.h so that
44085 _GNU_SOURCE is defined and getline() is declared. Mark an
44086 unused argument as such. Fix a signedness warning.
44087
ba7328dc 440882008-04-02 Pavel Roskin <proski@gnu.org>
44089
26887f22 44090 * genkernsyms.sh.in: Use more robust assignments for CC and
44091 srcdir. Quote srcdir.
44092 * gensymlist.sh.in: Likewise. Assert at the compile time that
44093 the symbol table is not empty.
44094
ba7328dc 44095 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
44096 * fs/cpio.c (grub_cpio_read): Likewise.
44097
0f582c6b 440982008-04-01 Pavel Roskin <proski@gnu.org>
44099
4b6e1995 44100 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
44101 * disk/host.c (grub_host_open): Likewise.
44102 * disk/loopback.c (grub_loopback_open): Likewise.
44103 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
44104 disk->id as in disk/host.c, not a multi-character constant.
44105
828a2768 44106 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
44107 later is obsolete, potentially dangerous and sets a bad example.
44108 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
44109 * util/misc.c (grub_util_get_image_size): Likewise.
44110
2bb4fb47 44111 * disk/loopback.c (options): Improve help for "--partitions".
44112
0f582c6b 44113 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
44114 options to align them with the short options, e.g. "echo -e".
44115
a33224e0 441162008-03-31 Bean <bean123ch@gmail.com>
44117
44118 * video/reader/png.c (grub_png_data): New member is_16bit and
44119 image_data.
44120 (grub_png_decode_image_header): Detect 16 bit png image.
44121 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
44122 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
44123 (grub_video_reader_png): Release memory occupied by image_data.
44124
44125 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
44126 4096 bytes.
44127 (grub_nfs_mount): Skip the test for sector per cluster.
44128
44129 * include/grub/ntfs.h (MAX_SPC): Removed.
44130
86cb4f54 441312008-03-31 Bean <bean123ch@gmail.com>
44132
44133 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
44134 (grub_probe_SOURCES): Add fs/afs.c.
44135 (grub_fstest_SOURCES): Likewise.
44136 (afs_mod_SOURCES): New variable.
44137 (afs_mod_CFLAGS): Likewise.
44138 (afs_mod_LDFLAGS): Likewise.
44139
44140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
44141 (grub_emu_SOURCES): Likewise.
44142
44143 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44144
44145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44146
44147 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44148
44149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44150
44151 * fs/afs.c: New file.
44152
17c74c21 441532008-03-30 Pavel Roskin <proski@gnu.org>
44154
4cb68e89 44155 * disk/host.c: Include grub/misc.h to fix a warning.
44156 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
44157 warnings about implicit declarations.
44158
8790bb04 44159 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
44160 variable.
44161 * include/grub/i386/loader.h: Change declaration of
44162 grub_linux_boot() to match what grub_loader_set() expects.
44163 * util/getroot.c (grub_guess_root_device): Return const char* to
44164 fix a warning.
44165 * util/grub-probe.c (probe): Fix a warning about uninitialized
44166 abstraction_name variable.
44167 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
44168 second argument as unused to fix a warning.
44169
9a3f3296 44170 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44171 missing grub_error() call.
44172
0ecef90d 44173 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44174 2.60 and newer uses it to define datadir.
44175
0bf6d401 44176 * commands/sleep.c: Fix warning about implicit declaration.
44177 * disk/memdisk.c: Likewise.
44178 * loader/aout.c: Likewise.
44179 * loader/i386/bsd_normal.c: Likewise.
44180 * util/grub-probe.c: Likewise.
44181
7cdacf97 44182 * commands/i386/cpuid.c (has_longmode): Make static.
44183 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44184 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44185
17c74c21 44186 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44187 GDT. This is more robust, as %ds can change.
44188 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44189 calling real_to_prot().
44190 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44191
80a3e68b 441922008-03-28 Pavel Roskin <proski@gnu.org>
44193
44194 * kern/i386/pc/startup.S: Assert that uncompressed functions
44195 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44196 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44197 code, as they push parts of the code (error handlers) beyond
44198 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44199 code as correctness and size.
44200
77bcd272 442012008-03-28 Pavel Roskin <proski@gnu.org>
44202
44203 * kern/i386/pc/startup.S
44204 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44205 data block address to the real mode, keep offset minimal. This
44206 works around a bug in AWARD BIOS on old Athlon systems, which
44207 makes CD detection hang.
44208
c5dfd43b 442092008-03-26 Pavel Roskin <proski@gnu.org>
44210
44211 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44212 const.
44213 * include/grub/normal.h: Add grub_parse_color_name_pair()
44214 declaration.
44215
bf962df2 442162008-03-24 Bean <bean123ch@gmail.com>
44217
44218 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44219 (cd_count): Removed.
44220 (cd_drive): New variable.
44221 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44222 (grub_biosdisk_call_hook): Likewise.
44223 (grub_biosdisk_iterate): Change cdrom detection method.
44224 (grub_biosdisk_open): Replace cd_start with cd_drive.
44225 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44226 detect cdrom device.
44227
44228 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44229 Removed.
44230 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44231 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44232 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44233 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44234 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44235 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44236 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44237 (grub_biosdisk_cdrp): New structure.
44238 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44239
44240 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44241
44242 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44243 device.
44244
44245 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44246 New function.
44247
68e7fc7a 442482008-03-20 Robert Millan <rmh@aybabtu.com>
44249
44250 Remove 2 TiB limit in ata.mod.
44251 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44252 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44253 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44254 grub_uint64_t instead of grub_uint32_t.
44255
38ad2cf5 442562008-03-05 Bean <bean123ch@gmail.com>
44257
44258 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44259 (grub_multiboot): Set boot device.
44260
44261 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44262
2b89344e 442632008-03-02 Bean <bean123ch@gmail.com>
44264
44265 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44266 symlink_buffer.
44267
87a95d1f 442682008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44269
44270 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44271 texinfo.tex.
44272
44273 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44274 modified.
44275
44276 * docs/fdl.texi: New file.
f19dbdb7 44277
87a95d1f 44278 * docs/mdate-sh: New file. Copied from gnulib.
44279 * docs/texinfo.tex: Likewise.
44280
44281 * config.guess: Updated from gnulib.
44282 * install-sh: Likewise.
44283
7dc15d8e 442842008-02-28 Robert Millan <rmh@aybabtu.com>
44285
44286 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44287 (aout_mod_SOURCES): New variable.
44288 (aout_mod_CFLAGS): Likewise.
44289 (aout_mod_LDFLAGS): Likewise.
44290
44291 * conf/i386-ieee1275.rmk: Likewise.
44292
b00ab696 442932008-02-28 Robert Millan <rmh@aybabtu.com>
44294
44295 * util/update-grub.in: Reorganise terminal validity check. Accept
44296 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44297 Based on suggestion by Franklin PIAT.
44298
79ca2d78 442992008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44300
44301 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44302 function.
44303 * util/getroot.c (grub_util_check_block_device): New function that
44304 returns the given argument if it is a block device and returns NULL else.
44305 * util/grub-probe.c (argument_is_device): New variable.
44306 (probe): Promote device_name from a variable to an argument. Receive
44307 device_name from grub_util_check_block_device() if path is NULL and from
44308 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44309 (options): Introduce new parameter '-d, --device'.
79ca2d78 44310 (main): Add description of the new parameter to the help screen.
44311 Rename path variable to argument. Set argument_is_device if the '-d'
44312 option is given. Pass argument to probe() depending on
44313 argument_is_device.
44314
0d16e571 443152008-02-24 Bean <bean123ch@gmail.com>
44316
44317 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44318 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44319 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44320 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44321 (GRUB_ISO9660_VOLDESC_END): Likewise.
44322 (grub_iso9660_primary_voldesc): New member escape.
44323 (grub_iso9660_data): New member joliet.
44324 (grub_iso9660_convert_string): New function.
44325 (grub_iso9660_mount): Detect joliet extension.
44326 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44327 (grub_iso9660_iso9660_label): Likewise.
44328
44329 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44330 (grub_setup_SOURCES): Add fs/udf.c.
44331 (grub_fstest_SOURCES): Likewise.
44332 (udf_mod_SOURCES): New variable.
44333 (udf_mod_CFLAGS): Likewise.
44334 (udf_mod_LDFLAGS): Likewise.
44335
44336 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44337 (grub_emu_SOURCES): Likewise.
44338
44339 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44340
44341 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44342
44343 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44344
44345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44346
44347 * fs/udf.c: New file.
44348
8a594a17 443492008-02-24 Robert Millan <rmh@aybabtu.com>
44350
44351 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44352 (normal/lexer.c_DEPENDENCIES): New variables.
44353 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44354 (normal/lexer.c_DEPENDENCIES): Likewise.
44355 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44356 (normal/lexer.c_DEPENDENCIES): Likewise.
44357 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44358 (normal/lexer.c_DEPENDENCIES): Likewise.
44359 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44360 (normal/lexer.c_DEPENDENCIES): Likewise.
44361 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44362 (normal/lexer.c_DEPENDENCIES): Likewise.
44363
2dc33c03 443642008-02-23 Robert Millan <rmh@aybabtu.com>
44365
44366 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44367 since they were intended to be in hex. This didn't break previously
44368 because of a bug in gpt_partition_map_iterate() (see below).
44369
44370 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44371 when checking the validity of GPT header.
44372 Remove `partno', since it always provides the same information as `i'.
44373
f6f4cfb0 443742008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44375
44376 * include/grub/efi/time.h: Fix a wrong comment.
44377
79ff665f 443782008-02-19 Pavel Roskin <proski@gnu.org>
44379
44380 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44381 message.
44382
d38e24c2 443832008-02-19 Bean <bean123ch@gmail.com>
44384
44385 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44386 (aout_mod_SOURCES): New variable.
44387 (aout_mod_CFLAGS): Likewise.
44388 (aout_mod_LDFLAGS): Likewise.
44389 (_bsd_mod_SOURCES): New variable.
44390 (_bsd_mod_CFLAGS): Likewise.
44391 (_bsd_mod_LDFLAGS): Likewise.
44392 (bsd_mod_SOURCES): New variable.
44393 (bsd_mod_CFLAGS): Likewise.
44394 (bsd_mod_LDFLAGS): Likewise.
44395
44396 * include/grub/aout.h: New file.
44397
44398 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44399
44400 * include/grub/i386/bsd.h: New file.
44401
44402 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44403 to make it public.
44404
44405 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44406 function is called, so that it's possible to change it inside the hook.
44407 (grub_elf64_load): Likewise.
44408 (grub_elf_file): Don't close the file if elf header is not found.
44409 (grub_elf_close): Close the file if grub_elf_file fails (The new
44410 grub_elf_file won't close it).
44411 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44412 (grub_elf64_size): Likewise.
44413
44414 * kern/i386/loader.S (grub_unix_real_boot): New function.
44415
44416 * loader/aout.c: New file.
44417
44418 * loader/i386/bsd.c: New file.
44419
44420 * loader/i386/bsd_normal.c: New file.
44421
44422 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44423
44424 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44425 can test other formats.
d38e24c2 44426
b93bdb0f 444272008-02-19 Robert Millan <rmh@aybabtu.com>
44428
44429 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44430 (grub_gpt_partition_type_empty): Redefine with macro from
44431 `<grub/gpt_partition.h>'.
44432 (gpt_partition_map_iterate): Adjust partition type comparison.
44433
44434 Export `entry' as partmap-specific `part.data' struct.
44435 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44436
44437 * include/grub/gpt_partition.h (grub_gpt_header)
44438 (grub_gpt_partentry): ... to here (new file).
44439
44440 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44441
44442 (grub_gpt_partition_type_bios_boot): New const variable, defined
44443 with macro from `<grub/gpt_partition.h>'.
44444
44445 (setup): Replace `first_start' with `embed_region', which keeps
44446 track of the embed region (and is partmap-agnostic).
44447
44448 Replace find_first_partition_start() with find_usable_region(),
44449 which finds a usable region for embedding using partmap-specific
44450 knowledge (supports PC/MSDOS and GPT).
44451
44452 Fix all assumptions that the embed region start at sector 1, using
44453 `embed_region.start' from now on. Similarly, use `embed_region.end'
44454 rather than `first_start' to calculate available size.
44455
44456 In grub_util_info() message, replace "into after the MBR" with an
44457 indication of the specific sector our embed region starts at.
44458
66cb40f6 444592008-02-19 Robert Millan <rmh@aybabtu.com>
44460
44461 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44462 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44463 `commands/reboot.c'.
44464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44465 (halt_mod_SOURCES): Likewise.
44466 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44467 (halt_mod_SOURCES): Likewise.
44468
b7202015 444692008-02-17 Christian Franke <franke@computer.org>
44470
44471 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44472
32b0fc49 444732008-02-17 Robert Millan <rmh@aybabtu.com>
44474
44475 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44476 set `first_start' to 0 for non-PC/MSDOS partition maps.
44477
aca63502 444782008-02-16 Robert Millan <rmh@aybabtu.com>
44479
44480 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44481 do not assume partition map is PC/MSDOS before performing checks that
44482 are specific to that layout.
44483
0de8be86 444842008-02-13 Robert Millan <rmh@aybabtu.com>
44485
44486 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44487 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44488 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44489
c3db8364 444902008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44491
44492 * configure.ac: Only a cosmetic change on the handling of
44493 -fno-stack-protector.
44494
f714229e 444952008-02-12 Alexandre Boeglin <alex@boeglin.org>
44496
c3db8364 44497 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44498 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44499 reboot.c.
f714229e 44500 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44501 (halt_mod_SOURCES): New variable.
44502 (halt_mod_CFLAGS): Likewise.
44503 (halt_mod_LDFLAGS): Likewise.
44504 (reboot_mod_SOURCES): Likewise.
44505 (reboot_mod_CFLAGS): Likewise.
44506 (reboot_mod_LDFLAGS): Likewise.
44507
c3db8364 44508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44509 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44510 reboot.c.
f714229e 44511 (halt_mod_SOURCES): Likewise.
44512 (reboot_mod_SOURCES): Likewise.
44513
c3db8364 44514 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44515 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44516 (reboot_mod_SOURCES): Likewise.
44517
44518 * commands/i386/pc/reboot.c: merge this file ...
44519
44520 * commands/ieee1275/reboot.c: ... and this file ...
44521
44522 * commands/reboot.c: ... to this file.
c3db8364 44523 Add some precompiler directive to include the correct header for
44524 each machine.
f714229e 44525
44526 * commands/ieee1275/halt.c: move this file ...
44527
44528 * commands/halt.c: ... to here.
c3db8364 44529 Add some precompiler directive to include the correct header for
44530 each machine.
f714229e 44531
44532 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44533 (grub_halt): Likewise.
44534
44535 * kern/efi/efi.c (grub_reboot): New function.
44536 (grub_halt): Likewise.
44537
c74493e0 445382008-02-12 Robert Millan <rmh@aybabtu.com>
44539
44540 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44541 /dev (like it is done for /dev/mapper). This doesn't provide support
44542 for EVMS, but at least it is now easy to identify the problem when it
44543 arises.
44544
d0db4b04 445452008-02-11 Robert Millan <rmh@aybabtu.com>
44546
44547 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44548 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44549 comparing it with -1, not 0.
44550
bf748642 445512008-02-10 Robert Millan <rmh@aybabtu.com>
44552
44553 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44554 `disk/lvm.c'.
44555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44556 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44557
44558 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44559 `disk/lvm.c' to the end of the list.
44560 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44561 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44562
b5db202a 445632008-02-10 Robert Millan <rmh@aybabtu.com>
44564
44565 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44566 grub_print_error() instead. This will let user know why we're entering
44567 rescue mode.
44568 Based on suggestions from Sam Morris.
44569
83abee31 445702008-02-10 Alexandre Boeglin <alex@boeglin.org>
44571
44572 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44573 on remaining N args, instead of "--" arg N times.
44574
78d5a08b 445752008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44576
44577 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44578 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44579 pattern for unknown glyphs.
44580
68807e5f 445812008-02-09 Robert Millan <rmh@aybabtu.com>
44582
44583 * configure.ac: Probe for `help2man'.
44584 * Makefile.in (builddir): New variable.
44585 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44586 or otherwise add a few flags/options to it.
44587 (install-local): For every executable utility or script that is
44588 installed, invoke $(HELP2MAN) to install a manpage based on --help
44589 output.
44590
44591 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44592 that it doesn't prevent --help from working in build tree.
44593
44594 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44595 with `bug-grub@gnu.org'.
44596 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44597 * util/update-grub.in (usage): New function.
44598 Implement proper argument check, with support for --help and --version
44599 (as well as existing -y).
44600
446012008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44602
44603 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44604 avoid overwriting previous output.
44605 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44606
c1962162 446072008-02-09 Robert Millan <rmh@aybabtu.com>
44608
44609 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44610 drawing the menu.
44611
3dac2e3f 446122008-02-09 Robert Millan <rmh@aybabtu.com>
44613
44614 * commands/sleep.c: New file.
44615 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44616 (sleep_mod_SOURCES): New variable.
44617 (sleep_mod_CFLAGS): Likewise.
44618 (sleep_mod_LDFLAGS): Likewise.
44619
7a634e08 446202008-02-09 Robert Millan <rmh@aybabtu.com>
44621
44622 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44623 situations in which we can deduce the RAID size and the superblock
44624 doesn't match it.
44625
b92f0c18 446262008-02-09 Robert Millan <rmh@aybabtu.com>
44627
44628 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44629 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44630 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44631
44632 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44633 and return a grub_diskmemberlist_t composed of physical array members.
44634 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44635
44636 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44637 prototype.
44638 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44639 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44640 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44641
44642 * util/grub-probe.c (probe): Move partmap probing code from here ...
44643 (probe_partmap): ... to here.
44644 (probe): Use probe_partmap() once for the disk we're probing, and
44645 additionally, when such disk contains a memberlist() struct member,
44646 once for each disk that is contained in the structure returned by
44647 memberlist().
44648
91a4bf68 446492008-02-09 Robert Millan <rmh@aybabtu.com>
44650
44651 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44652 environment variable to 'all' in order to obtain debug output from
44653 non-util/ code.
44654 * util/i386/pc/grub-setup.c (main): Likewise.
44655
a96f9caa 446562008-02-08 Robert Millan <rmh@aybabtu.com>
44657
44658 * disk/raid.c (grub_raid_scan_device): Check for
44659 `array->device[sb.this_disk.number]' rather than for
44660 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44661 guaranteed to be accessible.
a96f9caa 44662
b37a9222 446632008-02-08 Robert Millan <rmh@aybabtu.com>
44664
44665 * disk/raid.c: Update copyright.
44666 * fs/cpio.c: Likewise.
44667 * include/grub/raid.h: Likewise.
44668 * loader/i386/pc/multiboot.c: Likewise.
44669 * util/hostfs.c: Likewise.
44670
5626aee1 446712008-02-08 Robert Millan <rmh@aybabtu.com>
44672
44673 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44674 to a grub_disk_t array.
44675 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44676 `device[x]'.
44677 (grub_raid_scan_device): Replace `device[x].name' accesses with
44678 `device[x]->name'. Simplify initialization of `array->device[x]'.
44679
554f0187 446802008-02-08 Robert Millan <rmh@aybabtu.com>
44681
44682 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44683 grub_dprintf() calls.
44684 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44685 error message.
44686
1ec8425d 446872008-02-07 Christian Franke <franke@computer.org>
44688
44689 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44690 instead of fseek and ftell to support large files.
44691 (grub_hostfs_read): Likewise.
44692
f2156fda 446932008-02-07 Robert Millan <rmh@aybabtu.com>
44694
44695 Patch from Jeroen Dekkers.
44696 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44697 failure, since successfully reading all array members might not be
f2156fda 44698 required.
44699
9216e0e7 447002008-02-06 Robert Millan <rmh@aybabtu.com>
44701
44702 * util/grub-probe.c (probe): Simplify partmap probing (with the
44703 assumption that the first word up to the underscore equals to
44704 the module name).
44705
b0dfd29a 447062008-02-06 Christian Franke <franke@computer.org>
44707
44708 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44709 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44710 last block of a cpio or tar stream.
44711 Check for "TRAILER!!!" instead of any empty data
44712 block to detect last block of a cpio stream.
44713 (grub_cpio_dir): Fix constness of variable np.
44714 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44715 cpio or tar trailer is detected. This fixes a crash
44716 on open of a non existing file.
44717
c32865bf 447182008-02-05 Bean <bean123ch@gmail.com>
44719
44720 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44721 address of entry.
44722 (grub_multiboot_load_elf64): Likewise.
44723 (grub_multiboot): Initialize mbi structure.
44724
44725 * util/grub-fstest.c: Don't include unused header file script.h.
44726
fe6b695a 44727 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 44728 of file.
44729 (grub_fstest_SOURCES): Likewise.
44730
409480b7 447312008-02-05 Robert Millan <rmh@aybabtu.com>
44732
44733 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44734 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44735 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44736 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44737
44738 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44739 (translation_table): Replace hardcoded values with macros
44740 provided by `<grub/term.h>'.
44741
44742 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44743 (keyboard_map): Correct/add a few values, with macros provided
44744 by `<grub/term.h>'.
44745 (keyboard_map_shift): Zero values that don't differ from their
44746 `keyboard_map' equivalents.
44747 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44748 Discard the second scan code that is always sent by Caps lock.
44749 Only use `keyboard_map_shift' when it provides a non-zero value,
44750 otherwise fallback to `keyboard_map'.
44751
99fadbaa 447522008-02-04 Bean <bean123ch@gmail.com>
44753
44754 * Makefile.in (enable_grub_fstest): New variable.
44755
44756 * conf/common.rmk (grub_fstest_init.lst): New rule.
44757 (grub_fstest_init.h): Likewise.
44758 (grub_fstest_init.c): Likewise.
44759 (util/grub-fstest.c_DEPENDENCIES): New variable.
44760 (grub_fstest_SOURCES): Likewise.
44761
44762 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44763
44764 * util/grub-fstest.c: New file.
44765
bf567c50 447662008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44767
44768 Make grub-setup handle a separate root device.
f19dbdb7 44769
bf567c50 44770 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44771 so that the root device can be compared with the destination
44772 device.
44773 When embedding the core image, if the root and destination devices
44774 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44775 0xFF.
44776 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 44777
9be6b98b 447782008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44779
44780 Add support for having a grub directory in a different drive. This
44781 is still only the data handling part.
f19dbdb7 44782
9be6b98b 44783 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44784 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44785 (grub_root_drive): New variable.
44786
44787 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44788 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44789 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44790 as it was.
44791
44792 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44793
44794 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44795 macro.
44796 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44797
44798 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44799 is bogus, because PXE booting does not specify any drive
44800 correctly.
44801
44802 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44803 am not sure if this is really correct.
44804
44805 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44806 is always identical to the boot drive when booting from a CD.
44807
44808 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44809 longer.
44810 (root_drive): New variable.
44811 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44812 (setup_sectors): Push %dx right after popping it, because %dh will
44813 be modified later.
44814 (copy_buffer): Restore %dx.
44815
e0ca0677 448162008-02-03 Robert Millan <rmh@aybabtu.com>
44817
44818 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44819 use `cdboot.img' for cdrom images.
44820
3b3f6629 448212008-02-03 Robert Millan <rmh@aybabtu.com>
44822
44823 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44824 only setup gfxterm when `font' command has succeeded.
44825
d42b3672 448262008-02-03 Robert Millan <rmh@aybabtu.com>
44827
44828 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44829 (grub_rescue_cmd_multiboot_loader)
44830 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44831
fa370ea6 448322008-02-03 Pavel Roskin <proski@gnu.org>
44833
e0c5dacb 44834 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44835 %edx and %esi from stack only after grub_gate_a20() is called.
44836 grub_gate_a20() clobbers %edx.
44837
f2a76e1d 448382008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44839
44840 * configure.ac (AC_INIT): Bumped to 1.96.
44841
44842 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44843 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44844 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44845 video/readers/png.c.
44846
90fd32d1 448472008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44848
44849 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44850 (cdboot_img_SOURCES): New variable.
44851 (cdboot_img_ASFLAGS): New variable.
44852 (cdboot_img_LDFLAGS): New variable.
44853
44854 * boot/i386/pc/cdboot.S: New file.
44855
44856 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44857 (cd_count): Likewise.
44858 (grub_biosdisk_get_drive): Add support for cd device.
44859 (grub_biosdisk_call_hook): Likewise.
44860 (grub_biosdisk_iterate): Likewise.
44861 (grub_biosdisk_open): Likewise.
44862 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44863 (grub_biosdisk_rw): Support reading from cd device.
44864 (GRUB_MOD_INIT): Iterate cd devices.
44865
44866 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44867 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44868 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44869
44870 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44871
4020aa53 448722008-02-02 Robert Millan <rmh@aybabtu.com>
44873
44874 * commands/read.c: New file.
44875 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44876 (read_mod_SOURCES): New variable.
44877 (read_mod_CFLAGS): Likewise.
44878 (read_mod_LDFLAGS): Likewise.
44879
e03a1132 448802008-02-02 Robert Millan <rmh@aybabtu.com>
44881
44882 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44883 determining whether menu has to be displayed.
44884
58c69220 448852008-02-02 Marco Gerards <marco@gnu.org>
44886
44887 * bus/pci.c: New file.
44888
44889 * include/grub/pci.h: Likewise.
44890
44891 * include/grub/i386/pc/pci.h: Likewise.
44892
44893 * commands/lspci.c: Likewise.
44894
44895 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44896 `lspci.mod'.
44897 (pci_mod_SOURCES): New variable.
44898 (pci_mod_CFLAGS): Likewise.
44899 (pci_mod_LDFLAGS): Likewise.
44900 (lspci_mod_SOURCES): Likewise.
44901 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44902 (lspci_mod_LDFLAGS): Likewise.
58c69220 44903
c004e1b4 449042008-02-02 Bean <bean123ch@gmail.com>
44905
44906 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44907 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44908
44909 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44910 (grub_xfs_btree_node): New structure.
44911 (grub_xfs_btree_root): New structure.
44912 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44913 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44914 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44915 (GRUB_XFS_EXTENT_SIZE): Likewise.
44916 (grub_xfs_read_block): Support btree format type.
44917 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44918 Use directory block as basic unit.
44919
44920 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44921
44922 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44923 __attribute__ ((__regparm__ (1))).
44924
f95562bf 449252008-02-01 Robert Millan <rmh@aybabtu.com>
44926
44927 Correct a mistake in previous commit.
44928
44929 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44930 top.
44931 (normal/command.c_DEPENDENCIES): New variable.
44932
7d31f41f 449332008-02-01 Robert Millan <rmh@aybabtu.com>
44934
44935 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44936 top.
44937 (normal/command.c_DEPENDENCIES): New variable.
44938 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44939 * conf/i386-ieee1275.rmk: Likewise.
44940 * conf/i386-linuxbios.rmk: Likewise.
44941 * conf/i386-pc.rmk: Likewise.
44942 * conf/sparc64-ieee1275.rmk: Likewise.
44943 * conf/powerpc-ieee1275.rmk: Likewise.
44944 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44945
44946 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44947
60b6be74 449482008-02-01 Robert Millan <rmh@aybabtu.com>
44949
44950 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44951 call at beginning of function.
44952
078522ab 449532008-01-31 Pavel Roskin <proski@gnu.org>
44954
44955 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44956 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44957 (grub_mkrescue_SOURCES): Likewise.
078522ab 44958 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44959
ccaa8a5f 449602008-01-30 Robert Millan <rmh@aybabtu.com>
44961
44962 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44963 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44964 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44965 (grub_probe_SOURCES): ... to here.
44966
44967 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44968 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44969 * conf/i386-ieee1275.rmk: Likewise.
44970 * conf/i386-linuxbios.rmk: Likewise.
44971 * conf/powerpc-ieee1275.rmk: Likewise.
44972
ae5a9cd7 449732008-01-30 Tristan Gingold <gingold@free.fr>
44974
44975 * kern/rescue.c: Silently accept empty lines.
44976
70bc2ef2 449772008-01-29 Bean <bean123ch@gmail.com>
44978
44979 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44980 (real_code_2): Code cleanup and change comment style.
44981 (move_memory): Avoid using 32-bit address mode.
44982
6a4d50ea 449832008-01-29 Bean <bean123ch@gmail.com>
44984
44985 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44986 (png_mod_SOURCES): New variable.
44987 (png_mod_CFLAGS): Likewise.
44988 (png_mod_LDFLAGS): Likewise.
44989
44990 * video/readers/png.c: New file.
44991
11cc30ac 449922008-01-28 Robert Millan <rmh@aybabtu.com>
44993
44994 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44995 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44996 `ifndef GRUB_MOD_GAP' hack.
44997 * util/elf/grub-mkimage.c (add_segments): Likewise.
44998
3abc589f 449992008-01-27 Robert Millan <rmh@aybabtu.com>
45000
45001 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45002 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 45003 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 45004
e1907778 450052008-01-27 Robert Millan <rmh@aybabtu.com>
45006
45007 Get grub-emu to build again (including parallel builds).
45008
45009 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45010 Split into ...
45011 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45012 (normal/execute.c_DEPENDENCIES): ... this, ...
45013 (grub-emu_DEPENDENCIES): ... and this.
45014
45015 * conf/i386-efi.rmk: Likewise.
45016 * conf/i386-linuxbios.rmk: Likewise.
45017 * conf/i386-ieee1275.rmk: Likewise.
45018 * conf/powerpc-ieee1275.rmk: Likewise.
45019 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45020
2216b101 450212008-01-27 Robert Millan <rmh@aybabtu.com>
45022
45023 * NEWS: Add a few items.
45024
f75172d9 450252008-01-27 Robert Millan <rmh@aybabtu.com>
45026
45027 Fix parallel builds with grub-emu. Based on earlier commit for
45028 grub-probe and grub-setup.
45029
45030 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45031 (util/grub-emu.c_DEPENDENCIES): ... this.
45032 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45033 (util/grub-emu.c_DEPENDENCIES): ... this.
45034 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45035 (util/grub-emu.c_DEPENDENCIES): ... this.
45036 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45037 (util/grub-emu.c_DEPENDENCIES): ... this.
45038 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45039 (util/grub-emu.c_DEPENDENCIES): ... this.
45040
3f51de77 450412008-01-27 Pavel Roskin <proski@gnu.org>
45042
45043 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45044 to create a gap between _end and the modules added to the image
45045 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45046 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45047 * util/elf/grub-mkimage.c (add_segments): Likewise.
45048
2033f53e 450492008-01-26 Pavel Roskin <proski@gnu.org>
45050
45051 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
45052 just return an error.
45053
22da1f6f 450542008-01-26 Bean <bean123ch@gmail.com>
45055
45056 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
45057 (grub_reiserfs_get_item): Save offset of the next item.
45058 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
45059
2a9525e6 450602008-01-25 Robert Millan <rmh@aybabtu.com>
45061
45062 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45063 make all filesystem sources appear together (possibly fixing omissions
45064 while at it).
45065 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45066 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45067 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45069
45070 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45071 add `kern/file.c'.
45072 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45073 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45074 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45075 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45076
45077 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45078 (probe): Add a sanity check to make sure of our ability to read
45079 requested files when probing for filesystem type.
45080
45081 * genmk.rb: Update copyright year (2007).
45082
45083 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
45084 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
45085 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
45086 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
45087 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
45088 : Remove function prototypes.
45089
b95f71b5 450902008-01-25 Robert Millan <rmh@aybabtu.com>
45091
45092 Revert my previous commits (based on wrong assumption of how grub_errno
45093 works).
45094
fe6b695a 45095 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 45096 * kern/file.c (grub_file_open): Likewise.
45097
d08bbb49 450982008-01-24 Pavel Roskin <proski@gnu.org>
45099
45100 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
45101 that hang if GRUB tries to setup colors.
45102 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
45103 colors for firmwares that don't support it.
45104 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
45105 Recognize Open Hack'Ware, set flags to work around its
45106 limitations.
45107
605e36ed 451082008-01-24 Robert Millan <rmh@aybabtu.com>
45109
45110 * kern/file.c (grub_file_open): Do not account previous failures of
45111 unrelated functions when grub_errno is checked for.
45112 Reported by Oleg Strikov.
45113
bac332a1 451142008-01-24 Bean <bean123ch@gmail.com>
45115
45116 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
45117 (grub_ufs_sblock): New member volume name.
45118 (grub_ufs_find_file): Fix string copy bug.
45119 (grub_ufs_label): Implement this function properly.
45120
45121 * fs/hfs.c (grub_hfs_cnid_type): New enum.
45122 (grub_hfs_iterate_records): Use the correct file number for extents
45123 and catalog file. Fix problem in next index calculation.
45124 (grub_hfs_find_node): Replace recursive function call with loop.
45125 (grub_hfs_iterate_dir): Replace recursive function call with loop.
45126
15c80c09 451272008-01-23 Robert Millan <rmh@aybabtu.com>
45128
45129 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
45130 `<grub/symbol.h>' and `<grub/multiboot.h>'.
45131 (grub_multiboot2_real_boot): New function prototype.
45132
45133 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
45134 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
45135
45136 * kern/i386/ieee1275/init.c (grub_os_area_addr)
45137 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
45138
305338fd 451392008-01-23 Robert Millan <rmh@aybabtu.com>
45140
45141 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
45142 #ifdef'ed out grub_printf().
45143
3ea52685 451442008-01-23 Robert Millan <rmh@aybabtu.com>
45145
45146 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
45147 grub_dprintf calls, since they make "debug=all" mode unusable.
45148 (grub_console_checkkey): Likewise.
45149
5882ae4b 451502008-01-23 Robert Millan <rmh@aybabtu.com>
45151
45152 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
45153 `term/i386/pc/at_keyboard.c'.
45154 (pkglib_MODULES): Add `serial.mod'.
45155 (serial_mod_SOURCES): New variable.
45156 (serial_mod_CFLAGS): Likewise.
45157 (serial_mod_LDFLAGS): Likewise.
45158
45159 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
45160 `<grub/powerpc/ieee1275/console.h>'.
45161 (grub_keyboard_controller_init): New function prototype.
45162 (grub_console_checkkey): Likewise.
45163 (grub_console_getkey): Likewise.
45164
45165 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
45166 keyboard on i386.
45167
45168 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
45169 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45170
06ab5303 451712008-01-23 Robert Millan <rmh@aybabtu.com>
45172
45173 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45174 present, "(memdisk)/boot/grub" becomes the default prefix.
45175
45176 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45177 a memdisk tarball with all the modules. Add --overlay=DIR option that
45178 allows users to overlay additional files into the image.
45179
dbb475a4 451802008-01-23 Robert Millan <rmh@aybabtu.com>
45181
45182 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45183 and `machine/memory.h'.
45184 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45185 (_multiboot_mod_SOURCES): New variable.
45186 (_multiboot_mod_CFLAGS): Likewise.
45187 (_multiboot_mod_LDFLAGS): Likewise.
45188 (multiboot_mod_SOURCES): Likewise.
45189 (multiboot_mod_CFLAGS): Likewise.
45190 (multiboot_mod_LDFLAGS): Likewise.
45191
45192 * include/grub/i386/ieee1275/loader.h: New file.
45193
45194 * include/grub/i386/ieee1275/machine.h: Likewise.
45195
45196 * include/grub/i386/ieee1275/memory.h: Likewise.
45197
45198 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45199 variable declaration.
45200 (grub_os_area_size): Likewise.
45201
45202 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45203 (grub_lower_mem, grub_upper_mem): New variables.
45204 (grub_stop_floppy): New function (just to make
45205 grub_multiboot2_real_boot() happy).
45206
45207 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45208 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45209 (grub_stop): New function.
45210 Include `"../realmode.S"' and `"../loader.S"'.
45211
45212 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45213 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45214
45215 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45216 rely on grub_multiboot2_real_boot() for final boot.
45217
25638629 452182008-01-22 Robert Millan <rmh@aybabtu.com>
45219
45220 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45221 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45222 device that doesn't look like an SD card.
45223 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45224 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45225 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45226 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45227 found.
45228
9dad816d 452292008-01-22 Robert Millan <rmh@aybabtu.com>
45230
45231 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45232 avoid claiming over our own code.
45233
34842f2d 452342008-01-22 Bean <bean123ch@gmail.com>
45235
45236 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45237 (jpeg_mod_SOURCES): New variable.
45238 (jpeg_mod_CFLAGS): Likewise.
45239 (jpeg_mod_LDFLAGS): Likewise.
45240
45241 * video/readers/jpeg.c : New file.
45242
44023a28 452432008-01-22 Bean <bean123ch@gmail.com>
45244
45245 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45246 there are no more items.
45247
bc2d8ac6 452482008-01-21 Robert Millan <rmh@aybabtu.com>
45249
45250 * kern/mm.c (grub_mm_init_region): Improve debug message.
45251
261bd4bc 452522008-01-21 Robert Millan <rmh@aybabtu.com>
45253
45254 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45255 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45256 address.
45257 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45258 a C macro.
45259 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45260 Indicates start of upper memory.
45261 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45262 (generate_image): Abort when image size is big enough to corrupt
45263 upper memory.
45264
45265 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45266 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45267 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45268 instead of hardcoding 0xA0000.
45269 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45270 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45271 instead of hardcoding 0xA0000.
45272
f970b55e 452732008-01-21 Robert Millan <rmh@aybabtu.com>
45274
45275 * disk/memdisk.c (memdisk_size): New variable.
45276 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45277 `memdisk_size'.
45278 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45279 image to dynamic memory.
45280 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45281 `memdisk_size'. Free memdisk block.
45282
1a8b0526 452832008-01-21 Robert Millan <rmh@aybabtu.com>
45284
45285 Fix detection of very small filesystems (like tar).
45286
45287 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45288 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45289 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45290 a problem with this disk).
45291
6e9b4aab 452922008-01-21 Robert Millan <rmh@aybabtu.com>
45293
45294 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45295 on grub_biosdisk_rw_standard() error.
45296
0d8837b2 452972008-01-21 Robert Millan <rmh@aybabtu.com>
45298
45299 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45300 recent changes.
45301 * kern/elf.c: Likewise.
45302 * kern/ieee1275/ieee1275.c: Likewise.
45303 * kern/powerpc/ieee1275/openfw.c: Likewise.
45304 * term/ieee1275/ofconsole.c: Likewise.
45305
ffd36e34 453062008-01-21 Robert Millan <rmh@aybabtu.com>
45307
45308 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45309
3f0093d0 45310 * include/grub/kernel.h (grub_arch_memdisk_addr)
45311 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45312
3f0093d0 45313 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45314 (grub_arch_memdisk_size): ... to here.
ffd36e34 45315
6c391b21 453162008-01-21 Robert Millan <rmh@aybabtu.com>
45317
45318 Mostly based on bugfix from Bean.
45319
45320 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45321 attribute with hook() parameter.
45322 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45323 declaration.
45324 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45325 attribute with hook() parameter.
45326 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45327 declaration.
45328
55a581dc 453292008-01-21 Robert Millan <rmh@aybabtu.com>
45330
45331 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45332 (pkglib_MODULES): Add `memdisk.mod'.
45333 (memdisk_mod_SOURCES): New variable.
45334 (memdisk_mod_CFLAGS): Likewise.
45335 (memdisk_mod_LDFLAGS): Likewise.
45336
45337 * disk/memdisk.c: New file.
45338
45339 * include/grub/disk.h (grub_disk_dev_id): Add
45340 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45341
45342 * include/grub/i386/pc/kernel.h
45343 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45344 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45345 (grub_kernel_image_size): New variable declaration.
45346 (grub_total_module_size): Likewise.
45347 (grub_memdisk_image_size): Likewise.
45348
45349 * include/grub/i386/pc/memory.h
45350 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45351
45352 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45353 (grub_arch_memdisk_addr): New variable declaration.
45354 (grub_arch_memdisk_size): Likewise.
45355
45356 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45357 (grub_arch_memdisk_size): Likewise.
45358
45359 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45360 (codestart): Replace hardcoded `0x100000' with
45361 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45362
45363 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45364 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45365 not NULL, append the contents of the file it refers to, at the end of
45366 the compressed kernel image. Initialize `grub_memdisk_image_size'
45367 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45368 (options): Add "memdisk"|'m' option.
45369 (main): Parse --memdisk|-m option, and pass user-provided path as
45370 parameter to generate_image().
45371
3d7f54c9 453722008-01-20 Robert Millan <rmh@aybabtu.com>
45373
45374 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45375 grub_dprintf() calls from here ...
45376 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45377
0bf74728 453782008-01-20 Robert Millan <rmh@aybabtu.com>
45379
45380 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45381
45382 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45383 declaration.
45384 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45385 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45386 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45387 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45388 property).
45389 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45390 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45391
33bf70a7 453922008-01-19 Robert Millan <rmh@aybabtu.com>
45393
fe6b695a 45394 Get rid of confusing function (superseded by
33bf70a7 45395 `grub_ieee1275_get_integer_property')
45396 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45397 prototype.
45398 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45399 function.
45400 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45401 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45402 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45403
e2da7d26 454042008-01-19 Robert Millan <rmh@aybabtu.com>
45405
45406 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45407 command after "shut-down", since implementations differ on which
45408 the command for halt is.
45409
59f1fd8d 454102008-01-19 Robert Millan <rmh@aybabtu.com>
45411
45412 * include/grub/i386/linuxbios/console.h: Add header protection.
45413 (grub_keyboard_controller_init): New function prototype.
45414 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45415 (KEYBOARD_COMMAND_READ): Likewise.
45416 (KEYBOARD_COMMAND_WRITE): Likewise.
45417 (KEYBOARD_SCANCODE_SET1): Likewise.
45418 (grub_keyboard_controller_write): New function.
45419 (grub_keyboard_controller_read): Likewise.
45420 (grub_keyboard_controller_init): Likewise.
45421
45422 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45423 (grub_console_init): On coreboot/LinuxBIOS, call
45424 grub_keyboard_controller_init().
45425
5f5a7c15 454262008-01-19 Robert Millan <rmh@aybabtu.com>
45427
45428 PowerPC changes provided by Pavel Roskin.
45429
45430 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45431 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45432 don't rely on cmain() doing it.
45433 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45434 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45435
1210e168 454362008-01-16 Robert Millan <rmh@aybabtu.com>
45437
45438 * include/grub/i386/linuxbios/memory.h
45439 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45440 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45441 receive `table_header' as argument. Instead, probe for it in the
45442 known memory ranges where it can be present.
45443 (grub_available_iterate): Do not pass a fixed `table_header' address
45444 to grub_linuxbios_table_iterate().
45445
3d04eab8 454462008-01-15 Robert Millan <rmh@aybabtu.com>
45447
45448 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45449 * conf/i386-ieee1275.rmk: New file.
45450 * include/grub/i386/ieee1275/console.h: Likewise.
45451 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45452 * include/grub/i386/ieee1275/kernel.h: Likewise.
45453 * include/grub/i386/ieee1275/time.h: Likewise.
45454 * kern/i386/ieee1275/init.c: Likewise.
45455 * kern/i386/ieee1275/startup.S: Likewise.
45456
d1bc1b73 454572008-01-15 Robert Millan <rmh@aybabtu.com>
45458
45459 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45460 when pointers are 32-bit (but still do set it to one when they are
45461 64-bit).
45462
66a65807 454632008-01-15 Robert Millan <rmh@aybabtu.com>
45464
45465 * include/grub/ieee1275/ieee1275.h
45466 (grub_ieee1275_get_integer_property): New function prototype.
45467
45468 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45469 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45470 grub_ieee1275_get_property() to handle endianness.
66a65807 45471
45472 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45473 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45474 where appropriate.
66a65807 45475 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45476 (grub_map): Likewise.
45477 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45478
a83ccafd 454792008-01-15 Bean <bean123ch@gmail.com>
45480
45481 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45482 (grub_script_execute_cmdline): Reset grub_errno.
45483
45484 * normal/main.c (read_config_file): Reset grub_errno.
45485
45486 * normal/parse.y (script_init): New.
45487 (script): Move function and menuentry here.
45488 (delimiter): New.
45489 (command): Add delimiter at the end of command.
45490 (commands): Adjust to match the new command.
45491 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45492 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45493 (if): Use the new commands.
45494
45495 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45496
df6ecfc6 454972008-01-15 Robert Millan <rmh@aybabtu.com>
45498
45499 * normal/menu.c (run_menu): Move timeout message from here ...
45500 (print_timeout): ... to here.
45501 (run_menu): Use print_timeout() once during initial draw to print
45502 the whole message, and again in every clock tick to update only
45503 the number of seconds.
45504
87ae25eb 455052008-01-15 Robert Millan <rmh@aybabtu.com>
45506
45507 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45508 actual size of `available' from grub_ieee1275_get_property(), and
45509 restrict parsing to that bound.
45510
47bf09a4 455112008-01-15 Christian Franke <franke@computer.org>
45512
45513 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45514 (argp_program_version): Remove variable.
45515 (argp_program_bug_address): Likewise.
45516 (options): Convert from struct argp_option to struct option.
45517 (struct arguments): Remove.
45518 (parse_opt): Remove.
45519 (usage): New function.
45520 (main): Replace struct args members by simple variables.
45521 Replace argp_parse() by getopt_long().
45522 Add switch to evaluate options.
45523 Add missing "(...)" around root_dev in prefix string.
45524
c86f1469 455252008-01-14 Robert Millan <rmh@aybabtu.com>
45526
45527 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45528 for grub_ieee1275_exit(), in order to improve portability.
45529
e622c559 455302008-01-14 Robert Millan <rmh@aybabtu.com>
45531
45532 * util/grub.d/10_linux.in (prefix): Define.
45533 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45534
44cb1ec8 455352008-01-13 Pavel Roskin <proski@gnu.org>
45536
45537 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45538 grub_errno if no errors have been detected.
45539
1eb8c802 455402008-01-12 Robert Millan <rmh@aybabtu.com>
45541
45542 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45543 (grub_util_get_dev_abstraction): New function prototype.
45544
45545 * util/getroot.c: Include `<grub/util/getroot.h>'
45546 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45547 (grub_util_get_dev_abstraction): ... here (new function).
45548
45549 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45550 `PRINT_ABSTRACTION'.
45551 (probe): Probe for abstraction type when requested.
45552 (main): Understand `--target=abstraction'.
45553
45554 * util/i386/efi/grub-install.in: Add abstraction module to core
45555 image when it is found to be necessary.
45556 * util/i386/pc/grub-install.in: Likewise.
45557 * util/powerpc/ieee1275/grub-install.in: Likewise.
45558
45559 * util/update-grub_lib.in (font_path): Return system path without
45560 converting to GRUB path.
45561 * util/update-grub.in: Convert system path returned by font_path()
45562 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45563 abstraction module is needed for loading fonts (if any). Export
45564 that as `GRUB_PRELOAD_MODULES'.
45565 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45566 insmod commands).
45567
52bd3de9 455682008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45569
45570 Remove some unused code from reiserfs.
f19dbdb7 45571
52bd3de9 45572 * fs/reiserfs.c (struct grub_reiserfs_key)
45573 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45574 (struct grub_reiserfs_node_body): Removed.
45575 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45576 Likewise.
45577 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45578 Likewise.
45579 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45580 Likewise.
45581 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45582 Likewise.
45583 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45584 Likewise.
45585 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45586 Likewise.
45587 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45588 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45589 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45590
2f80039d 455912008-01-10 Robert Millan <rmh@aybabtu.com>
45592
45593 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45594 Determines if a file is garbage left by packaging systems, etc.
45595 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45596 for processing /etc/grub.d scripts.
45597 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45598 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45599 as a condition for processing Linux images.
45600
87888032 456012008-01-10 Pavel Roskin <proski@gnu.org>
45602
45603 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45604 to compile reiserfs.c on PowerPC.
45605
7e54fced 456062008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45607
45608 * kern/device.c (grub_device_iterate): Do not abort device iteration
45609 when one of the devices cannot be opened.
45610 * kern/disk.c (grub_disk_open): Do not account previous failures of
45611 unrelated functions when grub_errno is checked for.
45612
5aa541e6 456132008-01-08 Robert Millan <rmh@aybabtu.com>
45614
45615 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45616 `! grub_linux_is_bzimage', change order of address comparison to make
45617 it more intuitive, and improve "too big zImage" error message.
45618
7076340d 456192008-01-08 Robert Millan <rmh@aybabtu.com>
45620
45621 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45622 `$(update-grub_DATA)'.
45623 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45624 targets.
45625
9ca70333 456262008-01-07 Robert Millan <rmh@aybabtu.com>
45627
45628 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45629 which instruction is modified by grub-setup during installation
45630 (since it wasn't obvious by only looking at this file).
45631
38ccf575 456322008-01-07 Robert Millan <rmh@aybabtu.com>
45633
45634 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45635 listing actual TODO items.
45636
f5db4291 456372008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45638
868967cf 45639 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45640 correctly.
45641 (grub_reiserfs_get_key_offset): Likewise.
45642 (grub_reiserfs_set_key_offset): Likewise.
45643 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45644 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45645
45646 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45647 better to remove the bitfield version completely.
f19dbdb7 45648
868967cf 456492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45650
f5db4291 45651 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45652 allocated from the heap, due to the fshelp implementation.
45653 (grub_reiserfs_dir): Free NODE, due to the same reason.
45654
492e6d9d 456552008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45656
45657 Mostly from Vincent Pelletier:
f19dbdb7 45658
492e6d9d 45659 * fs/reiserfs.c: New file.
f19dbdb7 45660
492e6d9d 45661 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45662 (reiserfs_mod_SOURCES): New variable.
45663 (reiserfs_mod_CFLAGS): Likewise.
45664 (reiserfs_mod_LDFLAGS): Likewise.
45665
45666 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45667 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45668 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45669 normal/color.c.
45670
9ce3e7c1 456712008-01-06 Robert Millan <rmh@aybabtu.com>
45672
45673 * normal/color.c: Remove `<grub/env.h>'.
45674
f3b58148 456752008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45676
45677 * include/grub/normal.h: Include <grub/env.h>.
45678
7ac3bcfa 456792008-01-05 Robert Millan <rmh@aybabtu.com>
45680
45681 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45682 usage example with `(hd0,1)'.
fb358190 45683 Reported by Samuel Thibault.
7ac3bcfa 45684
c8ee99d7 456852008-01-05 Robert Millan <rmh@aybabtu.com>
45686
45687 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45688 (grub_linux_boot_zimage): Rename to ...
45689 (grub_linux_boot): ... this.
45690 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45691 (grub_linux_boot_zimage): Conditionalize zImage copy.
45692
45693 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45694 (grub_linux_boot_bzimage): Remove prototype.
45695 (grub_linux_boot_zimage): Rename to ...
45696 (grub_linux_boot): ... this.
45697
45698 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45699 (grub_linux_boot): Remove function.
45700
0ece25b1 457012008-01-05 Robert Millan <rmh@aybabtu.com>
45702
45703 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45704 (grub_env_write_color_highlight): Likewise.
45705 (grub_wait_after_message): Likewise.
45706
45707 * normal/color.c: New file.
45708
45709 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45710 (normal_mod_DEPENDENCIES): Likewise.
45711
45712 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45713 (normal_mod_DEPENDENCIES): Likewise.
45714
45715 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45716 (normal_mod_DEPENDENCIES): Likewise.
45717
45718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45719 (normal_mod_DEPENDENCIES): Likewise.
45720
45721 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45722 for waiting after a message is printed.
45723 * normal/main.c (read_config_file): Likewise.
45724 (grub_normal_init): Register grub_env_write_color_normal() and
45725 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45726 `color_highlight' variables as global.
45727
45728 * normal/menu.c (grub_wait_after_message): New function.
45729 (grub_color_menu_normal): New variable. Replaces ...
45730 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45731 (grub_color_menu_highlight): New variable. Replaces ...
45732 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45733 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45734 `GRUB_TERM_COLOR_STANDARD'.
45735 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45736 `normal_code' and `highlight_code' to `old_color_normal' and
45737 `old_color_highlight', respectively.
45738 (grub_menu_init_page): Update colors when drawing the menu, based on
45739 `menu_color_normal' and `menu_color_highlight' variables.
45740 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45741 a message is printed.
45742
182dd4e5 457432008-01-05 Robert Millan <rmh@aybabtu.com>
45744
45745 * kern/env.c (grub_env_context_open): Propagate hooks for global
45746 variables to new context.
45747
45748 * kern/main.c (grub_set_root_dev): Export `root' variable.
45749
ddf8f6ad 457502008-01-05 Robert Millan <rmh@aybabtu.com>
45751
45752 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 45753 discs unconditionally, since udev and others have options to provide
ddf8f6ad 45754 them.
45755
d8b43d9b 457562008-01-05 Robert Millan <rmh@aybabtu.com>
45757
45758 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45759
2bff2de3 457602008-01-04 Christian Franke <franke@computer.org>
45761
45762 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45763 of eisa_mmap.
45764
97eab917 457652008-01-03 Pavel Roskin <proski@gnu.org>
45766
45767 * kern/i386/linuxbios/init.c: Put "void" to all function
45768 declarations with no arguments.
45769 * kern/powerpc/ieee1275/init.c: Likewise.
45770 * term/i386/pc/at_keyboard.c: Likewise.
45771 * term/i386/pc/vga_text.c: Likewise.
45772 * util/grub-mkdevicemap.c: Likewise.
45773
b9416d00 457742008-01-02 Robert Millan <rmh@aybabtu.com>
45775
45776 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45777 message when loaded image is out of bounds.
45778 (grub_multiboot_load_elf64): Likewise.
45779
92695df9 457802008-01-02 Pavel Roskin <proski@gnu.org>
45781
45782 * util/grub.d/10_linux.in: Try version without ".old" when
45783 looking for initrd. It's better to use initrd from the newer
45784 kernel of the same version than no initrd at all.
45785
d98d9cad 457862008-01-01 Robert Millan <rmh@aybabtu.com>
45787
45788 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45789
dbfdce36 457902008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45791
f19dbdb7 45792 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 45793 grub_video_get_active_render_target.
45794 (grub_video_adapter): Added unmap_color and get_active_render_target.
45795
f19dbdb7 45796 * video/video.c: Added grub_video_unmap_color and
dbfdce36 45797 grub_video_get_active_render_target.
45798 (grub_video_get_info): Changed method to accept NULL pointer as an
45799 argument to allow detection of active video adapter.
45800
45801 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45802 grub_video_vbe_unmap_color_int.
45803 Added grub_video_vbe_unmap_color and
45804 grub_video_vbe_get_active_render_target.
45805 (grub_video_vbe_adapter): Added unmap_color and
45806 get_active_render_target.
45807
f19dbdb7 45808 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45809 with grub_video_vbe_unmap_color_int.
45810
45811 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45812 (DEFAULT_NORMAL_COLOR): Likewise.
45813 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45814 (DEFAULT_FG_COLOR): Removed.
45815 (DEFAULT_BG_COLOR): Likewise.
45816 (DEFAULT_CURSOR_COLOR): Changed value.
45817 (grub_virtual_screen): Added standard_color_setting,
45818 normal_color_setting, highlight_color_setting and term_color.
45819 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45820 (bitmap_width): Added.
45821 (bitmap_height): Likewise.
45822 (bitmap): Likewise.
45823 (set_term_color): Likewise.
45824 (grub_virtual_screen_setup): Changed to use new terminal coloring
45825 settings.
45826 (grub_gfxterm_init): Added init for bitmap.
45827 (grub_gfxterm_fini): Added destroy for bitmap.
45828 (redraw_screen_rect): Updated to use background bitmap and new
45829 terminal coloring.
45830 (scroll_up): Added optimization for case when there is no bitmap.
45831 (grub_gfxterm_cls): Fixed to use correct background color.
45832 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45833 coloring.
45834 (grub_virtual_screen_setcolor): Likewise.
45835 (grub_virtual_screen_getcolor): Added.
45836 (grub_gfxterm_background_image_cmd): Likewise.
45837 (grub_video_term): Added setcolor and getcolor.
45838 (MOD_INIT): Added registration of background_image command.
45839 (MOD_TERM): Added unregistration for background_image command.
45840
c3c20931 458412007-12-30 Pavel Roskin <proski@gnu.org>
45842
45843 * loader/multiboot_loader.c: Fix multiboot command
45844 unregistration. Fix all typos in the word "multiboot".
45845
df266716 458462007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45847
45848 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45849 support for initrd names used in Fedora.
45850
fc6e896c 458512007-12-26 Bean <bean123ch@gmail.com>
45852
45853 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45854 (cpio_mod_SOURCES): New variable.
45855 (cpio_mod_CFLAGS): Likewise.
45856 (cpio_mod_LDFLAGS): Likewise.
45857
45858 * fs/cpio.c: New file.
45859
45860 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45861
45862 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45863
45864 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45865
45866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45867
533110ad 458682007-12-25 Robert Millan <rmh@aybabtu.com>
45869
45870 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45871 (grub_getcolor): New function.
45872
45873 * kern/term.c (grub_getcolor): New function.
45874 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45875 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45876 (print_entry): Set normal and highlight colors to
45877 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45878 respectively, before printing and restore them to old
45879 values afterwards.
45880 (grub_menu_init_page): Likewise. Fill an additional colored space
45881 that would otherwise be left blank.
45882
45883 * term/efi/console.c (grub_console_getcolor): New function.
45884 (struct grub_console_term.getcolor): New variable.
45885 * term/i386/pc/console.c (grub_console_getcolor): New function.
45886 (struct grub_console_term.getcolor): New variable.
45887 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45888 (struct grub_console_term.getcolor): New variable.
45889
45890 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45891 (struct grub_console_term.setcolor): Remove variable.
45892 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45893 (struct grub_console_term.setcolor): Remove variable.
45894 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45895 (struct grub_console_term.setcolor): Remove variable.
45896 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45897 (struct grub_console_term.setcolor): Remove variable.
45898
4931827f 458992007-12-25 Robert Millan <rmh@aybabtu.com>
45900
45901 * configure.ac: Search for possible unifont.hex locations, and
45902 define UNIFONT_HEX if found.
45903
45904 * Makefile.in (UNIFONT_HEX): Define variable.
45905 (DATA): Rename to ...
45906 (PKGLIB): ... this. Update all users.
45907 (PKGDATA): New variable.
45908 (pkgdata_IMAGES): Rename to ...
45909 (pkglib_IMAGES): ... this. Update all users.
45910 (pkgdata_MODULES): Rename to ...
45911 (pkglib_MODULES): ... this. Update all users.
45912 (pkgdata_PROGRAMS): Rename to ...
45913 (pkglib_PROGRAMS): ... this. Update all users.
45914 (pkgdata_DATA): Rename to ...
45915 (pkglib_DATA): ... this. Update all users.
45916 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45917 (unicode.pff, ascii.pff): New rules.
45918 (all-local): Add `$(PKGDATA)' dependency.
45919 (install-local): Process `$(PKGDATA)'.
45920
45921 * util/update-grub_lib.in (font_path): Search for *.pff files in
45922 a few more locations, including `${pkgdata}'.
45923
57e57e31 459242007-12-23 Robert Millan <rmh@aybabtu.com>
45925
45926 Patch from Bean <bean123ch@gmail.com>:
45927 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45928 `size'.
45929
4bc72aa9 459302007-12-21 Bean <bean123ch@gmail.com>
45931
45932 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45933 (ntfscomp_mod_SOURCES): New variable.
45934 (ntfscomp_mod_CFLAGS): Likewise.
45935 (ntfscomp_mod_LDFLAGS): Likewise.
45936
45937 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45938 (grub_probe_SOURCES): Likewise.
45939 (grub_emu_SOURCES): Likewise.
45940
45941 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45942 (grub_emu_SOURCES): Likewise.
45943
45944 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45945 (grub_emu_SOURCES): Likewise.
45946
45947 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45948 (grub_emu_SOURCES): Likewise.
45949
45950 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45951 (read_run_list): Renamed to grub_ntfs_read_run_list.
45952 (decomp_nextvcn): Moved to ntfscomp.c.
45953 (decomp_getch): Likewise.
45954 (decomp_get16): Likewise.
45955 (decomp_block): Likewise.
45956 (read_block): Likewise.
45957 (read_data): Partially moved to ntfscomp.c.
45958 (fixup): Change unsigned to grub_uint16_t.
45959 (read_mft): Change unsigned long to grub_uint32_t.
45960 (read_attr): Likewise.
45961 (read_data): Likewise.
45962 (read_run_data): Likewise.
45963 (read_run_list): Likewise.
45964 (read_mft): Likewise.
45965
45966 * fs/ntfscomp.c: New file.
45967
45968 * include/grub/ntfs.h: New file.
45969
af680a87 459702007-12-16 Robert Millan <rmh@aybabtu.com>
45971
45972 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45973 IDE disk check, since Linux is known to support 20 IDE disks.
45974 Reported by Colin Watson.
45975
84be7599 459762007-12-15 Bean <bean123ch@gmail.com>
45977
45978 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45979 (lnxboot_img_SOURCES): New variable.
45980 (lnxboot_img_ASFLAGS): Likewise.
45981 (lnxboot_img_LDFLAGS): Likewise.
45982
45983 * boot/i386/pc/lnxboot.S: New file.
45984
6af9db01 459852007-11-24 Pavel Roskin <proski@gnu.org>
45986
45987 * configure.ac: Test if '--build-id=none' is supported by the
45988 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45989 objcopy to generate incorrect binary files (binutils
45990 2.17.50.0.18-1 as shipped by Fedora 8).
45991 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45992 linking, so that build ID doesn't break the test.
45993
7361cfe6 459942007-11-24 Pavel Roskin <proski@gnu.org>
45995
45996 * include/grub/i386/time.h: use "void" in the argument list
45997 of grub_cpu_idle().
45998 * include/grub/powerpc/time.h: Likewise.
45999 * include/grub/sparc64/time.h: Likewise.
46000
1593e10c 460012007-11-18 Christian Franke <franke@computer.org>
46002
46003 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46004 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46005 This fixes the problem that function keys did not work in grub-emu.
46006
3b8db1a8 460072007-11-18 Christian Franke <franke@computer.org>
46008
46009 * disk/host.c (grub_host_open): Remove attribute unused from
46010 name parameter. Add check for "host". This fixes the problem
46011 that grub-emu does not find partitions.
46012
2e29408d 460132007-11-18 Christian Franke <franke@computer.org>
46014
46015 * util/hostfs.c (is_dir): New function.
46016 (grub_hostfs_dir): Handle missing dirent.d_type case.
46017 (grub_hostfs_read): Add missing fseek().
46018 (grub_hostfs_label): Clear label pointer. This fixes a crash
46019 of grub-emu on "ls (host)".
46020
398cd047 460212007-11-18 Christian Franke <franke@computer.org>
46022
46023 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46024 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46025 to 64 bit boundary by default.
46026
c405c391 460272007-11-18 Bean <bean123ch@gmail.com>
46028
46029 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46030 (hexdump_mod_SOURCES): New variable.
46031 (hexdump_mod_CFLAGS): Likewise.
46032 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 46033
c405c391 46034 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46035
46036 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46037
46038 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46039
46040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46041
46042 * include/grub/hexdump.h: New file.
46043
46044 * commands/hexdump.c: New file.
46045
5cced7fd 460462007-11-10 Robert Millan <rmh@aybabtu.com>
46047
46048 * commands/i386/pc/play.c (beep_off): Switch order of arguments
46049 in grub_outb() calls.
46050 (beep_on): Likewise.
46051
8b714eb0 460522007-11-10 Christian Franke <franke@computer.org>
46053
46054 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
46055 (grub_menu_run): Likewise.
46056
ce0f1839 460572007-11-10 Robert Millan <rmh@aybabtu.com>
46058
46059 * include/grub/i386/efi/machine.h: New file.
46060 * include/grub/i386/linuxbios/machine.h: Likewise.
46061 * include/grub/i386/pc/machine.h: Likewise.
46062 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46063 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46064
46065 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46066 (serial_hw_io_addr): New variable.
46067 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46068 instead of `(unsigned short *) 0x400'.
46069
270c237d 460702007-11-10 Bean <bean123ch@gmail.com>
46071
46072 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46073
a87783bf 460742007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46075
46076 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46077 (vga_mod_SOURCES): Added.
46078 (vga_mod_CFLAGS): Likewise.
46079 (vga_mod_LDFLAGS): Likewise.
46080
46081 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46082 grub_outb() calls.
46083 (set_map_mask): Likewise.
46084 (set_read_map): Likewise.
46085 (set_read_address): Likewise.
46086 (vga_font): Removed variable.
46087 (get_vga_glyph): Removed function.
46088 (invalidate_char): Likewise.
46089 (write_char): Changed to use grub_font_get_glyph() for font
46090 information.
46091 (grub_vga_putchar): Likewise.
46092 (grub_vga_getcharwidth): Likewise.
46093
6433b448 460942007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46095
46096 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
46097 flags.
46098 (pxeboot_img_LDFLAGS): Likewise.
46099 (diskboot_img_LDFLAGS): Likewise.
46100 (kernel_img_LDFLAGS): Likewise.
46101
49178511 461022007-11-06 Robert Millan <rmh@aybabtu.com>
46103
46104 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
46105 in grub_outb() calls.
46106 (serial_hw_init): Likewise.
46107
53b052de 461082007-11-05 Robert Millan <rmh@aybabtu.com>
46109
46110 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
46111 spaces. Skip non-regular files.
46112
5ab33bba 461132007-11-05 Robert Millan <rmh@aybabtu.com>
46114
46115 * kern/disk.c (grub_disk_firmware_fini)
46116 (grub_disk_firmware_is_tainted): New variables.
46117
46118 * include/grub/disk.h (grub_disk_firmware_fini)
46119 (grub_disk_firmware_is_tainted): Likewise.
46120
46121 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
46122 (grub_disk_biosdisk_fini): ... to here.
46123 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
46124 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
46125 is set. Register grub_disk_biosdisk_fini() in
46126 `grub_disk_firmware_fini'.
46127
46128 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
46129 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
46130 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
46131 to finish existing firmware disk interface.
46132
46133 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
46134 (ata_mod_SOURCES): New variable.
46135 (ata_mod_CFLAGS): Likewise.
46136 (ata_mod_LDFLAGS): Likewise.
46137
0149ab7c 461382007-11-05 Robert Millan <rmh@aybabtu.com>
46139
46140 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
46141 (grub_ata_wait): Reimplement using grub_millisleep().
46142
46143 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
46144 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
46145
be7ac41e 461462007-11-03 Marco Gerards <marco@gnu.org>
46147
46148 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
46149 (CRTC_ADDR_PORT): New macro.
46150 (CRTC_DATA_PORT): Likewise.
46151 (CRTC_CURSOR): Likewise.
46152 (CRTC_CURSOR_ADDR_HIGH): Likewise.
46153 (CRTC_CURSOR_ADDR_LOW): Likewise.
46154 (update_cursor): New function.
46155 (grub_console_real_putchar): Call `update_cursor'.
46156 (grub_console_gotoxy): Likewise.
46157 (grub_console_cls): Set the default color when clearing the
46158 screen.
46159 (grub_console_setcursor): Implemented.
46160
bb06ab2e 461612007-11-03 Marco Gerards <marco@gnu.org>
46162
46163 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
46164 become activate.
46165 (grub_ata_pio_write): Likewise.
46166
46167 (grub_atapi_identify): Wait after issuing an ATA command.
46168 (grub_atapi_packet): Likewise.
46169 (grub_ata_identify): Likewise.
46170 (grub_ata_readwrite): Likewise.
46171
cf8f780b 461722007-11-03 Marco Gerards <marco@gnu.org>
46173
46174 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46175 (grub_ata_pio_write): Likewise.
46176 (grub_ata_readwrite): Use `grub_error', instead of
46177 returning `grub_errno'.
46178
ed649e54 461792007-11-03 Marco Gerards <marco@gnu.org>
46180
46181 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46182 grub_ata_pio_write once for every single sector, instead of for
46183 multiple sectors.
46184
ca25d8f0 461852007-10-31 Robert Millan <rmh@aybabtu.com>
46186
46187 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46188
46189 * conf/i386-linuxbios.rmk: New file.
46190
46191 * kern/i386/pc/hardware.c: Likewise.
46192 * term/i386/pc/at_keyboard.c: Likewise.
46193 * term/i386/pc/vga_text.c: Likewise.
46194
46195 * include/grub/i386/linuxbios/boot.h: Likewise.
46196 * include/grub/i386/linuxbios/console.h: Likewise.
46197 * include/grub/i386/linuxbios/init.h: Likewise.
46198 * include/grub/i386/linuxbios/kernel.h: Likewise.
46199 * include/grub/i386/linuxbios/loader.h: Likewise.
46200 * include/grub/i386/linuxbios/memory.h: Likewise.
46201 * include/grub/i386/linuxbios/serial.h: Likewise.
46202 * include/grub/i386/linuxbios/time.h: Likewise.
46203
46204 * kern/i386/linuxbios/init.c: Likewise.
46205 * kern/i386/linuxbios/startup.S: Likewise.
46206 * kern/i386/linuxbios/table.c: Likewise.
46207
e911ecc1 462082007-10-31 Marco Gerards <marco@gnu.org>
46209
46210 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46211 (ata_mod_SOURCES): New variable.
46212 (ata_mod_CFLAGS): Likewise.
46213 (ata_mod_LDFLAGS): Likewise.
46214
46215 * disk/ata.c: New file.
46216
46217 * include/grub/disk.h (grub_disk_dev_id): Add
46218 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 46219
7f66d0e0 462202007-10-31 Robert Millan <rmh@aybabtu.com>
46221
46222 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46223 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46224
46225 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46226 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46227
46228 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46229 `<grub/types.h>'.
46230
46231 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46232
5cd7dd46 462332007-10-27 Robert Millan <rmh@aybabtu.com>
46234
3236ca65 46235 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 46236
2ebfc90f 462372007-10-22 Robert Millan <rmh@aybabtu.com>
46238
46239 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46240 `"../realmode.S"'.
46241 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46242
73fcb0f3 462432007-10-22 Robert Millan <rmh@aybabtu.com>
46244
46245 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46246 (pkgdata_MODULES): Add `biosdisk.mod'.
46247 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46248 variables.
46249
46250 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46251 (grub_biosdisk_init): Replace with ...
46252 (GRUB_MOD_INIT(biosdisk)): ... this.
46253 (grub_biosdisk_fini): Replace with ...
46254 (GRUB_MOD_FINI(biosdisk)): ... this.
46255
46256 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46257 (grub_machine_init): Remove call to grub_biosdisk_init().
46258 (grub_machine_fini): Remove call to grub_machine_fini().
46259
46260 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46261
3381d274 462622007-10-22 Robert Millan <rmh@aybabtu.com>
46263
46264 * include/grub/time.h: New file.
46265 * include/grub/i386/time.h: Likewise.
46266 * include/grub/powerpc/time.h: Likewise.
46267 * include/grub/sparc64/time.h: Likewise.
46268
46269 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46270 instances to ...
46271 (KERNEL_MACHINE_TIME_HEADER): ... this.
46272 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46273 instances to ...
46274 (KERNEL_MACHINE_TIME_HEADER): ... this.
46275 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46276 instances to ...
46277 (KERNEL_MACHINE_TIME_HEADER): ... this.
46278
46279 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46280 (grub_millisleep): New function.
46281 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46282 (grub_millisleep): New function.
46283 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46284 Remove `grub/machine/time.h' include.
46285 (grub_millisleep): New function.
46286 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46287 Remove `grub/machine/time.h' include.
46288 (grub_millisleep): New function.
46289
46290 * include/grub/misc.h (grub_div_roundup): New function.
46291
46292 * kern/misc.c: Include `<grub/time.h>'.
46293 (grub_millisleep_generic): New function.
46294
46295 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46296 Add `time.h'.
46297 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46298 Add `time.h'.
46299 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46300 `machine/time.h'. Add `time.h'.
46301 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46302
a39a0312 463032007-10-21 Robert Millan <rmh@aybabtu.com>
46304
46305 * include/grub/misc.h (grub_max): New function.
46306
2aad70e2 463072007-10-21 Robert Millan <rmh@aybabtu.com>
46308
46309 * util/misc.c (grub_util_info): Call fflush() before returning.
46310
54b71c4b 463112007-10-20 Robert Millan <rmh@aybabtu.com>
46312
46313 * genmk.rb (Image): Copy `extra_flags' from here ...
46314 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46315
46316 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46317 to `argc' and `args' arguments.
46318
a979f513 463192007-10-17 Robert Millan <rmh@aybabtu.com>
46320
46321 * kern/i386/loader.S: New file.
46322
46323 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46324 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46325 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46326 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46327 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46328 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46329 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46330 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46331 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46332 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46333 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46334 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46335 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46336 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46337
46338 * kern/i386/realmode.S: New file.
46339
46340 * kern/i386/pc/startup.S (protstack): Moved from here ...
46341 * kern/i386/realmode.S (protstack)... to here.
46342 * kern/i386/pc/startup.S (gdt): Moved from here ...
46343 * kern/i386/realmode.S (gdt)... to here.
46344 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46345 * kern/i386/realmode.S (prot_to_real)... to here.
46346
46347 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46348 `kern/i386/realmode.S'.
46349
825fc8fd 463502007-10-17 Robert Millan <rmh@aybabtu.com>
46351
46352 * include/grub/i386/loader.h: New file.
46353
46354 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46355 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46356 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46357 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46358 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46359 * include/grub/i386/loader.h (grub_linux_prot_size)
46360 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46361 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46362 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46363 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46364
46365 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46366
e179b2f4 463672007-10-15 Robert Millan <rmh@aybabtu.com>
46368
46369 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46370 filesystem when dev->disk is unset.
46371 Do probe for filesystem even when dev->disk->has_partitions is set.
46372 In case a filesystem is found, always report it.
46373 In case it isn't, if dev->disk->has_partitions is set, report that
46374 a partition table was found instead of reporting that no filesystem
46375 could be identified.
46376
5db82af6 463772007-10-12 Robert Millan <rmh@aybabtu.com>
46378
46379 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46380 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46381
68f6ac74 46382 * include/grub/types.h (grub_host_to_target16): New macro.
46383 (grub_host_to_target32): Likewise.
46384 (grub_host_to_target64): Likewise.
46385 (grub_target_to_host16): Likewise.
46386 (grub_target_to_host32): Likewise.
46387 (grub_target_to_host64): Likewise.
5db82af6 46388
46389 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46390 Renamed from to ...
46391 (GRUB_MOD_ALIGN): ...this. Update all users.
46392
68f6ac74 46393 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46394 grub_host_to_target32.
46395 Replace grub_be_to_cpu32 with grub_target_to_host32.
46396 (load_modules): Likewise.
46397 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46398 Replace grub_be_to_cpu32 with grub_target_to_host32.
46399 Replace grub_cpu_to_be16 with grub_host_to_target16.
46400 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46401
3cf497cc 464022007-10-12 Robert Millan <rmh@aybabtu.com>
46403
46404 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46405 * util/elf/grub-mkimage.c: ... here.
46406
46407 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46408 `util/powerpc/ieee1275/grub-mkimage.c'.
46409
c8cc3692 464102007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46411
c8cc3692 46412 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46413 and make it easier to figure out.
46414 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46415 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46416 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46417 leave us with less than HEAP_MIN_SIZE total heap.
46418 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46419
5c58b791 464202007-10-03 Robert Millan <rmh@aybabtu.com>
46421
46422 * include/grub/i386/io.h: New file.
46423 * commands/i386/pc/play.c (inb): Removed.
46424 (outb): Removed.
46425 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46426 with grub_outb().
afcd2ef8 46427 * term/i386/pc/serial.c (inb): Removed.
46428 (outb): Removed.
46429 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46430 with grub_outb().
46431 * term/i386/pc/vga.c (inb): Removed.
46432 (outb): Removed.
46433 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46434 with grub_outb().
5c58b791 46435
1a477ed6 464362007-10-02 Robert Millan <rmh@aybabtu.com>
46437
46438 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46440 Reported by Marcin Kurek.
46441
6b5d80fa 464422007-09-07 Robert Millan <rmh@aybabtu.com>
46443
46444 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46445 SmartFirmware version updates (as released by Sven Luther), and avoid
46446 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46447 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46448 known broken.
46449
5618afbf 464502007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46451
46452 From Hitoshi Ozeki:
46453 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46454 when merging two regions.
46455
6139dcd9 464562007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46457
508e39ee 46458 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46459 * normal/completion.c (grub_normal_do_completion): Likewise.
46460 Reported by Hitoshi Ozeki.
46461
464622007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46463
6139dcd9 46464 Do not use devices at boot in chainloading.
f19dbdb7 46465
6139dcd9 46466 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46467 (boot_part_addr): Likewise.
46468 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46469 with BOOT_DRIVE and BOOT_PART_ADDR.
46470 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46471 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46472
38da6516 464732007-08-29 Robert Millan <rmh@aybabtu.com>
46474
46475 Patch from Simon Peter <dn.tlp@gmx.net>:
46476 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46477 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46478 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46479 util/i386/pc/grub-setup.c_DEPENDENCIES.
46480 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46481 util/grub-probe.c_DEPENDENCIES.
46482 * conf/powerpc-ieee1275.rmk: Likewise.
46483
29d0928c 464842007-08-28 Robert Millan <rmh@aybabtu.com>
46485
46486 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46487 to tell grub-mkdevicemap how to name devices.
46488 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46489 feature).
46490
46491 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46492 util/i386/get_disk_name.c.
46493 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46494 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46495 util/ieee1275/get_disk_name.c.
46496
46497 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46498
46499 * DISTLIST: Add util/i386/get_disk_name.c and
46500 util/ieee1275/get_disk_name.c.
46501
46502 * util/grub-mkdevicemap.c: Replace device naming logic with
46503 grub_util_get_disk_name() calls.
46504
5a0d3cca 465052007-08-20 Robert Millan <rmh@aybabtu.com>
46506
46507 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46508 (so that it works for both plural and singular quantities).
46509
8b72db2f 465102007-08-05 Robert Millan <rmh@aybabtu.com>
46511
46512 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46513 so that [xz] isn't taken into account when determining order.
46514
352466bf 465152007-08-02 Marco Gerards <marco@gnu.org>
46516
46517 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46518 `include/multiboot2.h', `include/grub/elfload.h',
46519 `include/multiboot.h', `include/grub/multiboot.h',
46520 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46521 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46522 `kern/elf.c', `loader/multiboot_loader.c',
46523 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46524 `loader/i386/pc/multiboot2.c',
46525 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46526 `util/i386/pc/grub-mkrescue.in'. Remove
46527 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46528 `include/grub/i386/pc/util/biosdisk.h' and
46529 `include/grub/powerpc/ieee1275/multiboot.h'.
46530
8f096014 465312007-08-02 Bean <bean123ch@gmail.com>
46532
46533 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46534 (ntfs_mod_SOURCES): New variable.
46535 (ntfs_mod_CFLAGS): Likewise.
46536 (ntfs_mod_LDFLAGS): Likewise.
46537
46538 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46539 (grub_probe_SOURCES): Likewise.
46540 (grub_emu_SOURCES): Likewise.
46541
46542 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46543 (grub_emu_SOURCES): Likewise.
46544
46545 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46546 (grub_emu_SOURCES): Likewise.
f19dbdb7 46547
8f096014 46548 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46549
46550 * fs/ntfs.c: New file.
46551
9959f7db 465522007-08-02 Bean <bean123ch@gmail.com>
46553
46554 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46555
46556 * file.h (grub_file): Likewise.
46557
46558 * fshelp.h (grub_fshelp_read_file): Likewise.
46559
46560 * util/i386/pc/grub-setup.c (setup): Likewise.
46561 (save_first_sector): Likewise.
46562 (save_blocklists): Likewise.
f19dbdb7 46563
9959f7db 46564 * fs/affs.c (grub_affs_read_file): Likewise.
46565
46566 * fs/ext2.c (grub_ext2_read_file): Likewise.
46567
46568 * fs/fat.c (grub_fat_read_data): Likewise.
46569
46570 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46571
46572 * fs/hfs.c (grub_hfs_read_file): Likewise.
46573
46574 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46575
46576 * fs/jfs.c (grub_jfs_read_file): Likewise.
46577
46578 * fs/minix.c (grub_minix_read_file): Likewise.
46579
46580 * fs/sfs.c (grub_sfs_read_file): Likewise.
46581
46582 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46583
9959f7db 46584 * fs/xfs.c (grub_xfs_read_file): Likewise.
46585
46586 * command/blocklist.c (read_blocklist): Likewise.
46587 (print_blocklist): Likewise.
46588
0a203f83 465892007-08-02 Marco Gerards <marco@gnu.org>
46590
46591 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46592 `util/hostfs.c'.
46593
46594 * disk/host.c: New file.
46595
46596 * util/hostfs.c: Likewise.
46597
46598 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46599 return `GRUB_ERR_BAD_FS'.
46600 * fs/sfs.c (grub_sfs_mount): Likewise.
46601 * fs/xfs.c (grub_xfs_mount): Likewise.
46602
46603 * include/grub/disk.h (enum grub_disk_dev_id): Add
46604 `GRUB_DISK_DEVICE_HOST_ID'.
46605
46606 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46607
e5dfe777 466082007-07-24 Jerone Young <jerone@gmail.com>
46609
f19dbdb7 46610 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46611 modules for compilation.
46612 * conf/powerpc-ieee1275.rmk: Likewise.
46613
46614 * include/multiboot.h: Move multiboot definitions to one file. Rename
46615 many definitions to not get grub specific.
46616 * include/multiboot2.h: Create header with multiboot 2 definitions.
46617 * include/grub/multiboot.h: Header for grub specific function
46618 prototypes and definitions.
46619 * include/grub/multiboot2.h: Likewise.
46620 * include/grub/multiboot_loader.h: Likewise.
46621 * include/grub/i386/pc/multiboot.h: Removed.
46622 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46623
46624 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46625 and 2 to allow for one multiboot and module commands.
46626 * loader/multiboot2.c: Add multiboot2 functionality.
46627 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46628 and definition names.
46629 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46630 2 functions.
46631 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46632 ieee1275 specific multiboot2 code.
46633
46634 * kern/i386/pc/startup.S: Change headers and definition names for
46635 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46636
daf0f0ba 466372007-07-22 Robert Millan <rmh@aybabtu.com>
46638
46639 * geninitheader.sh: Process file specified in first parameter rather
46640 than hardcoding grub_modules_init.lst.
fe6b695a 46641 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46642 than hardcoding grub_modules_init.h.
46643
46644 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46645 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46646 grub_probe_init.[ch] and grub_setup_init.[ch].
46647
46648 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46649 grub_modules_init.h with grub_emu_init.h.
46650 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46651 grub_probe_init.[ch] files.
46652 * conf/i386-efi.rmk: Likewise.
46653 * conf/i386-pc.rmk: Likewise.
46654 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46655 grub_setup_init.[ch] files.
46656
46657 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46658 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46659 to initialize modules rather than a list of hardcoded functions.
46660 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46661 grub_init_all() to initialize modules rather than a list of hardcoded
46662 functions.
46663
54cdc1cc 466642007-07-22 Robert Millan <rmh@aybabtu.com>
46665
46666 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46667 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46668
ad0686cc 466692007-07-22 Robert Millan <rmh@aybabtu.com>
46670
46671 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46672 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46673 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46674 flag when running on SmartFirmware.
46675 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46676 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46677 was set.
46678
46679 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46680 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46681 rather than decreasing it.
46682
46683 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46684 there's not enough space to do it, fail in the same way as when it
46685 can't be done because there are no partitions.
46686
46687 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46688 when nvsetenv failed.
46689
969c02ec 466902007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46691
46692 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46693 because this rule is automatically generated.
46694 (grub-mkrescue): Removed for the same reason as above.
46695
5a79f472 466962007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46697
46698 Migrate to GNU General Public License Version 3.
f19dbdb7 46699
5a79f472 46700 * COPYING: Replaced with the plain text version of GPLv3.
46701
46702 * config.guess: Updated from gnulib.
46703 * config.sub: Likewise.
46704
46705 * geninit.sh: Output a GPLv3 copyright notice.
46706 * geninitheader.sh: Likewise.
46707 * genmodsrc.sh: Likewise.
46708 * gensymlist.sh.in: Likewise.
46709
46710 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46711 * boot/i386/pc/diskboot.S: Likewise.
46712 * boot/i386/pc/pxeboot.S: Likewise.
46713 * commands/blocklist.c: Likewise.
46714 * commands/boot.c: Likewise.
46715 * commands/cat.c: Likewise.
46716 * commands/cmp.c: Likewise.
46717 * commands/configfile.c: Likewise.
46718 * commands/echo.c: Likewise.
46719 * commands/help.c: Likewise.
46720 * commands/ls.c: Likewise.
46721 * commands/search.c: Likewise.
46722 * commands/terminal.c: Likewise.
46723 * commands/test.c: Likewise.
46724 * commands/videotest.c: Likewise.
46725 * commands/i386/cpuid.c: Likewise.
46726 * commands/i386/pc/halt.c: Likewise.
46727 * commands/i386/pc/play.c: Likewise.
46728 * commands/i386/pc/reboot.c: Likewise.
46729 * commands/i386/pc/vbeinfo.c: Likewise.
46730 * commands/i386/pc/vbetest.c: Likewise.
46731 * commands/ieee1275/halt.c: Likewise.
46732 * commands/ieee1275/reboot.c: Likewise.
46733 * commands/ieee1275/suspend.c: Likewise.
46734 * disk/loopback.c: Likewise.
46735 * disk/lvm.c: Likewise.
46736 * disk/raid.c: Likewise.
46737 * disk/efi/efidisk.c: Likewise.
46738 * disk/i386/pc/biosdisk.c: Likewise.
46739 * disk/ieee1275/ofdisk.c: Likewise.
46740 * font/manager.c: Likewise.
46741 * fs/affs.c: Likewise.
46742 * fs/ext2.c: Likewise.
46743 * fs/fat.c: Likewise.
46744 * fs/fshelp.c: Likewise.
46745 * fs/hfs.c: Likewise.
46746 * fs/hfsplus.c: Likewise.
46747 * fs/iso9660.c: Likewise.
46748 * fs/jfs.c: Likewise.
46749 * fs/minix.c: Likewise.
46750 * fs/sfs.c: Likewise.
46751 * fs/ufs.c: Likewise.
46752 * fs/xfs.c: Likewise.
46753 * hello/hello.c: Likewise.
46754 * include/grub/acorn_filecore.h: Likewise.
46755 * include/grub/arg.h: Likewise.
46756 * include/grub/bitmap.h: Likewise.
46757 * include/grub/boot.h: Likewise.
46758 * include/grub/cache.h: Likewise.
46759 * include/grub/device.h: Likewise.
46760 * include/grub/disk.h: Likewise.
46761 * include/grub/dl.h: Likewise.
46762 * include/grub/elfload.h: Likewise.
46763 * include/grub/env.h: Likewise.
46764 * include/grub/err.h: Likewise.
46765 * include/grub/file.h: Likewise.
46766 * include/grub/font.h: Likewise.
46767 * include/grub/fs.h: Likewise.
46768 * include/grub/fshelp.h: Likewise.
46769 * include/grub/gzio.h: Likewise.
46770 * include/grub/hfs.h: Likewise.
46771 * include/grub/kernel.h: Likewise.
46772 * include/grub/loader.h: Likewise.
46773 * include/grub/lvm.h: Likewise.
46774 * include/grub/misc.h: Likewise.
46775 * include/grub/mm.h: Likewise.
46776 * include/grub/net.h: Likewise.
46777 * include/grub/normal.h: Likewise.
46778 * include/grub/parser.h: Likewise.
46779 * include/grub/partition.h: Likewise.
46780 * include/grub/pc_partition.h: Likewise.
46781 * include/grub/raid.h: Likewise.
46782 * include/grub/rescue.h: Likewise.
46783 * include/grub/script.h: Likewise.
46784 * include/grub/setjmp.h: Likewise.
46785 * include/grub/symbol.h: Likewise.
46786 * include/grub/term.h: Likewise.
46787 * include/grub/terminfo.h: Likewise.
46788 * include/grub/tparm.h: Likewise.
46789 * include/grub/types.h: Likewise.
46790 * include/grub/video.h: Likewise.
46791 * include/grub/efi/api.h: Likewise.
46792 * include/grub/efi/chainloader.h: Likewise.
46793 * include/grub/efi/console.h: Likewise.
46794 * include/grub/efi/console_control.h: Likewise.
46795 * include/grub/efi/disk.h: Likewise.
46796 * include/grub/efi/efi.h: Likewise.
46797 * include/grub/efi/pe32.h: Likewise.
46798 * include/grub/efi/time.h: Likewise.
46799 * include/grub/i386/linux.h: Likewise.
46800 * include/grub/i386/setjmp.h: Likewise.
46801 * include/grub/i386/types.h: Likewise.
46802 * include/grub/i386/efi/kernel.h: Likewise.
46803 * include/grub/i386/efi/loader.h: Likewise.
46804 * include/grub/i386/efi/time.h: Likewise.
46805 * include/grub/i386/pc/biosdisk.h: Likewise.
46806 * include/grub/i386/pc/boot.h: Likewise.
46807 * include/grub/i386/pc/chainloader.h: Likewise.
46808 * include/grub/i386/pc/console.h: Likewise.
46809 * include/grub/i386/pc/init.h: Likewise.
46810 * include/grub/i386/pc/kernel.h: Likewise.
46811 * include/grub/i386/pc/loader.h: Likewise.
46812 * include/grub/i386/pc/memory.h: Likewise.
46813 * include/grub/i386/pc/multiboot.h: Likewise.
46814 * include/grub/i386/pc/serial.h: Likewise.
46815 * include/grub/i386/pc/time.h: Likewise.
46816 * include/grub/i386/pc/vbe.h: Likewise.
46817 * include/grub/i386/pc/vbeblit.h: Likewise.
46818 * include/grub/i386/pc/vbefill.h: Likewise.
46819 * include/grub/i386/pc/vbeutil.h: Likewise.
46820 * include/grub/i386/pc/vga.h: Likewise.
46821 * include/grub/ieee1275/ieee1275.h: Likewise.
46822 * include/grub/ieee1275/ofdisk.h: Likewise.
46823 * include/grub/powerpc/libgcc.h: Likewise.
46824 * include/grub/powerpc/setjmp.h: Likewise.
46825 * include/grub/powerpc/types.h: Likewise.
46826 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46827 * include/grub/powerpc/ieee1275/console.h: Likewise.
46828 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46829 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46830 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46831 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46832 * include/grub/powerpc/ieee1275/time.h: Likewise.
46833 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46834 * include/grub/sparc64/libgcc.h: Likewise.
46835 * include/grub/sparc64/setjmp.h: Likewise.
46836 * include/grub/sparc64/types.h: Likewise.
46837 * include/grub/sparc64/ieee1275/console.h: Likewise.
46838 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46839 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46840 * include/grub/sparc64/ieee1275/time.h: Likewise.
46841 * include/grub/util/biosdisk.h: Likewise.
46842 * include/grub/util/getroot.h: Likewise.
46843 * include/grub/util/lvm.h: Likewise.
46844 * include/grub/util/misc.h: Likewise.
46845 * include/grub/util/raid.h: Likewise.
46846 * include/grub/util/resolve.h: Likewise.
46847 * io/gzio.c: Likewise.
46848 * kern/device.c: Likewise.
46849 * kern/disk.c: Likewise.
46850 * kern/dl.c: Likewise.
46851 * kern/elf.c: Likewise.
46852 * kern/env.c: Likewise.
46853 * kern/err.c: Likewise.
46854 * kern/file.c: Likewise.
46855 * kern/fs.c: Likewise.
46856 * kern/loader.c: Likewise.
46857 * kern/main.c: Likewise.
46858 * kern/misc.c: Likewise.
46859 * kern/mm.c: Likewise.
46860 * kern/parser.c: Likewise.
46861 * kern/partition.c: Likewise.
46862 * kern/rescue.c: Likewise.
46863 * kern/term.c: Likewise.
46864 * kern/efi/efi.c: Likewise.
46865 * kern/efi/init.c: Likewise.
46866 * kern/efi/mm.c: Likewise.
46867 * kern/i386/dl.c: Likewise.
46868 * kern/i386/efi/init.c: Likewise.
46869 * kern/i386/efi/startup.S: Likewise.
46870 * kern/i386/pc/init.c: Likewise.
46871 * kern/i386/pc/lzo1x.S: Likewise.
46872 * kern/i386/pc/startup.S: Likewise.
46873 * kern/ieee1275/ieee1275.c: Likewise.
46874 * kern/powerpc/cache.S: Likewise.
46875 * kern/powerpc/dl.c: Likewise.
46876 * kern/powerpc/ieee1275/cmain.c: Likewise.
46877 * kern/powerpc/ieee1275/crt0.S: Likewise.
46878 * kern/powerpc/ieee1275/init.c: Likewise.
46879 * kern/powerpc/ieee1275/openfw.c: Likewise.
46880 * kern/sparc64/cache.S: Likewise.
46881 * kern/sparc64/dl.c: Likewise.
46882 * kern/sparc64/ieee1275/init.c: Likewise.
46883 * kern/sparc64/ieee1275/openfw.c: Likewise.
46884 * loader/efi/chainloader.c: Likewise.
46885 * loader/efi/chainloader_normal.c: Likewise.
46886 * loader/i386/efi/linux.c: Likewise.
46887 * loader/i386/efi/linux_normal.c: Likewise.
46888 * loader/i386/pc/chainloader.c: Likewise.
46889 * loader/i386/pc/chainloader_normal.c: Likewise.
46890 * loader/i386/pc/linux.c: Likewise.
46891 * loader/i386/pc/linux_normal.c: Likewise.
46892 * loader/i386/pc/multiboot.c: Likewise.
46893 * loader/i386/pc/multiboot_normal.c: Likewise.
46894 * loader/powerpc/ieee1275/linux.c: Likewise.
46895 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46896 * normal/arg.c: Likewise.
46897 * normal/cmdline.c: Likewise.
46898 * normal/command.c: Likewise.
46899 * normal/completion.c: Likewise.
46900 * normal/execute.c: Likewise.
46901 * normal/function.c: Likewise.
46902 * normal/lexer.c: Likewise.
46903 * normal/main.c: Likewise.
46904 * normal/menu.c: Likewise.
46905 * normal/menu_entry.c: Likewise.
46906 * normal/misc.c: Likewise.
46907 * normal/parser.y: Likewise.
46908 * normal/script.c: Likewise.
46909 * normal/i386/setjmp.S: Likewise.
46910 * normal/powerpc/setjmp.S: Likewise.
46911 * normal/sparc64/setjmp.S: Likewise.
46912 * partmap/acorn.c: Likewise.
46913 * partmap/amiga.c: Likewise.
46914 * partmap/apple.c: Likewise.
46915 * partmap/gpt.c: Likewise.
46916 * partmap/pc.c: Likewise.
46917 * partmap/sun.c: Likewise.
46918 * term/gfxterm.c: Likewise.
46919 * term/terminfo.c: Likewise.
46920 * term/efi/console.c: Likewise.
46921 * term/i386/pc/console.c: Likewise.
46922 * term/i386/pc/serial.c: Likewise.
46923 * term/i386/pc/vesafb.c: Likewise.
46924 * term/i386/pc/vga.c: Likewise.
46925 * term/ieee1275/ofconsole.c: Likewise.
46926 * util/biosdisk.c: Likewise.
46927 * util/console.c: Likewise.
46928 * util/genmoddep.c: Likewise.
46929 * util/getroot.c: Likewise.
46930 * util/grub-emu.c: Likewise.
46931 * util/grub-mkdevicemap.c: Likewise.
46932 * util/grub-probe.c: Likewise.
46933 * util/lvm.c: Likewise.
46934 * util/misc.c: Likewise.
46935 * util/raid.c: Likewise.
46936 * util/resolve.c: Likewise.
46937 * util/update-grub.in: Likewise.
46938 * util/update-grub_lib.in: Likewise.
46939 * util/grub.d/00_header.in: Likewise.
46940 * util/grub.d/10_hurd.in: Likewise.
46941 * util/grub.d/10_linux.in: Likewise.
46942 * util/i386/efi/grub-install.in: Likewise.
46943 * util/i386/efi/grub-mkimage.c: Likewise.
46944 * util/i386/pc/grub-install.in: Likewise.
46945 * util/i386/pc/grub-mkimage.c: Likewise.
46946 * util/i386/pc/grub-mkrescue.in: Likewise.
46947 * util/i386/pc/grub-setup.c: Likewise.
46948 * util/i386/pc/misc.c: Likewise.
46949 * util/powerpc/ieee1275/grub-install.in: Likewise.
46950 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46951 * util/powerpc/ieee1275/misc.c: Likewise.
46952 * video/bitmap.c: Likewise.
46953 * video/video.c: Likewise.
46954 * video/i386/pc/vbe.c: Likewise.
46955 * video/i386/pc/vbeblit.c: Likewise.
46956 * video/i386/pc/vbefill.c: Likewise.
46957 * video/i386/pc/vbeutil.c: Likewise.
46958 * video/readers/tga.c: Likewise.
46959
3572d015 469602007-07-02 Robert Millan <rmh@aybabtu.com>
46961
46962 * conf/i386-efi.rmk: Replace obsolete reference to
46963 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46964 with util/getroot.c.
46965 * conf/powerpc-ieee1275.rmk: Likewise.
46966 * conf/sparc64-ieee1275.rmk: Likewise.
46967
46968 * util/grub-emu.c (main): Fix unchecked pointer handling.
46969
2c2a681b 469702007-07-02 Robert Millan <rmh@aybabtu.com>
46971
46972 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46973 invocation to fail, in order to support partition-less media.
46974
46975 * util/i386/pc/grub-install.in: Likewise.
46976
46977 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46978 which fs or partmap modules are needed (akin to its sister scripts).
46979
46980 Also use grub-probe to get rid of unportable /proc/mounts check.
46981
46982 Print the same informational message that the other scripts do, before
fe6b695a 46983 exiting.
2c2a681b 46984
6193defe 469852007-06-23 Robert Millan <rmh@aybabtu.com>
46986
fe6b695a 46987 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46988 a font file can be found and, if so, echo the GRUB path to it.
46989
46990 * util/update-grub.in: Handle multiple terminals depending on user
46991 input, platform availability and font file presence. Propagate
46992 variables of our findings to /etc/grub.d/ children.
46993
46994 * util/grub.d/00_header.in: Handle multiple terminals, based on
46995 environment setup by update-grub.
46996
eface1dc 469972007-06-23 Robert Millan <rmh@aybabtu.com>
46998
ba50d28f 46999 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 47000
bf697e28 470012007-06-21 Robert Millan <rmh@aybabtu.com>
47002
47003 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47004 indicate end of data section in kernel image.
47005 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47006 GRUB_KERNEL_MACHINE_DATA_END.
47007
47008 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47009 space for it.
47010 * kern/i386/efi/startup.S: Likewise.
47011
47012 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47013 during image generation. Implement --prefix option to override this
47014 patch.
47015 * util/i386/efi/grub-mkimage.c: Likewise.
47016
47017 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47018 code to make path relative to its root into a separate function.
47019
47020 * util/i386/pc/grub-install.in: Use newly provided
47021 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47022 pass the result to grub-install --prefix.
47023
baa574b4 470242007-06-13 Robert Millan <rmh@aybabtu.com>
47025
47026 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47027 DEFAULT_DEVICE_MAP.
47028 * util/grub-emu.c: Use above definitions from misc.h instead of
47029 defining them.
47030 * util/grub-mkdevicemap.c: Likewise.
47031 * util/i386/pc/grub-setup.c: Likewise.
47032 * util/grub-probe.c: Likewise.
47033 (probe): Abort with grub_util_error() when either
47034 grub_guess_root_device or grub_util_get_grub_dev fails.
47035
0215dcbf 470362007-06-12 Robert Millan <rmh@aybabtu.com>
47037
47038 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47039 "pager" assignment.
47040 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47041 "pcdata".
47042 * util/grub-probe.c (probe): Likewise for "drive_name".
47043
8af2ab7b 470442007-06-11 Robert Millan <rmh@aybabtu.com>
47045
47046 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47047 not just the cdrom one.
47048
59d31694 470492007-06-11 Robert Millan <rmh@aybabtu.com>
47050
47051 * util/i386/pc/grub-mkrescue.in: Add "set -e".
47052 Add --pkglibdir=DIR option to override pkglibdir.
47053 Mention --image-type=TYPE in help output.
47054 Fix --grub-mkimage (it was a no-op).
fe6b695a 47055 Abort gracefully when no parameter is given.
59d31694 47056
7ee367e4 470572007-06-11 Robert Millan <rmh@aybabtu.com>
47058
47059 * util/i386/pc/grub-mkrescue.in: New file.
47060 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47061 * Makefile.in: Handle bin_SCRIPTS.
47062
29b0ed46 470632007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47064
47065 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47066 list of video modes.
47067
c0f90770 470682007-06-06 Robert Millan <rmh@aybabtu.com>
47069
47070 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47071 file doesn't exist, or if it is in a filesystem grub can't read.
47072
47073 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47074 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47075 header comment to fit in 80 columns when the variables are resolved.
47076
47077 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47078 could be identified by update-grub. Remove redundant check for
fe6b695a 47079 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 47080 handles that).
47081
fb36dc26 470822007-06-04 Robert Millan <rmh@aybabtu.com>
47083
47084 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
47085
47086 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
47087
47088 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
47089
0c68c93e 470902007-06-04 Robert Millan <rmh@aybabtu.com>
47091
47092 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
47093
47094 * include/grub/partition.h: Declare grub_apple_partition_map_init and
47095 grub_apple_partition_map_fini.
47096
47097 * util/biosdisk.c
47098 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
47099 to access >2 TiB disks).
47100
47101 Print disk->total_sectors with %llu instead of %lu, since this
47102 variable is always 64-bit (prevents wrong disk size from being displayed
47103 on either >2 TiB disk or big-endian CPU).
47104
47105 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
47106 into a generic case that supports all (sane) partition maps.
47107
47108 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
47109 breaks big-endian.
47110
47111 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
47112 and grub_apple_partition_map_fini() after that.
47113
0f23eb74 471142007-06-01 Robert Millan <rmh@aybabtu.com>
47115
47116 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
47117
47118 * util/grub.d/00_header.in: Only enable gfxterm when
47119 convert_system_path_to_grub_path() succeeds.
47120
42c71976 471212007-05-20 Robert Millan <rmh@aybabtu.com>
47122
47123 * util/update-grub_lib.in: New file.
47124 * DISTLIST: Add update-grub_lib.in.
47125 * conf/common.rmk: Generate update-grub_lib and install it in
47126 $(lib_DATA).
47127 * Makefile.in: Add install routine for $(lib_DATA).
47128
47129 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
47130 function provided by update-grub_lib to support arbitrary paths of
47131 unifont.pff.
47132 * util/update-grub.in: Use convert_system_path_to_grub_path() to
47133 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
47134
5beb2291 471352007-05-19 Robert Millan <rmh@aybabtu.com>
47136
47137 * commands/i386/cpuid.c: New module.
47138 * DISTLIST: Add it.
47139 * conf/i386-efi.rmk: Enable cpuid.mod.
47140 * conf/i386-pc.rmk: Likewise.
47141
7262eca1 471422007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47143
47144 * kern/disk.c (grub_disk_read): Check return value of
47145 grub_realloc().
47146
260ba823 471472007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47148
47149 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
47150 arrays.
47151 * disk/raid.c (grub_raid_open): Likewise.
47152
1ecb6cf2 471532007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47154
47155 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
47156 stack instead of on the heap.
47157
47158 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
47159 before doing a read on it.
47160
47161 * configure.ac: Only use -fno-stack-protector for the target
47162 environment.
f19dbdb7 47163
21c8cbb1 471642007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47165
47166 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
47167 __attribute_ ((unused)) to mode_type argument.
47168
47169 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 47170
21c8cbb1 47171 * kern/misc.c (memcmp): Fix prototype.
47172
47173 * include/grub/partition.h [GRUB_UTIL]
47174 (grub_gpt_partition_map_init): Add prototype.
47175 (grub_gpt_partition_map_fini): Likewise.
47176
47177 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47178 at the right place.
47179
47180 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47181 (grub_fat_read_data): Likewise.
47182 (grub_fat_find_dir): Likewise.
47183
47184 * font/manager.c (find_glyph): Make table a const.
47185 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 47186
849d55d3 471872007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47188
47189 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47190 code, first search for device in /dev/mapper, then in /dev.
47191 (grub_util_get_grub_dev): New function.
47192 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47193 prototype.
47194 * util/grub-probe.c (probe): Remove check for RAID, call
47195 grub_util_get_grub_dev() instead of
47196 grub_util_biosdisk_get_grub_dev().
47197 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47198 grub_util_biosdisk_get_grub_dev().
47199 * util/i386/pc/grub-setup.c (main): Likewise.
47200
8fff7c2f 472012007-05-16 Robert Millan <rmh@aybabtu.com>
47202
47203 * DISTLIST: Update for the latest changes.
47204 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47205 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47206 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47207 grub/util/biosdisk.h.
47208 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47209 grub/util/biosdisk.h.
47210
48e12b52 472112007-05-16 Robert Millan <rmh@aybabtu.com>
47212
47213 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47214
46b9d128 472152007-05-16 Robert Millan <rmh@aybabtu.com>
47216
47217 * util/i386/efi/grub-install.in: New.
47218 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47219 newly added grub-install.
47220 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47221 include.
47222 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47223 grub/util/biosdisk.h.
47224 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47225 grub/util/biosdisk.h.
47226
2d1a40a9 472272007-05-16 Robert Millan <rmh@aybabtu.com>
47228
47229 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47230 * include/grub/util/biosdisk.h: ... here.
47231 * util/i386/pc/biosdisk.c: Moved to ...
47232 * util/biosdisk.c: ... here.
47233 * util/i386/pc/getroot.c: Moved to ...
47234 * util/getroot.c: ... here.
47235 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47236 * util/grub-mkdevicemap.c: ... here.
47237 * util/i386/pc/grub-probe.c: Moved to ...
47238 * util/grub-probe.c: ... here.
47239
9e26e3bc 472402007-05-15 Robert Millan <rmh@aybabtu.com>
47241
47242 * util/update-grub.in: Remove duplicated line in grub.cfg header
47243 message.
47244
57f96397 472452007-05-13 Robert Millan <rmh@aybabtu.com>
47246
47247 * util/update-grub.in: Fix a few assumptions about the devices holding
47248 /, /boot and /boot/grub being the same.
47249 * util/grub.d/00_header.in: Likewise.
47250 * util/grub.d/10_hurd.in: Likewise.
47251 * util/grub.d/10_linux.in: Likewise.
47252
47253 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47254 patterns. Use that to define the `.old' suffix as older than `'.
47255
47256 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47257
47258 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47259 the grub.cfg header message.
47260
2e610d62 472612007-05-11 Robert Millan <rmh@aybabtu.com>
47262
47263 * util/update-grub.in: Create device.map if it doesn't already exist,
47264 before attempting to run grub-probe.
47265 Check for grub-probe and grub-mkdevicemap with the same code
47266 grub-install is using.
47267 Remove test mode.
47268
3f6a10ef 472692007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47270
47271 * Makefile.in: Add the datarootdir autoconf variable.
47272
02e7b75e 472732007-05-09 Robert Millan <rmh@aybabtu.com>
47274
47275 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47276 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47277
75f396cc 472782007-05-07 Robert Millan <rmh@aybabtu.com>
47279
47280 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47281 determine partition map module.
47282 * util/i386/pc/grub-install.in: Use this feature to decide which
47283 partition module to load, instead of hardcoding pc and gpt.
47284
da65cb36 472852007-05-07 Robert Millan <rmh@aybabtu.com>
47286
47287 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47288 source directory differs from build directory.
47289
b57d6a91 472902007-05-05 Robert Millan <rmh@aybabtu.com>
47291
47292 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47293 initialisation.
47294
509d00f1 472952007-05-05 Robert Millan <rmh@aybabtu.com>
47296
47297 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47298
c48f23ef 472992007-05-05 Robert Millan <rmh@aybabtu.com>
47300
47301 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47302 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47303
20b97658 473042007-05-05 Robert Millan <rmh@aybabtu.com>
47305
47306 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47307 (grub_probe_SOURCES): Likewise.
47308 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47309 GPT and initialize dos_part and bsd_part accordingly.
47310 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47311 install_bsd_part.
47312 (main): Activate gpt module for use during partition identification,
47313 and deactivate it afterwards.
47314 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47315 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47316 partition identification, and deactivate it afterwards.
47317
99123174 473182007-05-05 Robert Millan <rmh@aybabtu.com>
47319
47320 * term/i386/pc/console.c (grub_console_fini): Call
47321 grub_term_set_current() before grub_term_unregister().
47322
ebd97f6e 473232007-05-04 Robert Millan <rmh@aybabtu.com>
47324
47325 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47326 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47327 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47328 and update-grub_DATA.
47329 * conf/common.rmk: Build and install update-grub components.
47330 * conf/common.mk: Regenerate.
47331 * util/update-grub.in: New. Core of update-grub.
47332 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47333 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47334 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47335 * util/grub.d/README: New. Document grub.d directory layout.
47336
b06a264d 473372007-05-01 Robert Millan <rmh@aybabtu.com>
47338
47339 * util/grub-emu.c: Move initialization functions
47340 grub_util_biosdisk_init() and grub_init_all() before
47341 grub_util_biosdisk_get_grub_dev(), which relies on them.
47342
41f0050e 473432007-04-19 Robert Millan <rmh@aybabtu.com>
47344
47345 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47346 it is used later.
47347
04582bb3 473482007-04-18 Jerone Young <jerone@gmail.com>
47349
f19dbdb7 47350 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47351 stanza.
47352
08db4632 473532007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47354
08db4632 47355 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47356 continue on and look for device node with real device name.
47357
801b76be 473582007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47359
fe6b695a 47360 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47361 ability.
47362 * Makefile.in: Add autoconf package transformation code.
47363 * util/i386/pc/grub-install.in: Likewise.
47364 * util/powerpc/ieee1275/grub-install.in: Likewise.
47365
6795c4e1 473662007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47367
47368 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47369 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47370 (EXT2_REVISION): Likewise.
47371 (EXT2_INODE_SIZE): Likewise.
47372 (struct grub_ext2_block_group): Added a missing member
47373 "used_dirs".
47374 (grub_ext2_read_inode): Divide by the inode size in a superblock
47375 instead of 128 to obtain INODES_PER_BLOCK.
47376 Use the macro EXT2_INODE_SIZE instead of directly using
47377 SBLOCK->INODE_SIZE.
47378
d70af616 473792007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47380
47381 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47382 superblock instead of the structure size to compute an
47383 offset. This fixes the problem that GRUB could not read a
47384 filesystem when inode size is different from 128-byte.
47385
3b801603 473862007-03-05 Marco Gerards <marco@gnu.org>
47387
47388 * normal/main.c (read_config_file): When "menu" is not set, create
47389 an initial context.
47390
4785bfe4 473912007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47392
47393 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47394 (HEAP_LIMIT): New macro.
47395 (grub_claim_heap): Claim memory up to `heaplimit'.
47396
a0cbb023 473972007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47398
47399 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47400 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47401 (_start): Likewise.
47402 (grub_arch_modules_addr): Return address after `_end'.
47403 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47404 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47405 (add_segments): Calculate `_end' from phdr size and location.
47406 (ALIGN_UP): Moved to ...
47407 * include/grub/misc.h: here.
47408 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47409 New macro.
47410 (GRUB_IEEE1275_MODULE_BASE): Removed.
47411
fd7d8eba 474122007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47413
47414 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47415 loop boundary.
47416
9b09e6fc 474172007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47418
47419 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47420 All users updated.
47421 (grub_elf64_load_hook_t): Likewise.
47422 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47423 debug output.
47424
3ce27299 474252007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47426
47427 * kern/mm.c: Update copyright.
47428 (grub_mm_debug): Correct syntax error.
47429 (grub_mm_dump_free): New function.
47430 (grub_debug_free): Call `grub_free'.
47431 * include/grub/mm.h: Update copyright.
47432 (grub_mm_dump_free): Add declaration.
47433
077d5fee 474342007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47435
47436 * include/grub/ieee1275/ieee1275.h: Update copyright.
47437 * kern/powerpc/ieee1275/init.c: Likewise.
47438 * kern/powerpc/ieee1275/openfw.c: Likewise.
47439
47440 * loader/powerpc/ieee1275/linux.c: Likewise.
47441 * include/grub/elfload.h: Likewise.
47442 * kern/elf.c: Likewise.
47443 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47444 callers.
47445 (grub_elf64_load): Likewise.
47446 (grub_elf32_load_segment): Move to a nested function.
47447 (grub_elf64_load_segment): Likewise.
47448
dc946850 474492007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47450
47451 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47452 prototype.
47453 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47454 (grub_heap_len): Likewise.
47455 (HEAP_SIZE): New macro.
47456 (grub_claim_heap): New function.
47457 (grub_machine_init): Don't claim heap directly. Call
47458 `grub_claim_heap'.
47459 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47460 (grub_available_iterate): New function.
47461
baa2a121 474622007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47463
47464 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47465 * configure.ac: Use it for testing the HOST and TARGET compilers.
47466
4fe9862e 474672006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47468
47469 * Makefile.in (enable_grub_emu): New variable.
47470 * configure.ac (--enable-grub-emu): New option.
47471 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47472 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47473 * conf/i386-pc.rmk: Likewise.
47474 * conf/powerpc-ieee1275.rmk: Likewise.
47475 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47476
a8aa5762 474772006-12-12 Marco Gerards <marco@gnu.org>
47478
47479 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47480
47481 * kern/env.c (grub_env_unset): Don't free the member `value' when
47482 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47483 pointer.
47484
47485 * normal/main.c (current_menu): Removed.
47486 (free_menu): Unset the `menu' environment variable.
47487 (grub_normal_menu_addentry): Make use of the environment variable
47488 `menu', instead of using the global `current_menu'. Allocate
47489 memory for the sourcecode of this entry.
47490 (read_config_file): New argument `nested', changed all callers.
47491 Only in the case of a new context, initialize a new menu. Set the
47492 `menu' environment variable.
47493 (grub_normal_execute): Don't set and unset the environment
47494 variable `menu' here anymore. Only free the menu when leaving the
47495 context.
47496
47497 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47498 leak.
47499
957b3a3e 475002006-12-11 Marco Gerards <marco@gnu.org>
47501
47502 * normal/menu_entry.c (run): Fix off by one bug so the last line
47503 is executed. Move the loader check to outside the loop.
47504
ef875714 475052006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47506
47507 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47508
4e739985 475092006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47510
47511 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47512 the number of sectors. Reported by Andrey Shuvikov
47513 <mr_hyro@yahoo.com>.
f19dbdb7 47514
790707f2 475152006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47516
47517 * kern/disk.c (grub_disk_read): When there is a read error, always
47518 try to read only the necessary data.
f19dbdb7 47519
790707f2 47520 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47521 disk/raid.c.
47522 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47523 prototype.
47524 [GRUB_UTIL] (grub_raid_fini): Likewise.
47525 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47526 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47527 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47528 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47529 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47530 and grub_raid_fini().
f19dbdb7 47531
03e58196 475322006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47533
47534 * include/grub/types.h (__unused): Rename to UNUSED.
47535 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47536 (grub_elf64_size): Likewise.
f19dbdb7 47537
ae4f23bf 475382006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47539
47540 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47541 grub_error_push and grub_error_pop in the error-handling path.
47542 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47543 length.
47544
2166cc83 475452006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47546
47547 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47548 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47550 (kernel_elf_SOURCES): Likewise.
47551 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47552 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47553 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47554 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47555 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47556 (elf_mod_SOURCES): New variable.
47557 (elf_mod_CFLAGS): Likewise.
47558 (elf_mod_LDFLAGS): Likewise.
47559 * include/grub/types.h (__unused): New macro.
47560 * include/grub/elfload.h: New file.
47561 * kern/elf.c: Likewise.
47562 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47563 (ELF32_LOADMASK): New macro.
47564 (ELF64_LOADMASK): Likewise.
47565 (vmlinux): Removed.
47566 (grub_linux_load32): New function.
47567 (grub_linux_load64): Likewise.
47568 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47569 Use grub_elf_t instead of grub_file_t.
47570
a09d5aa5 475712006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47572
47573 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47574 `catch_result' to struct set_color_args.
47575
d976fc51 475762006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47577
47578 * normal/menu.c: Include grub/script.h.
47579 * normal/menu_entry.c: Likewise.
47580 * include/grub/normal.h: Do not include grub/script.h.
47581
67507549 475822006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47583
47584 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47585
69203a99 475862006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47587
47588 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47589 disk.
47590 (grub_disk_close): Print debug messages when closing a disk.
47591 (grub_disk_read): Print debug messages when disk read fails.
47592 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47593 filesystem type.
47594 * kern/partition.c: Include misc.h.
47595 (grub_partition_iterate): Print debug messages when detecting
47596 partition type.
47597
e2b8278c 475982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47599
47600 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47601 is negative.
47602 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47603
97b2f2ff 476042006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47605
47606 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47607 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47608
6555d655 476092006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47610
47611 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47612 instead of sizeof(lv). Patch by Michael Guntsche.
47613
4d42b77f 476142006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47615
47616 * disk/lvm.c: Rename VGS to VG_LIST.
47617 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47618 (grub_lvm_open): Likewise.
47619 Thanks to Michael Guntsche for finding this bug.
47620
5d74d927 476212006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47622
47623 * configure.ac (AC_INIT): Bumped to 1.95.
47624
a1bb27e4 476252006-10-14 Robert Millan <rmh@aybabtu.com>
47626
47627 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47628 with "/dev/.static/dev/md".
47629
e0994b8b 476302006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47631
47632 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47633 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47634 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47635 DRIVE_NAME are always freed.
47636
47637 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47638 DOS_PART, as a DOS partition is counted from one instead of zero
47639 now. Reported by Robert Millan.
47640
ddd5cee9 476412006-10-14 Robert Millan <rmh@aybabtu.com>
47642
47643 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47644 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47645 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47646 string returned by grub_guess_root_device.
47647 * util/i386/pc/grub-setup.c: Likewise.
47648 * util/i386/pc/grub-probefs.c: Likewise.
47649
47650 * util/i386/pc/grub-probefs.c: Rename to ...
47651 * util/i386/pc/grub-probe.c: ... this.
47652 * DISTLIST: Remove grub-probefs, add grub-probe.
47653 * conf/i386-efi.rmk: Likewise.
47654 * conf/i386-pc.rmk: Likewise.
47655 * util/i386/pc/grub-install.in: Likewise.
47656
47657 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47658 choose which information we want to print.
47659
2b002173 476602006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47661
47662 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47663 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47664 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47665 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47666 video/readers/tga.c and video/i386/pc/vbeutil.c.
47667
476682006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47669
47670 Added support for RAID and LVM.
f19dbdb7 47671
2b002173 47672 * disk/lvm.c: New file.
47673 * disk/raid.c: Likewise.
47674 * include/grub/lvm.h: Likewise.
f19dbdb7 47675 * include/grub/raid.h: Likewise.
2b002173 47676 * include/grub/util/lvm.h: Likewise.
47677 * include/grub/util/raid.h: Likewise.
47678 * util/lvm.c: Likewise.
47679 * util/raid.c: Likewise.
47680
47681 * include/grub/disk.h (grub_disk_dev_id): Add
47682 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47683 (grub_disk_get_size): New prototype.
47684 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47685 returns a partition.
47686 (grub_disk_get_size): New function.
f19dbdb7 47687
2b002173 47688 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47689 verbatim if grub_install_dos_part is -2.
47690
47691 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47692 and LVM devices.
47693
47694 * util/i386/pc/grub-setup.c (setup): New argument
47695 MUST_EMBED. Force embedding of GRUB when the argument is
47696 true. Close FILE before returning.
47697 (main): Add support for RAID and LVM.
f19dbdb7 47698
2b002173 47699 * conf/common.rmk: Add RAID and LVM modules.
47700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47701 util/lvm.c.
47702 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47703
47704 * kern/misc.c (grub_strstr): New function.
47705 * include/grub/misc.h (grub_strstr): New prototype.
47706
050548d0 477072006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47708
47709 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47710
da849d2d 477112006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47712
47713 * kern/misc.c (grub_strtoull): Guess the base only if not
47714 specified.
47715
97b2f2ff 477162006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47717
47718 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47719 PowerMac support.
47720
97b2f2ff 477212006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47722
47723 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47724
47725 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47726 Remove `flags' argument. All callers changed.
47727 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47728 (IEEE1275_IHANDLE_INVALID): New variable.
47729 (IEEE1275_CELL_INVALID): New variable.
47730 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47731 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47732 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47733 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47734 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47735 codes from Open Firmware. All callers updated.
47736 (grub_ieee1275_next_property): Directly return Open Firmware return
47737 code.
47738 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47739 Standardize error checking from `grub_ieee1275_get_property'.
47740 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47741 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47742
97b2f2ff 477432006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 47744
47745 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47746 `instance_to_package_args' to `instance_to_path_args'.
47747
47748 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47749 `grub_ieee1275_chosen'.
47750
47751 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47752 `grub_ieee1275_interpret'.
47753
97b2f2ff 477542006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 47755
47756 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47757
97b2f2ff 477582006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 47759
47760 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47761 (__cmpdi): Likewise.
47762
47763 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47764 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47765 `grub_ssize_t'.
47766
02bb8acc 47767 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 47768
47769 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47770 to type `grub_ssize_t'.
47771 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47772
7f9a8531 477732006-09-22 Marco Gerards <marco@gnu.org>
47774
47775 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47776 newlines.
47777
b5ef1102 477782006-09-22 Marco Gerards <marco@gnu.org>
47779
47780 * commands/echo.c: New file.
47781
47782 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47783
47784 * conf/common.rmk (echo_mod_SOURCES): New variable.
47785 (echo_mod_CFLAGS): Likewise.
47786 (echo_mod_LDFLAGS): Likewise.
47787
2cff3677 477882006-09-22 Marco Gerards <marco@gnu.org>
47789
47790 * normal/main.c (get_line): Malloc memory instead of using
47791 preallocated memory. Removed the arguments `cmdline' and
47792 `max_len'. Updated all callers.
47793
6ba4688b 477942006-09-22 Marco Gerards <marco@gnu.org>
47795
47796 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47797 (normal_mod_DEPENDENCIES): Likewise.
47798
47799 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47800 (normal_mod_DEPENDENCIES): Likewise.
47801
47802 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47803
e02ac02c 478042006-09-22 Johan Rydberg <jrydberg@gnu.org>
47805
47806 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47807 programs.
47808 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47809 (normal_mod_DEPENDENCIES): Likewise.
47810 * conf/i386-pc.mk: Regenerate.
47811 * conf/i386-efi.mk: Likewise
47812 * conf/common.mk: Likewise.
47813 * conf/powerpc-ieee1275.mk: Likewise.
47814 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47815
8d252e44 478162006-09-22 Robert Millan <rmh@aybabtu.com>
47817
47818 Sync with i386 version.
47819 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47820 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47821
209bf7ac 478222006-09-21 Robert Millan <rmh@aybabtu.com>
47823
47824 Import from GRUB Legacy (lib/device.c):
47825 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47826 (init_device_map) [__linux__]: Add support for I2O devices.
47827
6b146090 478282006-09-14 Marco Gerards <marco@gnu.org>
47829
47830 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47831 `-melf_i386'.
47832
e38600a8 478332006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47834
47835 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47836 /boot/grub/*.lst.
78fa1790 47837
2952da5d 47838 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47839
2952da5d 47840 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47841 before adding it to device.map.
47842
01b82a64 478432006-08-15 Johan Rydberg <jrydberg@gnu.org>
47844
fe6b695a 47845 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47846 compiles a file; using the -MD option.
47847 * conf/common.mk: Regenerate.
47848 * conf/i386-pc.mk: Likewise.
47849 * conf/i386-efi.mk: Likewise.
47850 * conf/powerpc-ieee1275.mk: Likewise.
47851 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47852
1064790d 478532006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47854
47855 Move the prototypes of grub_setjmp and grub_longjmp to
47856 cpu/setjmp.h, so that each architecture may specify different
47857 attributes.
f19dbdb7 47858
1064790d 47859 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47860 (grub_longjmp): Likewise.
47861 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47862 (grub_longjmp): Likewise.
47863 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47864 (grub_longjmp): Likewise.
47865
47866 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47867 [!GRUB_UTIL] (grub_longjmp): Removed.
47868
29dda3ed 478692006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47870
47871 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47872 "color!" method does not return any value.
47873
ad2a06ed 478742006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47875
47876 * include/grub/bitmap.h: New file.
47877
47878 * include/grub/i386/pc/vbeutil.h: Likewise.
47879
47880 * video/bitmap.c: Likewise.
47881
47882 * video/readers/tga.c: Likewise.
47883
47884 * video/i386/pc/vbeutil.c: Likewise.
47885
47886 * commands/videotest.c: Code cleanup and updated to reflect to new
47887 video API.
47888
47889 * term/gfxterm.c: Likewise.
47890
47891 * video/video.c: Likewise.
47892
47893 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47894 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47895 (bitmap_mod_SOURCES): New entry.
47896 (bitmap_mod_CFLAGS): Likewise.
47897 (bitmap_mod_LDFLAGS): Likewise.
47898 (tga_mod_SOURCES): Likewise.
47899 (tga_mod_CFLAGS): Likewise.
47900 (tga_mod_LDFLAGS): Likewise.
47901
47902 * include/grub/video.h (grub_video_blit_operators): New enum type.
47903 (grub_video_render_target): Changed as forward declaration and moved
47904 actual definition to be video driver specific.
47905 (grub_video_adapter.blit_bitmap): Added blitting operator.
47906 (grub_video_adapter.blit_render_target): Likewise.
47907 (grub_video_blit_bitmap): Likewise.
47908 (grub_video_blit_render_target): Likewise.
47909
47910 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47911 driver specific render target definition.
47912 (grub_video_vbe_map_rgba): Added driver internal helper.
47913 (grub_video_vbe_unmap_color): Updated to use
47914 grub_video_i386_vbeblit_info.
47915 (grub_video_vbe_get_video_ptr): Likewise.
47916
47917 * include/grub/i386/pc/vbeblit.h
47918 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47919 grub_video_i386_vbeblit_info.
47920 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47921 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47922 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47923 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47924 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47925 (grub_video_i386_vbeblit_index_index): Likewise.
47926 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47927 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47928 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47929 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47930 operator.
47931 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47932 operator.
47933
47934 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47935 include/grub/i386/pc/vbeblit.h.
47936
47937 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47938 Updated to use grub_video_i386_vbeblit_info.
47939 (grub_video_i386_vbefill_R8G8B8): Likewise.
47940 (grub_video_i386_vbefill_index): Likewise.
47941 (grub_video_i386_vbefill): Added generic filler.
47942
47943 * video/i386/pc/vbefill.c: Updated to reflect changes on
47944 include/grub/i386/pc/vbefill.h.
47945
47946 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47947 grub_video_i386_vbeblit_info.
47948 (grub_video_vbe_unmap_color): Likewise.
47949 (grub_video_vbe_blit_glyph): Likewise.
47950 (grub_video_vbe_scroll): Likewise.
47951 (grub_video_vbe_draw_pixel): Removed function.
47952 (grub_video_vbe_get_pixel): Likewise.
47953 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47954 updated code to use it.
47955 (common_blitter): Added common blitter for render target and bitmap.
47956 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47957 (grub_video_vbe_blit_render_target): Likewise.
47958
bc8c036d 479592006-07-30 Johan Rydberg <jrydberg@gnu.org>
47960
47961 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47962 is in text mode if there is no console control protocol instance
47963 available.
47964
684a8eff 479652006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47966
47967 * include/grub/video.h: Code cleanup.
47968
47969 * include/grub/i386/pc/vbe.h: Likewise.
47970
47971 * video/i386/pc/vbe.c: Likewise.
47972
47973 * video/i386/pc/vbeblit.c: Likewise.
47974
47975 * video/i386/pc/vbefill.c: Likewise.
47976
47977 * video/video.c: Likewise. Also added more comments.
47978
5915059b 479792006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47980
47981 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47982 (struct grub_biosdisk_dap): Likewise.
47983
47984 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47985 linkage settings for all functions.
47986
90ce5d56 479872006-07-12 Marco Gerards <marco@gnu.org>
47988
47989 * configure.ac (--enable-mm-debug): Fix typo.
47990
47991 * genkernsyms.sh.in: Use proper quoting for `CC'.
47992
43e7f879 479932006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47994
47995 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47996 (normal_mod_ASFLAGS): Remove "-m32".
47997
4889bdec 479982006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47999
48000 * util/misc.c: Include config.h.
48001 [!HAVE_MEMALIGN]: Do not include malloc.h.
48002 (grub_memalign): Use posix_memalign, if present. Then, use
48003 memalign, if present. Otherwise, emit an error.
48004
48005 * util/grub-emu.c: Do not include malloc.h.
48006
48007 * include/grub/util/misc.h: Include unistd.h. This is required for
48008 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48009 D. Eades III <hde@foobar-qux.org>.
48010
48011 * configure.ac (AC_GNU_SOURCE): Added.
48012 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48013 type.
48014
fd39d4da 480152006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48016
48017 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48018 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48019
b786f3b5 480202006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48021
48022 * include/grub/types.h (grub_host_addr_t): Rename to
48023 grub_target_addr_t.
48024 (grub_host_off_t): Rename to grub_target_off_t.
48025 (grub_host_size_t): Rename to grub_target_size_t.
48026 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48027 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48028
48029 * include/grub/kernel.h (struct grub_module_header): Change type
48030 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48031 (grub_module_info): Likewise.
f19dbdb7 48032
051988bb 480332006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48034
48035 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48036 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48037 Velazquez <jesus.velazquez@gmail.com>.
48038
deae281b 480392006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48040
48041 Count partitions from 1 instead of 0 in the string representation
48042 of partitions. Still use 0-based internally.
f19dbdb7 48043
deae281b 48044 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48045 (sun_partition_map_iterate): Use grub_partition_t instead of
48046 struct grub_partition *. Cast DESC->START_CYLINDER to
48047 grub_uint64_t after converting the endian.
48048 (sun_partition_map_probe): Subtract 1 for PARTNUM.
48049 (sun_partition_map_get_name): Add 1 to P->INDEX.
48050
48051 * partmap/pc.c (grub_partition_parse): Subtract 1 for
48052 PCDATA->DOS_PART.
48053 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
48054
48055 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
48056 zero instead of one.
48057 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
48058 (gpt_partition_map_get_name): Add 1 into P->INDEX.
48059
48060 * partmap/apple.c (apple_partition_map_iterate): Change the type
48061 of POS to unsigned.
48062 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48063 (apple_partition_map_get_name): Add 1 into P->INDEX.
48064
48065 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48066 of POS to unsigned.
48067 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48068 calculate the offset of a partition.
48069 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48070 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48071
48072 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48073 SECTOR to grub_disk_addr_t.
48074 (acorn_partition_map_iterate): Likewise.
48075 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48076 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48077 top.
48078 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48079
48080 * kern/i386/pc/init.c (make_install_device): Add 1 into
48081 GRUB_INSTALL_DOS_PART.
48082
48083 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
48084 conditional.
48085
524a1e6a 480862006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48087
48088 Clean up the code to support 64-bit addressing in disks and
48089 files. This change is not enough for filesystems yet.
f19dbdb7 48090
524a1e6a 48091 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
48092 type of "start" to grub_uint64_t.
48093 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
48094 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
48095 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
48096 convert addresses.
48097
48098 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
48099 to grub_disk_addr_t.
48100
48101 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
48102 string.
48103
48104 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48105
48106 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
48107 to char *.
48108
48109 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
48110
48111 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
48112
48113 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
48114
48115 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
48116 to grub_off_t, to detect an error from grub_file_seek.
48117 (grub_multiboot_load_elf32): Likewise.
48118
48119 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
48120 maximum unsigned long value when an overflow is detected.
48121 (grub_strtoull): New function.
48122 (grub_divmod64): Likewise.
48123 (grub_lltoa): use grub_divmod64.
48124
48125 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
48126 grub_disk_addr_t.
48127 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
48128 the pointer to next character. Use grub_strtoull instead of
48129 grub_strtoul.
48130 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
48131 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
48132 respectively.
48133
fe6b695a 48134 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 48135 return value is signed.
48136 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
48137 test if OFFSET is less than zero, as OFFSET is unsigned now.
48138
48139 * kern/disk.c (struct grub_disk_cache): Change the type of
48140 "sector" to grub_disk_addr_t.
48141 (grub_disk_cache_get_index): Change the type of SECTOR to
48142 grub_disk_addr_t. Calculate the hash with SECTOR casted to
48143 unsigned after shifting.
48144 (grub_disk_cache_invalidate): Change the type of SECTOR to
48145 grub_disk_addr_t.
48146 (grub_disk_cache_unlock): Likewise.
48147 (grub_disk_cache_store): Likewise.
48148 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
48149 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
48150 grub_disk_addr_t and grub_uint64_t, respectively.
48151 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
48152 body, as the value of OFFSET is tweaked by
48153 grub_disk_check_range. Change the types of START_SECTOR, LEN and
48154 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
48155 respectively.
48156 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
48157 body, as the value of OFFSET is tweaked by
48158 grub_disk_check_range. Change the types of LEN and N to
48159 grub_size_t.
48160
48161 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
48162 and "saved_offset" to grub_off_t.
48163 (test_header): Cast BUF to char *.
48164 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
48165 to char *.
48166 (grub_gzio_read): Change the types of OFFSET and SIZE to
48167 grub_off_t and grub_size_t, respectively.
48168
48169 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48170 Removed.
48171 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48172 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48173 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48174 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48175 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48176
48177 * include/grub/types.h (grub_off_t): Unconditionally set to
48178 grub_uint64_t.
48179 (grub_disk_addr_t): Changed to grub_uint64_t.
48180
48181 * include/grub/partition.h (struct grub_partition): Change the
48182 types of "start", "len" and "offset" to grub_disk_addr_t,
48183 grub_uint64_t and grub_disk_addr_t, respectively.
48184 (grub_partition_get_start): Return grub_disk_addr_t.
48185 (grub_partition_get_len): Return grub_uint64_t.
48186
48187 * include/grub/misc.h (grub_strtoull): New prototype.
48188 (grub_divmod64): Likewise.
48189
48190 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48191 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48192 grub_off_t, respectively.
48193 All callers and references changed.
48194
48195 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48196 grub_size_t in "read".
48197 All callers and references changed.
48198
48199 * include/grub/file.h (struct grub_file): Change the types of
48200 "offset" and "size" to grub_off_t and grub_off_t,
48201 respectively. Change the type of SECTOR to grub_disk_addr_t in
48202 "read_hook".
48203 (grub_file_read): Change the type of LEN to grub_size_t.
48204 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48205 grub_off_t.
48206 (grub_file_size): Return grub_off_t.
48207 (grub_file_tell): Likewise.
48208 All callers and references changed.
48209
48210 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48211 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48212 "write".
48213 (struct grub_disk): Change the type of "total_sectors" to
48214 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 48215 "read_hook".
524a1e6a 48216 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48217 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48218 (grub_disk_write): Likewise.
48219 All callers and references changed.
48220
48221 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48222 char * for grub_strncmp to silence gcc.
48223 (grub_iso9660_mount): Likewise.
48224 (grub_iso9660_mount): Likewise.
48225 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48226 return statement.
48227 (grub_iso9660_iterate_dir): Likewise.
48228 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48229
48230 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48231 LEN to grub_disk_addr_t and grub_size_t, respectively.
48232
48233 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48234
48235 * fs/jfs.c (grub_jfs_read_file): Likewise.
48236
48237 * fs/minix.c (grub_jfs_read_file): Likewise.
48238
48239 * fs/sfs.c (grub_jfs_read_file): Likewise.
48240
48241 * fs/ufs.c (grub_jfs_read_file): Likewise.
48242
48243 * fs/xfs.c (grub_jfs_read_file): Likewise.
48244
48245 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48246 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48247 respectively.
48248
48249 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48250 BLKNR to -1 instead of returning GRUB_ERRNO.
48251 (grub_ext2_read_file): Change the types of SECTOR and
48252 LEN to grub_disk_addr_t and grub_size_t, respectively.
48253
48254 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48255 LEN to grub_disk_addr_t and grub_size_t, respectively.
48256
48257 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48258 grub_file_read.
48259
48260 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48261 string. Do not cast SECTOR explicitly.
48262
48263 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48264 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48265 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48266 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48267 over 2TB and LBA mode is not supported, raise an error.
48268 (get_safe_sectors): New function.
48269 (grub_biosdisk_read): Use get_safe_sectors.
48270 (grub_biosdisk_write): Likewise.
48271
48272 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48273 (grub_efidisk_write): Likewise.
48274
48275 * disk/loopback.c (delete_loopback): Cosmetic changes.
48276 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48277 correctly.
48278 (grub_loopback_open): Likewise.
48279 (grub_loopback_read): Likewise. Also, change the type of POS to
48280 grub_off_t, and fix the usage of grub_memset.
48281
48282 * commands/i386/pc/play.c: Include grub/machine/time.h.
48283
48284 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48285 print FILE->SIZE.
48286
48287 * commands/configfile.c: Include grub/env.h.
48288
48289 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48290 GRUB_ERRNO directly instead. Change the type of POS to
48291 grub_off_t. Follow the coding standard.
48292
48293 * commands/blocklist.c: Include grub/partition.h.
48294 (grub_cmd_blocklist): Return an error if the underlying device is
48295 not a disk. Take the starting sector of a partition into account,
48296 if a partition is used.
48297
48298 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48299 a length field.
48300 (lba_mode): Support 64-bit addresses.
48301 (chs_mode): Likewise.
48302 (copy_buffer): Adapted to the new offsets of a length field and a
48303 segment field.
48304 (blocklist_default_start): Allocate 64-bit space.
48305
48306 * boot/i386/pc/boot.S (force_lba): Removed.
48307 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48308 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48309 space.
48310 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48311 is useless.
48312 (lba_mode): Refactored to support a 64-bit address. More size
48313 optimization.
48314 (setup_sectors): Likewise.
48315
53af98ad 483162006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48317
48318 * DISTLIST: Added include/grub/i386/linux.h. Removed
48319 include/grub/i386/pc/linux.h
48320
48321 * configure.ac (AC_INIT): Bumped to 1.94.
48322
48323 * config.guess: Updated from gnulib.
48324 * config.sub: Likewise.
48325 * install-sh: Likewise.
48326 * mkinstalldirs: Likewise.
48327
b4c1940a 483282006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48329
48330 * conf/common.rmk (grub_modules_init.lst): Depended on
48331 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48332 MODSRCFILES.
48333
48334 * genmk.rb (PModule::rule): Reverted the previous change.
48335
cfca1cfd 483362006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48337
48338 * conf/common.rmk (grub_modules_init.lst): Depends on
48339 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48340 that the target does not exist before producing.
48341 (grub_modules_init.h): Remove the target before generating.
48342 (grub_emu_init.c): Likewise.
48343
48344 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48345
aa6d7826 483462006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48347
48348 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48349 for the target-specific tests. Make sure that we also have the
48350 up-to-date target variables for those tests.
48351
26c607b9 483522006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48353
48354 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48355 (PModule::rule): Likewise.
48356
0162321a 483572006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48358
48359 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48360 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48361 target-specific flags should be prefixed.
48362 (PModule::rule): Likewise.
48363
6c826348 483642006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48365
48366 * configure.ac (CMP): Check if cmp is available explicitly.
48367
b977bf01 483682006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48369
48370 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48371 (target_cpu): New variable.
48372 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48373
b977bf01 48374 * util/i386/pc/grub-install.in (host_cpu): Removed.
48375 (target_cpu): New variable.
48376 (pkglibdir): Use target_cpu instead of host_cpu.
48377
48378 * util/genmoddep.c: Removed.
f19dbdb7 48379
b977bf01 48380 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48381 instead of GRUB_HOST_SIZEOF_VOID_P.
48382 * kern/dl.c: Likewise.
48383
48384 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48385 ...
48386 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48387 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48388 (GRUB_TARGET_SIZEOF_LONG): ... this.
48389 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48390 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48391 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48392 to ...
48393 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48394 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48395 (GRUB_TARGET_SIZEOF_LONG): ... this.
48396 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48397 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48398 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48399 to ...
48400 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48401 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48402 (GRUB_TARGET_SIZEOF_LONG): ... this.
48403 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48404 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48405
48406 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48407 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48408 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48409 instead of GRUB_HOST_SIZEOF_LONG.
48410 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48411 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48412 GRUB_CPU_WORDS_BIGENDIAN.
48413 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48414 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48415 grub_host_ssize_t.
48416
48417 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48418 (genmoddep_SOURCES): Likewise.
48419 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48420 (genmoddep_SOURCES): Likewise.
48421 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48422 (genmoddep_SOURCES): Likewise.
48423 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48424 Likewise.
48425 (genmoddep_SOURCES): Likewise.
48426
48427 * genmoddep.awk: New file.
48428
48429 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48430 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48431 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48432 (PModule::rule): Likewise.
48433 (Program::rule): Likewise.
48434 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48435 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48436 respectively.
48437
48438 * configure.ac: Rewritten intensively to use host and target
48439 instead of build and host, respectively.
48440
48441 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48442 (host_cpu): Removed.
48443 (target_cpu): New variable.
48444 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48445 (BUILD_CC): Removed.
48446 (BUILD_CFLAGS): Likewise.
48447 (BUILD_CPPFLAGS): Likewise.
48448 (TARGET_CC): New variable.
48449 (TARGET_CFLAGS): Likewise.
48450 (TARGET_CPPFLAGS): Likewise.
48451 (TARGET_LDFLAGS): Likewise.
48452 (AWK): Likewise.
48453 (include): Use target_cpu instead of host_cpu.
48454 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48455
b977bf01 48456 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48457
f09771a1 484582006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48459
48460 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48461 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48462 field 'false' to 'exec_on_false'.
48463 (grub_script_create_cmdif): Renamed argument names to reflect above
48464 changes.
48465
48466 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48467
48468 * normal/script.c (grub_script_create_cmdif): Likewise.
48469
118f4fb3 484702006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48471
48472 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48473 top.
48474 (grub_hfsplus_btree_recptr): Likewise.
48475 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48476 FILEBLOCK both to pass a block number and store next block
48477 number.
48478 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48479 overflow file correctly. Specify errors appropriately, because
48480 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48481 grub_hfsplus_btree_recptr to get the pointer to a found key.
48482 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48483 is found.
48484
48485 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48486 linux.mod.
48487 (_linux_mod_SOURCES): New variable.
48488 (_linux_mod_CFLAGS): Likewise.
48489 (_linux_mod_LDFLAGS): Likewise.
48490 (linux_mod_SOURCES): Likewise.
48491 (linux_mod_CFLAGS): Likewise.
48492 (linux_mod_LDFLAGS): Likewise.
48493
48494 * DISTLIST: Added loader/i386/efi/linux.c,
48495 loader/i386/efi/linux_normal.c and
48496 include/grub/i386/efi/loader.h.
48497
48498 * loader/i386/efi/linux.c: New file.
48499 * loader/i386/efi/linux_normal.c: Likewise.
48500 * include/grub/i386/efi/loader.h: Likewise.
48501
89a7d726 485022006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48503
48504 * commands/blocklist.c: New file.
48505
48506 * DISTLIST: Added commands/blocklist.c.
48507
48508 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48509 color for the background, and a darker color for the foreground.
89a7d726 48510 (grub_console_checkkey): Return READ_KEY.
48511 (grub_console_cls): Set the background to
48512 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48513
48514 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48515
48516 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48517 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48518
48519 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48520 prototype.
48521
48522 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48523 BG. The spec is wrong again.
48524
48525 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48526 prototype.
48527 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48528
48529 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48530 commands/blocklist.c.
48531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48532
89a7d726 48533 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48534 (blocklist_mod_SOURCES): New variable.
48535 (blocklist_mod_CFLAGS): Likewise.
48536 (blocklist_mod_LDFLAGS): Likewise.
48537
75c8f258 485382006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48539
48540 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48541 duplication.
48542 (lba_mode): Use %eax more intensively to reduce the code size.
48543
da2eb181 485442006-05-20 Marco Gerards <marco@gnu.org>
48545
48546 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48547
48548 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48549 for `menuentry'.
48550 (script): Accept leading newlines.
48551 (newlines): New rule to describe 0 or more newlines.
48552 (commands): Accept `command' with trailing newline. Fixed the
48553 order in which arguments were passed to `grub_script_add_cmd'.
48554 Accept commands separated by newlines.
48555 (function): Changed to accept newlines.
48556 (menuentry) Rewritten.
48557
48558 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48559 front of the list, instead of to the end.
48560
577b4050 485612006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48562
48563 * util/i386/pc/grub-install.in (bindir): New variable.
48564 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48565 Shaver <lbgwjl@gmail.com>.
48566
0d6e1189 485672006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48568
48569 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48570 grub/machine/linux.h
48571 * loader/i386/pc/linux.c: Likewise.
48572
48573 * include/grub/i386/pc/linux.h: Moved to ...
48574 * include/grub/i386/linux.h: ... here.
48575
48576 * include/grub/i386/linux.h (struct linux_kernel_params): New
48577 struct.
f19dbdb7 48578
31b86e9f 485792006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48580
48581 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48582 checking.
48583 (grub_video_vbe_blit_glyph): Likewise.
48584 (grub_video_vbe_blit_bitmap): Likewise.
48585 (grub_video_vbe_blit_render_target): Likewise.
48586
83b984de 485872006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48588
48589 * configure.ac (--with-platform): Properly quote the square
48590 brackets.
48591
5f0413bd 485922006-05-08 Marco Gerards <marco@gnu.org>
48593
48594 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48595 this...
48596 (kernel_elf_HEADERS): ...to this. Updated all users.
48597 (grubof_symlist.c): Renamed from this...
48598 (kernel_elf_symlist.c): ...to this. Updated all users.
48599 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48600 (grubof_SOURCES): Renamed from this...
48601 (kernel_elf_SOURCES): ...to this.
48602 (grubof_HEADERS): Renamed from this...
48603 (kernel_elf_HEADERS): ...to this.
48604 (grubof_CFLAGS): Renamed from this...
48605 (kernel_elf_CFLAGS): ...to this.
48606 (grubof_ASFLAGS): Renamed from this...
48607 (kernel_elf_ASFLAGS): ...to this.
48608 (grubof_LDFLAGS): Renamed from this...
48609 (kernel_elf_LDFLAGS): ...to this.
48610
48611 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48612 this...
48613 (kernel_elf_HEADERS): ...to this. Updated all users.
48614 (grubof_symlist.c): Renamed from this...
48615 (kernel_elf_symlist.c): ...to this. Updated all users.
48616 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48617 (grubof_SOURCES): Renamed from this...
48618 (kernel_elf_SOURCES): ...to this.
48619 (grubof_HEADERS): Renamed from this...
48620 (kernel_elf_HEADERS): ...to this.
48621 (grubof_CFLAGS): Renamed from this...
48622 (kernel_elf_CFLAGS): ...to this.
48623 (grubof_ASFLAGS): Renamed from this...
48624 (kernel_elf_ASFLAGS): ...to this.
48625 (grubof_LDFLAGS): Renamed from this...
48626 (kernel_elf_LDFLAGS): ...to this.
48627
48628 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48629 `kernel.elf' instead of `grubof'.
48630
05568c2e 486312006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48632
48633 Add --with-platform to configure. Use pkglibdir instead of
48634 pkgdatadir. This is reported by Roger Leigh.
48635
48636 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48637 (host_vendor): Likewise.
48638 (host_os): Likewise.
48639 (pkgdatadir): Likewise.
48640 (platform): New variable.
48641 (pkglibdir): Likewise.
48642 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48643
05568c2e 48644 * util/i386/pc/grub-install.in (datadir): Removed.
48645 (host_vendor): Likewise.
48646 (host_os): Likewise.
48647 (pkgdatadir): Likewise.
48648 (platform): New variable.
48649 (pkglibdir): Likewise.
48650 Use PKGLIBDIR instead of PKGDATADIR.
48651
48652 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48653 instead of GRUB_DATADIR.
48654 (main): Likewise.
48655 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48656 (main): Likewise.
48657 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48658 (main): Likewise.
48659
48660 * configure.ac (--with-platform): New option.
48661 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48662
48663 * Makefile.in: Include a makefile based on PLATFORM instead of
48664 HOST_VENDOR.
48665 (pkgdatadir): Not appended by the machine type.
48666 (pkglibdir): Appended by the machine type.
48667 (host_vendor): Removed.
48668 (platform): New variable.
48669 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48670 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48671 (uninstall): Likewise.
48672
4e93851c 486732006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48674
48675 Use the environment context in the menu. Remove the commands
48676 "default" and "timeout", and use variables instead.
f19dbdb7 48677
4e93851c 48678 * normal/menu.c: Include grub/env.h.
48679 (print_entry): Cast TITLE to silence gcc.
48680 (get_timeout): New function.
48681 (set_timeout): Likewise.
48682 (get_entry_number): Likewise.
48683 (run_menu): Use a default entry, a fallback entry and a timeout
48684 in the environment variables "default", "fallback" and
48685 "timeout". Also, tweak the default entry if it is not within the
48686 current menu entries.
48687 (grub_menu_run): Use a fallback entry in the environment variable
48688 "fallback".
48689
48690 * normal/main.c (read_config_file): Do not initialize
48691 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48692 NEWMENU->TIMEOUT.
48693 (grub_normal_execute): Use a data slot to store the menu.
48694
48695 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48696 fallback_entry and timeout.
48697 (struct grub_menu_list): Removed.
48698 (grub_menu_list_t): Likewise.
48699 (struct grub_context): Likewise.
48700 (grub_context_t): Likewise.
48701 (grub_context_get): Likewise.
48702 (grub_context_get_current_menu): Likewise.
48703 (grub_context_push_menu): Likewise.
48704 (grub_context_pop_menu): Likewise.
48705 (grub_default_init): Likewise.
48706 (grub_default_fini): Likewise.
48707 (grub_timeout_init): Likewise.
48708 (grub_timeout_fini): Likewise.
48709
48710 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48711 and timeout.mod.
48712 (normal_mod_SOURCES): Removed normal/context.c.
48713
48714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48715 commands/default.c, commands/timeout.c and normal/context.c.
48716 (normal_mod_SOURCES): Removed normal/context.c.
48717
48718 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48719 commands/timeout.c and normal/context.c.
48720 (normal_mod_SOURCES): Removed normal/context.c.
48721
48722 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48723 commands/default.c, commands/timeout.c and normal/context.c.
48724 (normal_mod_SOURCES): Removed normal/context.c.
48725
48726 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48727 timeout.mod.
48728 (default_mod_SOURCES): Removed.
48729 (default_mod_CFLAGS): Likewise.
48730 (default_mod_LDFLAGS): Likewise.
48731 (timeout_mod_SOURCES): Removed.
48732 (timeout_mod_CFLAGS): Likewise.
48733 (timeout_mod_LDFLAGS): Likewise.
48734
48735 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48736 normal/context.c.
48737
48738 * commands/default.c: Removed.
48739 * commands/timeout.c: Likewise.
48740 * normal/context.c: Likewise.
48741
1eb9cc1d 487422006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48743
48744 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48745
385bd9c1 487462006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48747
48748 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48749 "next" to "prev" for readability.
48750 (struct grub_env_sorted_var): New struct.
48751 (grub_env_context): Renamed to ...
48752 (initial_context): ... this.
48753 (grub_env_var_context): Renamed to ...
48754 (current_context): ... this.
48755 (grub_env_find): Look only at CURRENT_CONTEXT.
48756 (grub_env_context_open): Rewritten to copy exported variables from
48757 previous context.
48758 (grub_env_context_close): Rewritten according to the new
48759 scheme. Also, add an assertion to prevent the initial context from
48760 removed.
48761 (grub_env_insert): Removed the code for the sorted list.
48762 (grub_env_remove): Likewise.
48763 (grub_env_export): Simply mark the variable with
48764 GRUB_ENV_VAR_GLOBAL.
48765 (grub_env_set): A cosmetic change for naming consistency.
48766 (grub_env_get): Likewise.
48767 (grub_env_unset): Likewise.
48768 (grub_env_iterate): Rewritten to sort variables within this
48769 function.
48770 (grub_register_variable_hook): Fixed for naming consistency. Call
48771 grub_env_find again, only if NAME is not found at the first time.
48772 (mangle_data_slot_name): New function.
48773 (grub_env_set_data_slot): Likewise.
48774 (grub_env_get_data_slot): Likewise.
48775 (grub_env_unset_data_slot): Likewise.
48776
48777 * include/grub/env.h (grub_env_var_type): New enum.
48778 (GRUB_ENV_VAR_LOCAL): New constant.
48779 (GRUB_ENV_VAR_GLOBAL): Likewise.
48780 (GRUB_ENV_VAR_DATA): Likewise.
48781 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48782 "type".
48783 (grub_env_set): Replace VAR with NAME for consistency.
48784 (grub_register_variable_hook): Likewise.
48785 (grub_env_export): Specify the name of the argument.
48786 (grub_env_set_data_slot): New prototype.
48787 (grub_env_get_data_slot): Likewise.
48788 (grub_env_unset_data_slot): Likewise.
48789
7f362539 487902006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48791
48792 Extend the loader so that GRUB can accept a loader which comes
48793 back to GRUB when a loaded image exits. Also, this change adds
48794 support for a chainloader on EFI.
f19dbdb7 48795
7f362539 48796 * term/efi/console.c: Include grub/misc.h.
48797 (grub_console_checkkey): Display a scan code on the top for
48798 debugging. This will be removed once the EFI port gets stable.
48799 Correct the scan code mapping.
48800
48801 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48802 allocate memory from larger regions, in order to reduce the number
48803 of allocated regions. Otherwise, the MacOSX loader panics.
48804 (filter_memory_map): Avoid less than 1MB for compatibility with
48805 other loaders.
48806 (add_memory_regions): Allocate from the tail of a region, if
48807 possible, to avoid allocating a region near to 1MB, for the MacOSX
48808 loader.
48809
48810 * kern/efi/init.c (grub_efi_set_prefix): Specify
48811 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48812
48813 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48814 argument IMAGE_HANDLE and specify it to get a loaded image.
48815 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48816 grub_efi_get_loaded_image.
fe6b695a 48817 (grub_efi_get_filename): Divide the length by the size of
7f362539 48818 grub_efi_char16_t.
48819 (grub_efi_get_device_path): New function.
48820 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48821 the length by the size of grub_efi_char16_t for a file path device
48822 path node.
48823
48824 * kern/loader.c (grub_loader_noreturn): New variable.
48825 (grub_loader_set): Accept a new argument NORETURN. Set
48826 GRUB_LOADER_NORETURN to NORETURN.
48827 All callers changed.
48828 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48829 grub_machine_fini.
48830
48831 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48832 prototype.
48833 (grub_efi_get_loaded_image): Take an argument to specify an image
48834 handle.
48835
48836 * include/grub/loader.h (grub_loader_set): Added one more argument
48837 NORETURN.
48838
48839 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48840 instead of grub_efi_open_protocol.
48841 (grub_efidisk_get_device_name): Likewise.
48842 (grub_efidisk_close): Print a newline.
48843 (grub_efidisk_get_device_handle): Fixed to use
48844 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48845 GRUB_EFI_DEVICE_PATH_TYPE.
48846
48847 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48848 * kern/efi/efi.c (device_path_guid): ... here.
48849
48850 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48851 chain.mod.
48852 (kernel_mod_HEADERS): Added efi/disk.h.
48853 (_chain_mod_SOURCES): New variable.
48854 (_chain_mod_CFLAGS): Likewise.
48855 (_chain_mod_LDFLAGS): Likewise.
48856 (chain_mod_SOURCES): Likewise.
48857 (chain_mod_CFLAGS): Likewise.
48858 (chain_mod_LDFLAGS): Likewise.
48859
48860 * DISTLIST: Added include/grub/efi/chainloader.h,
48861 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48862
48863 * include/grub/efi/chainloader.h: New file.
48864 * loader/efi/chainloader.c: Likewise.
48865 * loader/efi/chainloader_normal.c: Likewise.
48866
c0111d6e 488672006-04-30 Marco Gerards <marco@gnu.org>
48868
48869 * commands/configfile.c (grub_cmd_source): New function.
48870 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48871 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48872
df5341da 488732006-04-30 Marco Gerards <marco@gnu.org>
48874
48875 * normal/execute.c (grub_script_execute_cmd): Change the return
48876 type to `grub_err_t'. Correctly return the error.
48877 (grub_script_execute_cmdline): In case a command line is not a
48878 command or a function, try to interpret it as an assignment.
48879
f85934bd 488802006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48881
48882 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48883 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48884 skip a node whose name is obviously invalid as UTF-16,
48885 i.e. contains a NUL character. Stop the iteration when the last
48886 directory entry is found. Instead of using the return value of
48887 grub_hfsplus_btree_iterate_node, store the value in RET and use
48888 it, because the iterator can be stopped by the last directory
48889 entry.
48890
8f8a2cf8 488912006-04-30 Marco Gerards <marco@gnu.org>
48892
48893 * include/grub/env.h (grub_env_export): New prototype. Reported
48894 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48895
a27e84ce 488962006-04-30 Marco Gerards <marco@gnu.org>
48897
48898 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48899 size of the extents in a catalog file record.
48900
eaef0553 489012006-04-29 Marco Gerards <marco@gnu.org>
48902
48903 * commands/configfile.c (grub_cmd_configfile): Execute the
48904 configfile within its own context.
48905
48906 * include/grub/env.h (grub_env_context_open): New prototype.
48907 (grub_env_context_close): Likewise.
48908
48909 * kern/env.c (grub_env): Removed.
48910 (grub_env_sorted): Likewise.
48911 (grub_env_context): New variable.
48912 (grub_env_var_context): Likewise.
48913 (grub_env_find): Search both the active context and the global
48914 context.
48915 (grub_env_context_open): New function.
48916 (grub_env_context_close): Likewise.
48917 (grub_env_insert): Likewise.
48918 (grub_env_remove): Likewise.
48919 (grub_env_export): Likewise.
48920 (grub_env_set): Changed to use helper functions to avoid code
48921 duplication.
48922 (grub_env_iterate): Rewritten so both the current context and the
48923 global context are being used.
48924
48925 * normal/command.c (export_command): New function.
48926 (grub_command_init): Register the `export' function.
48927
7b455f4d 489282006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48929
48930 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48931 explicitly to suppress gcc's warnings.
48932 * fs/fat.c (grub_fat_find_dir): Likewise.
48933 (grub_fat_label): Likewise.
48934 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48935 (grub_xfs_mount): Likewise.
48936 (grub_xfs_label): Likewise.
48937 * fs/affs.c (grub_affs_mount): Likewise.
48938 (grub_affs_label): Likewise.
48939 (grub_affs_iterate_dir): Likewise.
48940 * fs/sfs.c (grub_sfs_mount): Likewise.
48941 (grub_sfs_iterate_dir): Likewise.
48942 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48943 * fs/hfs.c (grub_hfs_mount): Likewise.
48944 (grub_hfs_cmp_catkeys): Likewise.
48945 (grub_hfs_find_dir): Likewise.
48946 (grub_hfs_dir): Likewise.
48947 (grub_hfs_label): Likewise.
48948 * fs/jfs.c (grub_jfs_mount): Likewise.
48949 (grub_jfs_opendir): Likewise.
48950 (grub_jfs_getent): Likewise.
48951 (grub_jfs_lookup_symlink): Likewise.
48952 (grub_jfs_label): Likewise.
48953 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48954 (grub_hfsplus_iterate_dir): Likewise.
48955 (grub_hfsplus_btree_iterate_node): Made static.
48956
48957 * util/grub-emu.c (prefix): New variable.
48958 (grub_machine_set_prefix): New function.
48959 (main): Do not set the environment variable "prefix" here. Only
48960 set PREFIX, which is used later by grub_machine_set_prefix.
48961
48962 * include/grub/video.h: Do not include grub/symbol.h.
48963 (grub_video_register): Not exported. This symbol is not defined in
48964 the kernel.
48965 (grub_video_unregister): Likewise.
48966 (grub_video_iterate): Likewise.
48967 (grub_video_setup): Likewise.
48968 (grub_video_restore): Likewise.
48969 (grub_video_get_info): Likewise.
48970 (grub_video_get_blit_format): Likewise.
48971 (grub_video_set_palette): Likewise.
48972 (grub_video_get_palette): Likewise.
48973 (grub_video_set_viewport): Likewise.
48974 (grub_video_get_viewport): Likewise.
48975 (grub_video_map_color): Likewise.
48976 (grub_video_map_rgb): Likewise.
48977 (grub_video_map_rgba): Likewise.
48978 (grub_video_fill_rect): Likewise.
48979 (grub_video_blit_glyph): Likewise.
48980 (grub_video_blit_bitmap): Likewise.
48981 (grub_video_blit_render_target): Likewise.
48982 (grub_video_scroll): Likewise.
48983 (grub_video_swap_buffers): Likewise.
48984 (grub_video_create_render_target): Likewise.
48985 (grub_video_delete_render_target): Likewise.
48986 (grub_video_set_active_render_target): Likewise.
48987
48988 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48989 Undefined.
48990 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48991
48992 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48993 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48994 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48995 instead of $(srcdir)/genkernsyms.sh.
48996
48997 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48998 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48999 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49000 instead of $(srcdir)/genkernsyms.sh.
49001
49002 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49003 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49004 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49005 instead of $(srcdir)/genkernsyms.sh.
49006
49007 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49008 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49009 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49010 instead of $(srcdir)/genkernsyms.sh.
49011
49012 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49013 genkernsyms.sh.
49014
49015 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49016 genkernsyms.sh.
49017 (gensymlist.sh): New target.
49018 (genkernsyms.sh): Likewise.
49019
49020 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49021 genkernsyms.sh.in and gensymlist.sh.in.
49022
49023 * genkernsyms.sh: Removed.
49024 * gensymlist.sh: Likewise.
f19dbdb7 49025
7b455f4d 49026 * genkernsyms.sh.in: New file.
49027 * gensymlist.sh.in: Likewise.
49028
1885bb27 490292006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49030
49031 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49032 clobber "prefix", since we may have already set it manually.
49033
71538dff 490342006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49035
49036 * kern/misc.c (abort): New alias for grub_abort.
49037
2965c7cc 490382006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49039
49040 A new machine-specific function "grub_machine_set_prefix" is
49041 defined. This is called after loading modules, so that a prefix
49042 initialization can use modules. Also, this change adds an
49043 intensive debugging feature for the memory manager via the
49044 configure option "--enable-mm-debug".
f19dbdb7 49045
2965c7cc 49046 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49047 PART.LEN.
49048
49049 * kern/sparc64/ieee1275/init.c (abort): Removed.
49050 (grub_stop): Likewise.
49051 (grub_exit): New function.
49052 (grub_set_prefix): Renamed to ...
49053 (grub_machine_set_prefix): ... this.
49054 (grub_machine_init): Do not call grub_set_prefix.
49055
49056 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
49057 (grub_machine_set_prefix): ... this.
49058 (grub_machine_init): Do not call grub_set_prefix.
49059
49060 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49061 (grub_machine_init): Do not set the prefix here.
49062
49063 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49064
49065 * kern/efi/init.c: Include grub/mm.h.
49066 (grub_efi_set_prefix): New function.
49067
49068 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49069 (grub_efi_get_filename): New function.
49070 (grub_print_device_path): Renamed to ...
49071 (grub_efi_print_device_path): ... this.
49072
49073 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49074 [MM_DEBUG] (grub_realloc): Likewise.
49075 [MM_DEBUG] (grub_free): Likewise.
49076 [MM_DEBUG] (grub_memalign): Likewise.
49077 [MM_DEBUG] (grub_mm_debug): New variable.
49078 [MM_DEBUG] (grub_debug_malloc): New function.
49079 [MM_DEBUG] (grub_debug_free): New function.
49080 [MM_DEBUG] (grub_debug_realloc): New function.
49081 [MM_DEBUG] (grub_debug_memalign): New function.
49082
49083 * kern/misc.c (grub_abort): Print a newline to distinguish
49084 the message.
49085
49086 * kern/main.c (grub_main): Call grub_machine_set_prefix and
49087 grub_set_root_dev after loading modules. This is necessary when
49088 setting a prefix depends on modules.
49089
49090 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
49091 (grub_efi_print_device_path): ... this.
49092 (grub_efi_get_filename): New prototype.
49093 (grub_efi_set_prefix): Likewise.
49094
49095 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
49096 and grub/disk.h.
49097 (grub_efidisk_get_device_handle): New prototype.
49098 (grub_efidisk_get_device_name): Likewise.
49099
49100 * include/grub/mm.h: Include config.h.
49101 (MM_DEBUG): Removed.
49102 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
49103 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
49104 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
49105 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
49106 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
49107 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
49108 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
49109 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
49110 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
49111
49112 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
49113
49114 * disk/efi/efidisk.c: Include grub/partition.h.
49115 (iterate_child_devices): New function.
49116 (add_device): First, compare only last device path nodes, so that
49117 devices are sorted by the types.
49118 (grub_efidisk_get_device_handle): New function.
49119 (grub_efidisk_get_device_name): Likewise.
49120
49121 * configure.ac (--enable-mm-debug): New option to enable the
49122 memory manager debugging feature. This makes the binary much
49123 bigger, so is disabled by default.
49124
9cacaa17 491252006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
49126
49127 Use grub_abort instead of grub_stop, and grub_exit must be
49128 define in each architecture now. Also, this change adds support
49129 for EFI disks.
f19dbdb7 49130
9cacaa17 49131 * util/i386/pc/grub-probefs.c: Include grub/term.h.
49132 (grub_getkey): New function.
49133 (grub_term_get_current): Likewise.
49134
49135 * util/i386/pc/grub-setup.c: Include grub/term.h.
49136 (grub_getkey): New function.
49137 (grub_term_get_current): Likewise.
49138
49139 * util/misc.c (grub_stop): Renamed to ...
49140 (grub_exit): ... this.
49141
49142 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
49143 (grub_exit): ... this.
49144 (grub_machine_init): Use grub_abort instead of abort.
49145 (grub_stop): Removed.
49146
49147 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
49148 abort.
49149
49150 * kern/i386/pc/startup.S (grub_exit): New function.
49151 (cold_reboot): New label.
49152
49153 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
49154 (grub_efi_init): Call grub_efidisk_init.
49155 (grub_efi_fini): Call grub_efidisk_fini.
49156
49157 * kern/efi/efi.c: Include grub/mm.h.
49158 (grub_efi_console_control_guid): Renamed to ...
49159 (console_control_guid): ... this.
49160 (grub_efi_loaded_image_guid): Renamed to ...
49161 (loaded_image_guid): ... this.
49162 (grub_efi_locate_handle): New function.
49163 (grub_efi_open_protocol): Likewise.
49164 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
49165 GRUB_EFI_CONSOLE_CONTROL_GUID.
49166 (grub_efi_exit): Removed.
49167 (grub_stop): Likewise.
49168 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
49169 (grub_exit): New function.
49170 (grub_print_device_path): Likewise.
49171
49172 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49173 (grub_enter_rescue_mode): Register "exit".
49174
49175 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49176 (grub_abort): New function.
49177
49178 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49179
49180 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49181
49182 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49183
49184 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49185 (grub_print_device_path): New prototype.
49186 (grub_efi_locate_handle): Likewise.
49187 (grub_efi_open_protocol): Likewise.
49188
49189 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49190 * disk/efi/efidisk.c: Likewise.
49191
49192 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49193
49194 * include/grub/efi/console_control.h
49195 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49196
49197 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49198 last 8 bytes as an array.
49199 (GRUB_EFI_DISK_IO_GUID): New macro.
49200 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49201 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49202 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49203 grub_uint8_t.
49204 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49205 (struct grub_efi_device_path): Rename the member "sub_type" to
49206 "subtype".
49207 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49208 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49209 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49210 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49211 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49212 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49213 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49214 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49215 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49216 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49217 (struct grub_efi_pci_device_path): New structure.
49218 (grub_efi_pci_device_path_t): New type.
49219 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49220 (struct grub_efi_pccard_device_path): New structure.
49221 (grub_efi_pccard_device_path_t): New type.
49222 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49223 (struct grub_efi_memory_mapped_device_path): New structure.
49224 (grub_efi_memory_mapped_device_path_t): New type.
49225 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49226 (struct grub_efi_vendor_device_path): New structure.
49227 (grub_efi_vendor_device_path_t): New type.
49228 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49229 (struct grub_efi_controller_device_path): New structure.
49230 (grub_efi_controller_device_path_t): New type.
49231 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49232 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49233 (struct grub_efi_acpi_device_path): New structure.
49234 (grub_efi_acpi_device_path_t): New type.
49235 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49236 (struct grub_efi_expanded_acpi_device_path): New structure.
49237 (grub_efi_expanded_acpi_device_path_t): New type.
49238 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49239 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49240 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49241 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49242 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49243 (struct grub_efi_atapi_device_path): New structure.
49244 (grub_efi_atapi_device_path_t): New type.
49245 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49246 (struct grub_efi_fibre_channel_device_path): New structure.
49247 (grub_efi_fibre_channel_device_path_t): New type.
49248 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49249 (struct grub_efi_1394_device_path): New structure.
49250 (grub_efi_1394_device_path_t): New type.
49251 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49252 (struct grub_efi_usb_device_path): New structure.
49253 (grub_efi_usb_device_path_t): New type.
49254 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49255 (struct grub_efi_usb_class_device_path): New structure.
49256 (grub_efi_usb_class_device_path_t): New type.
49257 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49258 (struct grub_efi_i2o_device_path): New structure.
49259 (grub_efi_i2o_device_path_t): New type.
49260 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49261 (struct grub_efi_mac_address_device_path): New structure.
49262 (grub_efi_mac_address_device_path_t): New type.
49263 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49264 (struct grub_efi_ipv4_device_path): New structure.
49265 (grub_efi_ipv4_device_path_t): New type.
49266 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49267 (struct grub_efi_ipv6_device_path): New structure.
49268 (grub_efi_ipv6_device_path_t): New type.
49269 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49270 (struct grub_efi_infiniband_device_path): New structure.
49271 (grub_efi_infiniband_device_path_t): New type.
49272 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49273 (struct grub_efi_uart_device_path): New structure.
49274 (grub_efi_uart_device_path_t): New type.
49275 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49276 (struct grub_efi_vendor_messaging_device_path): New structure.
49277 (grub_efi_vendor_messaging_device_path_t): New type.
49278 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49279 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49280 (struct grub_efi_hard_drive_device_path): New structure.
49281 (grub_efi_hard_drive_device_path_t): New type.
49282 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49283 (struct grub_efi_cdrom_device_path): New structure.
49284 (grub_efi_cdrom_device_path_t): New type.
49285 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49286 (struct grub_efi_vendor_media_device_path): New structure.
49287 (grub_efi_vendor_media_device_path_t): New type.
49288 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49289 (struct grub_efi_file_path_device_path): New structure.
49290 (grub_efi_file_path_device_path_t): New type.
49291 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49292 (struct grub_efi_protocol_device_path): New structure.
49293 (grub_efi_protocol_device_path_t): New type.
49294 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49295 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49296 (struct grub_efi_bios_device_path): New structure.
49297 (grub_efi_bios_device_path_t): New type.
49298 (struct grub_efi_disk_io): New structure.
49299 (grub_efi_disk_io_t): New type.
49300 (struct grub_efi_block_io_media): New structure.
49301 (grub_efi_block_io_media_t): New type.
49302 (struct grub_efi_block_io): New structure.
49303 (grub_efi_block_io_t): New type.
49304
49305 * include/grub/misc.h (grub_stop): Removed.
49306 (grub_exit): New prototype.
49307 (grub_abort): Likewise.
49308
49309 * include/grub/disk.h (enum grub_disk_dev_id): Added
49310 GRUB_DISK_DEVICE_EFIDISK_ID.
49311
49312 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49313 disk/efi/efidisk.c.
49314 (kernel_syms.lst): Remove the target if an error occurs.
49315
49986a9f 493162006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49317
49318 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49319 as it was simply too buggy.
49320
970d3b8a 493212006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49322
49323 * kern/misc.c (grub_lltoa): New function.
49324 (grub_vsprintf): Added support for the long long suffix,
49325 i.e. "ll".
49326
ff04ec24 493272006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49328
49329 * Makefile.in (LDFLAGS): Add variable.
49330 (LD): Remove variable.
49331 * configure.ac: Add -m32 to LDFLAGS.
49332 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49333 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49334 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49335 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49336 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49337 variables.
49338 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49339 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49340 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49341
37e5e1a4 493422006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49343
49344 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49345 length for unknown glyph.
49346
c352d8dd 493472006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49348
2eab1c0d 49349 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49350
2eab1c0d 49351 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49352 completely. Accept one more argument DIR. The caller has changed.
49353
49354 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49355
49356 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49357 (grub_efi_loaded_image_guid): New variable.
49358 (grub_efi_get_loaded_image): New function.
49359 (grub_arch_modules_addr): Likewise.
49360
49361 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49362 prototype.
49363
49364 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49365 (struct grub_efi_loaded_image): New structure.
49366 (grub_efi_loaded_image_t): New type.
49367
493682006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49369
c352d8dd 49370 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49371 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49372 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49373
6d01d6b4 493742006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49375
49376 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49377
976a4ea0 493782006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49379
49380 * DISTLIST: Added include/grub/efi/console.h,
49381 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49382 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49383
49384 * include/grub/efi/console.h: New file.
49385 * include/grub/efi/time.h: Likewise.
49386 * include/grub/i386/efi/kernel.h: Likewise.
49387 * kern/efi/init.c: Likewise.
49388 * kern/efi/mm.c: Likewise.
49389 * term/efi/console.c: Likewise.
f19dbdb7 49390
976a4ea0 49391 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49392 (grub_stop): Removed.
49393 (grub_get_rtc): Likewise.
49394 (grub_machine_init): Simply call grub_efi_init.
49395 (grub_machine_fini): Call grub_efi_fini.
49396
49397 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49398 (grub_efi_output_string): Removed.
49399 (grub_efi_stall): New function.
49400 (grub_stop): Likewise.
49401 (grub_get_rtc): Likewise.
49402
49403 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49404 (grub_efi_stall): New prototype.
49405 (grub_efi_allocate_pages): Likewise.
49406 (grub_efi_free_pages): Likewise.
49407 (grub_efi_get_memory_map): Likewise.
49408 (grub_efi_mm_init): Likewise.
49409 (grub_efi_mm_fini): Likewise.
49410 (grub_efi_init): Likewise.
49411 (grub_efi_fini): Likewise.
49412
49413 * include/grub/i386/efi/time.h: Do not include
49414 grub/symbol.h. Include grub/efi/time.h.
49415 (GRUB_TICKS_PER_SECOND): Removed.
49416 (grub_get_rtc): Likewise.
49417
49418 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49419 Added padding. The EFI spec is buggy.
49420 (GRUB_EFI_BLACK): New macro.
49421 (GRUB_EFI_BLUE): Likewise.
49422 (GRUB_EFI_GREEN): Likewise.
49423 (GRUB_EFI_CYAN): Likewise.
49424 (GRUB_EFI_RED): Likewise.
49425 (GRUB_EFI_MAGENTA): Likewise.
49426 (GRUB_EFI_BROWN): Likewise.
49427 (GRUB_EFI_LIGHTGRAY): Likewise.
49428 (GRUB_EFI_BRIGHT): Likewise.
49429 (GRUB_EFI_DARKGRAY): Likewise.
49430 (GRUB_EFI_LIGHTBLUE): Likewise.
49431 (GRUB_EFI_LIGHTGREEN): Likewise.
49432 (GRUB_EFI_LIGHTCYAN): Likewise.
49433 (GRUB_EFI_LIGHTRED): Likewise.
49434 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49435 (GRUB_EFI_YELLOW): Likewise.
49436 (GRUB_EFI_WHITE): Likewise.
49437 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49438 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49439 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49440 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49441 (GRUB_EFI_BACKGROUND_RED): Likewise.
49442 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49443 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49444 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49445 (GRUB_EFI_TEXT_ATTR): Likewise.
49446
49447 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49448 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49449 (kernel_mod_HEADERS): Added efi/time.h.
49450
83709125 494512006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49452
49453 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49454 include/grub/efi/api.h, include/grub/efi/console_control.h,
49455 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49456 include/grub/i386/efi/time.h, kern/efi/efi.c,
49457 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49458 and util/i386/efi/grub-mkimage.c.
49459
49460 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49461
49462 * genmk.rb (PModule#rule): Do not export symbols if
49463 #{prefix}_EXPORTS is set to "no".
49464
49465 * conf/i386-efi.mk: New file.
49466 * conf/i386-efi.rmk: Likewise.
49467 * include/grub/efi/api.h: Likewise.
49468 * include/grub/efi/console_control.h: Likewise.
49469 * include/grub/efi/efi.h: Likewise.
49470 * include/grub/efi/pe32.h: Likewise.
49471 * include/grub/i386/efi/time.h: Likewise.
49472 * kern/efi/efi.c: Likewise.
49473 * kern/i386/efi/init.c: Likewise.
49474 * kern/i386/efi/startup.S: Likewise.
49475 * util/i386/efi/grub-mkimage.c: Likewise.
49476
494772006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49478
49479 * include/grub/script.h: Include <grub/parser.h> and
49480 "grub_script.tab.h".
49481 (struct grub_lexer_param): New struct.
49482 (struct grub_parser_param): Likewise.
49483 (grub_script_create_arglist): Pass the state in an argument.
49484 (grub_script_add_arglist): Likewise.
49485 (grub_script_create_cmdline): Likewise.
49486 (grub_script_create_cmdblock): Likewise.
49487 (grub_script_create_cmdif): Likewise.
49488 (grub_script_create_cmdmenu): Likewise.
49489 (grub_script_add_cmd): Likewise.
49490 (grub_script_arg_add): Likewise.
49491 (grub_script_lexer_ref): Likewise.
49492 (grub_script_lexer_deref): Likewise.
49493 (grub_script_lexer_record_start): Likewise.
49494 (grub_script_lexer_record_stop): Likewise.
49495 (grub_script_mem_record): Likewise.
49496 (grub_script_mem_record_stop): Likewise.
49497 (grub_script_malloc): Likewise.
49498 (grub_script_yylex): Likewise.
49499 (grub_script_yyparse): Likewise.
49500 (grub_script_yyerror): Likewise.
49501 (grub_script_yylex): Likewise.
49502 (grub_script_lexer_init): Return the state.
49503
49504 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49505 (grub_script_lexer_done): Likewise.
49506 (grub_script_lexer_getline): Likewise.
49507 (grub_script_lexer_refs): Likewise.
49508 (script): Likewise.
49509 (newscript): Likewise.
49510 (record): Likewise.
49511 (recording): Likewise.
49512 (recordpos): Likewise.
49513 (recordlen): Likewise.
49514 (grub_script_lexer_init): Return the state instead of setting
49515 global variables.
49516 (grub_script_lexer_ref): Use the newly added argument for state
49517 instead of globals.
49518 (grub_script_lexer_deref): Likewise.
49519 (grub_script_lexer_record_start): Likewise.
49520 (grub_script_lexer_record_stop): Likewise.
49521 (recordchar): Likewise.
49522 (nextchar): Likewise.
49523 (grub_script_yylex2): Likewise.
49524 (grub_script_yylex): Likewise.
49525 (grub_script_yyerror): Likewise.
49526
49527 * normal/parser.y (func_mem): Removed variable.
49528 (menu_entry): Likewise.
49529 (err): Likewise.
49530 (%lex-param): New parser option.
49531 (%parse-param): Likewise.
49532 (script): Always return the AST.
49533 (argument): Pass the state around.
49534 (arguments): Likewise.
49535 (grubcmd): Likewise.
49536 (commands): Likewise.
49537 (function): Likewise.
49538 (menuentry): Likewise.
49539 (if_statement): Likewise.
49540 (if): Likewise.
49541
49542 * normal/script.c (grub_script_memused): Removed variable.
49543 (grub_script_parsed): Likewise.
49544 (grub_script_malloc): Added a state argument. Use that instead of
49545 global variables.
49546 (grub_script_mem_record): Likewise.
49547 (grub_script_mem_record_stop): Likewise.
49548 (grub_script_arg_add): Likewise.
49549 (grub_script_add_arglist): Likewise.
49550 (grub_script_create_cmdline): Likewise.
49551 (grub_script_create_cmdif): Likewise.
49552 (grub_script_create_cmdmenu): Likewise.
49553 (grub_script_add_cmd): Likewise.
49554 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49555
e2a8c904 495562006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49557
49558 * normal/command.c (grub_command_init): Remove the title command.
49559
49560 * normal/lexer.c (grub_script_yylex): Renamed from this...
49561 (grub_script_yylex2): ... to this.
49562 (grub_script_yylex): New function. Temporary
49563 introduced to filter some tokens.
49564 (grub_script_yyerror): Print a newline.
49565
49566 * normal/main.c (read_config_file): Output information about the
49567 lines that contain errors. Wait for a key after all lines have
49568 been processed. Don't return an empty menu.
49569
49570 * normal/parser.y (func_mem): Don't initialize.
49571 (menu_entry): Likewise.
49572 (err): New variable.
49573 (script): Don't return anything when an error was encountered.
49574 (ws, returns): Removed rules.
49575 (argument): Disabled concatenated variable support.
49576 (arguments): Remove explicit separators.
49577 (grubcmd): Likewise.
49578 (function): Likewise.
49579 (menuentry): Likewise.
49580 (if): Likewise.
49581 (commands): Likewise. Add error handling.
49582
49583 * normal/script.c (grub_script_create_cmdline): If
49584 `grub_script_parsed' is 0, assume the parser encountered an error.
49585
c9a86192 495862006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49587
49588 * configure.ac: Add support for EFI. Fix the typo
49589 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49590
70f3b243 495912006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49592
49593 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49594 foreign multibyte characters should be shown correctly.
49595
65f201ad 495962006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49597
49598 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49599 calculation.
49600 (read_config_file): Made it to close file before returning.
49601
b4b93674 496022006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49603
49604 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49605 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49606 video/i386/pc/vbefill.c.
49607
49608 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49609 video/i386/pc/vbefill.c.
49610
49611 * include/grub/video.h (grub_video_blit_format): New enum.
49612 (grub_video_mode_info): Added new member blit_format.
49613 (grub_video_get_blit_format): New function prototype.
49614
49615 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49616 function prototype.
49617 (grub_video_vbe_map_rgb): Likewise.
49618 (grub_video_vbe_unmap_color): Likewise.
49619
49620 * include/grub/i386/pc/vbeblit.h: New file.
49621
49622 * include/grub/i386/pc/vbefill.h: New file.
49623
49624 * video/video.c (grub_video_get_blit_format): New function.
49625 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49626 (grub_video_vbe_map_rgb): Likewise.
49627 (grub_video_vbe_unmap_color): Likewise.
49628
49629 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49630 optimized fills.
49631 (grub_video_vbe_blit_render_target): Changed to use more optimized
49632 blits.
49633 (grub_video_vbe_setup): Added detection for optimized settings.
49634 (grub_video_vbe_create_render_target): Likewise.
49635
49636 * video/i386/pc/vbeblit.c: New file.
49637
49638 * video/i386/pc/vbefill.c: New file.
49639
c2379b9c 496402006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49641
49642 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49643 here...
49644
49645 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49646 parsing to support both hex and dec ranges. If filename was missing
49647 show usage information.
49648
bd0d7896 496492006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49650
49651 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49652 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49653
49654 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49655 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49656 (video_mod_SOURCES): Added.
49657 (video_mod_CFLAGS): Likewise.
49658 (video_mod_LDFLAGS): Likewise.
49659 (gfxterm_mod_SOURCES): Likewise.
49660 (gfxterm_mod_CFLAGS): Likewise.
49661 (gfxterm_mod_LDFLAGS): Likewise.
49662 (videotest_mod_SOURCES): Likewise.
49663 (videotest_mod_CFLAGS): Likewise.
49664 (videotest_mod_LDFLAGS): Likewise.
49665 (vesafb_mod_SOURCES): Removed.
49666 (vesafb_mod_CFLAGS): Likewise.
49667 (vesafb_mod_LDFLAGS): Likewise.
49668 (vga_mod_SOURCES): Likewise.
49669 (vga_mod_CFLAGS): Likewise.
49670 (vga_mod_LDFLAGS): Likewise.
49671
49672 * commands/videotest.c: New file.
49673
49674 * font/manager.c (fill_with_default_glyph): Modified to use
49675 grub_font_glyph.
49676 (grub_font_get_glyph): Likewise.
49677 (fontmanager): Renamed from this...
49678 (font_manager): ... to this.
49679
49680 * include/grub/font.h (grub_font_glyph): Added new structure.
49681 (grub_font_get_glyph): Modified to use grub_font_glyph.
49682
49683 * include/grub/misc.h (grub_abs): Added as inline function.
49684
49685 * include/grub/video.h: New file.
49686
49687 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49688 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49689 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49690 (grub_vbe_get_controller_info): Renamed from this...
49691 (grub_vbe_bios_get_controller_info): ... to this.
49692 (grub_vbe_get_mode_info): Renamed from this...
49693 (grub_vbe_bios_get_mode_info): ... to this.
49694 (grub_vbe_set_mode): Renamed from this...
49695 (grub_vbe_bios_set_mode): ... to this.
49696 (grub_vbe_get_mode): Renamed from this...
49697 (grub_vbe_bios_get_mode): ... to this.
49698 (grub_vbe_set_memory_window): Renamed from this...
49699 (grub_vbe_bios_set_memory_window): ... to this.
49700 (grub_vbe_get_memory_window): Renamed from this...
49701 (grub_vbe_bios_get_memory_window): ... to this.
49702 (grub_vbe_set_scanline_length): Renamed from this...
49703 (grub_vbe_set_scanline_length): ... to this.
49704 (grub_vbe_get_scanline_length): Renamed from this...
49705 (grub_vbe_bios_get_scanline_length): ... to this.
49706 (grub_vbe_set_display_start): Renamed from this...
49707 (grub_vbe_bios_set_display_start): ... to this.
49708 (grub_vbe_get_display_start): Renamed from this...
49709 (grub_vbe_bios_get_display_start): ... to this.
49710 (grub_vbe_set_palette_data): Renamed from this...
49711 (grub_vbe_bios_set_palette_data): ... to this.
49712 (grub_vbe_set_pixel_rgb): Removed.
49713 (grub_vbe_set_pixel_index): Likewise.
49714
49715 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49716 from this...
49717 (grub_vbe_bios_get_controller_info): ... to this.
49718 (grub_vbe_get_mode_info): Renamed from this...
49719 (grub_vbe_bios_get_mode_info): ... to this.
49720 (grub_vbe_set_mode): Renamed from this...
49721 (grub_vbe_bios_set_mode): ... to this.
49722 (grub_vbe_get_mode): Renamed from this...
49723 (grub_vbe_bios_get_mode): ... to this.
49724 (grub_vbe_set_memory_window): Renamed from this...
49725 (grub_vbe_bios_set_memory_window): ... to this.
49726 (grub_vbe_get_memory_window): Renamed from this...
49727 (grub_vbe_bios_get_memory_window): ... to this.
49728 (grub_vbe_set_scanline_length): Renamed from this...
49729 (grub_vbe_set_scanline_length): ... to this.
49730 (grub_vbe_get_scanline_length): Renamed from this...
49731 (grub_vbe_bios_get_scanline_length): ... to this.
49732 (grub_vbe_set_display_start): Renamed from this...
49733 (grub_vbe_bios_set_display_start): ... to this.
49734 (grub_vbe_get_display_start): Renamed from this...
49735 (grub_vbe_bios_get_display_start): ... to this.
49736 (grub_vbe_set_palette_data): Renamed from this...
49737 (grub_vbe_bios_set_palette_data): ... to this.
49738 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49739 getting corrupted after calling it. Added more pushes and pops.
49740 (grub_vbe_bios_set_mode): Likewise.
49741 (grub_vbe_bios_get_mode): Likewise.
49742 (grub_vbe_bios_get_memory_window): Likewise.
49743 (grub_vbe_bios_set_scanline_length): Likewise.
49744 (grub_vbe_bios_get_scanline_length): Likewise.
49745 (grub_vbe_bios_get_display_start): Likewise.
49746 (grub_vbe_bios_set_palette_data): Likewise.
49747
49748 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49749 (cl_insert): Likewise.
49750 (cl_delete): Likewise.
49751
49752 * term/gfxterm.c: New file.
49753
49754 * term/i386/pc/vesafb.c: Removed file.
49755
49756 * video/video.c: New file.
49757
49758 * video/i386/pc/vbe.c (real2pm): Added new function.
49759 (grub_video_vbe_draw_pixel): Likewise.
49760 (grub_video_vbe_get_video_ptr): Likewise.
49761 (grub_video_vbe_get_pixel): Likewise
49762 (grub_video_vbe_init): Likewise.
49763 (grub_video_vbe_fini): Likewise.
49764 (grub_video_vbe_setup): Likewise.
49765 (grub_video_vbe_get_info): Likewise.
49766 (grub_video_vbe_set_palette): Likewise.
49767 (grub_video_vbe_get_palette): Likewise.
49768 (grub_video_vbe_set_viewport): Likewise.
49769 (grub_video_vbe_get_viewport): Likewise.
49770 (grub_video_vbe_map_color): Likewise.
49771 (grub_video_vbe_map_rgb): Likewise.
49772 (grub_video_vbe_map_rgba): Likewise.
49773 (grub_video_vbe_unmap_color): Likewise.
49774 (grub_video_vbe_fill_rect): Likewise.
49775 (grub_video_vbe_blit_glyph): Likewise.
49776 (grub_video_vbe_blit_bitmap): Likewise.
49777 (grub_video_vbe_blit_render_target): Likewise.
49778 (grub_video_vbe_scroll): Likewise.
49779 (grub_video_vbe_swap_buffers): Likewise.
49780 (grub_video_vbe_create_render_target): Likewise.
49781 (grub_video_vbe_delete_render_target): Likewise.
49782 (grub_video_vbe_set_active_render_target): Likewise.
49783 (grub_vbe_set_pixel_rgb): Remove function.
49784 (grub_vbe_set_pixel_index): Likewise.
49785 (index_color_mode): Remove static variable.
49786 (active_mode): Likewise.
49787 (framebuffer): Likewise.
49788 (bytes_per_scan_line): Likewise.
49789 (grub_video_vbe_adapter): Added new static variable.
49790 (framebuffer): Likewise.
49791 (render_target): Likewise.
49792 (initial_mode): Likewise.
49793 (mode_in_use): Likewise.
49794 (mode_list): Likewise.
49795
5f97350b 497962006-03-10 Marco Gerards <marco@gnu.org>
49797
49798 * configure.ac (AC_INIT): Bumped to 1.93.
49799
49800 * DISTLIST: Added `include/grub/hfs.h'.
49801
a3c5c6f8 498022006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49803
49804 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49805 18H, which might help the BIOS falling back to next boot media.
49806
6de53d26 498072006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49808
49809 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49810 Poe Chen <poe.poechen@gmail.com>.
49811
77c4a393 498122006-01-17 Marco Gerards <marco@gnu.org>
49813
49814 * include/grub/normal.h: Include <grub/script.h>.
49815 (grub_command_list): Removed struct.
49816 (grub_command_list_t): Removed type.
49817 (grub_menu_entry): Remove members `num' and `command_list'. Add
49818 members `commands' and `sourcecode'.
49819 * include/grub/script.h: Add inclusion guards.
49820 (grub_script_cmd_menuentry): New struct.
49821 (grub_script_execute_menuentry): New prototype.
49822 (grub_script_lexer_record_start): Likewise.
49823 (grub_script_lexer_record_stop): Likewise.
49824 * normal/execute.c (grub_script_execute_menuentry): New function.
49825 * normal/lexer.c (record, recording, recordpos, recordlen): New
49826 variables.
49827 (grub_script_lexer_record_start): New function.
49828 (grub_script_lexer_record_stop): Likewise.
49829 (recordchar): Likewise.
49830 (nextchar): Likewise.
49831 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49832 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49833 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49834 (current_menu): New variable.
49835 (free_menu): Mainly rewritten.
49836 (grub_normal_menu_addentry): New function.
49837 (read_config_file): Rewritten.
49838 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49839 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49840 the menu entry.
49841 (run): Mainly rewritten.
49842 * normal/parser.y (menu_entry): New variable.
49843 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49844 (menuentry): New rule.
49845 (command): Add `menuentry'.
49846 (if_statement): Allow additional returns before `fi'.
49847 * normal/script.c (grub_script_create_cmdmenu): New function.
49848
144f1f98 498492006-01-03 Marco Gerards <marco@gnu.org>
49850
49851 * INSTALL: GNU Bison is required.
49852 * configure.ac: Rewritten the test to detect Bison.
49853 * Makefile.in (YACC): New variable. Reported by Xun Sun
49854 <xun.sun.cn@gmail.com>.
49855
af4b2d89 498562006-01-03 Marco Gerards <marco@gnu.org>
49857
49858 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49859 the HFS+ filesystem to filesystem blocks.
49860 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49861 GCC warning is silenced.
49862
15643b71 498632006-01-03 Marco Gerards <marco@gnu.org>
49864
49865 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49866 read from disk from big endian to host byte order.
49867
00905879 498682006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49869
49870 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49871 documentation.
49872 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49873 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49874 embedded HFS+ filesystem.
49875 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49876 (grub_hfs_sblock): Move from here...
49877 * include/grub/hfs.h: To here... New file.
49878 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49879 documentation.
49880 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49881 New macros.
49882 (grub_hfsplus_volheader): Change type of member `magic' to
49883 `grub_uint16_t'.
49884 (grub_hfsplus_data): Add new member `embedded_offset'.
49885 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49886 returned block.
49887 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49888 Calculate the offset.
49889
8899bc3e 498902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49891
49892 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49893 Removed.
49894 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49895
ae8c0277 498962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49897
49898 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49899 ENV->NAME is NULL after allocating ENV->VALUE.
49900
07084456 499012005-12-25 Marco Gerards <marco@gnu.org>
49902
49903 * kern/env.c (grub_env_set): Rewritten the error handling code.
49904
4750f5f1 499052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49906
49907 * geninit.sh: Made more robust, and more portable.
49908
50214199 499092005-12-25 Marco Gerards <marco@gnu.org>
49910
49911 Add support for Apple HFS+ filesystems.
f19dbdb7 49912
50214199 49913 * fs/hfsplus.c: New file.
49914
49915 * DISTLIST: Added `fs/hfsplus.c'.
49916
49917 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49918 (hfsplus_mod_SOURCES): New variable.
49919 (hfsplus_mod_CFLAGS): Likewise.
49920 (hfsplus_mod_LDFLAGS): Likewise.
49921 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49922 (grub_setup_SOURCES): Likewise.
49923 (grub_mkdevicemap_SOURCES): Likewise.
49924 (grub_emu_SOURCES): Likewise.
49925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49926
49927 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49928
49929 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49930
befaed6c 499312005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49932
49933 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49934 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49935 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49936 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49937 normal/lexer.c, normal/parser.y, normal/script.c, and
49938 partmap/gpt.c.
49939 Removed kern/sparc64/cache.c.
49940
49941 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49942 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49943 grub_emu_init.c.
49944
49945 * configure.ac (AC_INIT): Bumped to 1.92.
49946
6a124103 499472005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49948
49949 * kern/err.c (grub_error_push): Added new function to support error
49950 stacks.
49951 (grub_error_pop): Likewise.
49952 (grub_error_stack_items): New local variable to support error stacks.
49953 (grub_error_stack_pos): Likewise.
49954 (grub_error_stack_assert): Likewise.
49955 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49956 stack depth.
49957 (grub_print_error): Added support to print errors from error stack.
49958
49959 * include/grub/err.h (grub_error_push): Added function prototype.
49960 (grub_error_pop): Likewise.
49961
be973c1b 499622005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49963
49964 * configure.ac: Accept `powerpc64' as host_cpu.
49965 (amd64): Rename to `biarch32'.
49966
49967 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49968 non-cacheline-aligned addresses.
49969
49970 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49971 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49972 if `size' is non-zero.
49973
b04216ab 499742005-12-03 Marco Gerards <mgerards@xs4all.nl>
49975
49976 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49977 and `cd' to make sure the filename is not prefixed with a
49978 directory name.
49979 (pkgdata_MODULES): Add `gpt.mod'.
49980 (gpt_mod_SOURCES): New variable.
49981 (gpt_mod_CFLAGS): Likewise.
49982 (gpt_mod_LDFLAGS): Likewise.
49983
49984 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49985
49986 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49987 New macro.
49988
49989 * partmap/gpt.c: New file.
49990
49991 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49992 GPT partition map is detected.
49993
41730ed9 499942005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49995
49996 * commands/i386/pc/play.c: New file.
49997 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49998 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49999 macros.
f19dbdb7 50000
95dc3643 500012005-11-27 Marco Gerards <mgerards@xs4all.nl>
50002
50003 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50004 ((unused))' to silence gcc warning.
50005
1569ec51 500062005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50007
50008 * configure.ac: Correct `AC_PROG_YACC' test.
50009
9abde152 500102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50011
50012 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50013 check before installing files.
50014
44b83271 500152005-11-22 Mike Small <smallm@panix.com>
50016
50017 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50018 number regex so multidigit numbers are recognized correctly.
50019
500202005-11-22 Mike Small <smallm@panix.com>
50021
50022 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50023 debugging message before attempting to claim memory.
50024 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50025 multiple addresses in case of failure.
50026
9c12956b 500272005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50028
50029 * term/tparm.c (get_space): Remove empty `if' statement.
50030
50031 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50032
50033 * kern/parser.c (check_varstate): Rename `state' to 's'.
50034
aeaf81d9 500352005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50036
50037 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50038 variable definitions to the beginning of each function. Sort stack
50039 variables by size.
50040 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50041 `buf' argument to `char *'.
50042
79bbb63f 500432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50044
50045 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50046 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50047 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 50048 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50049 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50050 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50051 configfile.mod, search.mod, gzio.mod and test.mod.
50052 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50053 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50054 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50055 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50056 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50057 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50058 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50059 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50060 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50061 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50062 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50063 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50064 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50065 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50066 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50067 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50068 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50069 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50070 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50071 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50072 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50073 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50074 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50075
50076 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50077 `grep --include'.
50078 (pkgdata_MODULES): Add test.mod.
50079
233b1628 500802005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50081
50082 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50083 appending to variables with "+=".
50084 (PModule): Use full pathname to generate *.lst filenames.
50085
50086 * Makefile.in: Fixed list rules moved from genmk.rb.
50087 (.DELETE_ON_ERROR): New special target.
50088 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
50089
50090 * conf/i386-pc.rmk: Include conf/common.mk.
50091 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50092 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 50093 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50094 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50095 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50096 configfile.mod, search.mod, gzio.mod and test.mod.
50097 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50098 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50099 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50100 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50101 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50102 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50103 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50104 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50105 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50106 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50107 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50108 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50109 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50110 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50111 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50112 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50113 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50114 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50115 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50116 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50117 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50118 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50119 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
50120 here...
50121 * conf/common.rmk: ... to here. New file.
50122
50123 * conf/common.mk: New file.
50124
16f820c8 501252005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
50126
50127 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
50128 (grub_script.tab.c): ... here.
50129
50130 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
50131 (grub_script.tab.c): ... here.
50132
50133 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
50134 (grub_script.tab.c): ... here.
50135
50136 * normal/command.c (grub_command_find): Fixed a memory leak of
50137 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
50138
63ba1554 501392005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50140
50141 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
50142 "@" which marks the start of a comment on ARM.
50143 (VARIABLE): Likewise.
50144
7f67dc13 501452005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50146
79bbb63f 50147 Add support for Linux/ADFS partition tables.
7f67dc13 50148
50149 * partmap/acorn.c: New file.
50150
50151 * include/grub/acorn_filecore.h: Likewise.
50152
50153 * DISTLIST: Added `partmap/acorn.c' and
50154 `include/grub/acorn_filecore.h'.
f19dbdb7 50155
7f67dc13 50156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50157 `partmap/acorn.c'.
50158 (pkgdata_MODULES): Add `acorn.mod'.
50159 (acorn_mod_SOURCES): New variable.
50160 (acorn_mod_CFLAGS): Likewise.
50161
50162 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50163 `partmap/acorn.c'.
50164 (pkgdata_MODULES): Add `acorn.mod'.
50165 (acorn_mod_SOURCES): New variable.
50166 (acorn_mod_CFLAGS): Likewise.
50167
50168 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
50169 (pkgdata_MODULES): Add `acorn.mod'.
50170 (acorn_mod_SOURCES): New variable.
50171 (acorn_mod_CFLAGS): Likewise.
50172 (acorn_mod_LDFLAGS): Likewise.
50173
50174 * include/types.h (grub_disk_addr_t): New typedef.
50175
6d099807 501762005-11-13 Marco Gerards <mgerards@xs4all.nl>
50177
50178 * geninit.sh: New file.
50179
50180 * geninitheader.sh: Likewise.
50181
50182 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50183 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50184 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50185 * commands/configfile.c (grub_configfile_init)
50186 (grub_configfile_fini): Likewise.
50187 * commands/default.c (grub_default_init, grub_default_fini):
50188 Likewise.
50189 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50190 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50191 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50192 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50193 Likewise.
50194 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50195 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50196 Likewise.
50197 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 50198 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 50199 Likewise.
50200 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50201 Likewise.
fe6b695a 50202 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 50203 Likewise.
50204 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50205 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50206 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50207 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50208 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50209 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50210 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50211 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50212 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50213 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50214 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50215 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50216 * partmap/amiga.c (grub_amiga_partition_map_init)
50217 (grub_amiga_partition_map_fini): Likewise.
50218 * partmap/apple.c (grub_apple_partition_map_init)
50219 (grub_apple_partition_map_fini): Likewise.
50220 * partmap/pc.c (grub_pc_partition_map_init)
50221 (grub_pc_partition_map_fini): Likewise.
50222 * partmap/sun.c (grub_sun_partition_map_init,
50223 grub_sun_partition_map_fini): Likewise.
50224 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50225 Likewise.
50226
50227 * util/grub-emu.c: Include <grub_modules_init.h>.
50228 (main): Don't initialize and de-initialize any modules directly,
50229 use `grub_init_all' and `grub_fini_all' instead.
50230
50231 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50232 `grub_vesafb_mod_init'.
50233 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50234 all users.
50235 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50236 `grub_vga_mod_init'. Updated all users.
50237 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 50238
6d099807 50239 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50240 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50241 rules.
50242
50243 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50244 Generate a function to initialize the module in utilities.
50245 Updated all callers.
50246 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50247 initialize the module in utilities. Updated all callers.
50248
9046bcf0 502492005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50250
50251 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50252 escape sequence and a literal ^L to clear the screen.
50253
50254 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50255 when returning from Open Firmware.
50256
d13ea639 502572005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50258
50259 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50260 (grub_ofconsole_height): Likewise.
50261 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50262 manually insert a '\n'.
50263 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50264 `grub_ofconsole_height'. Return early if these are already set.
50265
a8fcf206 502662005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50267
50268 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50269 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50270 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50271 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50272 and `normal/script.c'.
50273 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50274 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50275 (test_mod_SOURCES): New variable.
50276 (test_mod_CFLAGS): Likewise.
50277 (test_mod_LDFLAGS): Likewise.
50278 (pkgdata_MODULES): Add `test.mod'.
50279 (grub_script.tab.c): New rule.
50280 (grub_script.tab.h): Likewise.
50281
b6b32745 502822005-11-07 Marco Gerards <mgerards@xs4all.nl>
50283
50284 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50285 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50286 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50287 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50288 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50289 (test_mod_SOURCES): New variable.
50290 (test_mod_CFLAGS): Likewise.
50291 (pkgdata_MODULES): Add `test.mod'.
50292 (grub_script.tab.c): New rule.
50293 (grub_script.tab.h): Likewise.
50294
daac212a 502952005-11-06 Marco Gerards <mgerards@xs4all.nl>
50296
50297 Add initial scripting support.
50298
50299 * commands/test.c: New file.
50300 * include/grub/script.h: Likewise.
50301 * normal/execute.c: Likewise.
50302 * normal/function.c: Likewise.
50303 * normal/lexer.c: Likewise.
50304 * normal/parser.y: Likewise.
50305 * normal/script.c: Likewise.
50306
50307 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50308
daac212a 50309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50310 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50311 `normal/function.c' and `normal/script.c'.
50312 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50313 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50314 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50315 variables.
daac212a 50316 (pkgdata_MODULES): Add `test.mod'.
50317 (grub_script.tab.c): New rule.
50318 (grub_script.tab.h): Likewise.
50319
50320 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50321
50322 * include/grub/normal.h (grub_test_init): New prototype.
50323 (grub_test_fini): Likewise.
f19dbdb7 50324
daac212a 50325 * normal/command.c: Include <grub/script.h>.
50326 (grub_command_execute): Rewritten.
f19dbdb7 50327
daac212a 50328 * util/grub-emu.c (main): Call `grub_test_init' and
50329 `grub_test_fini'.
50330
77500b2b 503312005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50332
50333 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50334 to 0.
50335 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50336 there are no pending characters.
50337
e45deb9e 503382005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50339
50340 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50341 `grub_strndup' to drop device arguments. Replace unnecessary
50342 `grub_strndup' with `grub_strdup'.
50343
4ce32619 503442005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50345
50346 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50347 `debug' environment variable has been set.
50348
503492005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50350
4ce32619 50351 * Makefile.in (install-local): Use $(DATA).
50352 (uninstall): Likewise.
50353 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50354 (sbin_UTILITIES): ... to here.
50355 (sbin_SCRIPTS): New variable.
50356 (grub_install_SOURCES): New variable.
50357 * util/powerpc/ieee1275/grub-install.in: New file.
50358 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50359 variable.
50360 (add_segments): Call `grub_util_get_path'.
50361
25fe6f03 503622005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50363
50364 From Timothy Baldwin:
50365 * commands/ls.c (grub_ls_list_files): Close FILE with
50366 grub_file_close.
50367 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50368
04ccf3ec 503692005-10-24 Marco Gerards <mgerards@xs4all.nl>
50370
50371 * include/grub/parser.h: New file.
50372
50373 * kern/parser.c: Likewise.
50374
50375 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50376 (grub_setup_SOURCES): Likewise.
50377 (grub_probefs_SOURCES): Likewise.
50378 (grub_emu_SOURCES): Likewise.
50379 (kernel_img_HEADERS): Add `parser.h'.
50380
50381 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50382 (grub_emu_SOURCES): Add `kern/parser.c'.
50383 (grubof_SOURCES): Likewise.
50384
50385 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50386 (grubof_SOURCES): Add `kern/parser.c'.
50387
50388 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50389
50390 * kern/misc.c (grub_split_cmdline): Removed function.
50391
50392 * kern/rescue.c: Include <grub/parser.h>.
50393 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50394 of `grub_split_cmdline'.
50395
50396 * normal/command.c: Include <grub/parser.h>.
50397 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50398 of `grub_split_cmdline'.
50399
50400 * normal/completion.c: Include <grub/parser.h>.
50401 (cmdline_state): New variable.
50402 (iterate_dir): End the filename with a quote depending on the
50403 command line state.
50404 (get_state): new function.
50405 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50406 split the arguments and determine the current argument. When the
50407 argument string is not quoted, escape all spaces.
50408
6d8f4b0e 504092005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50410
50411 * normal/sparc64/setjmp.S: New file.
50412
15cf03ed 504132005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50414
50415 * include/grub/sparc64/libgcc.h: New file.
50416 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50417 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50418 normal/sparc64/setjmp.c.
50419
03e8661a 504202005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50421
50422 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50423 * kern/sparc64/cache.S: New file.
50424 * kern/sparc64/cache.c: Removed.
50425 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50426 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50427 -mtune=ultrasparc.
50428 (COMMON_LDFLAGS): Add -melf64_sparc.
50429 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50430 (grubof_SOURCES): Use cache.S instead of cache.c.
50431 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50432 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50433 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50434 commented though.
50435 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50436 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50437 (linux_mod_CFLAGS): Commented out.
50438 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50439 out because module isn't built.
50440 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50441 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50442 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50443 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50444 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50445 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50446 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50447 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50448 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50449 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50450 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50451 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50452 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50453 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50454
34eeec8a 504552005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50456
50457 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50458 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50459 longer, because HFS should not be used on PC.
50460
708367a3 504612005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50462
50463 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50464 consistently within the loop.
50465
6fa1251a 504662005-10-15 Marco Gerards <mgerards@xs4all.nl>
50467
50468 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50469 directory can not be read.
50470
4801580b 504712005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50472
50473 * configure.ac (AC_INIT): Increase the version number to 1.91.
50474
50475 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50476 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50477 term/i386/pc/serial.c.
50478
219ad426 504792005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50480
50481 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50482 file size must be permitted.
50483
50484 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50485 between %ah and %al.
50486
688e5699 504872005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50488
50489 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50490 grub_uint64_t.
50491 Call the hook with a NUL-terminated filename.
50492 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50493 grub_cpu_to_be32.
50494
50495 * kern/term.c (cursor_state): New variable.
50496 (grub_term_set_current): Reset the cursor state on a new
50497 terminal.
50498 (grub_setcursor): Rewritten to use CURSOR_STATE.
50499 (grub_getcursor): New function.
50500
50501 * include/grub/term.h (grub_getcursor): New prototype.
50502
50503 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50504 integers on ARM. Reported by Timothy Baldwin
50505 <T.E.Baldwin99@members.leeds.ac.uk>.
50506
bb34586c 505072005-10-11 Marco Gerards <mgerards@xs4all.nl>
50508
50509 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50510 allocated.
50511 (grub_sfs_dir): Likewise.
50512
9a909877 505132005-10-09 Marco Gerards <mgerards@xs4all.nl>
50514
50515 Add support for the SFS filesystem.
50516
50517 * fs/sfs.c: New file.
50518
50519 * DISTLIST: Added `fs/sfs.c'.
50520
50521 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50522 (grub_probefs_SOURCES): Likewise.
50523 (grub_emu_SOURCES): Likewise.
50524 (pkgdata_MODULES): Add `sfs.mod'.
50525 (sfs_mod_SOURCES): New variable.
50526 (sfs_mod_CFLAGS): Likewise.
50527 (sfs_mod_LDFLAGS): Likewise.
50528
50529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50530 (pkgdata_MODULES): Add `sfs.mod'.
50531 (sfs_mod_SOURCES): New variable.
50532 (sfs_mod_CFLAGS): Likewise.
50533
50534 * util/grub-emu.c (main): Call `grub_sfs_init' and
50535 `grub_sfs_fini'.
50536
50537 * include/grub/fs.h (grub_sfs_init): New prototype.
50538 (grub_sfs_fini): Likewise.
50539
57bdbde3 505402005-10-07 Marco Gerards <mgerards@xs4all.nl>
50541
50542 Add support for the AFFS filesystem.
50543
50544 * fs/affs.c: New file.
50545
50546 * DISTLIST: Added `fs/affs.c'.
50547
50548 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50549 (grub_probefs_SOURCES): Likewise.
50550 (grub_emu_SOURCES): Likewise.
50551 (pkgdata_MODULES): Add `affs.mod'.
50552 (affs_mod_SOURCES): New variable.
50553 (affs_mod_CFLAGS): Likewise.
50554 (affs_mod_LDFLAGS): Likewise.
50555
50556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50557 (pkgdata_MODULES): Add `affs.mod'.
50558 (affs_mod_SOURCES): New variable.
50559 (affs_mod_CFLAGS): Likewise.
50560
50561 * util/grub-emu.c (main): Call `grub_affs_init' and
50562 `grub_affs_fini'.
50563
50564 * include/grub/fs.h (grub_affs_init): New prototype.
50565 (grub_affs_fini): Likewise.
50566
047b67e0 505672005-10-01 Marco Gerards <mgerards@xs4all.nl>
50568
50569 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50570
59b8208a 505712005-10-01 Marco Gerards <mgerards@xs4all.nl>
50572
50573 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50574 `-m32' to CFLAGS.
50575
50576 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50577 linking.
f19dbdb7 50578
59b8208a 50579 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50580 (COMMON_LDFLAGS): New variable.
50581 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50582 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50583 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50584 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50585 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50586 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50587 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50588 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50589 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50590 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50591 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50592 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50593 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50594 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50595 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50596 variables.
50597 (normal_mod_ASFLAGS): Add `-m32'.
50598
50599 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50600 (grub_host_size_t, grub_host_ssize_t): New types.
50601 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50602 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50603 `GRUB_HOST_SIZEOF_VOID_P'.
50604
50605 * include/grub/kernel.h (struct grub_module_header): Type of
50606 member offset changed to `grub_host_off_t'. Type of member size
50607 changed to `grub_host_size_t'.
50608 (struct grub_module_info): Type of member offset changed to
50609 `grub_host_off_t'. Type of member size changed to
50610 `grub_host_size_t'.
50611
b4093103 506122005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50613
50614 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50615
b4093103 50616 * kern/i386/pc/startup.S (multiboot_header): New label.
50617 (multiboot_entry): Likewise.
50618 (multiboot_trampoline): Likewise.
50619
50620 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50621 Increased to 0x4A0.
50622
50623 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50624 put parentheses after a question mark.
50625 [!GRUB_UTIL] (my_mod): New variable.
50626
50627 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50628
b2499b29 506292005-09-28 Marco Gerards <mgerards@xs4all.nl>
50630
50631 Adds support for the XFS filesystem. Btrees are not supported
50632 yet.
50633
50634 * fs/xfs.c: New file.
50635
50636 * DISTLIST: Added `fs/xfs.c'.
50637
50638 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50639 (grub_probefs_SOURCES): Likewise.
50640 (grub_emu_SOURCES): Likewise.
50641 (pkgdata_MODULES): Add `xfs.mod'.
50642 (xfs_mod_SOURCES): New variable.
50643 (xfs_mod_CFLAGS): Likewise.
50644
50645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50646 (pkgdata_MODULES): Add `xfs.mod'.
50647 (xfs_mod_SOURCES): New variable.
50648 (xfs_mod_CFLAGS): Likewise.
50649
50650 * util/grub-emu.c (main): Call `grub_xfs_init' and
50651 `grub_xfs_fini'.
50652
50653 * include/grub/fs.h (grub_xfs_init): New prototype.
50654 (grub_xfs_fini): Likewise.
50655
f19dbdb7 50656
83d37a62 506572005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50658
50659 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50660 color modes, allow greater than 16 colors to be configured as
50661 a default palette.
50662
47d2d65e 506632005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50664
50665 * normal/completion.c (complete_arguments): Add the qualifier
50666 const into OPTIONS.
50667
50668 From Omniflux <omniflux+lists@omniflux.com>:
50669 * include/grub/terminfo.h: New file.
50670 * include/grub/tparm.h: Likewise.
50671 * include/grub/i386/pc/serial.h: Likewise.
50672 * term/terminfo.c: Likewise.
50673 * term/tparm.c: Likewise.
50674 * term/i386/pc/serial.c: Likewise.
50675 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50676 serial.mod.
50677 (terminfo_mod_SOURCES): New variable.
50678 (terminfo_mod_CFLAGS): Likewise.
50679 (serial_mod_SOURCES): Likewise.
50680 (serial_mod_CFLAGS): Likewise.
50681
48b671ff 506822005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50683
50684 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50685 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50686 and kern/powerpc/ieee1275/cmain.c, respectively.
50687
50688 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50689 * kern/powerpc/ieee1275/crt0.S: ... here.
50690
50691 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50692 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 50693
48b671ff 50694 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50695 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50696 instead of boot/powerpc/ieee1275/crt0.S and
50697 boot/powerpc/ieee1275/cmain.c, respectively.
50698
50699 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50700 sectors. It was not used anyway.
50701
09fc77a7 507022005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50703
50704 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50705 `unused parameter' warning.
50706
003789c7 507072005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50708
50709 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50710 function.
50711 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50712 getcharwidth.
50713
67f44c86 507142005-08-28 Marco Gerards <metgerards@student.han.nl>
50715
50716 * include/grub/normal.h (enum grub_completion_type): Added
50717 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50718
50719 * normal/cmdline.c (print_completion): Handle
50720 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50721 * normal/menu_entry.c (store_completion): Likewise.
50722
50723 * normal/completion.c (complete_arguments): New function.
50724 (grub_normal_do_completion): Call `complete_arguments' when the
50725 current words start with a dash.
50726
0b5abe02 507272005-08-27 Marco Gerards <metgerards@student.han.nl>
50728
50729 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50730 `gzio.mod' instead of `io.mod').
50731
d9864ee1 507322005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50733
50734 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50735 (DISTDIRS): Added io and video.
50736 Rewrite the search routine to make an output consistently.
50737
50738 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50739 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50740 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50741 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50742 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50743 util/powerpc/ieee1275/misc.c.
f19dbdb7 50744
d9864ee1 50745 * include/grub/gzio.h: New file.
50746 * io/gzio.c: Likewise.
f19dbdb7 50747
d9864ee1 50748 * kern/file.c (grub_file_close): Call grub_device_close only if
50749 FILE->DEVICE is not NULL.
50750
50751 * include/grub/mm.h [!NULL] (NULL): New macro.
50752
50753 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50754
50755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50756 (pkgdata_MODULES): Added gzio.mod.
50757 (gzio_mod_SOURCES): New variable.
50758 (gzio_mod_CFLAGS): Likewise.
50759
50760 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50761 (pkgdata_MODULES): Added gzio.mod.
50762 (gzio_mod_SOURCES): New variable.
50763 (gzio_mod_CFLAGS): Likewise.
50764
50765 * commands/cat.c: Include grub/gzio.h.
50766 (grub_cmd_cat): Use grub_gzfile_open instead of
50767 grub_file_open.
f19dbdb7 50768
d9864ee1 50769 * commands/cmp.c: Include grub/gzio.h.
50770 (grub_cmd_cmp): Use grub_gzfile_open instead of
50771 grub_file_open.
50772
50773 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50774 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50775 grub_file_open.
50776 (grub_rescue_cmd_module): Likewise.
50777
fa46f4b5 507782005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50779
50780 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50781 kern/sparc64/ieee1275/init.c because it contains _start.
50782 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50783
e9211b5d 507842005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50785
50786 * configure.ac: Add support for sparc64 host with ieee1275
50787 firmware.
50788 * configure: Generated from configure.ac.
50789 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50790 instead of int.
50791 (grub_ofdisk_read): Likewise.
50792 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50793 pointers as (void *) to remove a warning.
50794 (grub_ofdisk_close): Likewise.
50795 (grub_ofdisk_read): Likewise.
50796 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50797 returns, so make it return void to remove a warning.
50798 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50799 Corresponding prototype change.
50800 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50801 values, and cast the pointers as (void *) to remove a warning.
50802 (grub_mm_dump): Likewise.
50803 * conf/sparc64-ieee1275.mk: New file.
50804 * conf/sparc64-ieee1275.rmk: Likewise.
50805 * include/grub/sparc64/setjmp.h: Likewise.
50806 * include/grub/sparc64/types.h: Likewise.
50807 * include/grub/sparc64/ieee1275/console.h: Likewise.
50808 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50809 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50810 * include/grub/sparc64/ieee1275/time.h: Likewise.
50811 * kern/sparc64/cache.c: Likewise.
50812 * kern/sparc64/dl.c: Likewise.
50813 * kern/sparc64/ieee1275/init.c: Likewise.
50814 * kern/sparc64/ieee1275/openfw.c: Likewise.
50815
385c6a92 508162005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50817
50818 * util/console.c (grub_ncurses_putchar): If C is greater than
50819 0x7f, set C to a question mark.
50820 (grub_ncurses_getcharwidth): New function.
50821 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50822 getcharwidth.
50823
50824 * normal/menu.c (print_entry): Made aware of Unicode. First,
50825 convert TITLE to UCS-4, and predict the cursor position by
50826 grub_getcharwidth.
50827
50828 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50829 const to SRC.
50830 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50831
16ccb8b1 508322005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50833
50834 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50835 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50836 grub_strcat.
50837
50838 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50839 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50840 grub_strcpy and grub_strlen. Take it into account that a space
50841 character is inserted as a delimiter.
50842
6a85ce79 508432005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50844
50845 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50846 invalid magic in the error.
6a85ce79 50847
50848 * commands/search.c: New file.
f19dbdb7 50849
6a85ce79 50850 * util/grub-emu.c (main): Call grub_search_init and
50851 grub_search_fini.
50852
50853 * kern/rescue.c (grub_rescue_print_disks): Removed.
50854 (grub_rescue_print_devices): New function.
50855 (grub_rescue_cmd_ls): Use grub_device_iterate with
50856 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50857 grub_rescue_print_disks.
50858
50859 * kern/partition.c (grub_partition_iterate): Return the result of
50860 PARTMAP->ITERATE instead of GRUB_ERRNO.
50861
50862 * kern/device.c: Include grub/partition.h.
50863 (grub_device_iterate): New function.
50864
50865 * include/grub/partition.h (grub_partition_iterate): Return int
50866 instead of grub_err_t.
50867
50868 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50869 prototype.
50870 [GRUB_UTIL] (grub_search_fini): Likewise.
50871
50872 * include/grub/device.h (grub_device_iterate): New prototype.
50873
50874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50875 commands/search.c.
50876 (pkgdata_MODULES): Added search.mod.
50877 (search_mod_SOURCES): New variable.
50878 (search_mod_CFLAGS): Likewise.
50879
50880 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50881 (pkgdata_MODULES): Added search.mod.
50882 (search_mod_SOURCES): New variable.
50883 (search_mod_CFLAGS): Likewise.
50884
50885 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50886 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50887 All callers changed.
50888
50889 * DISTLIST: Added commands/search.c.
50890
ef095434 508912005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50892
50893 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50894 conversion.
50895 (grub_getcharwidth): New function.
50896
50897 * kern/misc.c (grub_utf8_to_ucs4): New function.
50898
50899 * include/grub/term.h (struct grub_term): Added a new member
50900 "getcharwidth".
50901 (grub_getcharwidth): New prototype.
50902
50903 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50904
50905 * term/i386/pc/console.c (map_char): New function. Segregated from
50906 grub_console_putchar.
50907 (grub_console_putchar): Use map_char.
50908 (grub_console_getcharwidth): New function.
50909 (grub_console_term): Specified grub_console_getcharwidth as
50910 getcharwidth.
50911
50912 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50913 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50914
50915 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50916 GRUB_ERRNO.
50917 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50918 on grub_strtoul completely.
50919 (write_char): Declare local variables in the beginning of the
50920 function.
50921 (grub_vesafb_getcharwidth): New function.
50922 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50923 getcharwidth.
50924
1f0a95e4 509252005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50926
50927 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50928 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50929 commands/i386/pc/vbetest.c.
50930
50931 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50932 call grub_vbe_get_controller_info again, because the returned
50933 information is volatile.
50934 (grub_vbe_set_video_mode): Mostly rewritten.
50935 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50936 grub_vbe_status_t correctly.
50937 (grub_vbe_get_video_mode_info): Likewise.
50938 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50939 several if statements.
50940
50941 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50942 * commands/i386/pc/vbeinfo.c: ... this.
50943
50944 * commands/i386/pc/vbe_test.c: Renamed to ...
50945 * commands/i386/pc/vbetest.c: ... this.
50946
50947 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50948 ...
50949 (grub_cmd_vbeinfo): ... this. Save video modes before
50950 iterating. Skip a video mode, if it is not available, not enough
50951 information is given or it is monochrome. Show the memory
50952 model. Leave the interpretation of MODEVAR to grub_strtoul
50953 completely.
50954 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50955 (GRUB_MOD_FINI): Likewise.
50956
50957 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50958 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50959 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50960 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50961 grub_strtoul completely.
50962 (real2pm): Removed.
50963 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50964 (GRUB_MOD_FINI): Likewise.
50965
50966 * normal/misc.c: Include grub/mm.h.
50967
50968 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50969 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50970 (vbe_list_modes_mod_SOURCES): Removed.
50971 (vbe_list_modes_mod_CFLAGS): Likewise.
50972 (vbe_test_mod_SOURCES): Likewise.
50973 (vbe_test_mod_CFLAGS): Likewise.
50974 (vbeinfo_mod_SOURCES): New variable.
50975 (vbeinfo_mod_CFLAGS): Likewise.
50976 (vbetest_mod_SOURCES): Likewise.
50977 (vbetest_mod_CFLAGS): Likewise.
50978
992ffbbe 509792005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50980
50981 * normal/misc.c: New file.
50982
50983 * DISTLIST: Added normal/misc.c.
f19dbdb7 50984
992ffbbe 50985 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50986 DISK to HOOK. Call HOOK with DISK.
50987 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50988 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50989 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50990
50991 * normal/menu_entry.c (struct screen): Added a new member
50992 "completion_shown".
50993 (completion_buffer): New global variable.
50994 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50995 (store_completion): New function.
50996 (complete): Likewise.
50997 (clear_completions): Likewise.
50998 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50999 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51000 a tab, call complete.
51001
51002 * normal/completion.c (disk_dev): Removed.
51003 (print_simple_completion): Likewise.
51004 (print_partition_completion): Likewise.
51005 (print_func): New global variable.
51006 (add_completion): Do not take the arguments WHAT or PRINT any
51007 longer. Added a new argument TYPE. Instead of printing directly,
51008 call PRINT_FUNC if not NULL.
51009 All callers changed.
51010 (complete_device): Use a local variable DEV instead of
51011 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51012 (grub_normal_do_completion): Take a new argument HOOK. Do not
51013 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51014 empty string, return NULL instead.
51015 All callers changed.
51016
51017 * normal/cmdline.c (print_completion): New function.
51018
51019 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51020 to HOOK.
51021 All callers changed.
51022
51023 * kern/disk.c (grub_print_partinfo): Removed.
51024
51025 * include/grub/partition.h (struct grub_partition_map): Add a new
51026 argument DISK into HOOK of ITERATE.
51027 (grub_partition_iterate): Add a new argument DISK to HOOK.
51028
51029 * include/grub/normal.h (enum grub_completion_type): New enum.
51030 (grub_completion_type_t): New type.
51031 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51032 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51033 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51034 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51035 (grub_normal_do_completion): Added a new argument HOOK.
51036 (grub_normal_print_device_info): New prototype.
51037
51038 * include/grub/disk.h (grub_print_partinfo): Removed.
51039
51040 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51041 (normal_mod_SOURCES): Likewise.
51042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51043 (normal_mod_SOURCES): Likewise.
51044
51045 * commands/ls.c (grub_ls_list_disks): Use
51046 grub_normal_print_device_info instead of grub_print_partinfo. Free
51047 PNAME.
51048 (grub_ls_list_files): Use grub_normal_print_device_info instead of
51049 duplicating the code.
51050
0bd41162 510512005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51052
51053 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 51054 follow GCS more precisely.
51055 * commands/i386/pc/vbe_test.c: Likewise.
51056 * include/grub/i386/pc/vbe.h: Likewise.
51057 * term/i386/pc/vesafb.c: Likewise.
51058 * video/i386/pc/vbe.c: Likewise.
0bd41162 51059
6323696a 510602005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51061
51062 * DISTLIST: Added term/i386/pc/vesafb.c
51063 DISTLIST: Added video/i386/pc/vbe.c
51064 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51065 DISTLIST: Added commands/i386/pc/vbe_test.c.
51066 * commands/i386/pc/vbe_list_modes.c: New file.
51067 * commands/i386/pc/vbe_test.c: Likewise.
51068 * term/i386/pc/vesafb.c: Likewise.
51069 * video/i386/pc/vbe.c: Likewise.
51070 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51071 (grub_vbe_probe) Added prototype.
51072 (grub_vbe_set_video_mode) Likewise.
51073 (grub_vbe_get_video_mode) Likewise.
51074 (grub_vbe_get_video_mode_info) Likewise.
51075 (grub_vbe_set_pixel_rgb) Likewise.
51076 (grub_vbe_set_pixel_index) Likewise.
51077 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51078 (pkgdata_MODULES): Added vesafb.mod.
51079 (pkgdata_MODULES): Added vbe_list_modes.mod.
51080 (pkgdata_MODULES): Added vbe_test.mod.
51081 (vbe_mod_SOURCES): Added.
51082 (vbe_mod_CFLAGS): Likewise.
51083 (vesafb_mod_SOURCES): Likewise.
51084 (vesafb_mod_CFLAGS): Likewise.
51085 (vbe_list_modes_mod_SOURCES): Likewise.
51086 (vbe_list_modes_mod_CFLAGS): Likewise.
51087 (vbe_test_mod_SOURCES): Likewise.
51088 (vbe_test_mod_CFLAGS): Likewise.
51089
0a74e62f 510902005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
51091
0a74e62f 51092 * normal/command.c (grub_command_execute): If INTERACTIVE is
51093 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
51094 CMDLINE. Disable the pager if INTERACTIVE is true.
51095 All callers are changed.
51096
51097 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
51098 before reading a config file.
51099 * normal/main.c (read_config_file): Even if a command is not
51100 found, register it if it is within an entry.
51101
51102 * util/grub-emu.c: Include sys/types.h and unistd.h.
51103 (options): Added --hold.
51104 (struct arguments): Added a new member "hold".
51105 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
51106 missing.
51107 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
51108 cleared by a debugger, if it is not zero.
51109
51110 * include/grub/normal.h (grub_command_execute): Add an argument
51111 INTERACTIVE.
51112
e51f85ae 511132005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
51114
51115 * DISTLIST: Added include/grub/i386/pc/vbe.h.
51116
e9c6f39b 511172005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
51118
51119 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
51120 program with another one, because the old one didn't detect a bug
51121 in gcc-3.4. Always use regparm 2, because the new test is still
51122 not enough for gcc-4.0. Someone must investigate a simple test
51123 case which detects a bug in gcc-4.0.
51124
8de3495c 511252005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
51126
51127 * DISTLIST: Added normal/completion.c.
51128
51129 * normal/completion.c: New file.
f19dbdb7 51130
8de3495c 51131 * term/i386/pc/console.c (grub_console_getwh): New function.
51132 (grub_console_term): Assign grub_console_getwh to getwh.
51133
51134 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
51135 function is defined in normal/completion.c as
51136 grub_normal_do_completion.
51137 (grub_cmdline_get): Use grub_normal_do_completion instead of
51138 grub_tab_complete.
51139
51140 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
51141 returns non-zero, otherwise return 0.
51142 (grub_partition_iterate): First, probe the partition map. Then,
51143 call ITERATE only for this partition map.
51144
51145 * kern/misc.c (grub_strncmp): Rewritten.
51146
51147 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
51148 returns non-zero. Otherwise return 0.
51149
51150 * include/grub/partition.h (grub_partition_map_iterate): Return
51151 int instead of void.
51152
51153 * include/grub/normal.h (grub_normal_do_completion): New prototype.
51154
51155 * include/grub/misc.h (grub_strncmp): Change the type of N to
51156 grub_size_t.
51157
51158 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
51159 of void.
51160
51161 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 51162 unsigned explicitly before comparing it with I.
8de3495c 51163
51164 * kern/main.c (grub_env_write_root): Add the attribute unused into
51165 VAR.
51166
51167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51168 normal/completion.c.
51169 (normal_mod_SOURCES): Likewise.
51170 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51171 (normal_mod_SOURCES): Likewise.
51172
51173 * normal/command.c (grub_iterate_commands): If ITERATE returns
51174 non-zero, return one immediately.
51175
e85e144b 511762005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51177
51178 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51179 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51180 descriptions.
51181 (grub_vbe_get_controller_info): New function.
51182 (grub_vbe_get_mode_info): Likewise.
51183 (grub_vbe_set_mode): Likewise.
51184 (grub_vbe_get_mode): Likewise.
51185 (grub_vbe_set_memory_window): Likewise.
51186 (grub_vbe_get_memory_window): Likewise.
51187 (grub_vbe_set_scanline_length): Likewise.
51188 (grub_vbe_get_scanline_length): Likewise.
51189 (grub_vbe_set_display_start): Likewise.
51190 (grub_vbe_get_display_start): Likewise.
51191 (grub_vbe_set_palette_data): Likewise.
51192 * include/grub/i386/pc/vbe.h: New file.
51193
c46153d2 511942005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51195
51196 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51197 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51198 * DISTLIST: Likewise.
51199 * kern/ieee1275/of.c: Moved to ...
51200 * kern/ieee1275/ieee1275.c: ... here.
51201
0cb90c45 512022005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51203
51204 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51205 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51206 Pass 0 as `end' parameter to grub_strtoul().
51207
a19fb360 512082005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51209
51210 * include/grub/powerpc/ieee1275/console.h: Do not include
51211 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51212 ifdef.
51213 (grub_console_cur_color): Remove i386-specific prototype.
51214 (grub_console_real_putchar): Likewise.
51215 (grub_console_checkkey): Likewise.
51216 (grub_console_getkey): Likewise.
51217 (grub_console_getxy): Likewise.
51218 (grub_console_gotoxy): Likewise.
51219 (grub_console_cls): Likewise.
51220 (grub_console_setcursor): Likewise.
51221 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51222 Include <grub/machine/console.h>.
51223 * term/ieee1275/ofconsole.c: Likewise.
51224
4ac9bd04 512252005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51226
51227 * Makefile.in (LIBLZO): New variable.
51228
51229 * configure.ac: Check for LZO version 2.
51230
51231 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51232 lzo/lzo1x.h instead of lzo1x.h.
51233
51234 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51235 of -llzo.
51236
51237 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51238 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51239
51240 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51241 copying the data from PARTITION to P.
51242
f4917dfd 512432005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51244
51245 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51246 negative, unload the module.
51247
51248 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51249 map is "pc_partition_map" but not "pc".
51250 (usage): Fix the description. The options are --boot-image and
51251 --core-image but not --boot-file or --core-file.
51252 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51253 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51254 DEFAULT_DIRECTORY.
51255
51256 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51257 --core-file. Specify INSTALL_DEVICE as an argument.
51258
51259 * util/console.c: Include config.h.
51260 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51261 [HAVE_NCURSES_H]: Include ncurses.h.
51262 [HAVE_CURSES_H]: Include curses.h.
51263 [!A_NORMAL] (A_NORMAL): Defined as zero.
51264 [!A_STANDOUT] (A_STANDOUT): Likewise.
51265
51266 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51267 -lncurses.
51268 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51269
51270 * configure.ac: Check for curses libraries and headers.
51271
51272 * Makefile.in (LIBCURSES): New variable.
51273
51274 * genmk.rb (Script::rule): Set the executable bits.
51275
51276 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51277 name of the PC partition map is "pc_partition_map" but not "pc".
51278
0e143073 512792005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51280
51281 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51282 (modules): Likewise.
51283 (usage): Added descriptions for --modules and --grub-probefs.
51284 Handle --modules and --grub-probefs. Save the arguments in MODULES
51285 and GRUB_PROBEFS, respectively.
51286 Auto-detect a filesystem module against GRUBDIR. If the result is
51287 empty and modules are not specified explicitly, abort the
51288 installation. Add the result to MODULES.
51289
51290 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51291 disk/powerpc/ieee1275/ofdisk.c,
51292 include/grub/powerpc/ieee1275/init.h and
51293 term/powerpc/ieee1275/ofconsole.c.
51294 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51295 term/ieee1275/ofconsole.c.
51296
51297 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51298
51299 * COPYING: Upgraded to the latest version. Only the address of the
51300 FSF office has changed.
f19dbdb7 51301
efd6e6d5 513022005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51303
51304 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51305 kern/ieee1275.c with kern/ieee1275/of.c.
51306
51307 * kern/ieee1275.c: Moved to ...
51308 * kern/ieee1275/of.c: ... here.
51309
8ceafda2 513102005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51311
51312 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51313 readability.
8ceafda2 51314
51315 * config.guess: Updated to the latest version from gnulib.
51316 * config.sub: Likewise.
51317 * install.sh: Likewise.
51318 * mkinstalldirs: Likewise.
51319
51320 * include/grub/console.h: Removed. This file is arch-specific. Do
51321 not put this in include/grub.
51322
51323 * include/grub/i386/pc/console.h: Resurrected.
51324
51325 * util/console.c: Include grub/machine/console.h instead of
51326 grub/console.h.
51327 * util/grub-emu.c: Likewise.
51328
267f6cd9 513292005-08-04 Marco Gerards <metgerards@student.han.nl>
51330
51331 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51332 hardcoded value.
f19dbdb7 51333
267f6cd9 51334 From Vincent Pelletier <subdino2004@yahoo.fr>
51335 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51336 Redefined to use grub_getwh.
51337 (grub_term): New member named getwh.
51338 (grub_getwh): New prototype.
51339 * kern/term.c (grub_getwh): New function.
51340 * term/i386/pc/console.c (grub_console_getwh): New function.
51341 (grub_console_term): New member `getwh'.
51342 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51343 (grub_vga_term): New member `getwh'.
0b5abe02 51344 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51345 grub_ssize_t.
51346 (grub_ofconsole_getw): New function.
51347 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51348 (grub_ofconsole_term): New field named getwh and new initial
51349 value.
51350
3be7266d 513512005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51352
51353 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51354 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51355 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51356 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51357 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51358 of <grub/machine/ieee1275.h>.
51359 * commands/ieee1275/reboot.c: Likewise.
51360 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51361 * kern/ieee1275.c: ... to here. All users updated. Change all
51362 parameter structs to use new type `grub_ieee1275_cell_t'.
51363 * term/powerpc/ieee1275/ofconsole.c: Move ...
51364 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51365 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51366 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51367 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51368 to return int.
51369 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51370 Remove unused prototypes. All users updated.
51371 * include/grub/powerpc/ieee1275/console.h: Removed.
51372 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51373 `grub_ieee1275_cell_t'.
51374 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51375 Cast comparisons with -1 to the correct type.
51376 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51377 type to match `grub_ieee1275_entry_fn'.
51378
8b5f3938 513792005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51380
51381 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51382
51383 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51384 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51385 partmap/sun.c.
51386 (grub_probefs_SOURCES): New variable.
51387
51388 * util/i386/pc/grub-probefs.c: New file.
51389
51390 * util/i386/pc/grub-setup.c (main): Call
51391 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51392 grub_hfs_init and grub_jfs_init to initialize the system. Call
51393 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51394 grub_pc_partition_map_fini to finish the system.
51395
ea409713 513962005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51397
51398 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51399 function.
51400 (grub_multiboot_load_elf32): Likewise.
51401 (grub_multiboot_is_elf64): Likewise.
51402 (grub_multiboot_load_elf64): Likewise.
51403 (grub_multiboot_load_elf): Likewise.
51404 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51405 an ELF32 or ELF64 file.
51406 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51407
51408 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51409 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51410 NULL before calling FS->LABEL.
51411 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51412 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51413 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51414 before calling FS->LABEL.
51415
141a288b 514162005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51417
51418 * util/i386/pc/grub-install.in (datadir): New variable.
51419 (libdir): Removed.
51420 (pkgdatadir): New variable.
51421 (pkglibdir): Removed.
51422
0d5f8a54 514232005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51424
51425 * DISTLIST: Added util/i386/pc/grub-install.in.
51426
51427 * util/i386/pc/grub-install.in: New file.
51428
51429 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51430 (grub_install_SOURCES): Likewise.
51431
51432 * genmk.rb: Added support for scripts.
51433 (Script): New class.
51434 (scripts): New variable.
51435
51436 * Makefile.in (install-local): Install sbin_SCRIPTS by
51437 INSTALL_SCRIPT.
51438 (uninstall): Remove sbin_SCRIPTS.
51439
51440 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51441 device, try to get a GRUB device by
51442 grub_util_biosdisk_get_grub_dev.
51443 Free DEST_DEV.
51444
51445 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51446 description for --device-map.
51447
5f968e1e 514482005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51449
51450 Change the semantics of variable hooks. They now return strings
51451 instead of error values.
f19dbdb7 51452
5f968e1e 51453 * util/i386/pc/grub-setup.c: Include grub/env.h.
51454 (setup): Use grub_device_set_root instead of grub_env_set.
51455
51456 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51457 grub_env_get instead of grub_device_set_root and
51458 grub_device_get_root, respectively.
51459
51460 * kern/main.c (grub_env_write_root): New function.
51461 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51462 grub_env_set instead of grub_device_set_root.
51463
51464 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51465 many variables.
51466 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51467 rather than calling ENV->WRITE_HOOK afterwards.
51468 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51469 passing a pointer of a pointer.
51470 (grub_register_variable_hook): Change the types of "read_hook" and
51471 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51472 respectively.
51473 Allocate the default empty string on the heap, because this string
51474 may be freed later.
51475
51476 * kern/device.c: Include grub/env.h.
51477 (grub_device_set_root): Removed.
51478 (grub_device_get_root): Likewise.
51479 (grub_device_open): Use grub_env_get instead of
51480 grub_device_get_root.
51481
51482 * include/grub/env.h (grub_env_read_hook_t): New type.
51483 (grub_env_write_hook_t): Likewise.
51484 (grub_env_var): Change the types of "read_hook" and "write_hook"
51485 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51486 (grub_register_variable_hook): Likewise.
51487
51488 * include/grub/device.h (grub_device_set_root): Removed.
51489 (grub_device_set_root): Likewise.
51490
51491 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51492 make sure that DIRNAME terminates with '/', so that
51493 grub_fat_find_dir will fail if PATH is not a directory.
51494
51495 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51496 from DIRNAME.
51497 Use the qualifier auto for print_files and print_files_long.
51498 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51499 as a regular file.
51500 Put a newline only if there is no error.
51501 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51502 used.
51503
896f0afd 515042005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51505
51506 * kern/partition.c (grub_partition_probe): Initialize PART to
51507 NULL. Otherwise, when no partition map is registered, this returns
51508 a garbage.
51509
b28b81b2 515102005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51511
51512 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51513 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51514 valid.
51515
5f3607e0 515162005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51517
51518 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51519 information on each device, if it does not have partitions. Print
51520 "Device" instead of "Disk", because this function is not specific
51521 to disk devices.
51522
51523 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51524 static to ensure that it is put on the memory rather than a
51525 register.
51526
502c87e8 515272005-07-17 Yoshinori Okuji <okuji@enbug.org>
51528
51529 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51530 (grub_cat_init): Likewise.
51531 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51532 (options): Likewise.
51533 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51534 (grub_configfile_init): Likewise.
51535 * font/manager.c (GRUB_MOD_INIT): Likewise.
51536 * commands/help.c (GRUB_MOD_INIT): Likewise.
51537 (grub_help_init): Likewise.
51538 * normal/command.c (grub_command_init): Likewise.
51539 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51540 * disk/loopback.c (grub_loop_init): Likewise.
51541 (GRUB_MOD_INIT): Likewise.
51542 * commands/ls.c (grub_ls_init): Likewise.
51543 (GRUB_MOD_INIT): Likewise.
51544 (options): Likewise.
51545 * commands/boot.c (grub_boot_init): Likewise.
51546 (GRUB_MOD_INIT): Likewise.
51547 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51548 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51549 (GRUB_MOD_INIT): Likewise.
51550 * commands/cmp.c (grub_cmp_init): Likewise.
51551 (GRUB_MOD_INIT): Likewise.
51552
51553 * normal/arg.c: Use <> instead of "" to include header files.
51554 (SHORT_ARG_HELP): New macro.
51555 (SHORT_ARG_USAGE): Likewise.
51556 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51557 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51558 descriptions.
51559 (find_short): Check if C is 'h' or 'u' explicitly.
51560 (grub_arg_show_help): Use space characters instead of tabs. Treat
51561 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51562 are shown with --help and --usage only if they are not used for
51563 the command itself.
51564 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51565 'h' and 'u'.
51566
51567 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51568 const into "longarg". Change the type of "shortarg" to int.
51569
f806d18e 515702005-07-17 Yoshinori Okuji <okuji@enbug.org>
51571
51572 * boot/i386/pc/boot.S (boot_drive_check): New label.
51573
51574 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51575 macro.
51576
51577 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51578 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51579
e293232b 515802005-07-17 Yoshinori Okuji <okuji@enbug.org>
51581
51582 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51583 When turning off Gate A20, skip the check and return immediately,
51584 because this is not fatal usually.
51585
ebedfd00 515862005-07-17 Yoshinori Okuji <okuji@enbug.org>
51587
51588 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51589 be 0x7C00 instead of 0x8000.
51590
51591 * boot/i386/pc/pxeboot.S: Rewritten.
51592
51593 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51594 EXT_C.
51595 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51596 result.
51597
654fc59f 515982005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51599
51600 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51601 robustness. This routine now supports a BIOS call and System
51602 Control Port A to modify the gate A20.
51603
51604 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51605 Increased to 0x440.
51606
09f9923f 516072005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51608
51609 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51610 device path and resulting ihandle.
51611 (grub_ofdisk_close): dprintf the ihandle being closed.
51612 (grub_ofdisk_read): dprintf function parameters.
51613 * kern/mm.c (grub_mm_init_region): Likewise.
51614 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51615 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51616 size, and boot arguments.
51617 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51618 before loading into memory.
51619 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51620 before loading into memory.
51621
7ef504d8 516222005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51623
51624 * kern/mm.c: Added much documentation.
51625 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51626 8, set to 5 instead of 8.
51627
e0f050c2 516282005-07-10 Yoshinori Okuji <okuji@enbug.org>
51629
51630 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51631
51632 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51633 (grub_mkdevicemap_SOURCES): New variable.
51634
51635 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51636 lib/device.c of GRUB Legacy.
51637
7224189a 516382005-07-10 Yoshinori Okuji <okuji@enbug.org>
51639
51640 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51641 instead of PATH is NULL.
51642
68c864eb 516432005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51644
51645 * commands/cmp.c (BUFFER_SIZE): New macro.
51646 (grub_cmd_cmp): Close the right file at the right time. Compare
51647 only data just read. Don't report files of different size as
51648 identical. Dynamically allocate buffers. Move variable
51649 declarations at the beginning of function.
51650
e6f3e614 516512005-07-09 Yoshinori Okuji <okuji@enbug.org>
51652
51653 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51654 reverse.
51655
f8f1559a 516562004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51657
51658 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51659 when backspace is pressed at beginning of line.
51660
39c9d41d 516612005-07-03 Yoshinori Okuji <okuji@enbug.org>
51662
51663 * DISTLIST: Added genfslist.sh.
51664
51665 * normal/main.c (fs_module_list): New variable.
51666 (autoload_fs_module): New function.
51667 (read_fs_list): Likewise.
51668 (grub_normal_execute): Call read_fs_list.
51669
51670 * kern/fs.c (grub_fs_autoload_hook): New variable.
51671 (grub_fs_probe): Added support for auto-loading.
51672
51673 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51674 (grub_fs_module_list_t): New type.
51675
51676 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51677 (grub_fs_autoload_hook): New prototype.
51678
51679 * genfslist.sh: New file.
f19dbdb7 51680
39c9d41d 51681 * genmk.rb: Added a rule to generate a filesystem list.
51682
121c1d83 516832005-06-30 Marco Gerards <metgerards@student.han.nl>
51684
51685 * configure.ac: Fix the test for cross-compiling.
51686
51687 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51688 define GRUB_UTIL anymore.
51689
51690 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51691 so this function works on other systems than just big endian.
51692 (load_modules): Likewise.
51693 (add_segments): Likewise.
51694
e75d76e1 516952005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51696
51697 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51698 contains `l' modifier, get a long from va_arg().
51699
50b5a0a7 517002005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51701
51702 * kern/mm.c (grub_free): If the next free block which is being
51703 merged is the first free block, set the first block to the block
51704 being freed.
51705 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51706
89371b20 517072005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51708
51709 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51710 `grub_ieee1275_chosen'.
51711
168d6e58 517122005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51713
51714 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51715 (grub_ieee1275_chosen): New variable.
51716 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51717 `chosen'.
51718 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51719 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51720 Rename first argument to `phandle' for consistency.
51721 (grub_ieee1275_get_property_length): Likewise.
51722 (grub_ieee1275_next_property): Likewise. Change type of first argument
51723 to grub_ieee1275_phandle_t.
51724 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51725 Move export next to declaration.
51726 (grub_ieee1275_chosen): New variable.
51727 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51728 Correct cosmetic typo.
51729 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51730 `grub_ieee1275_chosen'.
51731 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51732 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51733 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51734 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51735 `grub_ieee1275_chosen'.
51736
ca5baa3f 517372005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51738
51739 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51740 /chosen/bootargs.
51741 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51742 /chosen/bootargs as "variable=value" pairs.
51743
708b345f 517442005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51745
51746 * include/grub/misc.h (grub_dprintf): New macro.
51747 (grub_real_dprintf): New prototype.
51748 (grub_strword): Likewise.
51749 (grub_iswordseparator): Likewise.
51750 * kern/misc.c (grub_real_dprintf): New function.
51751 (grub_strword): Likewise.
51752 (grub_iswordseparator): Likewise.
51753
f4c5e67c 517542005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51755
51756 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51757 (roundup): Remove macro.
51758 (grub_ieee1275_flags): Make static.
51759 (grub_ieee1275_realmode): Remove.
51760 (grub_ieee1275_test_flag): New function.
51761 (grub_ieee1275_set_flag): Likewise.
51762 (find_options): Rename to `grub_ieee1275_find_options'; update
51763 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51764 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51765 (cmain): New prototype.
51766 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51767 `grub_ieee1275_flags' directly.
51768 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51769 machine/biosdisk.h.
51770 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51771 Don't include grub/machine/init.h.
51772 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51773 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51774 Remove prototype.
51775 (grub_ieee1275_realmode): Likewise.
51776 (grub_ieee1275_flag): New enum.
51777 (grub_ieee1275_test_flag): New prototype.
51778 (grub_ieee1275_set_flag): New prototype.
51779 * include/grub/powerpc/ieee1275/init.h: Remove file.
51780 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51781 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51782 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51783 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51784 comment.
51785 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51786 `grub_ieee1275_test_flag'.
51787 (grub_ieee1275_encode_devname): Likewise.
51788
ed16607e 517892005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51790
51791 * include/grub/powerpc/ieee1275/ieee1275.h
51792 (grub_ieee1275_encode_devname): New prototype.
51793 (grub_ieee1275_get_filename): Likewise.
51794 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51795 function.
51796 (grub_set_prefix): Likewise.
51797 (grub_machine_init): Call grub_set_prefix.
51798 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51799 (grub_parse_type): New enum.
51800 (grub_ieee1275_get_devargs): New function.
51801 (grub_ieee1275_get_devname): Likewise.
51802 (grub_ieee1275_parse_args): Likewise.
51803 (grub_ieee1275_get_filename): Likewise.
51804 (grub_ieee1275_encode_devname): Likewise.
51805
be369920 518062005-03-30 Marco Gerards <metgerards@student.han.nl>
51807
51808 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51809 `grub_loader_unset'.
51810
a5ce3a4a 518112005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51812
51813 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51814 instead of grub_ieee1275_interpret.
51815 (grub_halt_init): New function.
51816 (grub_halt_fini): Likewise.
51817 (GRUB_MOD_INIT): Correct message grammar.
51818 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51819 instead of grub_ieee1275_interpret.
51820 (grub_reboot_init): New function.
51821 (grub_reboot_fini): Likewise.
51822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51823 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51824 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51825 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51826 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51827 function.
51828 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51829 Add prototype.
51830 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51831 prototype.
51832 (grub_halt): Likewise.
51833 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51834 (cmain): Remove __attribute__((unused)).
51835 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51836 (grub_heap_len): Likewise.
51837 (grub_machine_fini): New function.
51838 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51839 (grub_halt): Likewise.
51840 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51841 function.
51842 * util/powerpc/ieee1275/misc.c: New file.
51843
0058f771 518442005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51845
51846 * DISTLIST: New file.
51847 * gendistlist.sh: Likewise.
f19dbdb7 51848
0058f771 51849 * Makefile.in (COMMON_DISTFILES): Removed.
51850 (BOOT_DISTFILES): Likewise.
51851 (CONF_DISTFILES): Likewise.
51852 (DISK_DISTFILES): Likewise.
51853 (FS_DISTFILES): Likewise.
51854 (INCLUDE_DISTFILES): Likewise.
51855 (KERN_DISTFILES): Likewise.
51856 (LOADER_DISTFILES): Likewise.
51857 (TERM_DISTFILES): Likewise.
51858 (UTIL_DISTFILES): Likewise.
51859 (DISTFILES): Likewise.
51860 (uninstall): Uninstall files in $(pkgdata_DATA).
51861 (DISTLIST): New target.
51862 (distdir): Use the contents of the file DISTLIST to get a list of
51863 distributed files.
51864
46b3b8a5 518652005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51866
51867 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51868 descriptor. This is ported from GRUB Legacy.
51869
51870 * gencmdlist.sh: Added an extra semicolon to make it work with
51871 old sed versions. Reported by Robert Bihlmeyer
51872 <robbe@orcus.priv.at>.
51873
5822ff87 518742005-03-08 Yoshinori Okuji <okuji@enbug.org>
51875
51876 Automatic loading of commands is supported.
f19dbdb7 51877
5822ff87 51878 * normal/main.c (read_command_list): New function.
51879 (grub_normal_execute): Call read_command_list.
51880
51881 * normal/command.c (grub_register_command): Return zero or CMD.
51882 Allocate CMD->NAME from the heap.
51883 Initialize CMD->MODULE_NAME to zero.
51884 Find the same name as well. If the same command is found and it is
51885 a dummy command, overwrite members. If it is not a dummy command,
51886 return zero.
51887 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51888 (grub_command_find): If a dummy command is found, load a module
51889 and retry to find a command only once.
51890
51891 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51892 make sure that each command is loaded.
51893
51894 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51895 macro.
51896 (struct grub_command): Remove const from the member `name'.
51897 Add a new member `module_name'.
51898 (grub_register_command): Return grub_command_t.
51899
51900 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51901 sure that each command is loaded.
51902
51903 * genmk.rb (PModule::rule): Specify a module name without the
51904 suffix ".mod" to gencmdlist.sh.
51905
7b1f4b57 519062005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51907
51908 * gencmdlist.sh: New file.
f19dbdb7 51909
7b1f4b57 51910 * genmk.rb (PModule::rule): Generate a rule for a command list.
51911 Clean command.lst.
51912 Generate command.lst from $(COMMANDFILES).
51913
51914 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51915 (DATA): Added $(pkgdata_DATA).
51916 (install-local): Install files in $(pkgdata_DATA).
51917
062aaf39 519182005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51919
51920 * term/i386/pc/vga.c (debug_command): Removed.
51921 (GRUB_MOD_INIT): Do not register the command "debug".
51922
51923 From Hollis Blanchard:
51924 * commands/configfile.c: New file.
51925 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51926 commands/configfile.c.
51927 (pkgdata_MODULES): Added configfile.mod.
51928 (configfile_mod_SOURCES): New variable.
51929 (configfile_mod_CFLAGS): Likewise.
51930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51931 commands/configfile.c.
51932 (pkgdata_MODULES): Added configfile.mod.
51933 (configfile_mod_SOURCES): New variable.
51934 (configfile_mod_CFLAGS): Likewise.
51935 * util/grub-emu.c (main): Call grub_configfile_init and
51936 grub_configfile_fini.
51937 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51938 prototype.
51939 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51940
cee01aa6 519412005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51942
51943 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51944 address.
51945
51946 * commands/help.c (grub_cmd_help): Do not print newlines after
51947 the last command in print_command_help.
51948
93f3a1d8 519492005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51950
51951 * commands/default.h: New file.
51952 * commands/timeout.h: Likewise.
51953 * normal/context.c: Likewise.
f19dbdb7 51954
93f3a1d8 51955 * util/misc.c: Do not include sys/times.h.
51956 Include sys/time.h and grub/machine/time.h.
51957 (grub_get_rtc): Rewritten with gettimeofday.
51958
51959 * util/grub-emu.c (main): Call grub_default_init and
51960 grub_timeout_init before grub_normal_init, and call
51961 grub_timeout_fini and grub_default_fini after grub_main.
51962
51963 * util/console.c (grub_ncurses_checkkey): Return the read
51964 character or -1.
51965
51966 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51967 timeouts.
51968
51969 * normal/main.c (read_config_file): Push MENU. If this fails,
51970 print an error and wait for a user input.
51971 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51972 If a menu is empty or an error occurs, pop MENU.
51973 (grub_normal_execute): Pop and free MENU after grub_menu_run
51974 returns.
51975
51976 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51977
51978 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51979 include time.h.
51980 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51981 without GRUB_UTIL.
51982 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51983 time.h.
51984 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51985 without GRUB_UTIL.
51986
51987 * include/grub/normal.h (struct grub_menu_list): New struct.
51988 (grub_menu_list_t): New type.
51989 (struct grub_context): New struct.
51990 (grub_context_t): New type.
51991 (grub_register_command): Got rid of EXPORT_FUNC.
51992 (grub_unregister_command): Likewise.
51993 (grub_context_get): New prototype.
51994 (grub_context_get_current_menu): Likewise.
51995 (grub_context_push_menu): Likewise.
51996 (grub_context_pop_menu): Likewise.
51997 [GRUB_UTIL] (grub_default_init): Likewise.
51998 [GRUB_UTIL] (grub_default_fini): Likewise.
51999 [GRUB_UTIL] (grub_timeout_init): Likewise.
52000 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52001
52002 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52003 commands/timeout.c and normal/context.c.
52004 (pkgdata_MODULES): Added default.mod and timeout.mod.
52005 (normal_mod_SOURCES): Added normal/context.c.
52006 (default_mod_SOURCES): New variable.
52007 (default_mod_CFLAGS): Likewise.
52008 (timeout_mod_SOURCES): Likewise.
52009 (timeout_mod_CFLAGS): Likewise.
52010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52011 conf/i386-pc.rmk.
52012 (pkgdata_MODULES): Added default.mod and timeout.mod.
52013 (normal_mod_SOURCES): Added normal/context.c.
52014 (default_mod_SOURCES): New variable.
52015 (default_mod_CFLAGS): Likewise.
52016 (timeout_mod_SOURCES): Likewise.
52017 (timeout_mod_CFLAGS): Likewise.
52018
52019 * Makefile.in (all-local): Added $(MKFILES).
52020
4ed2e1dd 520212005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52022
52023 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52024 (grub_emu_SOURCES): Likewise.
52025 (pkgdata_MODULES): Add `sun.mod'.
52026 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52028 `partmap/sun.c'.
52029 (pkgdata_MODULES): Add `sun.mod'.
52030 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52031 * include/grub/partition.h (grub_sun_partition_map_init): New
52032 prototype.
52033 (grub_sun_partition_map_fini): Likewise.
52034 * partmap/sun.c: New file.
52035 * util/grub-emu.c (main): Initialize and de-initialize the sun
52036 partitionmap support.
52037
4d4e372e 520382005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52039
52040 This implements an Emacs-like menu entry editor.
f19dbdb7 52041
4d4e372e 52042 * normal/menu_entry.c: New file.
f19dbdb7 52043
4d4e372e 52044 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52045 characters to ASCII.
52046 (saved_char): New variable.
52047 (grub_ncurses_checkkey): Rewritten completely.
52048 (grub_ncurses_getkey): Likewise.
52049 (grub_ncurses_init): Call raw instead of cbreak.
52050
52051 * normal/menu.c (print_entry): Do not put a space.
52052 (init_page): Renamed to ...
52053 (grub_menu_init_page): ... this. All callers changed.
52054 (edit_menu_entry): Removed.
52055 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
52056
52057 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
52058
52059 * kern/misc.c (grub_vprintf): Call grub_refresh.
52060
52061 * normal/menu.c (DISP_LEFT): Renamed to ...
52062 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52063 * normal/menu.c (DISP_UP): Renamed to ...
52064 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52065 * normal/menu.c (DISP_RIGHT): Renamed to ...
52066 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52067 * normal/menu.c (DISP_DOWN): Renamed to ...
52068 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52069 * normal/menu.c (DISP_HLINE): Renamed to ...
52070 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52071 * normal/menu.c (DISP_VLINE): Renamed to ...
52072 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52073 * normal/menu.c (DISP_UL): Renamed to ...
52074 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52075 * normal/menu.c (DISP_UR): Renamed to ...
52076 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52077 * normal/menu.c (DISP_LL): Renamed to ...
52078 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52079 * normal/menu.c (DISP_LR): Renamed to ...
52080 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52081 * normal/menu.c (TERM_WIDTH): Renamed to ...
52082 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52083 * normal/menu.c (TERM_HEIGHT): Renamed to ...
52084 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
52085 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
52086 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
52087 * normal/menu.c (TERM_MARGIN): Renamed to ...
52088 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
52089 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
52090 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
52091 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
52092 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
52093 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
52094 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
52095 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
52096 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
52097 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
52098 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
52099 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
52100 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
52101 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
52102 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
52103 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
52104 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
52105 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
52106 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
52107 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
52108 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
52109 All callers changed.
52110
52111 * include/grub/normal.h: New prototype.
52112
52113 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52114 normal/menu_entry.c.
52115 (normal_mod_SOURCES): Likewise.
52116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52117 (normal_mod_SOURCES): Likewise.
52118
e6b92c8a 521192005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
52120
52121 * include/grub/normal.h (grub_halt_init): New prototype.
52122 (grub_halt_fini): Likewise.
52123 (grub_reboot_init): Likewise.
52124 (grub_reboot_fini): Likewise.
52125
52126 * util/grub-emu.c: Include signal.h.
52127 (main_env): New global variable.
52128 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
52129 catch C-c.
52130 (grub_machine_fini): New function.
52131 (main): Call grub_halt_init and grub_reboot_init before
52132 grub_main, and grub_reboot_fini and grub_halt_fini after it.
52133 Call setjmp with MAIN_ENV to go back afterwards.
52134 Call grub_machine_fini right before return.
52135
52136 * include/grub/util/misc.h: Include setjmp.h.
52137 (main_env): New prototype.
52138
52139 * include/grub/kernel.h (grub_machine_fini): New prototype.
52140 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
52141 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
52142
52143 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
52144 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
52145 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 52146
e6b92c8a 52147 * util/i386/pc/misc.c: New file.
f19dbdb7 52148
e6b92c8a 52149 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52150 util/i386/pc/misc.c, commands/i386/pc/halt.c and
52151 commands/i386/pc/reboot.c.
52152
c642636f 521532005-02-14 Guillem Jover <guillem@hadrons.org>
52154
52155 * include/grub/dl.h (grub_dl_check_header): New prototype.
52156 (grub_arch_dl_check_header): Change return type to grub_err_t,
52157 remove size parameter and export function. Update all callers.
52158 * kern/dl.c (grub_dl_check_header): New function.
52159 (grub_dl_load_core): Use `grub_dl_check_header' instead of
52160 `grub_arch_dl_check_header'. Check ELF type. Check if sections
52161 are inside the core.
52162 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
52163 independent ELF header checks.
52164 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52165 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
52166 `grub_dl_check_header' instead of explicit checks. Check for the
52167 ELF type.
52168 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
52169 `grub_dl_check_header' instead of explicit checks. Remove arch
52170 specific ELF header checks.
52171
e6b92c8a 52172 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52173 argument SIZE.
52174
5eabe94b 521752005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52176
52177 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52178 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52179
1b14a681 521802005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52181
52182 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 52183 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 52184 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 52185 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 52186 * partmap/amiga.c (amiga_partition_map_iterate): Return
52187 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52188 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52189
aca108aa 521902005-02-01 Guillem Jover <guillem@hadrons.org>
52191
52192 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52193 help info.
52194
c9f9c556 521952005-01-31 Marco Gerards <metgerards@student.han.nl>
52196
52197 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52198 Removed prototype.
52199 (grub_rescue_cmd_linux): New prototype.
52200 (grub_rescue_cmd_initrd): Likewise.
52201 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52202 `bi_rec'.
52203 (grub_linux_release_mem): Release the memory for the initrd.
52204 (grub_load_linux): Renamed from this...
52205 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52206 Changed `entry' not to be static. Loop over memory regions to
52207 find another one when the default fails.
52208 (grub_rescue_cmd_initrd): New function.
52209 (grub_linux_init): Remove function.
52210 (grub_linux_fini): Likewise.
52211 (GRUB_MOD_INIT): Register `initrd'.
52212 (GRUB_MOD_FINI): Unregister `initrd'.
52213 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52214 Function removed.
52215 (grub_linux_normal_fini): Likewise.
52216 (GRUB_MOD_INIT): Register `initrd'.
52217 (GRUB_MOD_FINI): Unregister `initrd'.
52218
990cf3aa 522192005-01-31 Marco Gerards <metgerards@student.han.nl>
52220
52221 * commands/help.c: New file.
52222 * normal/arg.c (show_help): Renamed to...
52223 (grub_arg_show_help): ... this.
52224 * commands/i386/pc/halt.c: New file.
52225 * commands/i386/pc/reboot.c: Likewise.
52226 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52227 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52228 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52229 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52230 variables.
52231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52232 `commands/help.c'.
52233 (pkgdata_MODULES): Add `help.mod'.
52234 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52235 * grub/i386/pc/init.h (grub_reboot): New prototype.
52236 (grub_halt): Likewise.
52237 * include/grub/normal.h (grub_arg_show_help): New prototype.
52238 (grub_help_init): Likewise.
52239 (grub_help_fini): Likewise.
52240 * util/grub-emu.c (main): Initialize and deinitialize the help
52241 command.
52242
52243 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52244
52245 * normal/command.c (grub_command_init): Fixed the description of
52246 the `set' and `unset' commands.
52247
522482005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52249
52250 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52251 function.
52252 * commands/ieee1275/halt.c: New file.
52253 * commands/ieee1275/reboot.c: Likewise.
52254 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52255 `__attribute__ ((unused))'. Some GCS related fixed.
52256 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52257 (grub_suspend_fini): Likewise.
52258 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52259 and `halt.mod'.
52260 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52261 (halt_mod_CFLAGS): New variables.
52262 * include/grub/powerpc/ieee1275/ieee1275.h
52263 (grub_ieee1275_interpret): New prototype.
52264
1ab09cc7 522652005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52266
52267 * include/grub/misc.h (memmove): New prototype.
52268 (memcpy): Likewise.
52269
8b8cbdb2 522702005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52271
52272 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52273 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52274
e3741a27 522752005-01-22 Marco Gerards <metgerards@student.han.nl>
52276
52277 * kern/misc.c (grub_strndup): Function rewritten.
52278
776bd780 522792005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52280
52281 * normal/menu.c (TERM_WIDTH): Macro redefined.
52282 (TERM_TOP_BORDER_Y): Likewise.
52283 (draw_border): Replaced while-loop by a for-loop. Make the number
52284 of lines consistent with the number of lines displayed in
52285 print_entries. Added a margin below the rectangle.
52286 (print_entry): Make the entry fit in the rectangle.
52287 (print_entries): Display the scroll arrows next to the right
52288 border.
52289
78026bce 522902005-01-21 Marco Gerards <metgerards@student.han.nl>
52291
52292 * fs/minix.c (grub_minix_find_file): Reserve more space for
52293 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52294 `grub_strncpy' to copy `path' into it.
52295
67bbaf0f 522962005-01-21 Marco Gerards <metgerards@student.han.nl>
52297
52298 Add the loopback device, a device via which files can be accessed
52299 as devices.
f19dbdb7 52300
67bbaf0f 52301 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52302 (pkgdata_MODULES): Add loopback.mod.
52303 (loopback_mod_SOURCES): New variable.
52304 (loopback_mod_CFLAGS): Likewise.
52305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52306 `disk/loopback.c'.
52307 (pkgdata_MODULES): Add loopback.mod.
52308 (loopback_mod_SOURCES): New variable.
52309 (loopback_mod_CFLAGS): Likewise.
52310 * disk/loopback.c: new file.
52311 * include/grub/normal.h (grub_loop_init): New prototype.
52312 (grub_loop_fini): New prototype.
52313 * util/grub-emu.c (main): Initialize and de-initialize loopback
52314 support.
52315 * include/grub/disk.h (grub_disk_dev_id): Add
52316 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52317
6f1c18bd 523182005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52319
52320 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52321 function.
52322 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52323 (suspend_mod_SOURCES): New variable.
52324 (suspend_mod_CFLAGS): Likewise.
52325 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52326 New prototype.
52327 * commands/ieee1275/suspend.c: New file.
52328
b38551da 523292005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52330
52331 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52332 ((unused))' to `__attribute__ ((used))'.
b38551da 52333 (GRUB_MOD_FINI): Likewise.
52334 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52335 * genmk.rb (PModule): Assign space to common symbols when linking
52336 modules.
52337
777aff39 523382005-01-20 Marco Gerards <metgerards@student.han.nl>
52339
52340 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52341 `unsigned' arguments to `grub_size_t'.
52342 (grub_malloc): Likewise.
52343 (grub_realloc): Likewise.
52344 (grub_memalign): Likewise.
52345 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52346 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52347 * util/misc.c (grub_malloc): Likewise.
52348 (grub_realloc): Likewise.
52349 * kern/mm.c (get_header_from_pointer): Change the casts to
52350 `unsigned' into a cast to `grub_size_t'.
52351
52352 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52353 point to `currnode' when `currnode' is changed.
52354
52355 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52356 Schottelius <nico-linux@schottelius.org>.
52357
d0ff18e1 523582005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52359
52360 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52361 (note_path): Remove variable.
52362 (GRUB_IEEE1275_NOTE_NAME): New macro.
52363 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52364 (grub_ieee1275_note_hdr): New structure.
52365 (grub_ieee1275_note_desc): Likewise.
52366 (grub_ieee1275_note): Likewise.
52367 (load_note): Remove `dir' argument. All callers updated. Remove
52368 `note_img' and `path'. Do not load a file from `note_path'.
52369 Initialize a struct grub_ieee1275_note and write that to `out'.
52370 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52371
4ca7004c 523722005-01-05 Marco Gerards <metgerards@student.han.nl>
52373
52374 * util/misc.c (grub_util_read_image): Revert last change. It
52375 called `grub_util_read_at', which seeks from the beginning of the
52376 file.
52377
0b412211 523782005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52379
52380 * TODO: Add note about endianness in grub-mkimage.
52381 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52382 section.
52383 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52384 (grub_mkimage_SOURCES): New target.
52385 * include/grub/kernel.h (grub_start_addr): Remove variable.
52386 (grub_end_addr): Likewise.
52387 (grub_total_module_size): Likewise.
52388 (grub_kernel_image_size): Likewise.
52389 (GRUB_MODULE_MAGIC): New constant.
52390 (grub_module_info): New structure.
52391 (grub_arch_modules_addr): New prototype.
52392 (grub_get_end_addr): Remove prototype.
52393 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52394 * include/grub/powerpc/ieee1275/kernel.h: New file.
52395 * include/grub/util/misc.h (grub_util_get_fp_size): New
52396 prototype.
52397 (grub_util_read_at): Likewise.
52398 (grub_util_write_image_at): Likewise.
52399 * kern/main.c (grub_get_end_addr): Remove function.
52400 (grub_load_modules): Call grub_arch_modules_addr instead of using
52401 grub_end_addr. Look for a grub_module_info struct in memory. Use
52402 the grub_module_info fields instead of calling grub_get_end_addr
52403 as loop conditions. Move grub_add_unused_region code here.
52404 (grub_add_unused_region): Remove function.
52405 * kern/i386/pc/init.c: Include grub/cache.h.
52406 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52407 one call to add_mem_region.
52408 (grub_arch_modules_addr): New function.
52409 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52410 (grub_total_module_size): Likewise.
52411 Include grub/machine/kernel.h.
52412 (grub_arch_modules_addr): New function.
52413 * util/grub-emu.c (grub_end_addr): Remove variable.
52414 (grub_total_module_size): Likewise.
52415 (grub_arch_modules_addr): New function.
52416 * util/misc.c: Include unistd.h.
52417 (grub_util_get_fp_size): New function.
52418 (grub_util_read_at): Likewise.
52419 (grub_util_write_image_at): Likewise.
52420 (grub_util_read_image): Call grub_util_read_at.
52421 (grub_util_write_image): Call grub_util_write_image_at.
52422 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52423 additional memory in kernel_img for a struct grub_module_info.
52424 Fill in that grub_module_info.
52425 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52426
458786f8 524272005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52428
52429 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52430 New function.
52431 * include/grub/powerpc/ieee1275/ieee1275.h
52432 (grub_ieee1275_milliseconds): New prototype.
52433 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52434 Change to 1000.
52435 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52436 grub_ieee1275_milliseconds.
52437
ac507d1b 524382005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52439
52440 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52441 variable.
52442 (find_options): New function.
52443 (cmain): Call find_options.
52444 * include/grub/powerpc/ieee1275/ieee1275.h
52445 (grub_ieee1275_realmode): New extern variable.
52446 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52447 grub_map if grub_ieee1275_realmode is false.
52448
6b8fd1c4 524492004-12-29 Marco Gerards <metgerards@student.han.nl>
52450
52451 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52452 lines are inserted and make it work like readline. Reported by
52453 Vincent Pelletier <subdino2004@yahoo.fr>.
52454
8514a1e0 524552004-12-28 Marco Gerards <metgerards@student.han.nl>
52456
52457 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52458
52459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52460 `kern/powerpc/cache.S'.
52461
924b6140 524622004-12-27 Marco Gerards <metgerards@student.han.nl>
52463
52464 * genmk.rb: Handle the `Program' class in the main loop. Written
52465 by Johan Rydberg <jrydberg@gnu.org>.
52466 (Program): New class.
52467 (programs): New variable.
52468 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52469 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52470 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52471 (help_arch): Function removed.
52472 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52473 `powerpc/libgcc.h' and `loader.h'.
52474 (pkgdata_PROGRAMS): New variable.
52475 (sbin_UTILITIES): Variable removed.
52476 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52477 (grubof_SOURCES): Variable re-defined so it only includes the
52478 core functionality.
52479 (grubof_CFLAGS): Remove `-DGRUBOF'.
52480 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52481 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52482 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52483 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52484 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52485 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52486 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52487 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52488 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52489 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52490 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52491 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52492 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52493 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52494 (pc_mod_CFLAGS): New variables.
52495 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52496 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52497 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52498 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52499 Moved from here...
52500 * include/grub/i386/pc/init.h (grub_os_area_addr)
52501 (rub_os_area_size): ... to here.
52502 * include/grub/powerpc/ieee1275/ieee1275.h
52503 (grub_ieee1275_entry_fn): Export symbol.
52504 * include/grub/powerpc/ieee1275/init.h: New file.
52505 * include/grub/powerpc/libgcc.h: Likewise.
52506 * include/grub/cache.h: Likewise.
52507 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52508 <hollis@penguinppc.org>.
52509 * kern/dl.c: Include <grub/cache.h>.
52510 (grub_dl_flush_cache): New function.
52511 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52512 for this module.
52513 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52514 (grub_console_init): Removed prototypes.
52515 (grub_machine_init): Don't initialize the modules anymore.
52516 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52517 static.
52518 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52519 Macro undef removed.
52520 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52521 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52522 relocation `R_PPC_REL32'. Return an error when the relocation is
52523 unknown.
52524 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52525 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52526 * util/misc.c (grub_arch_sync_caches): Likewise.
52527
e4b47e0c 525282004-12-19 Marco Gerards <metgerards@student.han.nl>
52529
52530 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52531 `symlist.c', add `grubof_symlist.c'.
52532 (symlist.c): Variable removed.
52533 (grubof_HEADERS): Variable added.
52534 (grubof_symlist.c): New target.
52535 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52536 `kernel_img_HEADERS'.
52537 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52538 * kern/powerpc/dl.c: New file.
52539 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52540 Function removed.
52541 (grub_arch_dl_relocate_symbols): Likewise.
52542 (grub_register_exported_symbols): Likewise.
52543
4ceb3636 525442004-12-13 Marco Gerards <metgerards@student.han.nl>
52545
52546 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52547 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52548 to fail instead. Reported by Vincent Pelletier
52549 <subdino2004@yahoo.fr>.
52550
52551 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52552 it is not allocated. Reported by Vincent Pelletier
52553 <subdino2004@yahoo.fr>.
52554
52555 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52556 output so the output looks better.
f19dbdb7 52557
3f1578fe 525582004-12-04 Marco Gerards <metgerards@student.han.nl>
52559
52560 Modulize the partition map support and add support for the amiga
52561 partition map.
f19dbdb7 52562
3f1578fe 52563 * commands/ls.c: Include <grub/partition.h> instead of
52564 <grub/machine/partition.h>.
52565 * kern/disk.c: Likewise.
52566 * kern/rescue.c: Likewise.
52567 * loader/i386/pc/chainloader.c: Likewise.
52568 * normal/cmdline.c: Likewise.
52569 * kern/powerpc/ieee1275/init.c: Likewise.
52570 (grub_machine_init): Call `grub_pc_partition_map_init',
52571 `grub_amiga_partition_map_init' and
52572 `grub_apple_partition_map_init'.
52573 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52574 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52575 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52576 `partition.h' and `pc_partition.h'.
52577 (grub_setup_SOURCES): Remove
52578 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52579 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52580 (grub_emu_SOURCES): Likewise.
52581 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52582 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52583 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52585 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52586 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52587 (grubof_SOURCES): Likewise.
52588 * disk/i386/pc/partition.c: File removed.
52589 * disk/powerpc/ieee1275/partition.c: Likewise.
52590 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52591 * include/grub/i386/pc/partition.h: Likewise.
52592 * kern/partition.c: New file.
52593 * partmap/amiga.c: Likewise.
52594 * partmap/apple.c: Likewise.
52595 * partmap/pc.c: Likewise.
52596 * include/grub/partition.h: Likewise..
52597 * include/grub/pc_partition.h: Likewise.
52598 * util/grub-emu.c: Include <grub/partition.h> instead of
52599 <grub/machine/partition.h>.
52600 (main): Call `grub_pc_partition_map_init',
52601 `grub_amiga_partition_map_init' and
52602 `grub_apple_partition_map_init' and deinitialize afterwards.
52603 * util/i386/pc/biosdisk.c: Include `#include
52604 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52605 `<grub/machine/partition.h>'.
52606 * util/i386/pc/grub-setup.c: Likewise.
52607 * util/i386/pc/biosdisk.c: Likewise.
52608 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52609 partition information in case of a PC partition.
52610 * util/i386/pc/grub-setup.c: Include `#include
52611 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52612 `<grub/machine/partition.h>'.
52613 (setup): Only access the PC specific partition information in case
52614 of a PC partition.
52615
0ef4ced9 526162004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52617
0ef4ced9 52618 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52619 (grub_longjmp): Likewise.
52620 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52621 20.
52622 * normal/powerpc/setjmp.S: New file.
52623 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52624 `normal/powerpc/setjmp.S'.
52625 (grubof_CFLAGS): Add `-DGRUBOF'.
52626 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52627 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52628
19950e29 526292004-11-16 Marco Gerards <metgerards@student.han.nl>
52630
52631 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52632 property named `name'. Correctly handle the error returned by
52633 `grub_ieee1275_finddevice' if a device can not be opened.
52634
a2fea427 526352004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52636
52637 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52638 `actual' for negativity.
52639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52640 kern/fshelp.c.
52641
41ea0ea3 526422004-11-01 Marco Gerards <metgerards@student.han.nl>
52643
52644 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52645 (PAGE_OFFSET): New macro.
52646 (CRTC_ADDR_PORT): Likewise.
52647 (CRTC_DATA_PORT): Likewise.
52648 (START_ADDR_HIGH_REGISTER): Likewise.
52649 (START_ADDR_LOW_REGISTER): Likewise.
52650 (GRAPHICS_ADDR_PORT): Likewise.
52651 (GRAPHICS_DATA_PORT): Likewise.
52652 (READ_MAP_REGISTER): Likewise.
52653 (INPUT_STATUS1_REGISTER): Likewise.
52654 (INPUT_STATUS1_VERTR_BIT): Likewise.
52655 (page): New variable.
52656 (wait_vretrace): New function.
52657 (set_read_map): Likewise.
52658 (set_start_address): Likewise.
52659 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52660 the right page.
52661 (check_vga_mem): Take the page into account.
52662 (write_char): Likewise.
52663 (write_cursor): Likewise.
52664 (scroll_up): Likewise. Copy the page to the page that is not
52665 shown and switch between both pages.
52666 (grub_vga_putchar): Fix off by one error.
52667 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52668 account.
52669
ad0bd20b 526702004-11-01 Marco Gerards <metgerards@student.han.nl>
52671
52672 Add support for iso9660 (including rockridge).
f19dbdb7 52673
ad0bd20b 52674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52675 (iso9660_mod_SOURCES): New variable.
52676 (iso9660_mod_CFLAGS): Likewise.
52677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52678 * include/grub/fs.h (grub_iso9660_init): New prototype.
52679 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52680 * fs/iso9660.c: New file.
52681
52682 * include/grub/misc.h (grub_strncat): New prototype.
52683 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52684
ad0bd20b 52685 * fs/hfs.c (grub_hfs_mount): Translate the error
52686 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52687 * fs/jfs.c (grub_jfs_mount): Likewise.
52688 * fs/ufs.c (grub_ufs_mount): Likewise.
52689
a5477a59 526902004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52691
52692 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52693 which initialized BAT registers.
52694 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52695 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52696 Move from here...
52697 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52698 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52699 ... to here.
52700 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52701 (grub_mapclaim): Likewise.
52702 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52703 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52704 hand.
52705
9304c1f8 527062004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52707
52708 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52709 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52710 -ffreestanding and -msoft-float.
52711
86f4ae25 527122004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52713
52714 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52715 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52716 set in grub_ieee1275_flags.
52717
38912228 527182004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52719
52720 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52721 prototype.
52722 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52723 grub_console_init first.
52724 Change the memory range used for grub_ieee1275_claim and
52725 grub_mm_init_region.
52726 Print an error message if the claim fails.
52727 Include <grub/misc.h>.
52728
d1923dc8 527292004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52730
52731 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52732 Call grub_children_iterate for device nodes of type `scsi',
52733 `ide', or `ata'.
52734 (grub_ofdisk_open): Remove manual device alias resolution.
52735 Fix memory leak when device cannot be opened.
f19dbdb7 52736 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 52737 (grub_children_iterate): New prototype.
52738 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52739 New function.
52740 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52741 Return -1 if args.size was -1.
52742
4512e4f3 527432004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52744
52745 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52746 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52747 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52748 Open Firmware's memory for it; claim memory from _start to _end.
52749 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52750 (_end): New extern.
52751 (_start): Zero BSS from __bss_start to _end.
52752 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52753 New extern.
52754 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52755
4d61feb0 527562004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52757
ad0bd20b 52758 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52759 -1 if args.base was -1.
4d61feb0 52760
026fa2f9 527612004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52762
52763 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52764 escape sequence instead of a literal ^L. Also call
52765 grub_ofconsole_gotoxy.
52766
9f2220ef 527672004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52768
52769 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52770 void * arguments to grub_addr_t. All callers updated. Also make
52771 the `result' argument optional.
52772 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52773 All callers updated.
52774
8a572cd7 527752004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52776
52777 * commands/ls.c (grub_ls_list_files): Use the string following the
52778 initial ')', if present, as the filesystem path.
52779 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52780
52781 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52782
18aa81f2 527832004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52784
52785 Make the source code of the menu interface more readable.
f19dbdb7 52786
18aa81f2 52787 * normal/menu.c: Include grub/mm.h.
52788 (TERM_WIDTH): New macro.
52789 (TERM_HEIGHT): Likewise.
52790 (TERM_INFO_HEIGHT): Likewise.
52791 (TERM_MARGIN): Likewise.
52792 (TERM_SCROLL_WIDTH): Likewise.
52793 (TERM_TOP_BORDER_Y): Likewise.
52794 (TERM_LEFT_BORDER_X): Likewise.
52795 (TERM_BORDER_WIDTH): Likewise.
52796 (TERM_MESSAGE_HEIGHT): Likewise.
52797 (TERM_BORDER_HEIGHT): Likewise.
52798 (TERM_NUM_ENTRIES): Likewise.
52799 (TERM_FIRST_ENTRY_Y): Likewise.
52800 (TERM_ENTRY_WIDTH): Likewise.
52801 (TERM_CURSOR_X): Likewise.
52802 (draw_border): Use macros instead of magic numbers.
52803 (print_entry): Likewise.
52804 (print_entries): Likewise.
52805 (run_menu): Likewise. Also, handle the key 'e'.
52806 (run_menu_entry): Ignore empty command lines.
52807 (print_message): Added a new argument EDIT. If EDIT is true,
52808 print a different message.
52809 (init_page): Likewise.
52810 (edit_menu_entry): New function. Not implemented yet.
52811
b47efe30 528122004-09-17 Marco Gerards <metgerards@student.han.nl>
52813
52814 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52815 can be loaded from normal mode.
f19dbdb7 52816
b47efe30 52817 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52818 `multiboot.mod'.
52819 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52820 (multiboot_mod_CFLAGS): New variables.
52821 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52822 * loader/i386/pc/multiboot_normal.c: Likewise.
52823
b47efe30 52824 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52825 attribute `unused'.
f19dbdb7 52826
b47efe30 52827 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52828 `fdiro' to read the mode information from instead of `diro'.
52829
52830 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52831 looking up a symlink.
52832
52833 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52834 macro.
52835 * normal/command.c (grub_command_execute): Don't parse the
52836 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52837 flags of the command.
52838
52839 * normal/menu.c (grub_menu_run): Fix typo.
52840
da75ac71 528412004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52842
52843 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52844
52845 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52846 `y + 1' instead of `y - 1'.
52847
52848 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52849
062b24c2 528502004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52851
52852 From Hollis Blanchard <hollis@penguinppc.org>:
52853 * kern/misc.c (memmove): New alias for grub_memmove.
52854 (memcmp): New alias for grub_memcmp.
52855 (memset): New alias for grub_memset.
f19dbdb7 52856 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52857 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52858 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52859 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52860
8ddad845 528612004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52862
52863 Added normal mode command `chainloader' as module chain.mod, which
52864 depends on normal.mod and _chain.mod.
f19dbdb7 52865
8ddad845 52866 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52867 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52868 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52869 Deleted prototype.
52870 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52871 but arguments parsing moved to ...
52872 (grub_chainloader_cmd): ... here. New function.
52873 * include/grub/i386/pc/chainloader.h: New file.
52874 * loader/i386/pc/chainloader_normal.c: Likewise.
52875
2c1f4ce3 528762004-09-11 Marco Gerards <metgerards@student.han.nl>
52877
52878 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52879 (grub_mkimage_LDFLAGS): Likewise.
52880 (grub_emu_SOURCES): Likewise.
52881 (kernel_img_HEADERS): Added fshelp.h.
52882 * fs/ext2.c: Include <grub/fshelp.h>.
52883 (FILETYPE_REG): New macro.
52884 (FILETYPE_INO_REG): Likewise.
52885 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52886 Changed all users.
52887 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52888 all users.
52889 (grub_fshelp_node): New struct.
52890 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52891 to a pointer.
52892 (grub_ext2_get_file_block): Removed function.
52893 (grub_ext2_read_block): New function.
52894 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52895 This function was written.
52896 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52897 (grub_ext2_find_file): Removed function.
52898 (grub_ext2_read_symlink): New function.
52899 (grub_ext2_iterate_dir): Likewise.
52900 (grub_ext2_open): Rewritten.
52901 (grub_ext2_dir): Rewritten.
52902 * include/grub/fshelp.h: New file.
52903 * fs/fshelp.c: Likewise.
52904
3c52136a 529052004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52906
52907 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52908 (print_message): Add a missing newline.
52909 (run_menu): Added timeout support.
52910 (run_menu_entry): New local function.
52911 (grub_menu_run): Added support for booting.
52912
52913 * kern/loader.c (grub_loader_is_loaded): New function.
52914
52915 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52916 (grub_get_rtc): Exported.
52917
52918 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52919 (grub_get_rtc): Exported.
52920
52921 * include/grub/normal.h (struct grub_command_list): Remove
52922 constant from the member `command'.
52923
52924 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52925
52926 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52927
52928 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52929
aa033560 529302004-08-28 Marco Gerards <metgerards@student.han.nl>
52931
52932 Add support for the JFS filesystem.
52933
52934 * fs/jfs.c: New file.
52935 * include/grub/fs.h (grub_jfs_init): New prototype.
52936 (grub_jfs_fini): New prototype.
52937 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52938 (grub_emu_SOURCES): Likewise.
52939 (pkgdata_MODULES): Add jfs.mod.
52940 (jfs_mod_SOURCES): New variable.
52941 (jfs_mod_CFLAGS): Likewise.
52942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52943 (grubof_SOURCES): Likewise.
52944 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52945
52946 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52947 endian to the host endian.
52948 (grub_fat_utf16_to_utf8): Move function from there...
52949 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52950 the endianness of the source string anymore.
aa033560 52951 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52952
94bc45af 529532004-08-24 Marco Gerards <metgerards@student.han.nl>
52954
52955 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52956 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52957 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52958 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52959
94bc45af 52960 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52961 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52962 for `node_found' and `it_dir'.
52963 (grub_hfs_dir): Add prototype for `dir_hook'.
52964
52965 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52966 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52967 and `indir32' to silence a gcc warning.
52968
52969 * include/grub/fs.h (grub_hfs_init): New prototype.
52970 (grub_hfs_fini): Likewise.
f19dbdb7 52971
52972
97543f08 529732004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52974
52975 Each disk device has its own id now. This is useful to make use
52976 of multiple disk devices.
f19dbdb7 52977
97543f08 52978 * include/grub/disk.h (grub_disk_dev_id): New enum.
52979 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52980 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52981
52982 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52983 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52984
52985 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52986 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52987
52988 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52989 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52990
52991 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52992 "id" which is used by the cache manager.
52993
52994 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52995 of just "GRUB".
52996
64372eb4 529972004-08-18 Marco Gerards <metgerards@student.han.nl>
52998
52999 * fs/hfs.c: New file.
53000 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53001 (grub_emu_SOURCES): Likewise.
53002 (pkgdata_MODULES): Add hfs.mod.
53003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53004 (grubof_SOURCES): Likewise.
53005 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53006
53007 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53008 * kern/misc.c (grub_strncasecmp): Add function.
53009
cc61b58f 530102004-08-14 Marco Gerards <metgerards@student.han.nl>
53011
53012 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53013 with parentheses.
53014
53015 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53016 (grub_ext2_dir): In case the directory entry type is unknown, read
53017 it from the inode.
53018
0ef123f6 530192004-08-02 Peter Bruin <pjbruin@dds.nl>
53020
53021 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53022 grub_load_linux instead of grub_rescue_cmd_linux as second
53023 argument of grub_rescue_register_command.
53024
53025 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53026
a447c5df 530272004-07-27 Marco Gerards <metgerards@student.han.nl>
53028
53029 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53030 function.
53031 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53032 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53033 `loader/powerpc/ieee1275/linux.c',
53034 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53035 * include/grub/powerpc/ieee1275/ieee1275.h
53036 (grub_ieee1275_release): New prototype.
53037 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53038 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53039 normal, boot, linux and linux_normal.
53040 * loader/powerpc/ieee1275/linux.c: New file.
53041 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53042
5a9e3546 530432004-07-12 Marco Gerards <metgerards@student.han.nl>
53044
53045 * normal/arg.c (grub_arg_parse): Correct error handling after
53046 reallocating the argumentlist (check if `argl' is not null instead
53047 of checking if `args' is not null).
53048 * kern/mm.c (grub_realloc): Return the same pointer when using the
53049 same region, instead of returning the header address.
53050
e15199cb 530512004-07-11 Marco Gerards <metgerards@student.han.nl>
53052
53053 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
53054 one block instead of two when looking for the initial partition.
53055 (grub_partition_probe): Initialize the local variable `p' with 0.
53056 Use base 10 for the grub_strtoul call.
53057 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
53058 need for one local variable.
53059 (grub_strtoul): Don't add the new value to `num', instead of that
53060 just assign it.
53061
020616c2 530622004-07-11 Marco Gerards <metgerards@student.han.nl>
53063
53064 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53065 (pxeboot_img_SOURCES): New variable.
53066 (pxeboot_img_ASFLAGS): Likewise.
53067 (pxeboot_img_LDFLAGS): Likewise.
53068 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53069 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53070 <lode_leroy@hotmail.com>.
53071
6c51eb64 530722004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53073
53074 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53075 there was no input.
53076
cfb12aff 530772004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53078
53079 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53080 the history buffer logic.
53081
6eabba74 530822004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53083
53084 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
53085 (FILETYPE_INO_SYMLINK): New macros.
53086 (grub_ext2_find_file): Check if the node is a directory using the
53087 inode stat information instead of using the filetype in the
53088 dirent. Exclude the first character of an absolute symlink.
53089 (grub_ext2_dir): Mask out the filetype part of the mode member of
53090 the inode.
53091
66e19ef8 530922004-05-24 Marco Gerards <metgerards@student.han.nl>
53093
53094 Add support for UFS version 1 and 2. Add support for the minix
53095 filesystem version 1 and 2, both the variants with 14 and 30 long
53096 filenames.
f19dbdb7 53097
66e19ef8 53098 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
53099 fs/minix.c.
53100 (grub_emu_SOURCES): Likewise.
53101 (pkgdata_MODULES): Add ufs.mod and minix.mod.
53102 (ufs_mod_SOURCES): New variable.
53103 (ufs_mod_CFLAGS): Likewise.
53104 (minix_mod_SOURCES): Likewise.
53105 (minix_mod_CFLAGS): Likewise.
53106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
53107 fs/minix.c.
53108 (grubof_SOURCES): Likewise.
53109 * fs/ufs.c: New file.
53110 * fs/minix.c: New file.
53111 * include/grub/fs.h (grub_ufs_init): New prototype.
53112 (grub_ufs_fini): Likewise.
53113 (grub_minix_init): Likewise.
53114 (grub_minix_fini): Likewise.
53115 * util/grub-emu.c (main): Initialize and deinitialize UFS and
53116 minix fs.
53117
cc2e748a 531182004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
53119
53120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
53121 commands/ls.c, commands/terminal.c, commands/boot.c,
53122 commands/cmp.c and commands/cat.c.
53123 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
53124
53125 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
53126 "env.h"
53127
4b13b216 531282004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53129
53130 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
53131 and grub_, respectively. Because the conversion is trivial and
53132 mechanical, I omit the details here. Please refer to the CVS
53133 if you need more information.
53134
6a142551 531352004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53136
53137 * include/pupa: Renamed to ...
53138 * include/grub: ... this.
53139 * util/i386/pc/pupa-mkimage.c: Renamed to ...
53140 * util/i386/pc/grub-mkimage.c: ... this.
53141 * util/i386/pc/pupa-setup.c: Renamed to ...
53142 * util/i386/pc/grub-setup.c: ... this.
53143 * util/pupa-emu.c: Renamed to ...
53144 * util/grub-emu.c: ... this.
53145
e56cdf21 531462004-03-29 Marco Gerards <metgerards@student.han.nl>
53147
53148 Add support for the newworld apple macintosh (PPC). This has been
53149 tested on the powerbook 2000 only. It only adds support for
53150 generic ieee1275 functions, console and disk support. This should
53151 be easy to port to other architectures with support for Open
53152 Firmware.
f19dbdb7 53153
e56cdf21 53154 * configure.ac: Accept the powerpc as host_cpu. In the case of
53155 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
53156 specific tests are only executed while building for the i386.
53157 Inverse test for crosscompile.
53158 * genmk.rb (Utility): Allow assembler files.
53159 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
53160 * conf/powerpc-ieee1275.rmk: New file.
53161 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
53162 * disk/powerpc/ieee1275/partition.c: Likewise.
53163 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
53164 * include/pupa/powerpc/ieee1275/console.h: Likewise.
53165 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
53166 * include/pupa/powerpc/ieee1275/time.h: Likewise.
53167 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
53168 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
53169 * include/pupa/powerpc/ieee1275/loader.h
53170 * include/pupa/powerpc/setjmp.h: Likewise.
53171 * include/pupa/powerpc/types.h: Likewise.
53172 * kern/powerpc/ieee1275/init.c: Likewise.
53173 * kern/powerpc/ieee1275/openfw.c: Likewise.
53174 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53175
53176 These files were written by Johan Rydberg
53177 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 53178
e56cdf21 53179 * boot/powerpc/ieee1275/cmain.c: New file.
53180 * boot/powerpc/ieee1275/crt0.S: Likewise.
53181 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53182 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53183
8c8cc205 531842004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53185
53186 * Makefile.in: Update copyright.
53187 * genmodsrc.sh: Likewise.
53188 * gensymlist.sh: Likewise.
53189 * term/i386/pc/vga.c: Indent correctly.
53190
53191 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53192 bugreporting address.
53193 * util/i386/pc/pupa-setup.c (usage): Likewise,
53194 (main): Call pupa_ext2_init and pupa_ext2_fini.
53195
f19dbdb7 53196 * fs/fat.c (log2): Renamed to ...
8c8cc205 53197 (fat_log2): ... this.
53198 All callers changed.
53199 * kern/misc.c (memcpy): Alias to pupa_memmove.
53200 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53201 lvalue cast.
53202 * util/console.c (pupa_ncurses_fini): Return 0.
53203
53204 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53205 Move fail label here.
53206 [__GNU__]: Don't warn when using stat.
53207 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53208 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53209 long int. Use strtol instead of strtoul.
f19dbdb7 53210
db1771cf 532112004-03-14 Marco Gerards <metgerards@student.han.nl>
53212
53213 * commands/boot.c: New file.
53214 * commands/cat.c: Likewise.
53215 * commands/cmp.c: Likewise.
53216 * commands/ls.c: Likewise.
53217 * commands/terminal.c: Likewise.
53218 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53219 (pupa_register_command): Changed interface to match the new
53220 argument parser.
53221 (pupa_command_execute): Changed (almost rewritten) so it uses
53222 pupa_split_command. Added support for setting variables using the
53223 syntax `foo=bar'.
53224 (rescue_command): Changed to work with the new argument parser.
53225 (terminal_command): Moved from here to commands/terminal.c.
53226 (set_command): New function.
53227 (unset_command): New function.
53228 (insmod_command): New function.
53229 (rmmod_command): New function.
53230 (lsmod_command): New function.
53231 (pupa_command_init): Don't initialize the command terminal
53232 anymore. Initialize the commands set, unset, insmod, rmmod and
53233 lsmod.
53234 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53235 (kernel_img_HEADERS): Add arg.h and env.h.
53236 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53237 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53238 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53239 normal/arg.c.
53240 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53241 terminal.mod.
53242 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53243 (boot_mod_SOURCES): New variable.
53244 (terminal_mod_SOURCES): Likewise.
53245 (ls_mod_SOURCES): Likewise.
53246 (cmp_mod_SOURCES): Likewise.
53247 (cat_mod_SOURCES): Likewise.
53248
53249 * normal/arg.c: New file.
53250 * kern/env.c: Likewise.
53251 * include/pupa/arg.h: Likewise.
53252 * include/pupa/env.h: Likewise.
53253 * font/manager.c (font_command): Changed to match argument parsing
53254 interface changes.
53255 (PUPA_MOD_INIT): Likewise.
53256 * hello/hello.c (pupa_cmd_hello): Likewise.
53257 (PUPA_MOD_INIT): Likewise.
53258 * include/pupa/disk.h: Include <pupa/device.h>.
53259 (pupa_print_partinfo): New prototype.
53260 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53261 (pupa_dl_get_prefix): Likewise.
53262 * include/pupa/misc.h: Include <pupa/err.h>.
53263 (pupa_isgraph): New prototype.
53264 (pupa_isdigit): Likewise.
53265 (pupa_split_cmdline): Likewise.
53266 * include/pupa/normal.h: Include <pupa/arg.h>.
53267 (pupa_command): Changed the prototype of the member `func' to
53268 match the argument parsing interface. Added member `options'.
53269 (pupa_register_command): Updated to match function.
53270 (pupa_arg_parse): New prototype.
53271 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53272 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53273 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53274 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53275 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53276 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53277 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53278 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53279 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53280 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53281 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53282 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53283 * kern/disk.c: Include <pupa/file.h>.
53284 (pupa_print_partinfo): New function.
53285 * kern/dl.c: Include <pupa/env.h>.
53286 (pupa_dl_dir): Variable removed.
53287 (pupa_dl_load): Use the environment variable `prefix' instead of
53288 the variable pupa_dl_dir.
53289 (pupa_dl_set_prefix): Function removed.
53290 (pupa_dl_get_prefix): Likewise.
53291 * kern/i386/pc/init.c: Include <pupa/env.h>.
53292 (pupa_machine_init): Use the environment variable `prefix' instead of
53293 using pupa_dl_set_prefix to set the prefix.
53294 * kern/main.c: Include <pupa/env.h>.
53295 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53296 using pupa_dl_get_prefix to get the prefix.
53297 * kern/misc.c: Include <pupa/env.h>.
53298 (pupa_isdigit): New function.
53299 (pupa_isgraph): Likewise.
53300 (pupa_ftoa): Likewise.
53301 (pupa_vsprintf): Added support for printing values of the type
53302 `double'. Make it possible to format variable output when using
53303 formatting like `%1.2%f'.
53304 (pupa_split_cmdline): New function.
53305 * kern/rescue.c: Include <pupa/env.h>.
53306 (next_word): Removed function.
53307 (pupa_rescue_cmd_prefix): Likewise.
53308 (pupa_rescue_cmd_set): New function.
53309 (pupa_rescue_cmd_unset): New function.
53310 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53311 split the command line instead of splitting it here. Added
53312 support for setting variables using the syntax `foo=bar'. Don't
53313 initialize the prefix command anymore. Initialized the set and
53314 unset commands.
53315 * normal/cmdline.c: Include <pupa/env.h>.
53316 (pupa_tab_complete): Added prototypes for print_simple_completion,
53317 print_partition_completion, add_completion, iterate_commands,
53318 iterate_dev, iterate_part and iterate_dir. Moved code to print
53319 partition information from here to kern/disk.c.
fe6b695a 53320 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53321 * normal/main.c: Include <pupa/env.h>.
53322 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53323 instead of using pupa_dl_get_prefix to get the prefix.
53324 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53325 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53326 warning.
53327 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53328 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53329 ((unused))' to silence a gcc warning.
53330 (pupa_vga_setcolor): Likewise.
53331 (debug_command): Changed to match argument parsing
53332 interface changes.
53333 * util/pupa-emu.c: Include <pupa/env.h>.
53334 (options): Added 0's for unused fields to silence a gcc warning.
53335 (argp): Likewise.
53336 (main): Use the environment variable `prefix' instead of using
53337 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53338 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53339 and terminal.
53340
53341 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53342 * util/misc.c: Include <malloc.h>.
53343 (pupa_malloc): Rewritten so errors are correctly reported.
53344 (pupa_realloc): Likewise.
53345 (pupa_memalign): Likewise.
53346 (pupa_mm_init_region): Declare unused variables with
53347 `__attribute__ ((unused))' to silence a gcc warning.
53348 * normal/i386/setjmp.S: Remove tab at the end of the file to
53349 silence a gcc warning.
53350 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53351 variables with `__attribute__ ((unused))' to silence a gcc
53352 warning.
53353 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53354 local variable i unsigned to silence a gcc warning.
53355
53356 * kern/term.c: Include <pupa/misc.h>.
53357 (pupa_more_lines): New variable.
53358 (pupa_more): Likewise.
53359 (pupa_putcode): When the pager is active pause at the end of every
53360 screen.
53361 (pupa_set_more): New function.
53362 * include/pupa/term.h (pupa_set_more): New prototype.
53363
53364
3b1139cb 533652004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53366
53367 Now this project is GRUB 2 rather than PUPA. The location of
53368 the CVS repository was moved to GRUB's.
f19dbdb7 53369
3b1139cb 53370 * configure.ac: Use bug-grub as the reporting address.
53371 Use GRUB instead of PUPA.
53372 Change the version number to 1.90.
53373
8367695c 533742004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53375
53376 * genkernsyms.sh: Updated copyright information.
53377 * genmk.rb: Likewise.
53378 * genmodsrc.sh: Likewise.
53379 * gensymlist.sh: Likewise.
53380 * boot/i386/pc/boot.S: Likewise.
53381 * boot/i386/pc/diskboot.S: Likewise.
53382 * disk/i386/pc/biosdisk.c: Likewise.
53383 * disk/i386/pc/partition.c: Likewise.
53384 * font/manager.c: Likewise.
53385 * fs/ext2.c: Likewise.
53386 * fs/fat.c: Likewise.
53387 * include/pupa/boot.h: Likewise.
53388 * include/pupa/device.h: Likewise.
53389 * include/pupa/disk.h: Likewise.
53390 * include/pupa/dl.h: Likewise.
53391 * include/pupa/elf.h: Likewise.
53392 * include/pupa/err.h: Likewise.
53393 * include/pupa/file.h: Likewise.
53394 * include/pupa/font.h: Likewise.
53395 * include/pupa/fs.h: Likewise.
53396 * include/pupa/kernel.h: Likewise.
53397 * include/pupa/loader.h: Likewise.
53398 * include/pupa/misc.h: Likewise.
53399 * include/pupa/mm.h: Likewise.
53400 * include/pupa/net.h: Likewise.
53401 * include/pupa/normal.h: Likewise.
53402 * include/pupa/rescue.h: Likewise.
53403 * include/pupa/setjmp.h: Likewise.
53404 * include/pupa/symbol.h: Likewise.
53405 * include/pupa/term.h: Likewise.
53406 * include/pupa/types.h: Likewise.
53407 * include/pupa/i386/setjmp.h: Likewise.
53408 * include/pupa/i386/types.h: Likewise.
53409 * include/pupa/i386/pc/biosdisk.h: Likewise.
53410 * include/pupa/i386/pc/boot.h: Likewise.
53411 * include/pupa/i386/pc/console.h: Likewise.
53412 * include/pupa/i386/pc/init.h: Likewise.
53413 * include/pupa/i386/pc/kernel.h: Likewise.
53414 * include/pupa/i386/pc/linux.h: Likewise.
53415 * include/pupa/i386/pc/loader.h: Likewise.
53416 * include/pupa/i386/pc/memory.h: Likewise.
53417 * include/pupa/i386/pc/multiboot.h: Likewise.
53418 * include/pupa/i386/pc/partition.h: Likewise.
53419 * include/pupa/i386/pc/time.h: Likewise.
53420 * include/pupa/i386/pc/vga.h: Likewise.
53421 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53422 * include/pupa/util/getroot.h: Likewise.
53423 * include/pupa/util/misc.h: Likewise.
53424 * include/pupa/util/resolve.h: Likewise.
53425 * kern/device.c: Likewise.
53426 * kern/disk.c: Likewise.
53427 * kern/dl.c: Likewise.
53428 * kern/err.c: Likewise.
53429 * kern/file.c: Likewise.
53430 * kern/fs.c: Likewise.
53431 * kern/loader.c: Likewise.
53432 * kern/main.c: Likewise.
53433 * kern/misc.c: Likewise.
53434 * kern/mm.c: Likewise.
53435 * kern/rescue.c: Likewise.
53436 * kern/term.c: Likewise.
53437 * kern/i386/dl.c: Likewise.
53438 * kern/i386/pc/init.c: Likewise.
53439 * kern/i386/pc/lzo1x.S: Likewise.
53440 * kern/i386/pc/startup.S: Likewise.
53441 * loader/i386/pc/chainloader.c: Likewise.
53442 * loader/i386/pc/linux.c: Likewise.
53443 * loader/i386/pc/multiboot.c: Likewise.
53444 * normal/cmdline.c: Likewise.
53445 * normal/command.c: Likewise.
53446 * normal/main.c: Likewise.
53447 * normal/menu.c: Likewise.
53448 * normal/i386/setjmp.S: Likewise.
53449 * term/i386/pc/console.c: Likewise.
53450 * term/i386/pc/vga.c: Likewise.
53451 * util/console.c: Likewise.
53452 * util/genmoddep.c: Likewise.
53453 * util/misc.c: Likewise.
53454 * util/pupa-emu.c: Likewise.
53455 * util/resolve.c: Likewise.
53456 * util/unifont2pff.rb: Likewise.
53457 * util/i386/pc/biosdisk.c: Likewise.
53458 * util/i386/pc/getroot.c: Likewise.
53459 * util/i386/pc/pupa-mkimage.c: Likewise.
53460 * util/i386/pc/pupa-setup.c: Likewise.
53461
e6eced71 534622004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53463
53464 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53465 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53466 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53467 reading and reset it after reading.
53468 (pupa_ext2_close): Return PUPA_ERR_NONE.
53469
53470 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53471 Correct value.
53472 (struct linux_kernel_header): Add kernel_version and
53473 initrd_addr_max.
53474 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53475 pupa_file_read succeeds.
53476 (pupa_rescue_cmd_initrd): Implement.
53477
5aded270 534782003-12-03 Marco Gerards <metgerards@student.han.nl>
53479
53480 * fs/ext2.c (pupa_ext2_label): New function.
53481 (pupa_ext2_fs): Added label.
53482 * fs/fat.c (pupa_fat_label): New function.
53483 (pupa_fat_fs): Added label.
53484 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53485
53486 * kern/misc.c (pupa_strndup): New function.
53487 * include/pupa/misc.h (pupa_strndup): New prototype.
53488
53489 * include/pupa/normal.h: Include <pupa/err.h>.
53490 (pupa_set_history): New prototype.
53491 (pupa_iterate_commands): New prototype.
53492 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53493 <pupa/disk.h>, <pupa/file.h>.
53494 (hist_size): New variable.
53495 (hist_lines): Likewise.
53496 (hist_end): Likewise.
53497 (hist_used): Likewise.
53498 (pupa_set_history): New function.
53499 (pupa_history_get): Likewise.
53500 (pupa_history_add): Likewise.
53501 (pupa_history_replace): Likewise.
53502 (pupa_tab_complete): Likewise.
53503 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53504 completion shows partitionnames while completing partitions, this
53505 feature was suggested by Jeff Bailey.
53506 * normal/command.c (pupa_iterate_commands): New function.
53507 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53508 (pupa_normal_init): Initialize history buffer.
53509 (PUPA_MOD_INIT): Likewise.
53510 (pupa_normal_fini): Free the history buffer.
53511 (PUPA_MOD_FINI): Likewise.
53512
53513 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53514 key.
53515
53516 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53517 * configure.ac [i386]: Check for regparam bug.
53518 (NESTED_FUNC_ATTR) [! i386]: Defined.
53519
1f7315a3 535202003-11-17 Marco Gerards <metgerards@student.han.nl>
53521
53522 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53523 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53524 (pupa_emu_SOURCES): New variable.
53525 (pupa_emu_LDFLAGS): Likewise.
53526 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53527 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53528 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53529 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53530 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53531 (pupa_jmp_buf): New typedef.
53532 (pupa_setjmp) [PUPA_UTIL]: New macro.
53533 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53534 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53535 (pupa_refresh): New prototype.
53536 * include/pupa/util/getroot.h: New file.
53537 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53538 it.
53539 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53540 (pupa_rescue_cmd_cat): Likewise.
53541 (pupa_rescue_cmd_ls): Likewise.
53542 (pupa_rescue_cmd_testload): Likewise.
53543 (pupa_rescue_cmd_lsmod): Likewise.
53544 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53545 * normal/menu.c (run_menu): Likewise.
53546 * kern/term.c (pupa_cls): Likewise.
53547 (pupa_refresh): New function.
53548 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53549 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53550 * util/console.c: New file.
f19dbdb7 53551
1f7315a3 53552 * util/i386/pc/getroot.c: New file.
53553 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53554 (pupa_putchar): New function.
53555 (pupa_refresh): Likewise.
53556 (xgetcwd): Function moved to ...
53557 (strip_extra_slashes): Likewise.
53558 (get_prefix): Likewise.
f19dbdb7 53559 * util/i386/pc/getroot.c: ... here.
1f7315a3 53560 (find_root_device): Function moved and renamed to...
53561 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53562 Changed all callers.
53563 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53564 and renamed to...
53565 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53566 Changed all callers.
53567 * util/misc.c (pupa_memalign): New function.
53568 (pupa_mm_init_region): Likewise.
53569 (pupa_register_exported_symbols): Likewise.
53570 (pupa_putchar): Function removed.
53571 * util/pupa-emu.c: New file.
53572
9a5c1ade 535732003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53574
53575 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53576 (_multiboot_mod_SOURCES): New variable.
53577 (_multiboot_mod_CFLAGS): Likewise.
53578 * loader/i386/pc/multiboot.c: New file.
53579 * include/pupa/i386/pc/multiboot.h: Likewise.
53580 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53581 (pupa_multiboot_real_boot): New function.
53582 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53583 (pupa_multiboot_real_boot): New prototype.
53584 (pupa_rescue_cmd_multiboot): Likewise
53585 (pupa_rescue_cmd_module): Likewise.
53586
53587 * kern/loader.c (pupa_loader_set): Continue when
53588 pupa_loader_unload_func() fails.
53589 (pupa_loader_unset): New function.
53590 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53591
53592 * kern/misc.c (pupa_stpcpy): New function.
53593 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53594
8e72a9c0 535952003-11-12 Marco Gerards <metgerards@student.han.nl>
53596
53597 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53598 for available extensions.
53599
53600 * include/pupa/i386/pc/time.h: New file.
53601 * kern/disk.c: Include <pupa/machine/time.h>.
53602 (PUPA_CACHE_TIMEOUT): New macro.
53603 (pupa_last_time): New variable.
53604 (pupa_disk_open): Flush the cache when there was a timeout.
53605 (pupa_disk_close): Reset the timer.
53606 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53607 pupa_currticks.
53608 * util/misc.c: Include <sys/times.h>
53609 (pupa_get_rtc): New function.
53610
c4adbd32 536112003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53612
53613 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53614 as blocks.
53615 (pupa_ext2_get_file_block): Use blocks member.
53616
53617 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53618 first block. Return -1 instead of pupa_errno on error.
53619
bfd30f06 536202003-10-27 Marco Gerards <metgerards@student.han.nl>
53621
53622 * README: In the pupa-mkimage example use _chain instead of chain
53623 and ext2 instead of fat.
53624 * TODO: Replace ext2fs with jfs as an example. Add an item for
53625 adding journal playback for ext2fs.
53626 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53627 (pkgdata_MODULES): Added ext2.mod.
53628 (ext2_mod_SOURCES): New variable.
53629 (ext2_mod_CFLAGS): Likewise.
53630 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53631 * include/pupa/misc.h (pupa_strncpy): New prototype.
53632 (pupa_strcat): Likewise.
53633 (pupa_strncmp): Likewise.
53634 * kern/misc.c (pupa_strcat): Enable function.
53635 (pupa_strncpy): New function.
53636 (pupa_strncmp): Likewise.
53637 * fs/ext2.c: New file.
f19dbdb7 53638
bfd30f06 53639 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53640 when the read failed before retrying.
53641 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53642 (_FILE_OFFSET_BITS): Likewise.
53643 * configure.ac: Added AC_SYS_LARGEFILE.
53644
98d15063 536452003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53646
53647 * genmk.rb (PModule#rule): Make sure to get only symbol names
53648 from the output of nm.
59cad637 53649 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53650
18d9c7cd 536512003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53652
53653 I forgot to check in these changes for a long time. This adds
53654 incomplete support for VGA console, and this is still very
53655 buggy. Also, a lot of consideration is required for I18N,
53656 UNICODE, and VGA font issues. Therefore, assume that this is
53657 such that "better than nothing".
f19dbdb7 53658
18d9c7cd 53659 * font/manager.c: New file.
53660 * include/pupa/font.h: Likewise.
53661 * include/pupa/i386/pc/vga.h: Likewise.
53662 * term/i386/pc/vga.c: Likewise.
53663 * util/unifont2pff.rb: Likewise.
53664
53665 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53666 (pkgdata_MODULES): Added vga.mod and font.mod.
53667 (vga_mod_SOURCES): New variables.
53668 (vga_mod_CFLAGS): Likewise.
53669 (font_mod_SOURCES): Likewise.
53670 (font_mod_CFLAGS): Likewise.
53671
53672 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53673
53674 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53675 (struct pupa_term): Added init and fini.
18d9c7cd 53676 Changed the argument of putchar to pupa_uint32_t.
53677
53678 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53679 (pupa_console_real_putchar): New prototype.
53680 (pupa_console_putchar): Removed.
53681 (pupa_console_checkkey): Exported.
53682 (pupa_console_getkey): Likewise.
53683
53684 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53685 characters.
53686
53687 * kern/term.c (pupa_term_set_current): Rewritten.
53688 (pupa_putchar): Likewise.
53689 (pupa_putcode): New function.
53690
53691 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53692 (pupa_console_real_putchar): ... this.
53693 (pupa_vga_set_mode): New function.
53694 (pupa_vga_get_font): Likewise.
53695
53696 * normal/command.c: Include pupa/term.h.
53697 (terminal_command): New function.
53698 (pupa_command_init): Register the command "terminal".
53699
53700 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53701 (DISP_UP): Likewise.
53702 (DISP_RIGHT): Likewise.
53703 (DISP_DOWN): Likewise.
53704 (DISP_HLINE): Likewise.
53705 (DISP_VLINE): Likewise.
53706 (DISP_UL): Likewise.
53707 (DISP_UR): Likewise.
53708 (DISP_LL): Likewise.
53709 (DISP_LR): Likewise.
53710
53711 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53712
977329f5 537132003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53714
53715 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53716 FIX. Reverse the path_list.
53717
53718 * include/pupa/normal.h: Export pupa_register_command and
53719 pupa_unregister_command.
53720
53721 * hello/hello.c (pupa_cmd_hello): New module.
53722 * conf/i386-pc.rmk: Added hello.mod.
53723
1f5ab428 537242003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53725
53726 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 53727
1f5ab428 53728 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53729 (compress_kernel): New variable.
53730 (generate_image): Heavily modified to support compressing a
53731 large part of the core image.
53732
53733 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53734 leak.
53735 (pupa_util_load_image): New function.
53736
53737 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53738 (pupa_compressed_size): New variable.
53739 (codestart): Enable Gate A20 here.
53740 Decompress the compressed part of the core image.
53741 Rearrange the code to put functions and variables which are
53742 required for initialization in the non-compressed part.
53743 Include lzo1x.S.
53744
53745 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53746 here.
53747
53748 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53749
f19dbdb7 53750 * include/pupa/i386/pc/kernel.h
1f5ab428 53751 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53752 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53753 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53754 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53755 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53756
53757 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53758
53759 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53760 (Utility#rule): Likewise.
53761
53762 * configure.ac: Check if LZO is available.
53763
ce5bf700 537642003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53765
53766 * include/pupa/normal.h: New file.
53767 * include/pupa/setjmp.h: Likewise.
53768 * include/pupa/i386/setjmp.h: Likewise.
53769 * normal/cmdline.c: Likewise.
53770 * normal/command.c: Likewise.
53771 * normal/main.c: Likewise.
53772 * normal/menu.c: Likewise.
53773 * normal/i386/setjmp.S: Likewise.
f19dbdb7 53774
ce5bf700 53775 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53776 (pupa_rescue_cmd_initrd): Likewise.
53777
53778 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53779 Likewise.
53780
53781 * kern/i386/pc/startup.S (translation_table): New variable.
53782 (translate_keycode): New function.
53783 (pupa_console_getkey): Call translate_keycode.
53784
53785 * kern/rescue.c (attempt_normal_mode): New function.
53786 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53787 it failed, print a message.
53788
53789 * kern/mm.c (pupa_real_malloc): Print more information when a
53790 free magic is broken.
53791 (pupa_free): If the first free header is not free actually, set
53792 it to P.
53793
53794 * kern/main.c (pupa_load_normal_mode): Just load the module
53795 "normal".
53796 (pupa_main): Don't print the message
53797 "Entering into rescue mode..." here.
53798
53799 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53800 Declared.
53801 (pupa_rescue_cmd_initrd): Likewise.
53802 (pupa_rescue_cmd_initrd): Likewise.
53803
53804 * include/pupa/symbol.h (FUNCTION): Specify the type.
53805 (VARIABLE): Likewise.
53806
53807 * include/pupa/err.h (pupa_err_t): Added
53808 PUPA_ERR_UNKNOWN_COMMAND.
53809
53810 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53811 (pupa_dl_get_prefix): Likewise.
53812
53813 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53814 Added _chain.mod and _linux.mod instead of chain.mod and
53815 linux.mod.
53816 (chain_mod_SOURCES): Renamed to ...
53817 (_chain_mod_SOURCES): ... this.
53818 (chain_mod_CFLAGS): Renamed to ...
53819 (_chain_mod_CFLAGS): ... this.
53820 (linux_mod_SOURCES): Renamed to ...
53821 (_linux_mod_SOURCES): ... this.
53822 (linux_mod_CFLAGS): Renamed to ...
53823 (_linux_mod_CFLAGS): ... this.
53824 (normal_mod_SOURCES): New variable.
53825 (normal_mod_CFLAGS): Likewise.
53826 (normal_mod_ASFLAGS): Likewise.
53827
538282003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53829
53830 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53831 possible.
53832
fe6b695a 53833 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53834 recursively.
53835 (pupa_dl_unref): Unrefer depending modules recursively.
53836 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53837 a module is unloaded before one depending on that module is
53838 unloaded.
53839 (pupa_dl_unload): Unload depending modules explicitly,
53840 if possible.
53841
c04da074 538422003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53843
53844 * include/pupa/i386/pc/linux.h: New file.
53845 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53846
c04da074 53847 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53848 Removed.
53849 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53850 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53851 of PUPA_CHAINLOADER_BOOT_SECTOR.
53852
53853 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53854 (pupa_linux_prot_size): New variable.
53855 (pupa_linux_tmp_addr): Likewise.
53856 (pupa_linux_real_addr): Likewise.
53857 (pupa_linux_boot_zimage): New function.
53858 (pupa_linux_boot_bzimage): Likewise.
53859
53860 * kern/i386/pc/init.c (struct mem_region): New structure.
53861 (MAX_REGIONS): New macro.
53862 (mem_regions): New variable.
53863 (num_regions): Likewise.
53864 (pupa_os_area_addr): Likewise.
53865 (pupa_os_area_size): Likewise.
53866 (pupa_lower_mem): Likewise.
53867 (pupa_upper_mem): Likewise.
53868 (add_mem_region): New function.
53869 (compact_mem_regions): Likewise.
53870 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53871 the size of the conventional memory and that of so-called upper
53872 memory (before the first memory hole).
53873 Instead of adding each found region to free memory, use
53874 add_mem_region and add them after removing overlaps.
53875 Also, add only 1/4 of the upper memory to free memory. The rest
53876 is used for loading OS images. Maybe this is ad hoc, but this
53877 makes it much easier to relocate OS images when booting.
53878
53879 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53880 (pupa_enter_rescue_mode): Don't register initrd and module.
53881
53882 * kern/mm.c: Include pupa/dl.h.
53883
53884 * kern/main.c: Include pupa/file.h and pupa/device.h.
53885
53886 * kern/loader.c (pupa_loader_load_module_func): Removed.
53887 (pupa_loader_load_module): Likewise.
53888
53889 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53890 ``.o''.
53891
53892 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53893 (pupa_linux_tmp_addr): Likewise.
53894 (pupa_linux_real_addr): Likewise.
53895 (pupa_linux_boot_zimage): Likewise.
53896 (pupa_linux_boot_bzimage): Likewise.
53897
53898 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53899 (pupa_upper_mem): Likewise.
53900 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53901 module is too dangerous.
53902
53903 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53904 (pupa_os_area_size): Likewise.
53905 (pupa_loader_set): Remove the first argument. Loader doesn't
53906 manage modules or initrd any longer.
53907 (pupa_loader_load_module): Removed.
53908
53909 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53910 (linux_mod_SOURCES): New variable.
53911 (linux_mod_CFLAGS): Likewise.
53912
a13f9237 539132003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53914
53915 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53916 the length of a blocklist correctly.
53917
53918 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53919 Use ioctl only if the OS file is a block device.
53920 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53921 not very useful for normal files.
53922
53923 * kern/main.c (pupa_set_root_dev): New function.
53924 (pupa_load_normal_mode): Likewise.
53925 (pupa_main): Call those above.
53926
53927 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53928 pupa_uint16_t.
53929
53930 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53931
a5ffe966 539322003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53933
53934 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53935 (setup): Configure the installed partition information and the
53936 dl prefix.
53937
53938 * loader/i386/pc/chainloader.c (my_mod): New variable.
53939 (pupa_chainloader_unload): New function.
53940 (pupa_rescue_cmd_chainloader): Refer itself.
53941 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53942
53943 * kern/i386/pc/startup.S (install_partition): Removed.
53944 (version_string): Likewise.
53945 (config_file): Likewise.
53946 (pupa_install_dos_part): New variable.
53947 (pupa_install_bsd_part): Likewise.
53948 (pupa_prefix): Likewise.
53949 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53950
53951 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53952 and pupa/misc.h.
53953 (make_install_device): New function.
53954 (pupa_machine_init): Set the dl prefix.
53955
53956 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53957 (buf): Renamed to ...
53958 (linebuf): ... this.
53959 (pupa_rescue_cmd_prefix): New function.
53960 (pupa_rescue_cmd_insmod): Likewise.
53961 (pupa_rescue_cmd_rmmod): Likewise.
53962 (pupa_rescue_cmd_lsmod): Likewise.
53963 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53964 rmmod and lsmod.
53965
53966 * kern/mm.c (pupa_memalign): If failed even after invalidating
53967 disk caches, unload unneeded modules and retry.
53968
53969 * kern/misc.c (pupa_memmove): New function.
53970 (pupa_memcpy): Removed.
53971 (pupa_strcpy): New function.
53972 (pupa_itoa): Made static.
53973
53974 * kern/dl.c (pupa_dl_iterate): New function.
53975 (pupa_dl_ref): Likewise.
53976 (pupa_dl_unref): Likewise.
53977 (pupa_dl_unload): Return if succeeded or not.
53978 (pupa_dl_unload_unneeded): New function.
53979 (pupa_dl_unload_all): Likewise.
53980 (pupa_dl_init): Renamed to ...
53981 (pupa_dl_set_prefix): ... this.
53982 (pupa_dl_get_prefix): New function.
53983
53984 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53985 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53986 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53987 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53988 (pupa_install_dos_part): Declared.
53989 (pupa_install_bsd_part): Likewise.
53990 (pupa_prefix): Likewise.
53991 (pupa_boot_drive): Likewise.
53992
53993 * include/pupa/types.h: Fix a typo.
53994
53995 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53996 pupa_memmove.
53997 (pupa_memmove): Declared.
53998 (pupa_strcpy): Likewise.
53999
54000 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54001 pupa_mod_init takes one argument, its own module.
54002 (pupa_dl_unload_unneeded): Declared.
54003 (pupa_dl_unload_all): Likewise.
54004 (pupa_dl_ref): Likewise.
54005 (pupa_dl_unref): Likewise.
54006 (pupa_dl_iterate): Likewise.
54007 (pupa_dl_init): Renamed to ...
54008 (pupa_dl_set_prefix): ... this.
54009 (pupa_dl_get_prefix): Declared.
54010
54011 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 54012 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 54013 unloaded.
54014 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54015 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54016
54017 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54018 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54019
012d7999 540202003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54021
54022 * util/i386/pc/pupa-setup.c (setup): Define the internal
54023 function find_first_partition_start at the top level, because GCC
54024 3.0.x cannot compile internal functions in deeper scopes
54025 correctly.
54026 (find_root_device): Use lstat instead of stat.
54027 Don't follow symbolic links.
54028 Fix the path-constructing code.
54029
54030 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54031 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54032 by a BLKGETSIZE ioctl first, because block devices don't fill
54033 the member st_mode of the structure stat on Linux.
54034 [__linux__] (linux_find_partition): Use a temporary buffer
54035 REAL_DEV for the working space. Copy it to DEV before returning.
54036 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54037 buffer cache consistent.
54038 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54039 strncmp. The previous value was merely wrong.
54040 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54041
54042 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54043 FAT size is 12. The previous value was merely wrong.
54044
54045 * kern/main.c (pupa_main): Don't split the starting message from
54046 newlines.
54047
54048 * kern/term.c (pupa_putchar): Put CR after LF instead of before
54049 LF, because BIOS goes crazy about character attributes in this
54050 case.
54051
1cc73a62 540522003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54053
54054 * include/i386/pc/util/biosdisk.h: New file.
54055 * util/i386/pc/biosdisk.c: Likewise.
54056 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 54057
1cc73a62 54058 * Makefile.in (INCLUDE_DISTFILES): Added
54059 include/pupa/i386/pc/util/biosdisk.h.
54060 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54061 directory util/i386/pc.
54062 (install-local): Added a rule for sbin_UTILITIES.
54063 (uninstall): Likewise.
54064
54065 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54066
54067 * util/misc.c (xrealloc): New function.
54068 (pupa_malloc): Likewise.
54069 (pupa_free): Likewise.
54070 (pupa_realloc): Likewise.
54071 (pupa_stop): Likewise.
54072 (pupa_putchar): Likewise.
54073
54074 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54075
54076 * include/pupa/util/misc.h (xrealloc): Declared.
54077
54078 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54079 macro.
54080 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54081 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54082
54083 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
54084 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54085
54086 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
54087 way should be implemented.
54088 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54089
54090 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
54091 the size of NAME for safety.
54092 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
54093 0x88.
54094
54095 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
54096 (pupa_setup_SOURCES): Likewise.
54097
54098 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
54099
08b70fe8 541002002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54101
54102 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
54103 bunch of pushl's from pusha, because this destroys the return
54104 value.
54105
62ddcc8f 541062002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54107
54108 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
54109 This means that any missing prototypes could be fatal. Also, you
54110 must take care when writing assembly code. See the comments at
54111 the beginning of startup.S, for more details.
f19dbdb7 54112
62ddcc8f 54113 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
54114 compilation mechanism.
54115 (pupa_chainloader_real_boot): Likewise.
54116 (pupa_biosdisk_rw_int13_extensions): Likewise.
54117 (pupa_biosdisk_rw_standard): Likewise.
54118 (pupa_biosdisk_check_int13_extensions): Likewise.
54119 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
54120 (pupa_biosdisk_get_diskinfo_standard): Likewise.
54121 (pupa_get_memsize): Likewise.
54122 (pupa_get_mmap_entry): Likewise.
54123 (pupa_console_putchar): Likewise.
54124 (pupa_console_setcursor): Likewise.
54125 (pupa_getrtsecs): Use pushl instead of push.
54126
54127 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
54128 memory instead of the stack for a mmap entry, because some
54129 BIOSes may ignore the maximum size and overflow.
54130
54131 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
54132
54133 * genmk.rb (PModule#rule): Compile automatically generated
54134 sources with module-specific CFLAGS as well as other sources.
54135
9962ed99 541362002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54137
54138 * configure.ac: Check ld.
54139 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
54140 respectively, before checking endianness and sizes.
54141
54142 * Makefile.in (LD): New variable.
f19dbdb7 54143
abdfc3c5 541442002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54145
54146 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
54147
6a161fa9 541482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54149
54150 * Changelog: New file.
54151