]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
[grub2.git] / ChangeLog
CommitLineData
1962ed95
VS
12013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
4
c2be6f7e
VS
52013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Remove -Wold-style-definition.
8
9 Not very useful and interaction of it with regexp depends on GCC
10 version.
11
7a7f5238
VS
122013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13
14 Make grub_util_get_windows_path_real static.
15
9246d5c8
VS
162013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/commands/fileXX.c: Silence cast-align.
19 * grub-core/loader/i386/xen_fileXX.c: Likewise.
20
b3aea1bc
VS
212013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
24 rather than LL suffix.
25
bc8dd119
VS
262013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27
e8c360ca
VS
28 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
29
302013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 33
57a691b7
VS
342013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
35
36 Decrease number of strings to translate.
37
74fa9417
VS
382013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
41
636977b0
VS
422013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Mark strings for translation and add remaining ones to exclude list.
45
ee4450eb
VS
462013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * util/grub-file.c (main): Fix sizeof usage.
49
502013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
51
52 Silence spurious warning.
53
ee4450eb 542013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
55
56 Remove check_nt_hiberfil as it's been superseeded by file command.
57
a99c0a32
VS
582013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * docs/osdetect.cfg: Add isolinux config to detected OSes.
61
8f5add13
VS
622013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
63
64 Implement syslinux parser.
65
8ff35d0a
VS
662013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
69
ba144760
VS
702013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
71
72 Support cpuid --pae.
73
daaa89db
VS
742013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
75
76 Use AT keyboard on Yeeloong 3A.
77
25a7863d
VS
782013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
79
80 Add Yeeloong 3A reboot and halt.
81
184c61dd
VS
822013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
83
84 Add Radeon Yeeloong 3A support.
85
fd4650a5
VS
862013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
87
88 Add bonito 3A support.
89
3e88fbfa
VS
902013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
93
1123bed9
VS
942013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
97
ebda165f
VS
982013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/loader/macho.c: Fix compilation on non-i386.
101
fe7c20bf
VS
1022013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
103
104 Add missing format_arg attribute to check that printf with translated
105 messages has proper arguments.
106
f4dab3d1
VS
1072013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Use grub_xasprintf to format translated error messages containing
110 64-bit quantity.
111
24d5934d
JM
1122013-12-17 Jon McCune <jonmccune@google.com>
113
114 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
115
d6c2782a
VS
1162013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Unify message for unsupported relocation.
119
50d2e959
VS
1202013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Mark miscompile error for translation.
123
18e76955
VS
1242013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
125
126 Use %I64 and not %ll when using OS printf if compiling for windows.
127
d218ec97
VS
1282013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
129
130 Update Mac code to match new register_efi prototype.
131
b8765fa0
VS
1322013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
133
134 Implement better integration with Mac firmware.
135
1f032575
VS
1362013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/loader/multiboot_mbi2.c: Implement special value for
139 load_addr.
140
14829755
VS
1412013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
142
143 Include serial module in default_payload.elf.
144
d45067a2
VS
1452013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
146
147 Add explicit thumb interwork bx in asm files.
148
149 Shouldn't matter for armv >= 5 but let's be safe.
150
30861754
VS
1512013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
152
153 Implement Truecrypt ISO loader.
154
e14d409b
VS
1552013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/lib/arg.c: Ensure at least a single space between commands.
158
ec824e0f
VS
1592013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
160
161 Implement grub_file tool and use it to implement generating of config
162 in separate root.
163
296f7606
VS
1642013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
165
166 Change to v1 xen grants.
167
2c384f1e
VS
1682013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
171
172 GRUB relied on %ebx being preserved across hypercall which isn't true.
173
d16ff589
VS
1742013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
177
178 GRUB relied on %rdi being preserved across hypercall which isn't true.
179
71669c3b
VS
1802013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
181
182 Implement XEN VFB support.
183
60d1dd3d
VS
1842013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
185
186 Remove grub_bios_interrupt on coreboot.
187
188 It's not used currently and cannot be used safely currently.
189
a8201050
VS
1902013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Update exclude.pot and mark few strings for translation.
193
6cc89597
VS
1942013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
197
198 Reported by: Jon McCune
199
840a2c05
AB
2002013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
201
202 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
203 Add verbose information which firmware directories were tried.
204
35248820
AB
2052013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
206
207 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
208 function to optionally redirect all three standard descriptors.
209 Redefine grub_util_exec, grub_util_exec_redirect and
210 grub_util_exec_redirect_null to use it.
211 * include/grub/emu/exec.h: Define it.
212 * include/grub/osdep/exec_unix.h: Delete, it is unused.
213 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
214 Use grub_util_exec_redirect_all to redirect error to NULL.
215
2a123f4c
VS
2162013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * grub-core/tests/sleep_test.c: Silence spurious warning.
219
316c8d9a
VS
2202013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
221
222 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
223 linker trying to "fixup" the code.
224
8fcce8d5
VS
2252013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/kern/x86_64/xen/startup.S: Align stack.
228
6f1f6a0c
VS
2292013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
230
231 Add support for converting PE+ to Elf64.
232
66a07ce2
VS
2332013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
236
cc6fb517
VS
2372013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
238
239 Remove practice of assigning random const pointers to device id.
240
241 This is not required as cache code already checks driver id as well.
242
f009f07c
VS
2432013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
246 with mingw.
247
9fdec226
VS
2482013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * include/grub/efi/api.h: Don't use call wrappers when compiled with
251 mingw or cygwin as API already matches.
252
d87cb3ae
VS
2532013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
256
3e38c31a
VS
2572013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
260 not on long.
261
f4171ebd
VS
2622013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
263
264 Handle X86_64_PC64 relocation.
265
266 Those are generated by some cygwin compilers.
267
252a289c
VS
2682013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
269
270 Determine the need for mingw-related stubs at compile time rather than
271 using not very significant $target_os.
272
23d2abc3
VS
2732013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
276 may not work with ELF.
277
4f979ccb
VS
2782013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Use unix functions for temporary files and special files on cygwin.
281
37378f74
VS
2822013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
283
284 Define functions explicitly rather than using --defsym in tests
285 whenever possible. Respect locality in remaining cases.
286
6a09d83e
VS
2872013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
290
e477187b
AB
2912013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
292
293 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
294 unlikely errors when getting EFI variables and make exhaustive search
295 for all BootNNNN variables to find matching one.
296
80b865bd
IC
2972013-12-15 Ian Campbell <ijc@hellion.org.uk>
298
299 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
300
04b02857
VS
3012013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
302
303 New functional test for sleep function.
304
305 This test allows to check sleep without qemu. Keep qemu version as
306 well as functional test won't notice if all clocks are going too fast
307 or too slow.
308
39711101
VS
3092013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
310
311 Add explicit sysv_abi on amd64 asm routines.
312
d99af4f0
VS
3132013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
316 num_table_entries.
317
71043684
VS
3182013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
321 functions.
322
111bf5db
VS
3232013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
326 appropriate.
327
24ca71c9
VS
3282013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
331
48ba5c0c
VS
3322013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
335 appropriate.
336
8ae67045
VS
3372013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
340
341 In case of quick removal of loopback and adding another one it may
342 get same ID, confusing the cache system.
343
ed559310
VS
3442013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
347 appropriate.
348
8fa26279
VS
3492013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
352 than converting to long.
353
6f5f3337
VS
3542013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
357
e7c418c5
VS
3582013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
361 than almost useless pointer.
362
7e47e27b
VS
3632013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Add gcc_struct to all packed structures when compiling with mingw.
366
367 Just "packed" doesn't always pack the way we expect.
368
ae8159b9
VS
3692013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
372
74e7ad66
VS
3732013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * util/grub-pe2elf.c: Fix handling of .bss.
376
814442ba
VS
3772013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Implement windows flavour of EFI install routines.
380
5f5bb107
VS
3812013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
384
a24725cc
VS
3852013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Change grub_install_register_efi interface to pass GRUB device.
388
389 This allows grub_install_register_efi to request partition info
390 directly.
391
38933cee
VS
3922013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
395
6d3cfe50
VS
3962013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
397
398 Do not use TCHAR string functions as they are not available on cygwin.
399
4bad23a1
VS
4002013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
401
402 Workaround windows bug when querying EFI system partition parameters.
403
6a5fe132
VS
4042013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
407 by using bitfields.
408
bc8fcf4b
VS
4092013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
412
60b967be
VS
4132013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
414
415 Make i386-* other than i386-pc compileable under cygwin.
416
6dc33377
VS
4172013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
418
419 Fix definition of grub_efi_hard_drive_device_path. Take care that
420 existing code would work even if by some reason bogus definition is
421 used by EFI implementations.
422
f2c6ff15
VS
4232013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
426
6b8a1625
VS
4272013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
430 invocation.
431
954c723a
VS
4322013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * util/config.c: Remove trailing newline from distributor in simple
435 parsing.
436
607a39f9
VS
4372013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * include/grub/efi/api.h: Rename protocol and interface to avoid
440 conflict.
441
df6fedca
VS
4422013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
445 entries.
446
f684d7e1
VS
4472013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * grub-core/osdep/exec.c: Use unix version on cygwin.
450
0df77d79
VS
4512013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
452
453 Implement multiboot2 EFI BS specification.
454
dafff9ce
VS
4552013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/normal/charset.c: Fix premature line wrap and crash.
458 Crash happened only in some cases like a string starting at the
459 half of the screen of same length.
460
6644d973
VS
4612013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
464 with EFI counterpart.
465
44bbfa33
VS
4662013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
467
468 Propagate the EFI commits to x86-efi specific parts.
469
3e3dff24
VS
4702013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/commands/efi/lssal.c: Fix terminating condition.
473
316dda71
VS
4742013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
475
476 Introduce grub_efi_packed_guid and use it where alignment is not
477 guaranteed.
478
219401b8
VS
4792013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * include/grub/efi/api.h (grub_efi_device_path): Define length as
482 unaligned u16 rather than u8[2].
483
30d00537
VS
4842013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
487 for relocation range.
488
979742bc
VS
4892013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
492 non-function pcrel21b relocation. It happens with .text.unlikely
493 section.
494
16c8f785
LL
4952013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
496
497 * make MAX_USABLE_ADDRESS platform-specific
498 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
499
3f1423e7
LL
5002013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
501
502 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
503
dd73313c
JM
5042013-12-09 Jon McCune <jonmccune@google.com>
505
506 * Add --no-rs-codes flag to optionally disable reed-solomon codes
507 in grub-install and grub-bios-setup for x86 BIOS targets.
508
eaf01c25
VS
5092013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
510
511 Add missing compile and link options for sparc64-emu.
512
7a148da6
VS
5132013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
514
515 Implement sparc64 trampolines (needed for sparc64-emu).
516
21eee750
VS
5172013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
520 range of R_SPARC_HI22.
521 Implement R_SPARC_LM22.
522
7b54b626
VS
5232013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
526 Do not explicitly check for symbol table as it's already checked in
527 platform-independent layer.
528
9a945e2a
VS
5292013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
532 on ia64 as __clear_cache is a dummy on ia64.
533
4f4ea1b4
VS
5342013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
537 Do not explicitly check for symbol table as it's already checked in
538 platform-independent layer.
539
fe4ae213
CW
5402013-12-09 Colin Watson <cjwatson@ubuntu.com>
541
542 * util/grub-mkconfig.in: Add missing newline to output.
543
78b2b0a1
VS
5442013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
547 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
548
d14772c4
VS
5492013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
552 compilation with GCC <= 4.2.
553 * grub-core/kern/emu/argp_common.c: Likewise.
554
388f3cd0
VS
5552013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
558 right platform rather than leaking to sparc64-emu.
559
11e4167a
VS
5602013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
563 But ensure that the variables in question are indeed unsigned.
564
fa7eb63d
VS
5652013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
568
50b3a68d
VS
5692013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
570
571 Remove grub_memalign on emu.
572
fbbfb6ab
VS
5732013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
576 truncate incomplete lines but instead flushes them.
577
a19293cb
VS
5782013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
579
580 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
581 and implement windows variant.
582
d5c14e1e
VS
5832013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
584
585 Fix mips-emu compilation.
586
b75db69a
VS
5872013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * configure.ac: Check for freetype library usability.
590
c311ced5
VS
5912013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
592
593 Make arm-emu work.
594
c8fd2ddf
VS
5952013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
598
c50e5f45
AB
5992013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
600
601 * docs/grub.texi (Environment): Update color_normal and color_highlight
602 defaults (light-gray instead of white).
603
bb05e313
AB
6042013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
605
606 * grub-core/normal/main.c (INIT): Set default color to light-gray
607 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
608 and apparently BIOS defaults.
609
f23bc651
VS
6102013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Transform -C option to grub-mkstandalone to --core-compress available
613 in all grub-install flavours.
614
4c4ea9c7
VS
6152013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
616
617 Merge GRUBFS and GRUB_FS variables.
618
92e9352d
AB
6192013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
620
621 Revert commit 69ca97c820, it caused failures when using OS device name
622 in grub-install. Instead just strip off parenthesis in grub-install
623 if (hdX) was passed.
624
f585c905
AB
6252013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
626
627 * util/grub-install.c (push_partmap_module): Add helper to convert
628 partmap names to module names and use it in probe_mods(). Fixes
629 failure to find partmap modules in diskfilter case.
630
5ff24907
VS
6312013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * configure.ac: Make unifont mandatory on coreboot.
634
0277eab7
VS
6352013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * configure.ac: Skip unifont 6.3 pcf and bdf.
638
4861b6c8
VS
6392013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * Makefile.am: Remove partial font files if generation failed.
642
3100cdc7
AB
6432013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
644
645 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
646 strings.
647 * include/grub/util/misc.h: Define it ...
648 * util/grub-install.c (device_map_check_duplicates): ... and use it.
649
ad73cc33
AB
6502013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
651
652 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
653 ${grub_probe}.
654
41822625
VS
6552013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
656
657 Don't add -mlong-calls when compiling with clang.
658
896f483d
VS
6592013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * configure.ac: Fix a typo.
662
8c534b85
VS
6632013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Revamp relocation handling.
666
667 Move more code to common dl.c. Add missing veneers for arm and arm64.
668 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
669
a846dd4b
VS
6702013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
673
aa437b58
MG
6742013-12-05 Mike Gilbert <floppym@gentoo.org>
675
676 * INSTALL: Raise minimum python version to 2.6.
677 * gentpl.py: Use python3-style print function.
678
b0f311f4
VS
6792013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * util/grub-install.c: Mention Boot* variable.
682
59b38922
CW
6832013-12-05 Colin Watson <cjwatson@ubuntu.com>
684
685 * grub-core/osdep/linux/hostdisk.c
686 (grub_util_find_partition_start_os): Initialise start to avoid
687 spurious compiler warning.
688
0480665b
CW
6892013-12-05 Colin Watson <cjwatson@ubuntu.com>
690
691 On Linux, read partition start offsets from sysfs if possible, to
692 cope with block device drivers that don't implement HDIO_GETGEO.
693 Fixes Ubuntu bug #1237519.
694
695 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
696 function.
697 (sysfs_partition_start): Likewise.
698 (grub_util_find_partition_start_os): Try sysfs_partition_start
699 before HDIO_GETGEO.
700
bbeee1c4
LL
7012013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
702
703 * grub-core/kern/fdt.c: Update struct size when adding node.
704
e5ed2f69
VS
7052013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
706
707 Handle unaligned .bss on sparc64.
708
709 Current code improperly assumes that both __bss_start and _end are
710 aligned to 8-bytes. Eliminating this assumption and explicitly align
711 modules.
712
4a73746a
VS
7132013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
716 so it doesn't land in the middle of loaded image.
717
382b500e
VS
7182013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * configure.ac: Move all warning options that may be absent in
721 gcc >= 3.1 to optional.
722
723 Note: while this allows to compile with older GCC, official requirements
724 remain the same and no support for older GCC.
725
3a82f8bb
CW
7262013-12-04 Colin Watson <cjwatson@ubuntu.com>
727
728 Copying the themes directory in grub-shell isn't
729 parallel-test-friendly and breaks on the second test when the source
730 directory is read-only (as in "make distcheck"). Instead, add a
731 hidden --themes-directory option to grub-mkrescue et al, and use it
732 in grub-shell.
733
e3046431
VS
7342013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
737 as it's no longer necessarry.
738
bdb6090d
VS
7392013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * configure.ac: Allow compilation with older GCC for ARM.
742
b73b70eb
VS
7432013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
746 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
747 ppc.
748
8a3f0a24
VS
7492013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
752
6f07c4e4
VS
7532013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
754
755 Pass font config to config.h and not by TARGET_CFLAGS as adding
756 arguments doesn't work if TARGET_CFLAGS is specified on command
757 line.
758
60d5e9cb
VS
7592013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * configure.ac: Add -Wvla if compiler supports it.
762
cd15c394
VS
7632013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
766 Remove variable length arrays.
767 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
768
bb6e299c
VS
7692013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
772
85eb579a
VS
7732013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * include/grub/types.h: Declare all byteswaps as inline functions
776 except compile-time ones.
777
778 Solves variable shadowing in constructions like
779 cpu_to_le (le_to_cpu(x) + 1).
780
47f88cc9
VS
7812013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/kern/efi/efi.c: Remove variable length arrays.
784
40b5739f
VS
7852013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
788 minutes.
789
234d9346
VS
7902013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
793 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
794
0c0eab52
CW
7952013-12-03 Colin Watson <cjwatson@ubuntu.com>
796
797 * grub-core/Makefile.core.def (setjmp): Distribute
798 lib/arm64/setjmp.S.
799
44d48847 8002013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
801
802 Add a new timeout_style environment variable and a corresponding
803 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
804 controls hidden-timeout handling more simply than the previous
805 arrangements, and pressing any hotkeys associated with menu entries
806 during the hidden timeout will now boot the corresponding menu entry
807 immediately.
808
809 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
810 generates a warning, and if it shows the menu it will do so as if
811 the second timeout were not present. Other combinations are
812 translated into reasonable equivalents.
813
10955cda
CW
814 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
815
9e4e6ddf
VS
8162013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * util/config.c: Add missing pointer adjustment.
819 Reported by: qwertial
820
5037aa9a
AB
8212013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
822
823 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
824 directly, not via `cpu' link, to fix libgrub.pp generation.
825
8a952d20
VS
8262013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
827
828 New port arm64-efi.
829
be0d4555
AB
8302013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
831
832 * docs/grub.texi (sleep): Document exit codes.
833
d74b9a1d
VS
8342013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
835
836 Ensure that -mno-unaligned-access or some equivalent option is used.
837
35de6d4b
VS
8382013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
841 -march=armv3.
842
ce55ed03
VS
8432013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
844
845 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
846
8ddf84bf
CW
8472013-11-29 Colin Watson <cjwatson@ubuntu.com>
848
849 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
850 builds, since we don't have an EPS version of font_char_metrics.png.
851 Add leading dot to image extension per the Texinfo documentation.
852
fd0df6d0
CW
8532013-11-29 Colin Watson <cjwatson@ubuntu.com>
854
855 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
856 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
857 * util/grub-gen-widthspec.c: Likewise.
858 * util/grub-mkfont.c: Likewise.
859
69ca97c8
AB
8602013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
861
862 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
863 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
864 failed to install on (hdX).
865 * util/grub-setup.c (get_device_name): Remove, not needed after
866 above change.
867
eec893ae
VS
8682013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
871
621e167f
VS
8722013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * util/grub-fstest.c: Remove variable length arrays.
875
d54f647a
VS
8762013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/osdep/linux/ofpath.c: Check return value of read.
879
c8a0f1b2
VS
8802013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
883 computing crc32 rather than handling with md fundtions directly.
884
726409a5
VS
8852013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
888 checking fwstart.img rather than md fundtions directly.
889
422e6e88
VS
8902013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * util/grub-mkrescue.c (main): Check that fread succeeded.
893
af1faca3
VS
8942013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * conf/Makefile.common: Remove -mexplicit-relocs and
897 -DUSE_ASCII_FALLBACK on yeeloong.
898
899 -DUSE_ASCII_FALLBACK is already added by font snippets.
900 -mexplicit-relocs isn't needed is compiler/assemblera are
901 configured properly.
902 If they're not we shouldn't attempt to fix it by ourselves.
903 Binary compare between before and after shows no difference.
904
469021b4
VS
9052013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
908 sources in dependencies directly.
909
910 This was the only instance of "library" in core config. A bug was
911 reported that -fno-stack-protector wasn't passed to it. Instead of
912 figuring out why it failed just remove this construction used
913 needlessly.
914
83c256ba
VS
9152013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/osdep/unix/password.c (grub_password_get): Check that
918 fgets succeeded.
919
b67422d3
FL
9202013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
921
922 * docs/grub.texi (ls): Fix command description in case of a device name
923 passed as argument.
924
2d76b4d8
VS
9252013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
926
927 Eliminate variable length arrays in grub_vsnprintf_real.
928
929 A bit tricky because this function has to continue to work without
930 heap for short strings. Fixing prealloc to 32 arguments is reasonable
931 but make all stack references use 32-bit offset rather than 8-bit one.
932 So split va_args preparsing to separate function and put the prealloc
933 into the caller.
934
4f954122
VS
9352013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
938 Fixes build for windows.
939
b1f742c1
VS
9402013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * gentpl.py: Don't generate platform-dependent conditionals for
943 platform-independent targets.
944
16ef26fd
CW
9452013-11-27 Colin Watson <cjwatson@ubuntu.com>
946
947 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
948 references to mdadm from otherwise generic code.
949 (grub_util_exec_pipe): Likewise.
950 (grub_util_exec_pipe_stderr): Likewise.
951 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
952 This function calls vgs, not mdadm; adjust variable names
953 accordingly.
954
cf8c80ff 9552013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
956
957 Generate Makefile.*.am directly from gentpl.py, eliminating the use
958 of Autogen. The Autogen definitions files remain intact as they
959 offer a useful abstraction.
960
5c7206e4
CW
9612013-11-27 Colin Watson <cjwatson@ubuntu.com>
962
963 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
964 into no-ops, and use it in programs that copy files but do not need
965 to take special care to sync writes (grub-mknetdir, grub-rescue,
966 grub-mkstandalone).
967
fc3f2b72
CW
9682013-11-26 Colin Watson <cjwatson@ubuntu.com>
969
970 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
971 than hardcoding /usr/local/bin/xorriso.
972
1e4b3587
VS
9732013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Add PCI command activation to all PCI drivers as required for coreboot
976 and maybe some other firmwares.
977
9208367d
VS
9782013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
981 and non-Apple variants of efiemu compile.
982
67b9b7af
AB
9832013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
984
985 * configure.ac: Add explicit check for linking format of
986 efiemu64; save it as EFIEMU64_LINK_FORMAT.
987 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
988 hardcoding linking format.
989
bee1b5ce
VS
9902013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
993 and not pkgdatadir.
994
07e3b047
CW
9952013-11-25 Colin Watson <cjwatson@ubuntu.com>
9962013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
997
998 Add a --locale-directory option to grub-install and related tools.
999
1000 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1001 --locale-directory option.
1002 (enum grub_install_options): Add
1003 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1004 * util/grub-install-common.c (grub_install_help_filter): Handle
1005 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1006 (grub_install_parse): Likewise.
1007 (get_localedir): New function to check for a user-provided option
1008 before trying grub_util_get_localedir.
1009 (copy_locales): Use get_localedir rather than
1010 grub_util_get_localedir. Handle differing locale directory layouts.
1011 (grub_install_copy_files): Likewise.
1012
61e1b9a4
VS
10132013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1016 Don't rely on PATH_MAX.
1017
c98dd165
VS
10182013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/genmoddep.awk: Use more portable && rather than and.
1021
ff1c277e
VS
10222013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1025 an object after data. While it doesn't seem right solution, it
1026 works well enough and OSX isn't main compilation platform.
1027
c8f7614b
VS
10282013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1031 While it doesn't seem right solution, it works well enough and
1032 OSX isn't main compilation platform.
1033
246a434f
VS
10342013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * configure.ac: Add -static to LDFLAGS when using apple linker to
1037 prevent it from pulling in dynamic linker.
1038
5c066a81
VS
10392013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Apple assembly doesn't handle symbol arithmetic well. So define an
1042 offset symbol in boot.S and use it.
1043
78f961ef
VS
10442013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Apple assembly doesn't handle symbol arithmetic well. So instead
1047 of getting addres of kernel_sector + 4 define kernel_sector_high.
1048 It also makes code more readable.
1049
09bc0a57
VS
10502013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 With Apple assembly in .macro environvemnt you have to use $$ instead
1053 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1054 to $$x on Apple and to $x on everything else.
1055
b700a427
VS
10562013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1059 OBJCONV.
1060
4480b95d
VS
10612013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1064 and non-Apple. This instruction is shorter and faster,
1065 so no reason not to use it on both.
1066
e77c81f6
VS
10672013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1070 .text when compiling for Apple.
1071
971dbee5
VS
10722013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1075
6f2e82be
VS
10762013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
1079 %dx restore the probe worked on non-existant drive. Reorganize the
1080 code a little bit to free 2 bytes necessary for push/pop.
1081
9eec9699
VS
10822013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1085 Add missing cast to silence warning.
1086
5ae5c54c
KPA
10872013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
1088
1089 * util/grub-install.c (update_nvram): Support --no-nvram flag
1090 for EFI targets.
1091
7b04fe6c
VS
10922013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1095
e67566ce
VS
10962013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * util/garbage-gen.c: Add missing include of sys/time.h.
1099
f93ddcfd
VS
11002013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Don't add -mflush-func if it's not supported by compiler.
1103
1bba40f5
VS
11042013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 Move common BIOS/coreboot memory map declarations to
1107 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1108
f65e14dc
AB
11092013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1110
1111 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1112
14a94bba
VS
11132013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * INSTALL: Document why older clang versions aren't appropriate.
1116
8109c5d4
VS
11172013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * INSTALL: Document about clang for mips.
1120
a92b5cb8
VS
11212013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
1124 clang.
1125
4a23e2fe
VS
11262013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 Add *-xen to the list of grub-install-common platforms.
1129
a3ba7410
VS
11302013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
1133 3 last commits.
1134
e1c22419
VS
11352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
1138
189090ce
VS
11392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
1142 with -mcmodel=large.
1143
1a5b7b40
VS
11442013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
1147 range-checking for 32-bit quantities.
1148
9cf12b20
VS
11492013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * configure.ac: Compile with -fPIC when compiling with clang on
1152 mips.
1153
63a45330
VS
11542013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
1157 when compiling with clang.
1158
4a0aaad0
VS
11592013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 clang emits calls to abort () under some unknown conditions.
1162 Export abort () when compiling with clang.
1163
095bb1bf
VS
11642013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * docs/grub-dev.texi: Document stack and heap sizes.
1167
3937bd96
VS
11682013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * include/grub/i386/pc/memory.h: Decrease
1171 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
1172 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
1173 The binary doesn't change (checked). It's more to better reflect actual
1174 usage.
1175
ddb3efc9
VS
11762013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
1179 at compile time that enough of scratch size is available.
1180
4e42521d
VS
11812013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
1184 Previously we misaligned stack by 8 in startup.S and compensated
1185 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
1186 right behaviour is to align stack in startup.S and keep it aligned
1187 in callwrap.S. startup.S part was committed few commits before. This
1188 takes care of callwrap.S.
1189 Reported by: Gary Lin.
1190
054efe54
VS
11912013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
1194 .data and .bss. May happen if compiler and assembly use different
1195 alignment.
1196
a0e1befb
VS
11972013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1200 way.
1201
c36c73f6
VS
12022013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 Add support for a new magic symbol _gp_disp on mips to handle PIC
1205 binaries.
1206
6f4a19f5
VS
12072013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1210
0d8f04cd
VS
12112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1214 when rest of GRUB is compiled for hisher stepping. Instead use
1215 .set mips3/.set mips1 around cache and sync opcodes.
1216
49060520
VS
12172013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1220 do essentially the same thing, do it in similar way.
1221
c6a823e2
CW
12222013-11-21 Colin Watson <cjwatson@ubuntu.com>
1223
1224 * util/grub-mkrescue.c (main): If a source directory is not
1225 specified, read platform-specific files from subdirectories of
1226 pkglibdir, not pkgdatadir.
1227
b7f9aedf
CW
12282013-11-21 Colin Watson <cjwatson@ubuntu.com>
1229
1230 * grub-core/normal/progress.c: Remove unused file.
1231
7dd0a303
VS
12322013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1235 array.
1236
ca120e31
VS
12372013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1240 than grub.cfg.
1241
48eb35cd
VS
12422013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * coreboot.cfg: Add missing file.
1245
7f20dbbc
VS
12462013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1249
55e706c9
AK
12502013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1251
1252 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1253 selectively skipping systems.
1254
4e7d433d
CW
12552013-11-19 Colin Watson <cjwatson@ubuntu.com>
1256
1257 * Makefile.util.def (grub-mkimage): Add
1258 grub-core/osdep/aros/config.c to extra_dist.
1259 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1260 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1261 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1262 grub-core/gnulib-no-gets.diff.
1263
7d44ff7d
VS
12642013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Add automated filesystem checking based on scripts I've used now for
1267 quite some time locally. Most of the test require root so they are
1268 skipped when run without necessarry privelegies.
1269
a8c3e5e3
CW
12702013-11-19 Colin Watson <cjwatson@ubuntu.com>
1271
1272 * util/grub-install.c (main): Adjust info messages to match
1273 installed paths of grub-bios-setup and grub-sparc64-setup.
1274
4402db3e
CW
12752013-11-19 Colin Watson <cjwatson@ubuntu.com>
1276
1277 * util/grub-install-common.c (copy_locales): Consistently use
1278 grub_util_get_localedir () rather than LOCALEDIR.
1279 (grub_install_copy_files): Likewise.
1280
7960d3e1
JT
12812013-11-19 Josh Triplett <josh@joshtriplett.org>
1282
1283 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1284 16-byte boundary, as required by the x86-64 ABI, before calling
1285 grub_main. In some cases, GCC emits code that assumes this
1286 alignment, which crashes if not aligned. The EFI firmware is also
1287 entitled to assume that stack alignment without checking.
1288
d53f4900
JT
12892013-11-18 Josh Triplett <josh@joshtriplett.org>
1290
1291 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1292 4k page boundaries as expected by firmware rather than 1k
1293 boundaries.
1294 (grub_mmap_malign_and_register): Likewise.
1295
bb2b275b
VS
12962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1299 fragmentation 512M is enough.
1300
45bf8b3a
VS
13012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1304 pointer to 32K. This is the size of cache element which is the most
1305 common allocation >1K. This way the pointer is always around blocks
1306 of 32K and so we keep performance while decreasing fragmentation.
1307
39ff43c5
VS
13082013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1311 current memory when allocating large chunks. This significantly
1312 decreases memory fragmentation.
1313
60870be8
CW
13142013-11-18 Colin Watson <cjwatson@ubuntu.com>
1315
1316 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1317 but for symmetry).
1318 * tests/lzocompress_test.in: Skip if lzop is not installed.
1319 * tests/xzcompress_test.in: Skip if xz is not installed.
1320
a1f00cc5
CW
13212013-11-18 Colin Watson <cjwatson@ubuntu.com>
1322
1323 * util/grub-mkrescue.c (main): Fix typo.
1324
74e632fe
VS
13252013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1328 clock frequency to 200 MHz,
1329
efb8de49
VS
13302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1333
b7526e78
VS
13342013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1337 Load config file from (cbfsdisk)/etc/grub.cfg.
1338
b40ce651
VS
13392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * util/grub-install-common.c (grub_install_copy_files): Fix module
1342 destination directory.
1343
1e8e2e78
CW
13442013-11-18 Colin Watson <cjwatson@ubuntu.com>
1345
1346 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1347 files have not been built.
1348
3bf4088b
CW
13492013-11-18 Colin Watson <cjwatson@ubuntu.com>
1350
1351 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1352 Handle errors from mkstemp.
1353 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1354
35c2851c
VS
13552013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1358 on primary master on pseries.
1359
ea7c1a7d
VS
13602013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1363 already loaded. This saves memory needed for tests,
1364
96adefdb
VS
13652013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1368 work again.
1369
5e3cb8a7
VS
13702013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1373 work again.
1374
256ee7ac
VS
13752013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1378 master since with some combinations of qemu and firmware only primary
1379 IDE channel is available.
1380
f8b4c3b6
VS
13812013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1384 low-memory platforms where we don't have enough memory for them.
1385 * grub-core/tests/videotest_checksum.c: Likewise.
1386
4bf70320
VS
13872013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1390 already loaded. This saves memory needed for tests,
1391
a284320e
VS
13922013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 Fix handling of install lists.
1395
2df8f43d
VS
13962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1399
6f1bc8bc
VS
14002013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1403 the devices before accessing them.
1404
04f39f6d
VS
14052013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1408 as file argument.
1409
35d4761c
VS
14102013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1413
33d02a42
VS
14142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1417 (grub_file_close): Free file->name.
1418
7bbb60cf
VS
14192013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1422 (grub_load_public_key): Likewise.
1423 (grub_verify_signature_real): Likewise.
1424 (grub_cmd_verify_signature): Likewise.
1425
da93d675
VS
14262013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1429 memory leak.
1430
59c943ec
VS
14312013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1434 (grub_longjmp): Restore r31.
1435 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1436
4336b5d8
VS
14372013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1440 modules to be in line with make_image_abs.
1441
44ce3a93
VS
14422013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1445
1446 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1447
7d400406
IC
14482013-11-17 Ian Campbell <ijc@hellion.org.uk>
1449
1450 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1451
77dae919
VS
14522013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1455 to leave some memory to firmware.
1456
0ab8e025
VS
14572013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1460 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1461 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1462 Load gfxmenu.
1463
b80c2d6d
VS
14642013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1467 now needs full arguments.
1468
6aa6077b
VS
14692013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * util/grub-mkrescue.c (main): Add trailing \n in
1472 .disk_label.contentDetails to be in line with previous shell script.
1473
66c00cb1
VS
14742013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1477
3a129dba
VS
14782013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * util/grub-install-common.c (grub_install_parse): Recognize
1481 --compress=none like shell script did.
1482
8df6eff6
VS
14832013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * include/grub/misc.h: Replace check for __sparc64__ with one for
1486 __sparc__ as __sparc64__ isn't actually defined.
1487
889ebe92
VS
14882013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1491 counterpart of fixing the naming of escc ports.
1492
d4d55b29
VS
14932013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * util/grub-install-common.c (platforms): Fix the order of entries and
1496 remove useless field val.
1497
55e2c84f
VS
14982013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * util/grub-install.c: Add new option --no-bootsector to skip
1501 installing of bootsector. Accept --grub-setup=/bin/true as
1502 backwards-compatible synonym.
1503
cd46aa6c
VS
15042013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1505
1506 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1507 order of qsort arguments (number of elements vs. element size).
1508
15092013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1512 the function of these files exceeds what can be sanely handled in shell
1513 in posix-comaptible way. Also writing it in C extends the functionality
1514 to non-UNIX-like OS and minimal environments.
1515
9ef81064
VS
15162013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1519 compiling to thumb2.
1520 * grub-core/kern/arm/cache_armv7.S: Likewise.
1521 * grub-core/lib/arm/setjmp.S: Likewise.
1522
11a77932
LL
15232013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1524
1525 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1526 in grub_uboot_syscall
1527
080603f0
VS
15282013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 Decrease stack usage in lexer.
1531
1532 We have only 92K of stack and using over 4K per frame is wasteful
1533
1534 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1535 as macros so that compiler would remove useless structure on stack.
1536 Better solution would be to fix flex not to put this structure on
1537 the stack but flex is external program.
1538
4f84ae0e
VS
15392013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 Decrease stack usage in signature verification.
1542
1543 We have only 92K of stack and using over 4K per frame is wasteful
1544
1545 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1546 rather than stack.
1547 (grub_verify_signature_real): Likewise.
1548
e6a6182d
VS
15492013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 Decrease stack usage in mdraid 0.9x.
1552
1553 We have only 92K of stack and using over 4K per frame is wasteful
1554
1555 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1556 rather than stack.
1557
1a454efe
VS
15582013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 Decrease stack usage in BtrFS.
1561
1562 We have only 92K of stack and using over 4K per frame is wasteful
1563
1564 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1565 rather than stack.
1566
7b5d51d8
VS
15672013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Decrease stack usage in JFS.
1570
1571 We have only 92K of stack and using over 4K per frame is wasteful
1572
1573 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1574 stack. Note: this function is recursive.
1575 (grub_jfs_read_inode): Read only part we care about.
1576
593865b9
LL
15772013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1578
1579 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1580 handling
7b5d51d8 1581
31c0cd43
AB
15822013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1583
1584 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1585
c2fdb331
AB
15862013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1587
1588 * docs/grub.texi (Environment): Document cmdpath.
1589
9e18dfe2
AB
15902013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1591
1592 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1593 Remove "unused" attribute from arguments, they are used.
1594
59ba9d14
CW
15952013-11-15 Colin Watson <cjwatson@debian.org>
1596
1597 * .gitignore: Only ignore grub-mk* at the top level.
1598
23012db9
CW
15992013-11-15 Colin Watson <cjwatson@ubuntu.com>
1600
1601 * util/grub-reboot.in (usage): Fix a typo.
1602
6fcec439
VS
16032013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 Replace libgcc version of ctz with our own.
1606
1607 On upcoming arm64 port libgcc ctz* are not usable in standalone
1608 environment. Since we need ctz* for this case and implementation is
1609 in C we may as well use it on all concerned platforms.
1610
a9f25a08
VS
16112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * configure.ac: Probe for linking format rather than guessing it based
1614 on target_os.
1615
c7995256
VS
16162013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1619 "1" prior to handoff.
1620
1621 Reported by: M A Young.
1622
e1aa5b66
VS
16232013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1626 \0 to all files.
1627
1628 Reported by: M A Young.
1629
da5ed5cf
VS
16302013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1633 compilation on NetBSD.
1634
5757a93e
VS
16352013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * acinclude.m4: Don't add -P on initial nm test.
1638
1639 Note: even though this patch postdates Andrey's it bears 14 Nov as
1640 date due to timezone difference.
1641
a5986276
AB
16422013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1643
1644 * grub-core/Makefile.core.def (signature_test): Add missing
1645 tests/signatures.h.
1646
0de172a0
CW
16472013-11-14 Colin Watson <cjwatson@ubuntu.com>
1648
1649 * util/grub-install_header: Set localedir here, since this file is
1650 where it's used.
1651 * util/grub-install.in: Remove setting of localedir.
1652 * util/grub-mkrescue.in: Likewise.
1653
da45f43c
VS
16542013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1657
20aea949
VS
16582013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * configure.ac: Move nm checks to the end.
1661 Call grub_PROG_NM_WORKS.
1662 * acinclude.m4: New check grub_PROG_NM_WORKS.
1663 Use $TARGET_CFLAGS -c when compiling test binary.
1664
1326b9ae
CW
16652013-11-14 Colin Watson <cjwatson@ubuntu.com>
1666
1667 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1668 unused variables.
1669
1fe26ab4
MG
16702013-11-14 Matthew Garrett <mjg@redhat.com>
1671
1672 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1673 cmdpath to firmware directory.
1674
83e9c273
VS
16752013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1678 at the start of second iteration.
1679
ec525c18
VS
16802013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1683
93fcc7ad
VS
16842013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * Makefile.am (default_payload.elf): New target for easier coreboot
1687 build.
1688
57ffe934
VS
16892013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1692 clang (not necessarry with -no-integrated-as).
1693 * include/grub/symbol.h [__arm__]: Likewise.
1694
2312f06c
VS
16952013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * configure.ac: Use -no-integrated-as on arm with clang.
1698 * INSTALL: Mention ARM compilation with clang.
1699
2416415c
VS
17002013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1703 -mthumb-interwork.
1704
5da55172
CW
17052013-11-14 Colin Watson <cjwatson@ubuntu.com>
1706
1707 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1708 code for indirect block handling.
1709
1710 Saves 185 bytes on compressed image.
1711
da770328
PFS
17122013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1713
1714 Fix make clean.
1715
1716 * Makefile.am: Remove build-grub-* in make clean.
1717
f02e6b56
PFS
17182013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1719
1720 New files to gitignore.
1721
1722 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
1723 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
1724
035a26c1
LL
17252013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1726
1727 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
1728
bc8a6137
LL
17292013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
1730
1731 * .gitignore: fix rules for .dep* and add *.a post git migration
1732
6fe506b0
CW
17332013-11-13 Colin Watson <cjwatson@ubuntu.com>
1734
1735 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
1736 to match INSTALL.
1737
81a2e438
CW
17382013-11-13 Colin Watson <cjwatson@ubuntu.com>
1739
1740 * grub-core/kern/misc.c: Don't redirect divisions in the
1741 GRUB_UTIL case.
1742 * include/grub/misc.h: Likewise.
1743
9b45c073
CW
17442013-11-13 Colin Watson <cjwatson@ubuntu.com>
1745
1746 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
1747 systems that require checking the return value of write.
1748
11b2a9b7
CW
17492013-11-13 Colin Watson <cjwatson@ubuntu.com>
1750
1751 * util/grub-install.in (efi_quiet): Fix inverted logic: make
1752 efibootmgr quiet when --debug is not used, rather than when it is.
1753
d743d22d
CW
17542013-11-13 Colin Watson <cjwatson@ubuntu.com>
1755
1756 * gentpl.py (define_macro_for_platform_dependencies): Remove
1757 first (and thus unused) of two definitions for this function.
1758 (platform_dependencies): Likewise.
1759
11da14b5
CW
17602013-11-13 Colin Watson <cjwatson@ubuntu.com>
1761
1762 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
1763 functions, we only need to check this for the target, not the host.
1764 * configure.ac (grub_apple_cc): Likewise.
1765
2bdd0719
VS
17662013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
1769 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
1770 asm to stay in arm even if surrounding is thumb.
1771
5e77d9cf
VS
17722013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
1775 helper functions are needed for thumb.
1776
7d511625
VS
17772013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
1780 level / 3 division explicitly unsigned. Saves few bytes.
1781
81023dbd
VS
17822013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
1785
b2e9294f
VS
17862013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
1789 division.
1790
16a22c38
VS
17912013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
1794 grub_uboot_boot_data to asm part.
1795
c9cd02c9
VS
17962013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
1799 literal load.
1800 (grub_uboot_syscall): Save/restore r9 and align stack.
1801
81498615
VS
18022013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
1805
ea57de18
VS
18062013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
1809 occurencies with END.
1810
d0d1e3da
CW
18112013-11-13 Colin Watson <cjwatson@ubuntu.com>
1812
1813 * util/grub-editenv.c (help_filter, argp): Document how to delete
1814 the whole environment block.
1815 Reported by Dan Jacobson. Fixes Debian bug #726265.
1816
3809f016
CW
18172013-11-13 Colin Watson <cjwatson@ubuntu.com>
1818
1819 * docs/grub.texi (Internationalisation, Supported kernels): Fix
1820 sectioning.
1821
46d8a203
JT
18222013-11-13 Josh Triplett <josh@joshtriplett.org>
1823
1824 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
1825 increment/decrement.
1826
513eeb61
VS
18272013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
1830 compiling with clang.
1831
bc379c1a
VS
18322013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1835 ".".
1836
18372013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1838
16057d6b
VS
1839 Redirect all divisions to grub_divmod64.
1840
f649a6a8
VS
18412013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1844
ef28ee8b
VS
18452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 Add missing includes of loader.h.
1848
300f48c5
VS
18492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * configure.ac: Allow disabling themes.
1852
2d357558
LS
18532013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1854
1855 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1856
0c62a5b2
VS
18572013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1860 until it becomes operational.
1861
b0720b49
VS
18622013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/Makefile.core.def (legacy_password_test): Disable
1865 on platforms where no legacycfg is compiled.
1866 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1867 load legacy_password_test.
1868
d5bab2c0
VS
18692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1872
3ea0ccb3
VS
18732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1876
08772054
VS
18772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1880 strict-aliasing warning.
1881 (fsync): Silence cast warning.
1882
1dcb2715
VS
18832013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/commands/verify.c: Remove variable length arrays.
1886 Load gcry_dsa/gcry_rsa automatically.
1887
61c22fdf
VS
18882013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/tests/signature_test.c: New test.
1891
431e57a7
VS
18922013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1895 API.
1896
b521bb81
VS
18972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1900 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1901
7d06b24e
VS
19022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1905
3bbeade4
VS
19062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/fs/proc.c: Allow \0 in proc files.
1909
ba82db7a
VS
19102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1913
801564c8
VS
19142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1917
ac8cac1d
VS
19182013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/fs/ext2.c: Remove variable length arrays.
1921
4b85f122
VS
19222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1925 length arrays.
1926
c35fcdc0
VS
19272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1930 * grub-core/disk/cryptodisk.c: Likewise.
1931 * grub-core/disk/geli.c: Likewise.
1932 * grub-core/disk/luks.c: Likewise.
1933
15decd26
VS
19342013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/tests/legacy_password_test.c: New test.
1937 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1938
9c6482b8
VS
19392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1942
41f26e0e
VS
19432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/tests/pbkdf2_test.c: New test.
1946
2def6616
VS
19472013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1950
9e34a34e
VS
19512013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/io/lzopio.c: Remove variable length arrays.
1954
5ccaf904
VS
19552013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * include/grub/crypto.h: Add maximums on hash size and cipher block
1958 size.
1959
44a387e0
VS
19602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1963
a388e255
VS
19642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/tests/xnu_uuid_test.c: New test.
1967
a1ef7718
VS
19682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1971 covers it).
1972
65ddb300
VS
19732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/commands/hashsum.c: Remove variable length arrays.
1976
31747dd5
VS
19772013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1980 condition.
1981 * tests/grub_func_test.in: Increase memory allocation.
1982
6a74c4df
VS
19832013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1986 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1987 sys/mount.h.
1988
394c3e0a
VS
19892013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1992 (grub_util_get_fd_size_os): ...this.
1993 (grub_hostdisk_flush_initial_buffer): New empty function.
1994
60d31116
VS
19952013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1998 without --defined-only.
1999
8445b011
VS
20002013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2003 rip-relative addressing in prologue.
2004
8506a641
VS
20052013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2008 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2009
66acd9d6
VS
20102013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2013 Add missing semicolon.
2014
348d0535
VS
20152013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2018
0d2d30bb
VS
20192013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * configure.ac: Check for lzma.h for enabling liblzma and allow
2022 manual disabling.
2023
631187be
VS
20242013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 Add missing includes of loader.h.
2027
e756ec82
FZ
20282013-11-11 Fam Zheng <famcool@gmail.com>
2029
2030 * util/grub.d/30_os-prober.in: Add minix entry.
2031
87d62d7d
VS
20322013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2035 right buffer for temporary load.
2036
5460cfeb
VS
20372013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2040
89977306
VS
20412013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2044 payload.
2045
3617c59b
VS
20462013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2049 not Types.h.
2050 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2051 environment.
2052 (LzmaDec_InitDicAndState): Make static.
2053
881c6a10
VS
20542013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2057
2024ade2
VS
20582013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2061
2062 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2063
674ad4f6
VS
20642013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * docs/grub-dev.texi: Replace bzr references with git ones.
2067
5b99970e
AB
20682013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2069
2070 * docs/grub.texi (Simple configuration): Remove reference to
2071 grub-reboot from saved default entry description - grub-default
2072 does not use it anymore.
2073
3c2304d5
VS
20742013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2077 compiled with.
2078
80cfd940
AB
20792013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2080
2081 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
2082
33690255
VS
20832013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 Fix grub_machine_fini bitrot.
2086
2087 Reported by: Glenn Washburn.
2088
c61471fc
VS
20892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2092
54da019f
VS
20932013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2096 -DELF.
2097 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2098 instead of ELF*.
2099
21002013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
2101
2102 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2103 Add -march=core2 when testing compile of efiemu64.
2104
2105 Thanks Andrey Borzenkov for spotting this.
2106
9612ebc0
VS
21072013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2110 XEN PV environment and load kernels.
2111
1a46a3a4
VS
21122013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
2115 * grub-core/loader/multiboot_mbi2.c: Likewise.
2116
2df12551
VS
21172013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
2120 handling.
2121
3c980381
VS
21222013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
2125
2126 Tested by: Denis 'GNUtoo' Carikli.
2127
800f63d3
VS
21282013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2131
9f8acdaa
VS
21322013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2133
5620eb53
VS
2134 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
2135 Use to get rounded angle rather than truncated.
2136
21372013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
2140 RTS/CTS flow control.
2141
2dc1eb6c
VS
21422013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
2145 divisions.
2146
b9563c94
VS
21472013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
2150 Use grub_fatal rather than divide by zero.
2151 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2152
d6d8e9a9
VS
21532013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
2156 truncate.
2157 (grub_fixed_fsf_divide): Likewise.
2158
d06de6c8
VS
21592013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
2162 division by-zero and senseless negative divisions.
2163
6af7d49b
VS
21642013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
2167 division by-zero and senseless negative divisions.
2168 (circprog_set_property): Don't accept negative num_ticks.
2169
bcfa6d72
VS
21702013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
2173 division by-zero and senseless negative divisions.
2174
dd7f792c
VS
21752013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * configure.ac: Use elf_*_fbsd on kfreebsd.
2178
d061fda7
VS
21792013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * grub-core/tests/div_test.c: New test.
2182
4db22500
VT
21832013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2184
2185 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
2186 * grub-core/gfxmenu/gui_canvas.c: Likewise.
2187 * grub-core/gfxmenu/view.c: Likewise.
2188 * grub-core/video/fb/video_fb.c: Introduce new functions:
2189 grub_video_set_area_status, grub_video_get_area_status,
2190 grub_video_set_region, grub_video_get_region.
2191 * grub-core/video/bochs.c: Likewise.
2192 * grub-core/video/capture.c: Likewise.
2193 * grub-core/video/video.c: Likewise.
2194 * grub-core/video/cirrus.c: Likewise.
2195 * grub-core/video/efi_gop.c: Likewise.
2196 * grub-core/video/efi_uga.c: Likewise.
2197 * grub-core/video/emu/sdl.c: Likewise.
2198 * grub-core/video/radeon_fuloong2e.c: Likewise.
2199 * grub-core/video/sis315pro.c: Likewise.
2200 * grub-core/video/sm712.c: Likewise.
2201 * grub-core/video/i386/pc/vbe.c: Likewise.
2202 * grub-core/video/i386/pc/vga.c: Likewise.
2203 * grub-core/video/ieee1275.c: Likewise.
2204 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2205 * include/grub/video.h: Likewise.
2206 * include/grub/video_fb.h: Likewise.
2207 * include/grub/fbfill.h: Updated render_target structure.
2208 grub_video_rect_t viewport, region, area
2209 int area_offset_x, area_offset_y, area_enabled
2210 * include/grub/gui.h: New helper function
2211 grub_video_bounds_inside_region.
2212 * docs/grub-dev.texi: Added information about new functions.
2213
c6b755df
VS
22142013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2217 for alignment.
2218
e2a68100
VS
22192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2222 missing attribute.
2223 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2224
c4f11a2a
VS
22252013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2228 simple division on arm and ia64.
2229
e0a7bffa
VS
22302013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2233 link with libgcc.
2234
38b864ea
VS
22352013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2238
12359faf
VS
22392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2242 prefix symbol, not @.
2243
9fdc64a9
VS
22442013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * INSTALL: Add note about older gcc and clang.
2247
665c575b
VS
22482013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2251
47dcf7b1
VS
22522013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2255 NULL pointer dereference.
2256
d59849b2
VS
22572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2260 clang.
2261
7a3f4a18
VS
22622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2265 warnings.
2266
7f084087
VS
22672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2270 function.
2271 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2272 * grub-core/disk/geli.c (ascii2hex): Likewise.
2273
d5524ca8
VS
22742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * configure.ac: Run linker tests without -Werror.
2277 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2278 Change all occurences of -static-libgcc resp -lgcc to
2279 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2280
390cd7ca
VS
22812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2284
60375a88
VS
22852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 Allow compiling with clang (not really supported though).
2288
2289 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2290 unconditionally.
2291 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2292 Add -mrtd -mregparm=3 on i386 when not using clang.
2293 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2294
dd07e0c4
VS
22952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2298 bindings.
2299 * grub-core/lib/reed_solomon.c: Likewise.
2300 * include/grub/i386/gdb.h: Likewise.
2301 * include/grub/i386/pc/int.h: Likewise.
2302 * include/grub/i386/pc/pxe.h: Likewise.
2303 * include/grub/ieee1275/ieee1275.h: Likewise.
2304
9d3ae8ec
VS
23052013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 Import libgcrypt 1.5.3.
2308
c12936c5
VS
23092013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * configure.ac: Don't add -Wcast-align on x86.
2312
cdc17f60
VS
23132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * configure.ac: Add -freg-struct-return on all platforms that
2316 support it.
2317
b35ec299
VS
23182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * acinclude.m4: Use -Werror on parameter tests.
2321 * configure.ac: Likewise.
2322
05f3a0d7
VS
23232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2326
c966a489
VS
23272013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * configure.ac: Check that -malign-loops works rather than assuming that
2330 either -falign-loops or -malign-loops work.
2331
bb0c57ec
VS
23322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2335
24f4e57c
VS
23362013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * configure.ac: Prevent cflags leaking to subsequent tests by always
2339 resetting cflags to target_cflags in target tests.
2340
ac319fbc
VS
23412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2344 function.
2345
4bfe934c
VS
23462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2349
40a5bfde
VS
23502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2353
a67c755e
VS
23542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/normal/cmdline.c (grub_cmdline_get):
2357 Remove nested functions.
2358
87a04a2d
VS
23592013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * tests/test_sha512sum.in: Make it work on emu.
2362
c03995d2
VS
23632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2366 functions.
2367 (grub_bidi_line_logical_to_visual): Likewise.
2368
ec0ebb3f
VS
23692013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 Remove vestiges of -Wunsafe-loop-optimisations.
2372
2373 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2374 -Wno-unsafe-loop-optimisations.
2375 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2376 pragma.
2377 * grub-core/io/gzio.c: Likewise.
2378 * grub-core/script/parser.y: Likewise.
2379 * grub-core/script/yylex.l: Likewise.
2380 * util/grub-mkfont.c: Likewise.
2381
6ab537e3
VS
23822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * util/grub-mkfont.c (process_cursive): Remove nested function.
2385
e6c368d4
VS
23862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2389 (grub_boot_time): Likewise.
2390
4f1cfd22
VS
23912013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * include/grub/symbol.h (FUNCTION): Use @function rather than
2394 "function".
2395 (VARIABLE): Likewise.
2396
6d5a4cee
VS
23972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2400
f06c2172
VS
24012013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2404 (parse_dhcp_vendor): Likewise.
2405
7cb24eb5
VS
24062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2409
f30c692c
VS
24102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2413 Define after defining type and not before.
2414
8b66bb5d
VS
24152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2418 type.
2419 (grub_gcm_decrypt): Likewise.
2420 (algo_decrypt): Likewise.
2421 (grub_zfs_decrypt_real): Transform error type.
2422
5d17fd0f
VS
24232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2426
ac35a0f7
VS
24272013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2430 (grub_usbms_cbi_reset): Likewise.
2431 (grub_usbms_bo_reset): Likewise.
2432 (grub_usbms_reset): Likewise.
2433 (grub_usbms_attach): Likewise.
2434 (grub_usbms_transfer_cbi): Likewise.
2435
3ee08697
VS
24362013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2439 "checksum = checksum;".
2440
70bb6c85
VS
24412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2444 entry_type.
2445
c7f34744
VS
24462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2449 BIOS disk check.
2450
3f63b4d8
VS
24512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2454 type.
2455 (grub_ehci_fini_hw): Likewise.
2456 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2457
dac6ce73
VS
24582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2461 return grub_usb_err_t for cosistency. All users updated.
2462
5701750c
VS
24632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2466 assigning to itself.
2467
9e236169
GLD
24682013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
24692013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2470
2471 Issue separate DNS queries for ipv4 and ipv6
2472
2473 Adding multiple questions on a single DNS query is not supportted by
2474 most DNS servers. This patch issues two separate DNS queries
2475 sequentially for ipv4 and then for ipv6.
2476
2477 Fixes: https://savannah.gnu.org/bugs/?39710
2478
2479 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2480 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2481 * (grub_net_dns_lookup): Now using separated dns packages.
2482 * (grub_cmd_nslookup): Add error condition.
2483 * (grub_cmd_list_dns): Print DNS option.
2484 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2485 --prefer-ipv4, and --prefer-ipv6.
2486 * include/grub/net.h (grub_dns_option_t): New enum.
2487 * (grub_net_network_level_address): option added.
2488
339eacce
VT
24892013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2490
2491 * grub-core/video/fb/video_fb.c: Merge two blit functions
2492 into one.
2493
810f991b
VS
24942013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/term/terminfo.c: Add sequences for home and end.
2497
386571a2
VS
24982013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2501 graphics console.
2502
3fe63754
VS
25032013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2506 add mode 0x12.
2507
76681e71
VS
25082013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2511 e-mail by Per Öberg.
2512
46522fb7
VS
25132013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2516 name.
2517
e7d09ac4
AB
25182013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2519
2520 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2521 emu platforms.
2522 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2523
67508925
VS
25242013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * docs/grub.texi: Document usage of menuentry id.
2527
0c62124e
VS
25282013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2531
9b5d4eed
PL
25322013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2533
2534 * grub-core/commands/i386/nthibr.c: New command.
2535
79054c1d
VS
25362013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2539
44d47bbe
VS
25402013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2543 coordinate.
2544
323de05b
VS
25452013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 Support GRUB_DISABLE_SUBMENU config.
2548
2549 Inspired by patch from Prarit Bhargava.
2550
5a01722e
VS
25512013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * docs/grub.texi: Mention RSA support.
2554
1106c3f0
VS
25552013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/commands/verify.c: Add RSA support.
2558
a1dcc2cb
VS
25592013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2562 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2563 device is known to be ATAPI.
2564
ee7fb780
MF
25652013-11-03 Mike Frysinger <vapier>
2566
2567 * configure.ac: Don't add target-prefix.
2568
5ade4a42
VS
25692013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2572 variables.
2573
6cd66043
VS
25742013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2577 if language is English.
2578
090d7c81
VS
25792013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2582
dd614590
VS
25832013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * configure.ac: Don't add -m32/-m64 on emu.
2586
a8686589 25872013-11-02 neil
2588
2589 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2590 broken linux headers.
2591
fb9f12a0
VS
25922013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2595
e25f8e1f
VS
25962013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2599 Reed-Solomon recovery if more than half of redundancy info is 0.
2600
4685200f
VS
26012013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * util/grub-mount.c: Handle symlinks to directories.
2604
1397f0b5
VS
26052013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2608 find_file recursively for symlink.
2609
8b3e6eb6
VS
26102013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * tests/util/grub-shell.in: Copy themes.
2613
a0c9d5c6
VS
26142013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2617
5cf9459c
VS
26182013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * configure.ac: Use 0x8000 for address instead of 8000.
2621
e7b66a28
VS
26222013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2625 signature.
2626
203f53fb
VS
26272013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2630 variable.
2631
02663ee9
VS
26322013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2635
f169f65e
VS
26362013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2639 file_progress_read_hook.
2640 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2641
2855a0fc
VS
26422013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2645 and double.
2646
bf0f3a8c
VS
26472013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2650
cb72aa18
VS
26512013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 Rewrite blocklist functions in order to get progress when
2654 reading large extents and decrease amount of blocklist hook calls.
2655
896f9135
VS
26562013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2659 of SI suffixes.
2660
89295a06
VS
26612013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 Support --base-clock for serial command to handle weird cards with
2664 non-standard base clock.
2665
eb03ede0
VS
26662013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2669 strncpy.
2670 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2671 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2672 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2673 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2674 + strcpy rather than strncpy.
2675
8fbe5c7d
VS
26762013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2679 (check_pool_label): Likewise. Fixes overflow.
2680 (nvlist_find_value): Fix comparison.
2681
e54b8f53
VS
26822013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2685 more appropriate functions.
2686
fa9b3dca
VS
26872013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2690 realloc.
2691
9a021c55
VS
26922013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2695
80e8b13a
VS
26962013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2699 on core size.
2700
b61599ac
VS
27012013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2704
a602dc54
VS
27052013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2708 (initialize_tables): reset tl and td to NULL after freeing.
2709
93c12075
VS
27102013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2713
1ca4b75e
VS
27142013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2717 of supported tags.
2718
329550c4
VS
27192013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
2722
00bfa988
VS
27232013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * grub-core/loader/multiboot.c: Add support for multiboot kernels
2726 quirks.
2727
81afc5cc
VS
27282013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
2731 a page in protected space.
2732
cb3c4a47
VS
27332013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
2736 allocate space for zero-sized modules.
2737
954f7bf5
VS
27382013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
2741
526d3d25
FL
27422013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
2743
2744 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
2745
74124c34
VS
27462013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
2749 safeguards. Fixes a crash with i386/pc/console.c.
2750
5177391e
VS
27512013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
2754 and grub_hostfs_init.
2755
64db14b0
VS
27562013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
2759 windows method on other platforms without good stat as well.
2760
effe2036
VS
27612013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
2764
82591fa6 27652013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 2766
82591fa6
VS
2767 Make / in btrfs refer to real root, not the default volume.
2768 Modify mkrelpath to work even if device is mounted with subvolid option.
2769
27702013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
2771
2772 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
2773 extra_dist.
2774 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
2775 extra_dist.
2776
30fd7198
VS
27772013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
2780 fails.
2781
8d179dae
BC
27822013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
2783
2784 * docs/autoiso.cfg: New file.
2785
3bc9c8cf
VS
27862013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
2789 COND_GRUB_PE2ELF conditions.
2790
8b46b0ea
VS
27912013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
2794 "vnd", "rd" and "fd" disks.
2795
442b86de
VS
27962013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 Move grub_disk_write out of kernel into disk.mod.
2799
04dea7e6
VS
28002013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
2803 handling.
2804
28052013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
2806
2807 * grub-core/kern/misc.c (grub_abort): Make static
2808
04dea7e6 28092013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
2810
2811 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
2812 transform invalid unicode codepoints.
2813
04dea7e6 28142013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
2815
2816 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2817 \0 checking.
2818
03dcac7f
VS
28192013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
2822
c81acb7f
VS
28232013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 Consolidate cpuid code.
2826
c1bee646
VS
28272013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 Move cpuid code to cpuid.h and TSC code to tsc.c.
2830
f37bf9c7
GS
28312013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2832
2833 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2834
4021132b
GS
28352013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2836
2837 * util/grub-mkconfig.in: Replace $0 with $self.
2838 * util/grub-reboot.in: Likewise.
2839 * util/grub-set-default.in: Likewise.
2840
3ace8d75
BC
28412013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2842
2843 * docs/osdetect.cfg: New file.
2844
1e6ad6a6
BC
28452013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2846
2847 * tests/util/grub-shell.in: Add new --debug option.
2848
188929eb
BC
28492013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2850
2851 * tests/test_unset.in: New test.
2852
7994a09a
BC
28532013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2854
2855 * tests/test_sha512sum.in: New test.
2856
2a8a7585
VS
28572013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2860 * include/grub/misc.h: Remove strncat.
2861 * grub-core/lib/posix_wrap/string.h: Likewise.
2862
cf8d6bbd
VS
28632013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2866 Try to handle more than 0xFFFF packets.
2867 Reported by: Bernhard Übelacker <bernhardu>.
2868 He also spotted few overflows in first version of this patch.
2869
6d1fc99a
VS
28702013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * tests/date_unit_test.c: New test.
2873
10bafa1c
VS
28742013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2877 of first three years after start of validity of unixtime.
2878
b1c6d037
VS
28792013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2882 division as the one making more sense.
2883 (update_screen): Likewise.
2884 (complete): Likewise.
2885
5f4028d4
VS
28862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2889
a2856736
VS
28902013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 Make char and string width grub_size_t rather than grub_ssize_t.
2893
0a7e52b2
VS
28942013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2897 unsigned.
2898 (grub_history_replace): Likewise.
2899
42829573
VS
29002013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2903 appropriate.
2904
3523b8d8
VS
29052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2908 appropriate.
2909
d43c6489
VS
29102013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2913 Use unsigned divisions rather than signed variants.
2914
f690f8b0
VS
29152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2918 unsigned arithmetics.
2919 Add missing break.
2920
74ff2c05
VS
29212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2924
fb56391e
VS
29252013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2928 rather than signed one.
2929 (recovery): Likewise.
2930
40f29060
VS
29312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2934
c64577a5
VS
29352013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2938 than signed.
2939
c16535a8
JM
29402013-10-25 Jon McCune <jonmccune@google.com>
2941
2942 * docs/grub.texi: Cleanup security documentation around signatures.
2943
6673d8e7
VS
29442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2947
a105d375
VS
29482013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2951 than int.
2952
af81ed88
VS
29532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2956 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2957 functions when compiling for kernel.
2958
ea899a57
VS
29592013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2962 unsigned long long when using %llu.
2963
c6dc6fa1
VS
29642013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2967 terminal after updating progress.
2968
ad2dc003
VS
29692013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2972 argument. We don't disable Gate A20 in this code.
2973
b46684ae
VS
29742013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2977 Conceptually based on change in branch "vbe-on-coreboot".
2978
f70d5c07
RM
29792013-10-24 Robert Millan <rmh@gnu.org>
2980
2981 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2982 numeric constants with their symbolic equivalent.
2983 Taken from branch "vbe-on-coreboot".
2984
bca274b4
VS
29852013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2988
238f0489
VS
29892013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2992 divmod64 for offset division.
2993
863c590b
PFS
29942013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2995
2996 Rename .bzrignore to .gitignore. Add "*.o" rule.
2997
2998 * .bzrignore: Renamed to...
2999 * .gitignore: ...this.
3000
84a0e969
PFS
30012013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3002
3003 Add new progress module that displays the load progress of files.
3004
3005 * grub-core/lib/progress.c: New file.
3006 * grub-core/Makefile.core.def (progress): New module.
3007 * grub-core/kern/file.c (grub_file_open): File name added.
3008 * (grub_file_read): Progress hook added.
3009 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3010 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3011 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3012 * include/grub/file.h (struct grub_file): Add progress module members.
3013 * include/grub/term.h (struct grub_term_output): Likewise.
3014 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3015 Terminal velocity added.
3016 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3017 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3018 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3019 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3020 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3021 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3022 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3023 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3024 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3025 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3026 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3027 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
3028
0d711431
VS
30292013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 Verify signatures of signatures unless --skip-sig is specified.
3032
f8401f76
VS
30332013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3036 \0 checking.
3037
3038 Saves 70 bytes on compressed image.
3039
ac1feb61
VS
30402013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3043 check.
3044
3045 Saves 10 bytes on compressed image.
3046
00f72e89
VS
30472013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/kern/misc.c (grub_isprint): Move to ...
3050 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3051
3052 Saves 20 bytes on compressed image due to remving exporting.
3053
067e6ae7
VS
30542013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3057
3058 Saves 5 bytes on compressed image.
3059
64a6c791
VS
30602013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3063 function get_utf8.
3064
3065 Saves 379 bytes on compressed image.
3066
979d9f52
VS
30672013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3070
1437da54
VS
30712013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3074
3075 Saves 40 bytes on compressed image.
3076
d9ee2269
VS
30772013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
3080 mask rather than 64-bit type.
3081
3082 Saves 20 bytes on compressed image.
3083
63efa602
VS
30842013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
3087 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
3088
47601ffe
VS
3089 Saves 273 bytes on compressed image.
3090
2cc679ad
VS
30912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3094 variable length arrays.
3095
3096 Saves 50 bytes on compressed image.
3097
2e4659b8
VS
30982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3101
2a40badf
VS
31022013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/fs/ufs.c: Remove variable length arrays.
3105
1ba6b9b9
VS
31062013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3109
f3e39341
VS
31102013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/fs/zfs.c: Remove variable length arrays.
3113 Reduces zfs.mod by 160 bytes (208 compressed).
3114
71523935
VS
31152013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
3118
28153eb8
VS
31192013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/net/arp.c: Remove variable length arrays.
3122 * grub-core/net/bootp.c: Likewise.
3123 * grub-core/net/dns.c: Likewise.
3124 * grub-core/net/icmp6.c: Likewise.
3125 * grub-core/net/net.c: Likewise.
3126
88ce4cd7
VS
31272013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/fs/ntfs.c: Remove variable length arrays.
3130 Increases ntfs.mod by 64 bytes (but decreases by 3 when
3131 compressed).
3132
66123940
VS
31332013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/fs/hfs.c: Remove variable length arrays.
3136 Reduces hfs.mod by 8 bytes (52 compressed).
3137
0927e5bd
VS
31382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 3141 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
3142 compressed).
3143
9c12ac97
VS
31442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 3147 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
3148 compressed).
3149
97ec2d71
VS
31502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 3153 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
3154 compressed).
3155
156e4ea0
VS
31562013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * grub-core/fs/xfs.c: Remove variable length arrays.
3159 Reduces xfs.mod by 40 bytes (43 compressed).
3160
3b502c29
VS
31612013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/fs/fshelp.c: Remove variable length arrays.
3164 Reduces fshelp.mod by 116 bytes (23 compressed).
3165
c7037f1d
VS
31662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/normal/completion.c: Remove variable length arrays.
3169 * grub-core/normal/menu_entry.c: Likewise.
3170
3171 Reduces normal.mod by 496 bytes.
3172
a07e6ad0
VS
31732013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
3176 by 356 bytes (158 compressed).
3177
2359bf88
VS
31782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
3181 by 364 bytes (169 compressed).
3182
d28e1163
VS
31832013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
3186 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
3187 * include/grub/types.h (grub_unaligned_uint64_t): New type.
3188
e89c2d48
VS
31892013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
3192 bitmasks to small structures of size chosen to fit in registers.
3193
7abdac8e
VS
31942013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * conf/Makefile.common: Use -freg-struct-return on i386. This
3197 decreases code size and improves performance.
3198
518864c0
VS
31992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3202
bbd2b539
VS
32032013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3206 "(null)" string.
3207 Simplify expressions to save around 256 bytes in kernel.img.
3208 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3209
99519c15
VS
32102013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3213 Use GRUB_UTIL_FD_O_* rather than O_*.
3214
20285765
VS
32152013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 Add haiku-specific functions.
3218
887c0bb6
VS
32192013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3222
cd78a56f
VS
32232013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 Move stat () and device mode checking into OS-dependent files as
3226 long as performance doesn't suffer.
3227
a4012f07
VS
32282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 Split make_system_path_relative_to_its_root into separate file
3231 relpath.c from getroot.c as it's common between unix and haiku
3232 but otherwise haiku doesn't use any functions from unix getroot.c.
3233
31de274d
VS
32342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3237 New function.
3238 (grub_util_is_special_file): Likewise.
3239
40346de6
VS
32402013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3243 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3244
d3923ab9
VS
32452013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3248 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3249
663f6eb1
VS
32502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3253 (load_image): Likewise.
3254
44d1c20a
VS
32552013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * util/grub-render-label.c: Move backend part to ...
3258 * util/render-label.c: ... here.
3259
d0a116ee
VS
32602013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3263 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3264
b47fcae6
VS
32652013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3268
0f7c00c1
VS
32692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3272 CD-ROM in case when it's declared as having subpartitions.
3273
29013cba
VS
32742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 Don't add -lm on haiku.
3277
3278 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3279 and empty on haiku.
3280 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3281 -lm.
3282
e8559d24
VS
32832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * configure.ac: Use -melf_*_haiku as target on haiku.
3286
8104063c
VS
32872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * Makefile.util.def: Add util/setup.c to extra_dist.
3290
fc3182c7
VS
32912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3294 unknown types through.
3295
f90a3cc0
VS
32962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3299 (grub_util_check_char_device): Likewise.
3300 * include/grub/emu/getroot.h: Likewise.
3301
1e3e7419
VS
33022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3305 memset rather than inline static function.
3306
92c88fc8
VS
33072013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3310 not doing embedded decompressor.
3311
3cd910a2
VS
33122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3315 shadowing.
3316 * grub-core/kern/disk.c: Likewise.
3317 * grub-core/kern/misc.c: Likewise.
3318 * include/grub/parser.h: Likewise.
3319 * include/grub/script_sh.h: Likewise.
3320 * include/grub/zfs/zfs.h: Likewise.
3321
7b3aca00
VS
33222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3325
97dfe7e4
VS
33262013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3329 defined before trying to use it.
3330
bf919aa9
VS
33312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3334 warning.
3335
f4ccf29d
VS
33362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3339 Use __unused__ rather than __used__ on gcc < 3.2.
3340
0d3a6f85
VS
33412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3344 gcc < 4.0.
3345 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3346
757e3eb7
VS
33472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3350
fb320faf
VS
33512013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3354 * include/grub/emu/misc.h: Likewise.
3355
ea73acd2
VS
33562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3359 cur_color.
3360
71237a6f
VT
33612013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3362
3363 * grub-core/tests/checksums.h: Regenerated due to progress bar
3364 get_minimal_size changes.
3365
3d46c22f
BC
33662013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3367
3368 Added `tr' command support.
3369
3370 * grub-core/commands/tr.c: New file.
3371 * grub-core/Makefile.core.def: Build rules for new module.
3372
3373 * tests/grub_cmd_tr.in: New test.
3374 * Makefile.util.def: Build rules for new test.
3375
47e0a61f
VT
33762013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3377
3378 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3379
946fd073
VT
33802013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3381
3382 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3383 * docs/gurb.texi: Likewise.
3384
9c13c576
VT
33852013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3386
3387 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3388 Pixmap highlighted section with east and west slices was displayed
3389 incorrectly due to negative width of the central slice.
3390
ad543f12
VT
33912013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3392
3393 * docs/grub.texi: Graphical options information update.
3394 Removed outdated. Updated current. Inserted missed.
3395
6176a0cd
VS
33962013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * docs/grub.texi: Mention few new platform-specific commands.
3399
9688cae2
VS
34002013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3403 currently used so this doesn't really have any effect.
3404 Reported by: Douglas Ray <dougray>
3405
f7b69a3f
VS
34062013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3409 compilation but prevents gcc from displaying messages in non-Latin
3410 alphabets.
3411 * conf/Makefile.common: Likewise.
3412
ceca6ddf
HY
34132013-10-16 Hiroyuki YAMAMORI
3414
3415 Handle Japanese special keys.
3416 Reported by: Hiroyuki YAMAMORI.
3417 Codes supplied by: Hiroyuki YAMAMORI.
3418
ac48d334
VT
34192013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3420
3421 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3422
b2b71bff
VT
34232013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3424
3425 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3426 * docs/grub.texi: Likewise.
3427
669fc449
VS
34282013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3431 value in case of incomplete read.
3432 (grub_util_fd_write): Likewise.
3433
59381678
VS
34342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3437
bacfefbb
VS
34382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * util/grub-editenv.c (create_envblk_file): More from here ...
3441 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3442
f7c49570
VS
34432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3446 canonicalize file name before doing the rest.
3447
7b83ca44
VS
34482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3451 mingw32.
3452
df1e64c9
VS
34532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 Define grub_util_is_directory/regular/special_file and
3456 use OS-dependent versions rather than to rely on stat().
3457
ec16e026
VS
34582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * util/grub-mkimage.c: Move backend part to ...
3461 * util/mkimage.c: ... here.
3462
4b4eeb3c
VS
34632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 Allow compilation with mingw64 albeit with warnings due to lack of
3466 %llx/%llu.
3467
3468 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3469 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3470 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3471 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3472 on mingw64.
3473 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3474
f4e0adc0
VS
34752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 Remove leftover references to some of the system headers.
3478
e0127364
VS
34792013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3482 read.
3483
20d53541
VS
34842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3487 of strerror.
3488
5a869940
VS
34892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 Split out blocklist retrieving from setup.c to
3492 grub-core/osdep/blocklist.c and add windows implementation since
3493 generic version doesn't work on NTFS on Windows due to aggressive
3494 unflushable cache.
3495
c06c7520
VS
34962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3499 files.
3500
8f53bb3f
VS
35012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3504 Cut tailing newline. Remove arbitrary limitation. Always use
3505 grub_util_tchar_to_utf8.
3506
148f1007
VS
35072013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3510 * tests/printf_unit_test.c (printf_test): Add %% tests.
3511 Reported by: Paulo Flabiano Smorigo.
3512
af3b06be
VS
35132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3516 implement fsync.
3517
27f9d02e
VS
35182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3521 use nvlist_lookup_string and don't use nvlist_print.
3522
f6a81f0a
VS
35232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3526 closedir to handle filename charset translation.
3527
d7750b32
VS
35282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * include/grub/emu/hostdisk.h: Move file operations to
3531 * include/grub/emu/hostfile.h: ... here.
3532
2859196e
VS
35332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3536 unicode path.
3537
c018c968
VS
35382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3541
7e45abce
VS
35422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3545 and remove export.h.
3546
23934da2
VS
35472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * grub-core/kern/emu/error.c: Removed.
3550 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3551 explicitly as it's already in libgnu.a.
3552
c11ebcc8
VS
35532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3556 config-util.h include.
3557
70671037
VS
35582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 Split emunet into platform-dependent and GRUB-binding parts. Keep
3561 platform-dependent part in kernel for easy access to OS functions.
3562
25ac643a
VS
35632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3566 open/read/write.
3567
69ca5876
VS
35682013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * grub-core/osdep/windows/emuconsole.c: New file.
3571
d9d68ef0
AB
35722013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3573
3574 * conf/Makefile.extra-dist: Add osdep/*/init.c
3575
58e211cc
VS
35762013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3579
588744d0
VS
35802013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * util/grub-probe.c (probe): Separate different drives in hint-str
3583 by spaces and not newlines.
3584 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3585
44016e52
AB
35862013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3587
3588 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3589 Handle CD-ROMs.
3590
6de9ee86
VS
35912013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 Pass-through unknown E820 types. It required reorganisation of mmap
3594 module.
3595
f8f3f155
AB
35962013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3597
3598 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3599
b73249d2
VS
36002013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3603 fseeko.
3604
dac86b18 36052013-10-14 qwertial <qwertial>
3606
3607 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3608
17614b84
JM
36092013-10-14 Jon McCune <jonmccune@google.com>
3610
3611 * docs/grub.texi: Document new signatures possibility.
3612
6de292cb
VS
36132013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3616
84379b61
VS
36172013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3620 missing prototype.
3621 (grub_util_tchar_to_utf8): Likewise.
3622
21d85db1
VS
36232013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3626 * grub-core/kern/emu/main.c: Add missing include.
3627 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3628 Don't call grub_util_init_nls.
3629 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3630 Likewise.
3631
66a1b3ee
VS
36322013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3635 stat.
3636
e19bec17
VS
36372013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3640
ee8c1b29
VS
36412013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3644
bb338aaf
VS
36452013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 Add a wrapper for fopen. On unix-like systems just pass-through. On
3648 windows use unicode version.
3649
ae5540d3
VS
36502013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 Move set_program_name and init_nls to host_init. On windows
3653 fix in this fuction console and argument charset as well.
3654
4cd3c4fe
AB
36552013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3656
3657 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3658 GRUB_ENABLE_CRYPTODISK.
3659
3660 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3661 GRUB_ENABLE_CRYPTODISK.
3662 * util/grub-mkconfig_lib.in: Likewise.
3663
78170f3e
CCZ
36642013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3665
3666 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3667
3414b6c0
MC
36682013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3669
3670 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3671 error when enabling debug.
3672
6d0740e8
IB
36732013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3674
3675 * configure.ac: Use -melf_*_obsd on openbsd.
3676
ff2d4dc4
VS
36772013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3680
eac6ae82
VS
36812013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * include/grub/misc.h: Use gnu_printf rather than printf as format
3684 template since our functions are independent of libc.
3685
ba9baabe
VS
36862013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * util/grub-setup.c (setup): Move copying of partition table as
3689 futher up as possible to avoid possible overwrite by floppy routines.
3690
36912013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3692
3693 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3694
145e2369
VT
36952013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3696
3697 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3698 * docs/grub.texi: Likewise.
3699
3530bc9d
VS
37002013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3703 it's mostly unused. Move vestiges to the callers.
3704
fb9f59c3
VS
37052013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3708 version of salt and hash. Use grub_snprintf rather than snprintf.
3709
9be1c255
VS
37102013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * docs/grub.texi: Fix problem with braces.
3713
ed8c0887
VS
37142013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * conf/Makefile.extra-dist: Fix extra-dist list.
3717 * grub-core/Makefile.core.def: Likewise.
3718
f72ab14e
VS
37192013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * docs/grub.texi: Document disk names used on Windows and AROS.
3722
2fe53a22
VS
37232013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
3726 with AROS devs.
3727 * grub-core/osdep/aros/hostdisk.c: Likewise.
3728
71c1d67a
VS
37292013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 Avoid including hostfile.h when not necessarry as it pulls
3732 in OS-specific headers which may redefine generic names
3733 like "far".
3734
ad297ec7
VT
37352013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3736
3737 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
3738 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
3739 scrollbar_bottom_pad
3740 * docs/grub.texi: Likewise.
3741
6e9e5dc9
VT
37422013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
3743
3744 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
3745
761c718b
VS
37462013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
3749
37149a2f
VS
37502013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
3753 Removed.
3754 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
3755 Made static.
3756
3837a151
VS
37572013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
3760 leftover.
3761
caca1c70
VS
37622013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 Move OS-specific driver configuration to grub_util_fd_open. This
3765 moves OS-dependent parts from kern/emu/hostdisk.c to
3766 grub-core/osdep/*/hostdisk.c.
3767
f7676b70
VS
37682013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * util/grub-mkimage.c (generate_image): Use size_t instead of
3771 grub_size_t.
3772 * util/grub-mkimagexx.c (locate_sections): Likewise.
3773 (load_image): Likewise.
3774
22f98db2
VS
37752013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
3778 size_t.
3779 (grub_util_write_image): Likewise.
3780
b102ce69
VS
37812013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
3784 get random when no RNG is available.
3785 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
3786
acbbe5cb
VS
37872013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * include/grub/util/lvm.h: Removed.
3790
2112fb3f
VS
37912013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
3794 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
3795
79f78fbf
VS
37962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/osdep/windows/sleep.c: Add missing config.h.
3799
c2e6f705
VS
38002013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
3803
aabe433a
VS
38042013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/net/drivers/emu/emunet.c: Move to ..
3807 * grub-core/osdep/linux/emunet.c: ..here.
3808
9a2c903f
VS
38092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * util/ieee1275/ofpath.c: Move to ...
3812 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
3813 * grub-core/osdep/basic/ofpath.c: ..here.
3814
4a445f58
VS
38152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 Move password-querying (util-version) routines to grub-core/osdep.
3818
c1ca4244
VS
38192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 Move sleep routines to grub-core/osdep.
3822
672fa55e
VS
38232013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 Move OS-dependent files to grub-core/osdep and document it.
3826
a5b0365a
VS
38272013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
3830 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
3831
29072e99
VS
38322013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3835
f8772ea7
VS
38362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * util/misc.c: Remove leftover inclusion of malloc.h.
3839
a1a315e7
VS
38402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * include/grub/setjmp.h: Remove leftover GRUBOF.
3843
cef86fef
VS
38442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * util/raid.c: Fold into ...
3847 * util/getroot_linux.c: ... here. Make all functions static.
3848
c4cf25ee
VS
38492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3852 macros to GRUB ones.
3853
53a5f5c2
VT
38542013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3855
3856 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3857 occasional bug. If there are too many boot entries or too low
3858 scrollbar height then we need to use another formula to calculate
3859 the position and size of the scrollbar thumb.
3860
de300af2
VS
38612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3862
c4cf25ee 3863 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3864
c5827364
VT
38652013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3866
3867 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3868 * docs/grub.texi: Likewise.
3869
dd2ed8b0
VT
38702013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3871
3872 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3873 viewport.
3874
7286c384
VT
38752013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3876
ffdfc1f3
VT
3877 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3878 minimal width calculations.
7286c384 3879
ea547e14
VS
38802013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 * docs/grub.texi: Update note on colors on emu console.
3883
b726be76
VS
38842013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3887 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3888 it's FS and not GRUB limitation.
3889
a5f6ade6
VS
38902013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3893
3b0f3aa2
VS
38942013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3897
1db38304
ST
38982013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3899
3900 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3901 kernels by version order.
3902
fb295fc0
VS
39032013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3906
47345010
VS
39072013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 Add AROS hostdisk and getroot routines.
3910
bf25f879
VS
39112013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 Make cryptodisk and diskfilter probe data retrievable programmatically
3914 and not just printable.
3915
24ca4512
VS
39162013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 Split random retrieving code into separate files.
3919
c7c177f0
VS
39202013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3923 R_ARM_V4BX.
3924
d71b45ae
VS
39252013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3928 condition.
3929 * grub-core/tests/fake_input.c: Likewise.
3930 * grub-core/tests/cmdline_cat_test.c: Likewise.
3931
e44b9a83
VS
39322013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/video/capture.c: Do not do finalization when .fini
3935 is called as there is explicit capture_end.
3936
4fa60739
VS
39372013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3940 changing windows to avoid crash.
3941
17c8bc37
VS
39422013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3945
9d4d7977
VS
39462013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * po/exclude.pot: Add several strings to exclude.
3949
0caa407c
VS
39502013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3953
9ae393da
VS
39542013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3957 ./util/grub-gen-asciih.c to exclude list.
3958
498d5033
VS
39592013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3962 and don't mark error strings for translation.
3963
7d93298f
VS
39642013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3967 properly in case of missing block size.
3968
b2cae20c
VS
39692013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/lib/arm/setjmp.S: Add missing license section.
3972
3896d6b4
VS
39732013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * po/swiss.sed: Add replacement for key names and for term computer.
3976
ebc1da55
VT
39772013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3978
3979 * grub-core/gfxmenu/theme_loader.c: New global options for the
3980 theme background image handling. desktop-image-scale-method,
3981 desktop-image-h-align, desktop-image-v-align.
3982 * grub-core/gfxmenu/view.c: Likewise.
3983 * include/gfxmenu_view.h: Likewise.
3984 * include/bitmap_scale.h: Proportional scale functions introduced.
3985 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3986 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3987 cases of unexpected input variables for scale functions.
3988 * docs/grub.texi: Updated documentation for new options.
3989
c5739143
VS
39902013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3993
be74aeb3
VT
39942013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3995
3996 * grub-core/tests/checksums.h: Corrected due to changes in
3997 bilinear interpolation function.
3998
d999ac72
VT
39992013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4000
4001 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4002 to eliminate artefacts in bilinear interpolation.
4003
2b131610
VS
40042013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * grub-core/video/readers/tga.c: Support paletted tga.
4007
de6e5ff8
VS
40082013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4011 incorrect cbcr setting when in color mode.
4012
fa31ee9c
VS
40132013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/video/readers/png.c: Support paletted images and clean up
4016 greyscale support.
4017
e84f8188
VS
40182013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4021 usage of wrong table which resulted in mishandling of 4-byte
4022 sequences.
4023
40242013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
4025
4026 * grub-core/term/terminfo.c: Add Home and End key sequences.
4027
d72bff09
VS
40282013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4031 Fix formula for computing total number of bytes.
4032
29648c5d
VS
40332013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4036 image processing, fix big-endian and support grayscale.
4037
4a876492
VS
40382013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4041 Correctly will with maximum transparency when using index color.
4042
3ccf16df
VS
40432013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/video/readers/png.c: Support grayscale
4046
40472013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
4048
4049 * grub-core/video/readers/jpeg.c: Support grayscale.
4050
3ccf16df 40512013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
4052
4053 * grub-core/commands/loadenv.c: Support skipping signature check
4054 and variable names filtering.
4055
30b7f58f
VS
40562013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4059 * grub-core/kern/emu/hostfs.c: Likewise.
4060 * util/getroot_unix.c: Likewise.
4061
bab7b1eb
VS
40622013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4065 Migrate all explicit defines to this new one.
4066
43b1c99d
VS
40672013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4070 grub_util_fd_strerror when using grub_util_fd_*.
4071 (grub_util_fd_open_device): Likewise.
4072 (grub_util_biosdisk_read): Likewise.
4073 (grub_util_biosdisk_write): Likewise.
4074 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4075 (grub_util_fd_strerror): Likewise.
4076 (grub_util_fd_sync): Likewise.
4077 (grub_util_fd_close): Likewise.
4078 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
4079 (grub_util_fd_close): Likewise.
4080 (grub_util_fd_strerror): Likewise.
4081 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
4082 function proto rather than macro.
4083 (grub_util_fd_sync): Likewise.
4084 (grub_util_fd_open): Likewise.
4085 (grub_util_fd_strerror): New proto.
4086
e8fd80bc
VS
40872013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4090 platforms on which it doesn't work.
4091
bf645fda
VS
40922013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4095 stat immediately to where it's used.
4096
5177ba14
VS
40972013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * util/getroot.c (grub_util_check_block_device): Move to ...
4100 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4101 * util/getroot.c (grub_util_check_char_device): Move to ...
4102 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4103
9db826e1
VS
41042013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4107 disk closing logic.
4108
49120085
AB
41092013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4110
4111 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4112
b3328b68
AB
41132013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4114
4115 * docs/grub.texi (File name syntax): Document ZFS filenames
4116 (/volume@snapshot/...).
4117
3fff48ab
VS
41182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
4121 Always return full path. Fixes a problem with mkrelpath.
4122
39cfdaa9
PFS
41232013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4124
4125 * util/grub-install.in: Add GPT PReP support.
4126 * util/grub-probe.c (probe): Support GPT partition type.
4127 (main): Support -t gpt_parttype.
4128
7c680e1f 41292013-09-23 Aleš Nesrsta <starous@volny.cz>
4130
4131 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
4132
890bdabe
MM
41332013-09-23 Massimo Maggi <me@massimo-maggi.eu>
4134
4135 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
4136
9c262ff9
TH
41372013-09-23 Tim Hardeck <thardeck>
4138
4139 * util/grub.d/10_hurd.in: Filter out character for the class.
4140 * util/grub.d/10_kfreebsd.in: Likewise.
4141 * util/grub.d/10_linux.in: Likewise.
4142 * util/grub.d/20_linux_xen.in: Likewise.
4143
d755342a
MC
41442013-09-23 Melki Christian <Christian.melki@saabgroup.com>
4145
4146 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
4147 "changed".
4148
68b77707
JT
41492013-09-23 Josh Triplett <josh@joshtriplett.org>
4150
4151 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
4152 boot partition.
4153
efa68bfa
VS
41542013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
4157 doesn't use posix_wrap. Keep literal -fno-builtin however.
4158
d9104204
VS
41592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
4162
c248781a 41632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41642013-09-23 neil
4165
5830df88 4166 * configure.ac: Do not enable -Wmissing-noreturn as its
4167 usefulness is limited and creates problems on some OS notably with
4168 code generated by bison.
4169
41702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41712013-09-23 neil
4172
4173 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 4174 supported by all gcc and when it is, it's already enabled by -Wall.
4175
621bed69
VS
41762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
4179 desactivated use of EDID at all.
4180
71764dc8 41812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41822013-09-23 neil
4183
4184 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
4185 video if no text is available.
4186
affce7d4 41872013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
41882013-09-23 neil
4189
4190 * configure.ac: Substitute TARGET_RANLIB.
4191
41922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41932013-09-23 neil
affce7d4
VS
4194
4195 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4196
4197 Based on patches from AROS.
4198
0e8daad0 41992013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 42002013-09-23 neil
0e8daad0
VS
4201
4202 * grub-core/Makefile.am: Override STRIP and RANLIB.
4203 * configure.ac: compute TARGET_RANLIB.
4204 * INSTALL: Document TARGET_RANLIB
4205
4206 Based on patches from AROS.
4207
3f7d9c82
VS
42082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4211 that floppies are unpartitioned.
4212
bca8873a
VS
42132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4216 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4217
42182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4221 less nice but more portable.
4222 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4223
a47a78be
VS
42242013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4227 for cheat_fd.
4228 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4229 functions.
4230 (grub_cryptodisk_cheat_insert): Likewise.
4231 (grub_cryptodisk_close): Likewise.
4232
e85a5d5c
VS
42332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4236 Use windows path for DEFAULT_DIRECTORY.
4237
dad9fa6b
VS
42382013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4241 difference was likely just gcc version, not anything mingw-related.
4242
7e518ca8
VS
42432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 Use Winapi on both cygwin and mingw32 to share more code between both.
4246
d68d0157
AB
42472013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4248
4249 * util/grub-install.in: Add --grub-editenv option.
4250 * util/grub-install_header (grub_compress_file): Explicitly check for
4251 plain file to avoid cp error.
4252
775b284d
AB
42532013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4254
4255 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4256 names; fix LVM driver name (lvm, not lv).
4257 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4258 names.
4259
3ff4063d
VS
42602013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4263 files rather than one file with loads of #if's.
4264 * util/getroot.c: Likewise.
4265
287faafe
VS
42662013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4269
d1983764
VS
42702013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4273 GNU/Hurd to the list of checked PRNG.
4274
15ce95c4
VS
42752013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4278
207862dd 42792013-09-21 Ales Nesrsta <starous@volny.cz>
4280
7c680e1f 4281 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4282
63653cfd
VS
42832013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4286 * grub-core/disk/lvm.c: Add LVM UUIDs.
4287 * util/getroot.c: Use LVM UUIDs whenever possible.
4288
f5d3e7ef
AB
42892013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4290
4291 * docs/grub.texi (Networking commands): Add documentation for
4292 network related commands.
4293
53c6b7d6
VS
42942013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4297 to determine if device is handled by devmapper.
4298 (convert_system_partition_to_system_disk): Likewise.
4299 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4300 already done in grub_util_open_dm.
4301
e70d6736
LL
43022013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4303
4304 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4305 Clean up stack manipulation (sync_caches_armv*)
4306
90379808
VS
43072013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * util/lvm.c: Remove since unused. Remove remaining references.
4310
386701a8
VS
43112013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 Handle the case of partitioned LVM properly.
4314
4315 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4316 Stop on meeting LVM, mpath or DMRAID.
4317 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4318 (read_device_map): Likewise.
4319 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4320 device is full disk rather than erroring out on LVM and similar cases.
4321
53070787
VS
43222013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4325
1bc783bd
VS
43262013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4329 4K before the end.
4330 Reported by: Leif Lindholm
4331
436ad5c3
PW
43322013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
43332013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4336 codes.
4337
607319c9
CW
43382013-09-18 Colin Watson <cjwatson@ubuntu.com>
4339
4340 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4341 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4342
d404d154
DR
43432013-09-18 Douglas Ray <dougray@cpan.org>
4344
4345 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4346 as secure.
4347
28851ef6
AN
43482013-09-18 Aleš Nesrsta <starous@volny.cz>
4349
4350 * docs/grub.texi: Fix broken link.
4351
897c3bc6
MC
43522013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4353
4354 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4355 to break endless loop.
4356
f1630459
VS
43572013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * util/grub-fstest.c: Fix several printf formats.
4360 * util/grub-mkimage.c: Likewise.
4361 * util/grub-mkimagexx.c: Likewise.
4362 * util/grub-script-check.c: Likewise.
4363
64463dfd
VS
43642013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4367 error.
4368
48972495
VS
43692013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4372
5dd5e64b
VS
43732013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4376 removed in current versions cygwin_conv_*.
4377
1c1f31e5
VS
43782013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * configure.ac: Disable efiemu runtime on cygwin.
4381
c546a259
VS
43822013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4385 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4386
81690478
VS
43872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4390 error message.
4391
6b87c10a
VS
43922013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4395 windows variant.
4396 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4397 data.
4398
8f0baaac
VS
43992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4402 when on x86 and not cygwin.
4403 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4404 -Wl,-melf_x86_64.
4405
b224c266
VS
44062013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * configure.ac: Set CPP to build one when checkoing for freetype for
4409 build.
4410
506b336b
VS
44112013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4414 [!GRUB_BUILD]: Remove has_argument.
4415
8c8c87b7
VS
44162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4419 Replace with a dummy.
4420
7dc5ca13
VS
44212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * configure.ac: Don't change host_os from mingw to cygwin.
4424
c3302aa5
VS
44252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * configure.ac: Change target_os from windows to cygwin.
4428
7b780018
VS
44292013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4432
4433 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4434 (build-grub-gen-asciih): Likewise.
4435 (build-grub-gen-widthspec): Likewise.
4436 * Makefile.util.def (grub-pe2elf): Remove.
4437 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4438 * configure.ac: Separate tests for build.
4439 Move ./build-grub-pe2elf to grub-core.
4440 Fix typo.
4441 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4442 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4443 defined.
4444 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4445 constants.
4446 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4447 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4448 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4449
984cfd8a
VS
44502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4453 mingw32 as well based on grub_util_get_disk_size.
4454 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4455 grub_util_get_fd_size.
4456 (sync): Removed.
4457 (fsync): Moved to ...
4458 * grub-core/kern/emu/misc.c (fsync): ... here.
4459
f82d79c9
VS
44602013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * include/grub/mm.h (grub_extend_alloc): Remove.
4463 * grub-core/loader/i386/pc/plan9.c: Use own version of
4464 grub_extend_alloc with appropriate types.
4465
fd7dd66d
VS
44662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4469
43ffba7c
VS
44702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4473
3c7eac44
VS
44742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 Fix dependencies on cygwin.
4477
4478 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4479 dependencies when used and defined.
4480 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4481
bdb5ba47
VS
44822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4485 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4486
ed7fbf43
VS
44872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4490 implementation available to cause compile-time rather than runtime
4491 error.
4492
fc46e9fc
VS
44932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * util/grub-fstest.c: Don't check for symlinks on windows.
4496
7f68269a
VS
44972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * INSTALL: Mention unavailability of man pages when cross-compiling.
4500
8ed358e0
VS
45012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4504 and gcry_log_bug.
4505 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4506
fc97214f
VS
45072013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * INSTALL: Document cross-compilation.
4510 * acinclude.m4: Determine whether nm support -P and --defined-only.
4511 * configure.ac: Add TARGET_ to all variables pertaining to target
4512 that don't have it yet.
4513 * gentpl.py: Likewise.
4514 * grub-core/Makefile.am: Likewise.
4515 * grub-core/genmod.sh.in: Likewise.
4516 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4517 as well.
4518
ca1fb563
IB
45192013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4520
4521 * configure.ac: Remove -Wempty-body. It's not essential and needs
4522 recent gcc.
4523
0031b229
IB
45242013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4525
4526 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4527 * util/getroot.c: Likewise.
4528
54ea2f44
VS
45292013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/disk/ahci.c: Add needed explicit cast.
4532 * grub-core/lib/backtrace.c: Likewise.
4533 * grub-core/net/ip.c: Likewise.
4534 * grub-core/net/tcp.c: Likewise.
4535 * grub-core/net/udp.c: Likewise.
4536
3c601f8c
VS
45372013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4540
1d679dda
VS
45412013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * util/import_gcry.py: Add final newline in visibility.h.
4544
00c28dd9
VS
45452013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * conf/Makefile.common: Fix typo.
4548
32af299a
VS
45492013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4552
e733cf52
VS
45532013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * Makefile.am (widthspec.h): Fix typo.
4556 * util/grub-gen-widthspec.c: Likewise.
4557
c6b066f2
VS
45582013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 Move ascii.h and widthspec.h generation to a separate build-time-only
4561 tool.
4562
ad1fe3f9 45632013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4564
4565 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4566 Always fill bootdisk info and improve check for NetBSD disklabel.
4567
92a52dd4
VS
45682013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * conf/Makefile.extra-dist: Add util/bin2h.c.
4571 Reported by: floppym.
4572
b2e9d276
VS
45732013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4576
7b966834
VS
45772013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * configure.ac: Disable unifont and starfield if no freetype was found.
4580
d5c1eef1
VS
45812013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4584 on NetBSD and OpenBSD.
4585
66345b50 45862013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4587
4588 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4589
66345b50 45902013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4591
4592 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4593 reduced. Inheritant options are processed during the theme loading.
4594
66345b50 45952013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4596
4597 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4598
369508b3
AS
45992013-08-14 Avik Sil <aviksil@in.ibm.com>
4600
4601 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4602
46032013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4604
4605 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4606 using qemu.
4607
6f27a3f6
PFS
46082013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4609
4610 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4611 remove-potcdate.sed.
4612
c6ed362a
AB
46132013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4614
4615 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4616 unused attribute from pull argument.
4617
5e7d9464
AB
46182013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4619
4620 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4621 memory leak.
4622
dea55e2a
AB
46232013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4624
4625 * util/getroot.c (pull_lvm_by_command): add --separator option
4626 to vgs call to disable padding of output to 10 characters.
4627
f0b94ded
VS
46282013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4631 here ...
4632 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4633 here.
4634
b828fb5d
VS
46352013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4638 length.
4639
7c9d0c39
VS
46402013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4643 full Canadian cross. Tested with build=x86_64, host=arm,
4644 target=ppc-ieee1275.
4645
816719c8
VS
46462013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * configure.ac: Error if no $BUILD_CC could be found.
4649 Reported by: DevHC.
4650
2af2353b
VS
46512013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4654 i386-multiboot.
4655
797abd0a
VS
46562013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4659 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4660
36e87d25
CW
46612013-08-13 Colin Watson <cjwatson@ubuntu.com>
4662
4663 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4664 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4665 falling back to the partition device, otherwise a later call to this
4666 function may fail spuriously.
4667 Reported by Axel Beckert. Fixes Debian bug #708614.
4668
273349fe
GS
46692013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4670
4671 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4672
418f86c6
GS
46732013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4674
4675 Prevent shadowing of stdlib's devname(3) on BSD.
4676
4677 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4678 and devlast to diskname and disklast, respectively.
4679
c137aea0
CW
46802013-08-11 Colin Watson <cjwatson@ubuntu.com>
4681
4682 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4683
272dc8df 46842013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4685
4686 * docs/grub.texi: Introduce terminal window position options:
4687 terminal-left: terminal window's left position
4688 terminal-top: terminal window's top position
4689 terminal-width: terminal window's width
4690 terminal-height: terminal window's height
4691 terminal-border: terminal window's border width
4692 * grub-core/gfxmenu/theme-loader.c: Likewise.
4693 * include/grub/gfxmenu_view.h: Likewise.
4694 * po/exlude.pot: Likewise.
4695 * grub-core/gfxmenu/view.c: Likewise.
4696 Also updated minimal window size.
4697 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4698 * grub-core/tests/checksums.h: Update (terminal window height
4699 is adjusted now for low resolution screen)
b4743461 4700
748a4533
VS
47012013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4704 position).
4705
fca5f944
VS
47062013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * po/exclude.pot: Add few recent exceptions.
4709
4f47d809
VS
47102013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * tests/grub_func_test.in: Add unicode.pf2.
4713
a62ae90c
VS
47142013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4717 standard rather than noral color, in line with other terminals.
4718
4ed41392
VS
47192013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
4722 analysis.
4723
3719fbc5
VS
47242013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/loader/arm/linux.c: Change printf to dprintf.
4727
459b1d91
VS
47282013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
4731 inappropriate printf.
4732
f4e1ab9d
AB
47332013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
4734
4735 * .bzrignore: Remove grub-core/lib/dtc-grub,
4736 grub-core/Makefile.libfdt.def
4737 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
4738
fa471bfa
VS
47392013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * include/grub/video.h (grub_video_register): Keep double-linked as
4742 well as single-linked invariants.
4743 Reported by: qwertial.
4744
d65be02b
VS
47452013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/commands/nativedisk.c (get_uuid): Handle
4748 GRUB_DISK_DEVICE_UBOOTDISK_ID.
4749
ba8bc620
VT
47502013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
4751
4752 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
4753 maximum of NW, N, NE heights instead of N's height and maximum of
4754 NW, W, SW widths instead of W's width. (So the box will be always
4755 correctly drawn)
4756
4f0ad029
GS
47572013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4758
4759 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
4760 Fix misuse of variable count.
4761
43d53b72
LL
47622013-07-18 Leif Lindholm <leif.lindholm@arm.com>
47632013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
47642013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 4765
43d53b72
LL
4766 New ports to arm-uboot and arm-efi.
4767 Mostly by Leif Lindholm with some additions from
4768 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 4769
88f8d146
VS
47702013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
4773 and not before.
4774 Reported by: Leon Drugi.
4775
3f42504c
VS
47762013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
4779 Reported by: Paulo Flabiano Smorigo.
4780
d110499b
VT
47812013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4782
4783 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
4784
a8674ad3
VT
47852013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
4786
4787 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
4788
286fe4b3
VS
47892013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
4792
1bd57aa3
VS
47932013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
4796
7a87d69f
AB
47972013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
4798
4799 * grub-core/net/bootp.c: Export net_* variables.
4800 * grub-core/net/net.c: Likewise.
4801
b2182299
VS
48022013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
4805
795b3dc0
VS
48062013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
4809
68714c43
VS
48102013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
4813
af211bab
VS
48142013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
4817
0036f02d
MM
48182013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4819
4820 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
4821 <= 0.
4822
6d0ddff3
MM
48232013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4824
4825 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
4826 functions.
4827
038016f4
MM
48282013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4829
4830 * grub-core/fs/zfs/zfs_lz4.c: New file.
4831 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
4832
776bdce2
MM
48332013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4834
4835 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4836
c71dbd40
MM
48372013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4838
4839 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4840 (check_pool_label): Likewise.
4841 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4842
48432013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4844
4845 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4846
8e67b50f
AB
48472013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4848
4849 * docs/grub.texi (Commands): Document postition parameters
4850 for menuentry command.
4851
f5ae3717
AB
48522013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4853
4854 * util/grub-mknetdir.in: Remove stray line from help output.
4855
9c28da2a
VS
48562013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Remove early sm712 init as there is no reason for it (the "watchdog"
4859 effect was due to wrong GPIO map).
4860
139072b8
VS
48612013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/commands/pcidump.c: Remove static variables.
4864
c6a61bda
VS
48652013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4868
51369614
VS
48692013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * configure.ac: Move delimiter after the infos.
4872
efa8640a
VS
48732013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4876
6f80a7b2
VS
48772013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4880 not filling whole 8x16 space.
4881
a2371e19
VS
48822013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4885
64fce2d8
VS
48862013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * configure.ac: Indicate which liblzma is used if any.
4889
eb272d84
PW
48902013-06-21 Paul Wise <pabs3@bonedaddy.net>
48912013-06-21 Craig Sanders <savannah@taz.net.au>
4892
4893 * util/grub-reboot.in: Document submenu usage.
4894
a9e5abee
CW
48952013-06-25 Colin Watson <cjwatson@ubuntu.com>
4896
4897 * .bzrignore: Update with a number of new test-related files.
4898
e639c204
CW
48992013-06-25 Colin Watson <cjwatson@ubuntu.com>
4900
4901 * util/grub-script-check.c: Fail on scripts containing no
4902 commands, to guard against corrupted grub-mkconfig setups that
4903 produce no useful output.
4904 * tests/grub_script_no_commands.in: New test.
4905 * Makefile.util.def (grub_script_no_commands): Add.
4906 Reported by Hans Putter. Fixes Debian bug #713886.
4907
a4c89b17
AB
49082013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4909
4910 * grub-core/disk/diskfilter.c: Forgot to remove comment
4911 from previous commit.
4912
5b06b53c
AB
49132013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4914
4915 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4916 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4917
702da5c9
AB
49182013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4919
4920 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4921
aa62a5b7
AB
49222013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4923
4924 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4925 rescan diskfilter devices until nothing new is found.
4926
4aa237c8
VS
49272013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4930
93d8479b
VS
49312013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 Don't try to detect cbfs on *-emu.
4934
837222cc
VS
49352013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4938
99c971af
VS
49392013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 Add support for processed coreboot payload chainloading.
4942
e6930a45
VS
49432013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 Enable coreboot information commands even when not loaded as
4946 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4947
5027af38
VS
49482013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 Support for cbfs. Also factor out the part which is common
4951 for all archives to a separate module. This splits tar from cpio
4952 as they are very different but keeps cpio, cpio_be, odc and newc
4953 together since they're very similar.
4954
a5b55c4b
DM
49552013-06-15 David Michael <fedora.dm0@gmail.com>
4956
4957 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4958 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4959
0301a8b3
VS
49602013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * tests/grub_script_eval.in: Really add the eval test.
4963
3d84cb17
VS
49642013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 Move flavour-specific parts out of common cpio.c file and
4967 rename remaining to cpio_common.c
4968
593e430c
AB
49692013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4970
4971 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4972 off new function grub_script_execute_new_scope. Change callers to use
4973 either of them as appropriate.
4974 * grub-core/commands/eval.c: New command eval.
4975 * docs/grub.texi (Commands): Document it.
4976
63c29849
AB
49772013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4978
4979 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4980 to fetch values when listing.
4981
cc284112
AB
49822013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4983
4984 Fix make dist on non-pc.
4985
49862013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4987
4988 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4989 without a device name.
4990
69544d1e
VS
49912013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 Remove enable_executable_check as it's not needed anymore.
4994 Reported by: dougray.
4995
96dbe648
VS
49962013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4999 ambigouos RAID before discovering RAIDs on top of it.
5000 Reported by: bodom.
5001
ccfc0bdb
VS
50022013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Fix typo (failback vs fallback).
5005
f2587088
AB
50062013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5007
5008 * util/grub.d/30_os-prober.in: Add support for probing EFI
5009 System Partition (as of os-prober 1.58).
5010
cec5cf0c
VS
50112013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * configure.ac: Add yet another path to unifont. For parabola.
5014
e40b4596
JT
50152013-05-30 Josh Triplett <josh@joshtriplett.org>
5016
5017 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5018 handling to copy the killed characters to the kill buffer as
5019 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5020 stored as char. Eliminates UCS4 truncation and corruption
5021 observed when killing characters with Ctrl-u and yanking them
5022 back with Ctrl-y.
5023
fc4c4fdd
VS
50242013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 Detach optional parts of gfxterm and integrate in with coreboot init.
5027
6570b205
VS
50282013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 Move blit and fill dispatcher to appropriate files to decrease export
5031 and relocation overhead.
5032
b8323067
VS
50332013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5036 functions.
5037
3cc1878f
VS
50382013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/Makefile.am: Fix compilation problem with some
5041 automake versions.
5042
4b80e43c
VS
50432013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5046
57e0c20c
VS
50472013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5050 automake versions.
5051
4fd42c53
VS
50522013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5055 SSDT.
5056
1e908b34
RS
50572013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5058
5059 * grub-core/partmap/dfly.c: New partition map.
5060
1359e474
VS
50612013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5064 checking.
5065 Reported by: Francesco Lavra.
5066
17806392
AB
50672013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5068
5069 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5070 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5071 false conditions.
5072 * conf/Makefile.common: define dist_grubconf_DATA
5073
cdce14fa
VS
50742013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 Progressively skip menu elements on small terminals rather
5077 than crashing.
5078
c8d6cc3c
VS
50792013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5082 to avoid losing last column.
5083
a73b31ce
VS
50842013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * po/exclude.pot: Add missing string "%C".
5087
1202c764
VS
50882013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5091 after the test.
5092
50268344
VS
50932013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * util/grub-install.in: Gettextize "Not found" message.
5096
62b15edf
VS
50972013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 Fix distfiles list.
5100 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5101
51022013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
5103
5104 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5105 present.
5106 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5107
709ad61b
VS
51082013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5111
d128901a
VS
51122013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
5115 attribute since structure is not necessarily aligned.
5116
34b22f5c
AB
51172013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
5118
5119 * docs/grub.texi (Device syntax): Clarify description of network
5120 drives.
5121
0f7e980b
VS
51222013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
5125 for vasprintf presence.
5126
30b03dc2
VS
51272013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * util/grub-install.in: Handle efibootmgr presence check.
5130 Reported by: Leif Lindholm.
5131
0dc11c08
VS
51322013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
5135 new strings to translate.
5136
f8024c3f
VS
51372013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
5140 yet another string (pun intended) to translate.
5141
b4c1da62
VS
51422013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * po/POTFILES-shell.in: Autogenerate it.
5145
0ef7478b
VS
51462013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
5149
8200fa15
VS
51502013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
5153 misnomer.
5154
091945b2
AB
51552013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
5156
5157 * docs/grub.texi (Network): Add description of net_default_interface,
5158 net_default_ip and net_default_mac. Rewrite variables description
5159 to emphasize that they are per-interface.
5160
0e7b2e32
VS
51612013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 New test: cmdline and cat.
5164
16f7c8f6
VS
51652013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/commands/cat.c: Show UTF-8 characters.
5168
3e912fda
VS
51692013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * conf/Makefile.common: Poison float and double on non-emu.
5172
ee0220bc
VS
51732013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * configure.ac: Don't disable extended registers on emu.
5176
89e0240c
VS
51772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * configure.ac: Don't use extended registers on x86_64.
5180 Reported by: Peter Jones.
5181
e56d9637
VS
51822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/term/efi/console.c: Fix compile error.
5185
8098f655
VS
51862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 Compressed HFS+ support.
5189
16940e07
VS
51902013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
5193 pixel".
5194
c5dbc13d
VS
51952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 Menu color test.
5198
011f8ae8
VS
51992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * grub-core/tests/setjmp_test.c: New test.
5202
2aa072d7
VS
52032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 New variables 'net_default_*' to determine MAC/IP of default interface.
5206
43fe02cb
VS
52072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * tests/gettext_strings_test.in: A test to check for strings not
5210 marked for translation.
5211
bed06142
VS
52122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * autogen.sh: Exclude unused libgcrypt files from translation.
5215
fb2666b5
VS
52162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 Simplify few strings.
5219
d22840ec
VS
52202013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 Mark few forgotten strings for translation.
5223
e34092fd
VS
52242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5227 rather than printf.
5228
47cf82b4
VS
52292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5232 rather than printf.
5233 * grub-core/video/readers/tga.c: Likewise.
5234
1eed0e6e
VS
52352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * tests/priority_queue_unit_test.cc: New test.
5238
c5b7697b
VS
52392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5242 than printf.
5243
5945c2f8
AB
52442013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5245
5246 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5247 variable for one time boot menu entry.
5248
fa292343
B
52492013-05-05 Bean <bean123ch@gmail.com>
5250
5251 * grub-core/commands/testspeed.c: New command testspeed.
5252
310d4214
VS
52532013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 Factor-out human-size printing.
5256
85002bf3
VS
52572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 Agglomerate more mallocs to speed-up gfxterm.
5260
22b06e96
VS
52612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 Speed-up gfxterm by slightly agglomerating mallocs.
5264
b7c036bc
VS
52652013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 More video checks.
5268
92323d1f
VS
52692013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 Speed-up gfxterm by saving intermediate results in index+alpha
5272 format.
5273
0fb356a3
VS
52742013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5277 test.
5278
44dea3f9
VS
52792013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5282 line of timeout as it may contain the rest of long line.
5283
14af86e4
VS
52842013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/normal/main.c: Fix freed memory dereference.
5287
03f7c8c3
VS
52882013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 Fix several memory leaks.
5291
c686014c
VS
52922013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5295
0788a695
VS
52962013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5299
daf01d61
VS
53002013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 Fix test -a and -o precedence.
5303 Reported by: adrian15.
5304
82ae74d7
VS
53052013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5308
8cec7bd4
AB
53092013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5310
5311 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5312 and add it as source to functional_test module.
5313
aa73d688
VS
53142013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5317
c104b6f9
VS
53182013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 New series of tests for gfxterm and gfxmenu.
5321
7391c4d5
VS
53222013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5325 the theme path relative to $prefix/themes.
5326
cff50118
VS
53272013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5330 Fix order bug.
5331 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5332
7c332bdc
VS
53332013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5336 descriptor.
5337
a4f9a5ff
VS
53382013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5341 grub_gfxmenu_timeout_notifications.
5342 (grub_gfxmenu_view_destroy): Likewise.
5343
b5a2114d
VS
53442013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5347
a8905e8a
VS
53482013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 Several fixes to ieee1275 and big-endian video.
5351
813c1622
VS
53522013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 Add missing exports on mips.
5355
3f3e7326
VS
53562013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5359 if no unifont is found.
5360 Restore original keyboard.
5361
095accd1
VS
53622013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5365 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5366
50361660
VS
53672013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 First automated video test (running videotest and comparing results)
5370
cd0f6eec
VS
53712013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5374 instead of 2 to have full RGB/CMY test pattern.
5375
3f9634e5
VS
53762013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 Add few more tests.
5379
583e5b64
VS
53802013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5383 ARCS. All users updated.
5384
aa7bcb99
VS
53852013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5388
95ef1a54
VS
53892013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5392
46546fc5
VS
53932013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5396 Reported by: qwertial.
5397
3476e0ef
VT
53982013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5399
5400 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5401 with syntax "XXX deg"/"XXX °".
5402
96f33fed
VS
54032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 Make PCI init in i386-qemu port more robust.
5406
54072013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5408
5409 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5410 cached view is reused.
5411 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5412 open boot menus.
5413
c53b4e67
VS
54142013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 Unify more code in grub-install_header.
5417
f7457fb2
VS
54182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 Add few new tests.
5421
e2f27a8c
VS
54222013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 Enforce disabling of firmware disk drivers when native drivers kick in.
5425
ef9d8cd5
VS
54262013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/commands/nativedisk.c: Customize the list of modules on
5429 platform. Don't try to search for disks already using native drivers.
5430
f7bf6c31
VS
54312013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5434 platforms.
5435
bdc4add8
VS
54362013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5439 handling of variables containing backslash.
5440
e9e46c9a
VS
54412013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5444 dereference.
5445 Reported by: qwertial.
5446
0e90dee8
VS
54472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5450
e0aacf24
VS
54512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5454 dereference.
5455 Reported by: qwertial.
5456
3c0003c3
VS
54572013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5460
adb7d667
VS
54612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5464
7cd0df84
VS
54652013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 New command `nativedisk'.
5468
02adbb93
VS
54692013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5472 * grub-core/loader/i386/bsd.c: Likewise.
5473
9fb0fd4f
VS
54742013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5477
bd69257a
VS
54782013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5481 grub_get_unaligned16 rather than shifts.
5482
178c2764
VS
54832013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * grub-core/kern/file.c: Use const char * rather than casting to
5486 non-const.
5487
eadfad24
VS
54882013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * grub-core/commands/probe.c: Add missing grub_device_close.
5491
9f73ebd4
VS
54922013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * INSTALL: Document linguas.sh.
5495
965fa829
VS
54962013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 Remove POTFILES.in and regenerate it in autogen.sh.
5499
d417ddc4
VS
55002013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Move --directory/--override-directorry to grub-install_header and unify.
5503
f97ec546
VS
55042013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/term/morse.c: Macroify dih and dah.
5507
b2d7470c
PFS
55082013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5509
5510 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5511
141e2a78
VS
55122013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * grub-core/term/ns8250.c: Systematically probe ports by writing
5515 to SR before using them.
5516
1dd70ebd
PFS
55172013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5518
5519 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5520 disks.
5521 (check_sas): Get sas_adress info.
5522
c796a107
VS
55232013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5526 ports.
5527
43168646
LD
55282013-04-27 Leon Drugi <eyak>
5529
5530 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5531 BSS clearing.
5532
e7b8fd08
VS
55332013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 Core compression test.
5536
17f9fd29
VS
55372013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 Implement grub_machine_get_bootlocation for ARC.
5540
dc2a6c8b
VS
55412013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 Improve AHCI detection and command issuing.
5544
f25a2ba6
VS
55452013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 Fix pseries test.
5548
a6393224
VS
55492013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 Make 'make check' work on emu.
5552
db99fbe8
VS
55532013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 Replace libcurses with our own vt100 handling for the ease of testing
5556 and decreasing prerequisites.
5557
b24ca7cd
VS
55582013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5561
63314aa4
VS
55622013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5565 compile when not needed.
5566
c1b00fff
VS
55672013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * tests/pseries_test.in: New test.
5570
f93e89ef
VS
55712013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 Add test to check that different boot mediums work.
5574
c4b456d3
VS
55752013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5578 ofw limited ISO support.
5579
5fe67f39
VS
55802013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * configure.ac: Fix loongson conditional.
5583
7f63a64f
VS
55842013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 Enable mipsel-arc.
5587
b04b5990
VS
55882013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 Add serial on ARC platform.
5591
88d2f302
VS
55922013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5595 commit.
5596
86eb23bc
VS
55972013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * tests/partmap_test.in: Add missing double semicolon.
5600
eec3bb75
VS
56012013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * util/grub-mkrescue.in: Fix loongson filename.
5604
e0810df3
VS
56052013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * util/grub-mkrescue.in: Move all files that don't have a location
5608 set in stone under /boot/grub. Use ISO hard links rather than copies
5609 to save some space.
5610
65a6b30b
VS
56112013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5614 bogus SLOF values.
5615
6aff0107
VS
56162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 Make check work on mips-arc.
5619
5e013e56
VS
56202013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * util/grub-mkrescue.in: Alias sashARCS as sash.
5623
d1989e2e
VS
56242013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5627 it's serial.
5628
1a25e72c
VS
56292013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * util/grub-install.in: Fix target fo qemu_mips.
5632 Fix extension on EFI.
5633
a59a9826
VS
56342013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5637 in front of chosen entry to mark it even if highlighting is lost.
5638
1a40f80c
VS
56392013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5642 gfxpayload=keep if cbfb is active.
5643
e343549c
VS
56442013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5647
45fbd9a2
VS
56482013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Add missing video ids to coreboot and ieee1275 video.
5651
ab1440bd
VS
56522013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * util/grub-mkrescue.in: Add mips-arc support.
5655
cdeb8324
VS
56562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5659
8528c879
VS
56602013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Move mips-arc link address. Previous link address was chosen
5663 in belief that RAM on SGI platforms grows down while in fact it
5664 grows up from an unusual base.
5665
17fca573
VS
56662013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5669 Fix a type which prevented CD-ROM and floppy boot.
5670
d178788e
VS
56712013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 Support coreboot framebuffer.
5674
5675 * grub-core/video/i386/coreboot/cbfb.c: New file.
5676
fe4c3e7e
VS
56772013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5680 detecting too small regions.
5681
ec2dd179
VS
56822013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5685
872dac83
VS
56862013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5689 Remove dprintf.
5690 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5691
90ec4b7f
VS
56922013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5695 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5696 * grub-core/loader/powerpc/ieee1275/linux.c
5697 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5698
f32555dd
VS
56992013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5702 Look for /boot-rom as well as /rom/boot-rom.
5703
38649799
VS
57042013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5707 handling when creating text_layer failed.
5708 * grub-core/video/video.c (grub_video_create_render_target):
5709 Set result to 0 on error.
5710 (grub_video_delete_render_target): Do not dereference NULL.
5711
aeace7f7
VS
57122013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5715 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5716 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5717 (grub_linux_load64): Mask out 2 high bits.
5718
4eafa175
AB
57192013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
5720
5721 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
5722 more place.
5723
daaa64bd
VS
57242013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 Add support for pseries and other bootinfo machines to grub-mkrescue.
5727
5728 Tested by: Paulo Flabiano Smorigo.
5729
d0d2daa6
VS
57302013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * util/grub-mkrescue.in: Add GPT for EFI boot.
5733
b193e100
VS
57342013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
5737 It improves performance in qemu.
5738
a0f8f3ac
VS
57392013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * build-aux/snippet: Add missing gnulib files.
5742
284df0e2
AB
57432013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5744
5745 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
5746
740201f3
AB
57472013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
5748
5749 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
5750
a7e03923
PJ
57512013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
57522013-04-15 Peter Jones <pjones@redhat.com>
5753
5754 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
5755 sectors.
5756 Based on patch by Peter Jones.
5757
25fc51a8
VS
57582013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 Fix DMRAID partition handling.
5761
88017d47
VS
57622013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * tests/grub_cmd_date.in: Skip on sparc64.
5765
fa7d914e
VS
57662013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
5769 firmware error messages.
5770
cbe57a48
VS
57712013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
5774 source and destination differ.
5775
21aecce0
VS
57762013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
5779 detection.
5780
25092d29
VS
57812013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
5784 match config-util.h to avoid warnings and increase compatibility.
5785
79451522 57862013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 57872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
5788
5789 Add option to compress files on install/image creation.
5790
78b7d77b
VS
57912013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * docs/grub-dev.texi: Rearrange menu to match the section order.
5794 Reported by: Bryan Hundven.
5795
cc2fa5ec
VS
57962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
5799
b49fe879
VS
58002013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 Move GRUB out of system area when using xorriso 1.2.9 or later.
5803
5351da81
VS
58042013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * tests/grub_cmd_date.in: Add missing exit 1.
5807
c9d586ea
VS
58082013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * tests/partmap_test.in: Skip on sparc64.
5811
3f729741
VS
58122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 Support grub-shell on sparc64.
5815
8ca86b3a
VS
58162013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 Support mkrescue on sparc64.
5819
aa1af9bb
VS
58202013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 Allow IEEE1275 ports on path even if it wasn't detected automatically.
5823 Needed on OpenBIOS due to incomplete device tree.
5824
ac4fea79
VS
58252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
5828 would be otherwise excluded.
5829
58302013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
5831
5832 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5833 Inline name defines used only once.
5834
fe22b071
VS
58352013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 Fix memory leaks in ofnet.
5838 Reported by: Francesco Lavra.
5839
9d21381b
VS
58402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * docs/man/grub-glue-efi.h2m: Add missing file.
5843
07aec23c
VS
58442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5847
67ab8353
VS
58482013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 Better support Apple Intel Macs on CD.
5851
ba44ca6d
VS
58522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 Replace stpcpy with grub_stpcpy in tools.
5855
bbdd6305
VS
58562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 Handle Japanese special keys.
5859 Reported by: Hiroyuki YAMAMORI.
5860 Codes supplied by: Hiroyuki YAMAMORI.
5861
8573d302
VS
58622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * util/grub-mkimage.c: Document memdisk implying --prefix.
5865
d70dbab7
VS
58662013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5869 much we can do about it anyway.
5870
51a4c3e3
AN
58712013-04-12 Aleš Nesrsta <starous@volny.cz>
5872
5873 Fix handling of split transfers.
5874
92c8f58d
VS
58752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/net/http.c: Fix bad free.
5878
b7d17a49
VS
58792013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5882 than buffer size.
5883
a3d566d4
VS
58842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5887
a936af56
VS
58882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * tests/util/grub-shell.in: Fix it on powerpc.
5891
51212234
VS
58922013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 Turn off QEMU ACPI-way since new releases don't have shutdown port
5895 anymore.
5896
a21eec9e
VS
58972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * docs/grub.texi: Update coreboot status info.
5900
e3734b84
VS
59012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * tests/grub_cmd_date.in: New test for datetime.
5904
f9d40055
VS
59052013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * tests/partmap_test.in: Fix missing qemudisk setting.
5908
dbc56d8f
VS
59092013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 Support i386-ieee1275 grub-mkrescue and make check on it.
5912
a79b8a15
VS
59132013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5916 feature for it.
5917
48f39bb4
VS
59182013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5921 GRUB_CMDLINE_XEN_DEFAULT.
5922 Reported by: Marc Warne (GigaTux) <gigatux>
5923
053cfcdd
VS
59242013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 Import new gnulib.
5927
93cd84df
VS
59282013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 Use ACPI shutdown intests as traditional port was removed.
5931
f4b1fa4f
AB
59322013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5933
5934 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5935 distinction.
5936
49818a59
VS
59372013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5940 Fix few warining messages and leaks while on it.
5941
9277a306
AB
59422013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5943
5944 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5945 links under grub-core/lib/libgcrypt-grub/mpi.
5946
d5e2a158
VS
59472013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 Fix ia64-efi image generation on big-endian machines. Deduplicate
5950 some code while on it.
5951 Reported by: Leif Lindholm.
5952
18866643
AB
59532013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5954
5955 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5956 as extra_dist.
5957
ca53deb8
AB
59582013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5959
5960 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5961
d4c4b8e1
BH
59622013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5963
5964 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5965 texinfo-5.1.
5966
47043f95
VS
59672013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/normal/term.c: Few more fixes for menu entry editor
5970 rendering.
5971 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5972
a3216068
VS
59732013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * grub-core/normal/term.c: Few more fixes for menu entry editor
5976 rendering.
5977 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5978
21026747
AB
59792013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5980
5981 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5982 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5983
59624ca8
AB
59842013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5985
5986 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5987 instead of hardcoding grub.mo.
5988
1f44478c
FN
59892013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5990
5991 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5992
eeada7b1
VS
59932013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5996 grub-core/disk/geli.c.
5997
132867de
VS
59982013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * util/grub-mkfont.c: Prefer enum to #define.
6001
de73de17
VS
60022013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6005
1865baa7
VS
60062013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6009
ce7d92a9
VS
60102013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6013
52eab656
VS
60142013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6017
98b23b95
VS
60182013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * include/grub/bsdlabel.h: Use enums.
6021
0467a5dd
VS
60222013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Move GRUB_CHAR_BIT to types.h.
6025
16cc9f03
AB
60262013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6027
6028 * docs/grub.texi: Document more user commands.
6029
3152aecb
AB
60302013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6031
6032 * docs/grub.texi: Document menuentry --id option.
6033
c506fc30
FL
60342013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6035
6036 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6037
aa428238
VS
60382013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 Unify file copying setup across different install scripts. Add
6041 options for performing partial install.
6042
efe0cdda
PJ
60432013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
60442013-04-04 Peter Jones <pjones@redhat.com>
6045
6046 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6047
f75835bd
VS
60482013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 Use TSC as a possible time source on i386-ieee1275.
6051
2cd5ce6c
VS
60522013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6055 Init err.
6056
c9625630
VS
60572013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * util/grub-setup.c (setup): Handle some corner cases.
6060
be008941
VS
60612013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6064
1a78d573
VS
60652013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * grub-core/commands/verify.c: Save verified file to avoid it being
6068 tampered with after verification was done.
6069
db8ff59f
VS
60702013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6073 reported width by one to compensate for curesor algorithm problem.
6074
91bf46b1
VS
60752013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 Fix screen corruption in menu entry editor and simplify the code
6078 flow while on it.
6079
a7b1d693
AB
60802013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
6081
6082 * util/grub-mount.c (fuse_init): Return error if fuse_main
6083 failed.
6084
31df9ad8
FL
60852013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
6086
6087 * include/grub/elf.h: Add missing ARM relocation codes and fix
6088 existing ones.
6089
07f392eb
VT
60902013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6091
6092 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6093
9efd73ec 60942013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
60952013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6098 into account when calculating radius.
6099
61002013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
6101
6102 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6103
4985ddaa
VT
61042013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6105
6106 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6107
8c3635ff
RS
61082013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6109
6110 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6111 missing closing bracket.
6112
74a35e69
RS
61132013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6114
6115 * INSTALL: Mention xorriso requirement.
6116
40f1c000
AB
61172013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
6118
6119 * grub-core/commands/verify.c: Fix hash algorithms values for
6120 the first three hashes - they start with 1, not with 0.
6121
e75fdee4
VS
61222013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
6125 Try terminating EFI services several times due to quirks in some
6126 implementations.
6127
33028f4c
CW
61282013-03-26 Colin Watson <cjwatson@ubuntu.com>
6129
6130 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
6131 skipping Event, Device, Processor, PowerRes, ThermalZone, and
6132 BankField extended opcodes.
6133 (get_sleep_type): Add minimal scope handling (just enough to
6134 handle setting the scope to the root path).
6135 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
6136 * include/grub/acpi.h: Add enumeration values for Event, Device,
6137 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
6138
33871a10
VT
61392013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
6140
6141 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
6142 memory leak.
6143
8990963a
VS
61442013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/disk/ahci.c: Give more time for AHCI request.
6147
daae8f9e
VS
61482013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
6151 command.
6152
6a7fb94b
VS
61532013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 Replace the region at 0 from coreboot tables to available in BSD
6156 memory map.
6157
ff99babd
VS
61582013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
6161 non-BIOS platforms.
6162
30d6b1b2
VS
61632013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
6166 platforms.
6167
6ccd0b31
VS
61682013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6171 handling of multi-device filesystems.
6172
23c9cc04
VS
61732013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
6176 platforms.
6177
ce50dbd7
VS
61782013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 Add new 'proc' filesystem framework and put luks_script into it.
6181
d975e8d5
VS
61822013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
6185 and qemu.
6186
e73ba5e8
VS
61872013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
6190
92750e4c
VS
61912013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 Add ability to generate newc additions on runtime.
6194
0ec45a68
VS
61952013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
6198 description.
6199
320abd43
VS
62002013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * po/POTFILES.in: Regenerate.
6203
d7a6506e
VS
62042013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/commands/verify.c (hashes): Add several hashes
6207 from the spec.
6208
8fe05def
VS
62092013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 Slight improve in USB-related boot-time checkpoints.
6212
524e2766
VS
62132013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * grub-core/commands/boottime.c: Fix copyright header.
6216
cc19857a
VS
62172013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6220 coreboot tables content. Support for cbmemc.
6221
ef8810e9
VS
62222013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 Fix a conflict between ports structures with 2 controllers of
6225 same kind.
6226
e9dabdfa
VS
62272013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * include/grub/boottime.h: Add missing file.
6230
f6df57d2
VS
62312013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 Initialize USB ports in parallel to speed-up boot.
6234
d745dda7
VS
62352013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 Fix USB devices not being detected when requested
6238 due to delayed attach.
6239
e5a2dd7b
VS
62402013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6241
e744219b
VS
6242 Implement boot time analysis framework.
6243
62442013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
6247 descriptor to just receive it as argument rather than endpoint
6248 address.
6249
5dd6f587
VS
62502013-03-19 Aleš Nesrsta <starous@volny.cz>
6251
6252 Better estimate the maximum USB transfer size.
6253
2f1071d5
VS
62542013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 Resend a packet if we got the wrong buffer in status.
6257
46ecfc49
VS
62582013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6261 multiplication rather than division.
6262
ea811130
VS
62632013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6266 than divisions.
6267
d2789cf0
VS
62682013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6271 operations to have intended shifts and not divisions.
6272
a9c94590
VS
62732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6276 intended shifts rather than division.
6277
84cfe81b
VS
62782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6281 computation for some years before epoch. Avode confusing division
6282 while on it.
6283
21344ef6
VS
62842013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/video/i386/pc/vbe.c
6287 (grub_video_vbe_print_adapter_specific_info): Replace division by
6288 shifts.
6289
3f2b4d1a
VS
62902013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Adjust types in gdb module to have intended unsigned shifts rather than
6293 signed divisions.
6294
3dac5878
VS
62952013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6298 maximum size is 4G - 1 on hfs
6299
5341c0fb
VS
63002013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6303
fc3ff2a2
VS
63042013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6307 function.
6308
81455e8e
AB
63092013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6310
6311 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6312 causing gcc error with gcc 4.7.1.
6313
efd4f117
NZ
63142013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6315
6316 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6317 dereference null pointer. While the code is technically correct, gcc
6318 may eliminate a null check if pointer is already dereferenced.
6319
e11645f4
NZ
63202013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6321
6322 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6323 OOM check.
6324 * grub-core/normal/term.c (read_terminal_list): Likewise.
6325
77468368
VS
63262013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 Lift up core size limits on some platforms. Fix potential memory
6329 corruption with big core on small memory systems. Document remaining
6330 limits.
6331
f6b58fe5
VS
63322013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6335 gotoxy to 0,0.
6336
19ce697d
VS
63372013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 Remove all trampoline support. Add -Wtrampolines when
6340 present. Remove symbols used for trampolines to make
6341 link fail if trampolines are present.
6342
73b5d90f
VS
63432013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6346 append out of its parent.
6347
cb758e96
VS
63482013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6351 parent.
6352
3188131f
VS
63532013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6356 all vars to a macro. All users updated.
6357
e42b2514
VS
63582013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6361 i386-ieee1275.
6362
83e1a1a1
VS
63632013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6366
1d5a880f
VS
63672013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6370
6e4146c4
VS
63712013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Move to more hookless approach in IEEE1275 devices handling.
6374
99fcda8a
VS
63752013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/kern/term.c (grub_term_normal_color),
6378 (grub_term_highlight_color): Add back lost defaults.
6379
73bf57e2
VS
63802013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 Make elfload not use hooks. Opt for flags and iterators instead.
6383
7f8c105f
VS
63842013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6387 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6388
396d4091
VS
63892013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6392
63932013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6396 hook pass-through parameter. All users updated and unnested.
6397
74a27421
VS
63982013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6401 out of its parent.
6402
b46d4213
VS
64032013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/fs/hfs.c: Remove nested functions.
6406
e114c3cc
VS
64072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6410 the context through.
6411 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6412
f9b7d780
VS
64132013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * util/grub-editenv.c (list_variables): Move print_var out of its
6416 parent.
6417
ca9c2608
VS
64182013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6421 function.
6422
5d983f5f
VS
64232013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/gentrigtables.c: Make tables const.
6426
3056d3e7
VS
64272013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 Remove nested functions from videoinfo iterators.
6430
e2303774
VS
64312013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6434 for 64-bit platforms.
6435
f42e3a2f
VS
64362013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6439 a FOR_CHILDREN macro.
6440
be174e5e
VS
64412013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6444 platform from firmware path.
6445
0789b672
VS
64462013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 Enable linux16 on non-BIOS systems for i.a. memtest.
6449
6450 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6451 correctly.
6452 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6453
005a9c32
VS
64542013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6457 Fix end of table condition.
6458
ff2b3cd9
VS
64592013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6462 out of its parent.
6463
4fc40ff8
VS
64642013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/fs/jfs.c: Remove nested functions.
6467
be42d97a
VS
64682013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/fs/minix.c: Remove nested functions.
6471
99373ce4
VS
64722013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/fs/iso9660.c: Remove nested functions.
6475
5aec2afe
VS
64762013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6479 of parent function.
6480
6c69e691
VS
64812013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * util/grub-fstest.c: Remove nested functions.
6484
43c91882
VS
64852013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * grub-core/loader/machoXX.c: Remove nested functions.
6488
4eb8b756
CW
64892013-02-27 Colin Watson <cjwatson@ubuntu.com>
6490
6491 Remove nested functions from disk and file read hooks.
6492
6493 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6494 (struct grub_disk): Add read_hook_data member.
6495 * include/grub/file.h (struct grub_file): Likewise.
6496 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6497 argument.
6498
6499 Update all callers.
6500
df6da5a5
AB
65012012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6502
6503 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6504 Fix off by one error in enumerating extended partitions.
6505
21aecde5
AB
65062013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6507
6508 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6509 memory leak if device name is not found.
6510
f1a19118
AB
65112013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6512
6513 * grub-core/normal/menu_entry.c (update_screen): remove
6514 unused variable `off' which caused scroll down arrow to be always shown.
6515
958bfd20
AB
65162013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6517
6518 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6519 access to unallocated memory.
6520
b7b78edb
AB
65212013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6522
6523 * Makefile.util.def: Add partmap/msdos.c to common library.
6524 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6525 * grub-core/disk/ldm.c: Check for existence of
6526 GRUB_PC_PARTITION_TYPE_LDM.
6527
28d468d6
VS
65282013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6531 sizes and display sector size.
6532
d55ffb02
VS
65332013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 Implement new command cmosdump.
6536
b5ea6ce0
VS
65372013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6538
6539 Support Openfirmware disks with non-512B sectors.
6540
6541 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6542 size of the disk.
6543 * (grub_ofdisk_get_block_size): New function.
6544 * (grub_ofdisk_prepare): Use the correct block size.
6545 * (grub_ofdisk_read): Likewise.
6546 * (grub_ofdisk_write): Likewise.
6547 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6548 New proto.
6549
cc0e476f
VS
65502013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6553
c5dbdc33
VS
65542013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6557 on first error.
6558
3f078c0f
VS
65592013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6562 freeing it.
6563
66a93674
VS
65642013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 Implement USBDebug (full USB stack variant).
6567
c9f0c134
VS
65682013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6571 unless they have unexpected values.
6572
cfe1288b
VS
65732013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6576 grub_print_error.
6577
e42b9969
VS
65782013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6581 zero-out of port structure.
6582
cf94fd62
VS
65832013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6586 of extended attributes.
6587
f81ef4b5
AB
65882013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6589
6590 * util/grub-install.in: change misleading comment about
6591 device.map creation
6592
af18fdb4
VS
65932013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6596 when menu highlight color isn't set.
6597
08bcec50
M
65982013-01-27 C. Masloch <pushbx@38.de>
6599
6600 Improve FreeDOS direct loading support compatibility.
6601
6602 * include/grub/i386/relocator.h (grub_relocator16_state):
6603 New member ebp.
6604 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6605 variable.
6606 (grub_relocator16_boot): Handle %ebp.
6607 * grub-core/lib/i386/relocator16.S: Likewise.
6608 * grub-core/loader/i386/pc/freedos.c:
6609 Load BPB to pass kernel which partition to load from.
6610 Check that kernel file is not too large.
6611 Set register dl to BIOS unit number as well.
6612
7782b8a6
CW
66132013-01-22 Colin Watson <cjwatson@ubuntu.com>
6614
6615 * util/grub-reboot.in (usage): Document the need for
6616 GRUB_DEFAULT=saved.
6617 * util/grub-set-default.in (usage): Likewise.
6618 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6619
e661c180
VS
66202013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6623 than defining WORDS_BIGENDIAN manually.
6624
1c22ca9a
VS
66252013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6628 invariants.
6629
d44892fe
CW
66302013-01-21 Colin Watson <cjwatson@ubuntu.com>
6631
6632 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6633 nested.
6634 (blit_comb: add_device_width): Likewise.
6635
5fdbaed1
CW
66362013-01-21 Colin Watson <cjwatson@ubuntu.com>
6637
6638 Remove nested functions from USB iterators.
6639
6640 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6641 (grub_usb_controller_iterate_hook_t): Likewise.
6642 (grub_usb_iterate): Add hook_data argument.
6643 (grub_usb_controller_iterate): Likewise.
6644 (struct grub_usb_controller_dev.iterate): Likewise.
6645
6646 Update all implementations and callers.
6647
4250985a
VS
66482013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6651 margin when not needed.
6652
7d8848f3
VS
66532013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6654
bc136973 6655 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6656
66572013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6658
bc136973
VS
6659 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6660 asterisk.
7d8848f3 6661
ed12a003
CW
66622013-01-21 Colin Watson <cjwatson@ubuntu.com>
6663
6664 Fix powerpc and sparc64 build failures caused by un-nesting memory
6665 map iterators.
6666
6a0db449
CW
66672013-01-21 Colin Watson <cjwatson@ubuntu.com>
6668
6669 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6670 parameter declarations.
6671
ccd86b21
VS
66722013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6675
822b726b
VS
66762013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 Improve spkmomdem reliability by adding a separator between bytes.
6679
115c2cc1
CW
66802013-01-21 Colin Watson <cjwatson@ubuntu.com>
6681
6682 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6683 an Acer registration utility with several sightings in the wild.
6684 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6685
fc524edf
CW
66862013-01-21 Colin Watson <cjwatson@ubuntu.com>
6687
6688 Remove nested functions from filesystem directory iterators.
6689
6690 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6691 (struct grub_fs.dir): Add hook_data argument.
6692
6693 Update all implementations and callers.
6694
53d3e4e3
CW
66952013-01-21 Colin Watson <cjwatson@ubuntu.com>
6696
6697 * docs/grub.texi (Multi-boot manual config): Fix typo for
6698 "recommended".
6699
c821711f
LL
67002013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6701
6702 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6703 until after its use in generate_image.
6704
6a0debbd
CW
67052013-01-20 Colin Watson <cjwatson@ubuntu.com>
6706
6707 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6708 initrd size to addr_min, since the initrd will be allocated after
6709 this address.
6710
f41e08db
AB
67112013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6712
6713 * conf/Makefile.common: Fix autogen rules to pass definition
6714 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6715
77529e0f
LL
67162013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6717
6718 * include/grub/elf.h: Update ARM definitions based on binutils.
6719
b879aa7b
VS
67202013-01-20 Aleš Nesrsta <starous@volny.cz>
6721
6722 Split long USB transfers into short ones.
6723
8eb8284d
AB
67242013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6725
6726 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
6727 is interrupted by ESC.
6728
08dad2dc
VS
67292013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * util/grub-script-check.c (main): Uniform the error message.
6732
6c724b85
CW
67332013-01-20 Colin Watson <cjwatson@ubuntu.com>
6734
6735 Remove nested functions from ELF iterators.
6736
25239370
CW
67372013-01-20 Colin Watson <cjwatson@ubuntu.com>
6738
6739 Remove nested functions from device iterators.
6740
6741 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
6742 (grub_arc_iterate_devs): Add hook_data argument.
6743 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
6744 (struct grub_ata_dev.iterate): Add hook_data argument.
6745 * include/grub/device.h (grub_device_iterate_hook_t): New type.
6746 (grub_device_iterate): Add hook_data argument.
6747 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
6748 (struct grub_disk_dev.iterate): Add hook_data argument.
6749 (grub_disk_dev_iterate): Likewise.
6750 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
6751 Likewise.
6752 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
6753 Likewise.
6754 * include/grub/partition.h (grub_partition_iterate_hook_t): New
6755 type.
6756 (struct grub_partition_map.iterate): Add hook_data argument.
6757 (grub_partition_iterate): Likewise.
6758 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
6759 (struct grub_scsi_dev.iterate): Add hook_data argument.
6760
6761 Update all callers.
6762
6c0314d6
CW
67632013-01-20 Colin Watson <cjwatson@ubuntu.com>
6764
6765 Fix typos for "developer" and "development".
6766
600dc5f1
VS
67672013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 Add license header to spkmodem-recv.c.
6770
17334a6b
VS
67712013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 Rewrite spkmodem to use PIT for timing. Double the speed.
6774
7d462559
VS
67752013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 Add new command pcidump.
6778
b78d6c32
VS
67792013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 New terminal outputs using serial: morse and spkmodem.
6782
34f71cb8
VS
67832013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 Improve bidi handling in entry editor.
6786
4542e71b
VS
67872013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6790 argument to prevent name collision.
6791
09fd6d82
CW
67922013-01-15 Colin Watson <cjwatson@ubuntu.com>
6793
6794 Remove nested functions from script reading and parsing.
6795
6796 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
6797 getline_data argument, passed to getline.
6798 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
6799 getline_data argument, passed to grub_parser_split_cmdline.
6800 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
6801 lexerstate->getline_data to lexerstate->getline.
6802 (grub_script_lexer_init): Add getline_data argument, saved in
6803 lexerstate->getline_data.
6804 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
6805 argument, passed to grub_script_parse.
6806 * grub-core/script/script.c (grub_script_parse): Add getline_data
6807 argument, passed to grub_script_lexer_init.
6808 * include/grub/parser.h (grub_parser_split_cmdline): Update
6809 prototype. Update all callers to pass appropriate getline data.
6810 (struct grub_parser.parse_line): Likewise.
6811 (grub_rescue_parse_line): Likewise.
6812 * include/grub/reader.h (grub_reader_getline_t): Add void *
6813 argument.
6814 * include/grub/script_sh.h (struct grub_lexer_param): Add
6815 getline_data member.
6816 (grub_script_parse): Update prototype. Update all callers to pass
6817 appropriate getline data.
6818 (grub_script_lexer_init): Likewise.
6819 (grub_normal_parse_line): Likewise.
6820
6821 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
6822 data argument.
6823 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
6824 static instead of nested. Rename to ...
6825 (grub_parser_execute_getline): ... this.
6826 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
6827 data argument.
6828 * grub-core/normal/main.c (read_config_file: getline): Make static
6829 instead of nested. Rename to ...
6830 (read_config_file_getline): ... this.
6831 (grub_normal_read_line): Add unused data argument.
6832 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6833 getline): Make static instead of nested. Rename to ...
6834 (grub_script_execute_sourcecode_getline): ... this.
6835 * util/grub-script-check.c (main: get_config_line): Make static
6836 instead of nested.
6837
d0d4b8a0
CW
68382013-01-15 Colin Watson <cjwatson@ubuntu.com>
6839
6840 Remove nested functions from memory map iterators.
6841
6842 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6843 argument, passed to hook.
6844 * grub-core/kern/i386/coreboot/mmap.c
6845 (grub_linuxbios_table_iterate): Likewise.
6846 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6847 instead of nested.
6848 (grub_machine_mmap_iterate): Add hook_data argument.
6849 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6850 Add hook_data argument, passed to hook.
6851 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6852 Likewise.
6853 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6854 Likewise.
6855 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6856 Likewise.
6857 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6858 Likewise.
6859 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6860 Likewise.
6861 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6862 Likewise.
6863 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6864 (grub_machine_mmap_iterate): Likewise.
6865 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6866 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6867 prototype.
6868 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6869 Remove NESTED_FUNC_ATTR from here and from all users.
6870 (grub_mmap_iterate): Update prototype.
6871 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6872 pass appropriate hook data.
6873 (grub_machine_mmap_iterate): Likewise.
6874
6875 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6876 static instead of nested.
6877 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6878 Rename to ...
6879 (lsmmap_hook): ... this.
6880 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6881 Likewise.
6882 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6883 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6884 heap_init): Likewise.
6885 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6886 Rename to ...
6887 (mmap_iterate_hook): ... this.
6888 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6889 Likewise.
6890 * grub-core/lib/ieee1275/relocator.c
6891 (grub_relocator_firmware_get_max_events: count): Likewise.
6892 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6893 to ...
6894 (grub_relocator_firmware_fill_events_iter): ... this.
6895 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6896 hook): Likewise. Rename to ...
6897 (grub_relocator_alloc_chunk_align_iter): ... this.
6898 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6899 Rename to ...
6900 (generate_e820_mmap_iter): ... this.
6901 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6902 Rename to ...
6903 (count_hook): ... this.
6904 (grub_linux_boot: hook): Likewise. Rename to ...
6905 (grub_linux_boot_mmap_find): ... this.
6906 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6907 (grub_linux_boot_mmap_fill): ... this.
6908 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6909 hook): Likewise. Rename to ...
6910 (grub_fill_multiboot_mmap_iter): ... this.
6911 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6912 hook): Likewise. Rename to ...
6913 (count_hook): ... this.
6914 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6915 hook): Likewise. Rename to ...
6916 (grub_fill_multiboot_mmap_iter): ... this.
6917 * grub-core/loader/powerpc/ieee1275/linux.c
6918 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6919 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6920 Likewise. Rename to ...
6921 (alloc_phys_choose): ... this.
6922 (determine_phys_base: get_physbase): Likewise.
6923 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6924 find_hook): Likewise.
6925 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6926 (malloc_hook: count_hook): Likewise.
6927 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6928 Likewise. Rename to ...
6929 (lower_hook): ... this.
6930 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6931 (upper_hook): ... this.
6932 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6933 (post64_hook): ... this.
6934 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6935 Likewise. Rename to ...
6936 (lower_hook): ... this.
6937 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6938 (upper_hook): ... this.
6939 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6940 (grub_mmap_iterate: fill_hook): Likewise.
6941 (fill_mask): Pass addr and mask within a single struct.
6942 (grub_cmd_badram: hook): Make static instead of nested. Rename
6943 to ...
6944 (badram_iter): ... this.
6945 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6946 (cutmem_iter): ... this.
6947
22099030
VS
69482013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6951 delimit path in strings using quotes.
6952 * util/getroot.c (grub_guess_root_devices): Likewise.
6953 (grub_make_system_path_relative_to_its_root): Likewise.
6954 * util/grub-probe.c (probe): Likewise.
6955 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6956 (xrealpath): Likewise.
6957
4a9950ec
VS
69582013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 Fix compilation with older compilers.
6961
6962 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6963 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6964 declarations.
6965 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6966 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6967 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6968 identifier with b.
6969 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6970 * include/grub/crypto.h: Add type defines.
6971 * util/import_gcrypth.sed: Remove duplicate type defines.
6972
adcc6020
VS
69732013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 New command list_trusted.
6976
6977 * grub-core/commands/verify.c (grub_cmd_list): New function.
6978
a4528937
CW
69792013-01-13 Colin Watson <cjwatson@ubuntu.com>
6980
6981 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6982 info message.
6983
ca3a7446
CW
69842013-01-13 Colin Watson <cjwatson@ubuntu.com>
6985
6986 Remove nested functions from PCI iterators.
6987
6988 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6989 passed to hook. Update all callers to pass appropriate hook data.
6990 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6991 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6992 Remove NESTED_FUNC_ATTR from here and from all users.
6993 (grub_pci_iterate): Update prototype.
6994 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6995 instead of nested. Rename to ...
6996 (grub_cs5536_find_iter): ... this.
6997 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6998 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6999 Likewise.
7000 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7001 Likewise.
7002 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7003 Likewise.
7004 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7005 Likewise.
7006 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7007 * grub-core/video/radeon_fuloong2e.c
7008 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7009 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7010 find_card): Likewise.
7011 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7012 Likewise.
7013
f8e98fee
VS
70142013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * grub-core/commands/verify.c: Mark messages for translating.
7017
055b36b6
VS
70182013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7021 fatal.
7022
f7ff879b
VS
70232013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7026 fatal.
7027
70282013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
7029
7030 * autogen.sh: Do not try to delete nonexistant files.
7031 * util/import_gcrypth.sed: Add some missing header removals.
7032
01323d49
CW
70332013-01-12 Colin Watson <cjwatson@ubuntu.com>
7034
7035 Clean up dangling references to grub-setup.
7036 Fixes Ubuntu bug #1082045.
7037
7038 * docs/grub.texi (Images): Refer generally to grub-install rather
7039 than directly to grub-setup.
7040 (Installing GRUB using grub-install): Remove direct reference to
7041 grub-setup.
7042 (Device map) Likewise.
7043 (Invoking grub-install): Likewise.
7044 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7045 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7046 * util/grub-install.in (usage): Likewise.
7047
7048 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7049 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7050 grub-setup.
7051 * configure.ac: Remove grub_setup output variable.
7052
7053 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7054 to grub-bios-setup.
7055 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7056 grub-setup to grub-sparc64-setup.
7057
5e3b8dcb
VS
70582013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 Import gcrypt public-key cryptography and implement signature checking.
7061
535714bd
VS
70622013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/fs/ntfs.c: Ue more appropriate types.
7065 * grub-core/fs/ntfscomp.c: Likewise.
7066 * include/grub/ntfs.h: Likewise.
7067
3e4f3566
VS
70682013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 Support Apple FAT binaries on non-Apple platforms.
7071
7072 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7073 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7074 Likewise.
7075 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7076 Apple FAT binaries.
7077
4dedb13f
VS
70782013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
7081 sector devices.
7082
f8861eaf
CW
70832013-01-07 Colin Watson <cjwatson@ubuntu.com>
7084
7085 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
7086 explicitly zeroing elements.
7087 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
7088 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7089 of elements in a structure already allocated using grub_zalloc.
7090 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7091
86065b0a
CW
70922013-01-07 Colin Watson <cjwatson@ubuntu.com>
7093
7094 * docs/grub.texi (grub_cpu): New subsection.
7095 (grub_platform): Likewise.
7096
c6f1e92f
VS
70972013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7100
f797ec85
VS
71012013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7104 divisions.
7105
033d0b4b
VS
71062013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7109 * grub-core/fs/ntfscomp.c: Likewise.
7110 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7111 (grub_ntfs_comp): Likewise.
7112
21d1b9a0
VS
71132013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
7116 Rename to ...
7117 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
7118 of groups_per_block. All users updated.
7119
10ca8645
VS
71202013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
7123 grub_error properly.
7124 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
7125 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
7126
a4c3ed4c
VS
71272013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
7130 always in /boot/zfs.
7131 Reported by: Yuta Satoh.
7132
0b716507
YS
71332013-01-03 Yuta Satoh <nigoro>
7134
7135 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
7136 ${grub_probe}
7137
00c05e22
VS
71382013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * configure.ac: Extend -Wno-trampolines to host.
7141
dadddb76
VS
71422013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
7145 entry->len = 0.
7146
54ce53ca
CW
71472013-01-03 Colin Watson <cjwatson@ubuntu.com>
7148
7149 * docs/grub.texi (Invoking grub-mkrelpath): New section.
7150 (Invoking grub-script-check): Likewise.
7151
8912efca
CW
71522013-01-03 Colin Watson <cjwatson@ubuntu.com>
7153
7154 * docs/grub.texi (Invoking grub-mount): New section.
7155 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
7156
c3fc8394
CW
71572013-01-02 Colin Watson <cjwatson@ubuntu.com>
7158
7159 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
7160 test failures, so that a failing unit test correctly causes 'make
7161 check' to fail.
7162
45d26abb
CW
71632013-01-02 Colin Watson <cjwatson@ubuntu.com>
7164
7165 Fix failing printf test.
7166
7167 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
7168 '$' in the correct order when collecting type information.
7169
971dd2c6
CW
71702013-01-02 Colin Watson <cjwatson@ubuntu.com>
7171
7172 * docs/grub.texi (configfile): Explain environment variable
7173 handling.
7174 (source): New section.
7175 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
7176
5c67ea6c
CW
71772012-12-31 Colin Watson <cjwatson@ubuntu.com>
7178
7179 Remove several trivially-unnecessary uses of nested functions.
7180
7181 * grub-core/commands/i386/pc/sendkey.c
7182 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
7183 instead of nested.
7184 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
7185 Rename to ...
7186 (legacy_file_getline): ... this.
7187 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
7188 Likewise.
7189 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
7190 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
7191 to ...
7192 (probe_dummy_iter): ... this.
7193 * grub-core/kern/i386/coreboot/mmap.c
7194 (grub_linuxbios_table_iterate: check_signature): Likewise.
7195 * grub-core/kern/parser.c (grub_parser_split_cmdline:
7196 check_varstate): Likewise. Mark inline.
7197 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
7198 an additional parameter.
7199 (find_long: fnd_long): Likewise. Pass two additional parameters.
7200 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7201 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7202 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7203 Likewise. Rename to ...
7204 (grub_cmos_find_port_iter): ... this.
7205 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7206 Rename to ...
7207 (find_rtc_iter): ... this.
7208
7209 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7210 function directly into the function body, since it is only called
7211 once.
7212
33a68ac6
CW
72132012-12-30 Colin Watson <cjwatson@ubuntu.com>
7214
7215 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7216 __attribute__ ((unused)).
7217 * grub-core/video/bochs.c (find_card): Likewise.
7218 * grub-core/video/cirrus.c (find_card): Likewise.
7219 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7220 * grub-core/video/sis315pro.c (find_card): Likewise.
7221 * grub-core/video/sm712.c (find_card): Likewise.
7222
608b647a
CW
72232012-12-28 Colin Watson <cjwatson@ubuntu.com>
7224
7225 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7226 Fixes Savannah bug #37821.
7227
fd49ceb3
CW
72282012-12-28 Colin Watson <cjwatson@ubuntu.com>
7229
7230 Apply program name transformations at build-time rather than at
7231 run-time. Fixes Debian bug #696465.
7232
7233 * acinclude.m4 (grub_TRANSFORM): New macro.
7234 * configure.ac: Create output variables with transformed names for
7235 most programs.
7236 * util/bash-completion.d/grub-completion.bash.in: Use
7237 pre-transformed variables for program names.
7238 * util/grub-install.in: Likewise.
7239 * util/grub-kbdcomp.in: Likewise.
7240 * util/grub-mkconfig.in: Likewise.
7241 * util/grub-mkconfig_lib.in: Likewise.
7242 * util/grub-mknetdir.in: Likewise.
7243 * util/grub-mkrescue.in: Likewise.
7244 * util/grub-mkstandalone.in: Likewise.
7245 * util/grub-reboot.in: Likewise.
7246 * util/grub-set-default.in: Likewise.
7247 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7248 * tests/util/grub-shell-tester.in: Remove unused assignment.
7249 * tests/util/grub-shell.in: Likewise.
7250 * util/grub.d/00_header.in: Likewise.
7251
7024b3c0
CW
72522012-12-28 Colin Watson <cjwatson@ubuntu.com>
7253
7254 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7255
7256 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7257 HAVE_RAW_DECL_GETS.
7258 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7259
e3501b13
VS
72602012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7263 Reported by: Eriks Latosheks <foresterlv>.
7264
b40c88a9
VS
72652012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * docs/grub.texi (Network): Update instructions on generating netboot
7268 image.
7269
ce96d01c
VS
72702012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7273 around device name if necessarry.
7274
0f596201
PFS
72752012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7276
7277 * util/grub-install.in: Follow the symbolic link parameter added
7278 to the file command.
7279
600d5bdb
AB
72802012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7281
7282 * util/grub-install.in: Remove stale TODO.
7283
64ebd2f4
PFS
72842012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7285
7286 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7287 dynamic allocation for the bootpath buffer.
7288
74b2fe3e
DTB
72892012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7290
7291 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7292 window too small.
7293
969b804f
VS
72942012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7297 argument rather than font name. All users updated.
7298 (grub_gfxterm_set_window): Likewise.
7299
b9f5ebd6
VT
73002012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7301
7302 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7303 from working.
7304
258f43b7
VS
73052012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * util/getroot.c (convert_system_partition_to_system_disk): Support
7308 nbd disks.
7309
cc1ce5f9
VS
73102012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7313 infinite loop on corrupted FS.
7314
e77a16ca
VS
73152012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 Fix big-endian mtime.
7318
7319 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7320 together sec and usec.
7321 (grub_ufs_dir): Use correct byteswapping for UFS time.
7322
d9c48c7b
VS
73232012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 Support big-endian UFS1.
7326
7327 * Makefile.util.def (libgrubmods): Add ufs_be.c
7328 * grub-core/Makefile.core.def (ufs1_be): New module.
7329 * grub-core/fs/ufs_be.c: New file.
7330 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7331 the file.
7332
2f9f40ba
LL
73332012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7334
7335 * include/grub/types.h: Fix functionality unaffecting typo in
7336 GRUB_TARGET_WORDSIZE conditional macro.
7337
48ff0889
PFS
73382012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7339
7340 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7341
03711240
GS
73422012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7343
7344 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7345 that /netbsd appears first (when it exists).
7346
a31b11bd
CJ
73472012-10-12 Christoph Junghans <ottxor@gentoo.org>
7348
7349 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7350 Fixes Savannah bug #37558.
7351
e8a5d5d4
CW
73522012-10-12 Colin Watson <cjwatson@ubuntu.com>
7353
7354 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7355 description of extract_entries_configfile.
7356
73572012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7358
7359 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7360 preferred_address.
7361 (grub_cmd_linux): Likewise.
7362 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7363 preferred_lifetime. Update all users.
7364
288c757d
CW
73652012-09-26 Colin Watson <cjwatson@ubuntu.com>
7366
7367 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7368 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7369
0d35da3f
CW
73702012-09-26 Colin Watson <cjwatson@ubuntu.com>
7371
7372 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7373 errors from grub-probe to /dev/null, not stdout.
7374
b78c3127
VS
73752012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7378 sector 1.
7379
473959f0
CW
73802012-09-24 Colin Watson <cjwatson@ubuntu.com>
7381
7382 * util/grub-install.in: Make the error message if $source_dir
7383 doesn't exist more useful.
7384
794c8c33
CW
73852012-09-22 Colin Watson <cjwatson@ubuntu.com>
7386
7387 Fix grub-emu build on FreeBSD.
7388
7389 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7390 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7391 headers on Linux.
7392 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7393 implementation is currently Linux-specific.
7394 * util/getroot.c (exec_pipe): Define only on Linux or when either
7395 libzfs or libnvpair is unavailable.
7396 (find_root_devices_from_poolname): Remove unused path variable.
7397
86d08fdb
CW
73982012-09-19 Colin Watson <cjwatson@ubuntu.com>
7399
7400 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7401 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7402 should fit before end == 63.
7403
735abf54
CW
74042012-09-19 Colin Watson <cjwatson@ubuntu.com>
7405
7406 * util/grub-setup.c (write_rootdev): Remove unused core_img
7407 parameter. Update all callers.
7408 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7409 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7410 GRUB_SETUP_BIOS.
7411
140acd3c
VS
74122012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7415 (grub_add_tab): New function.
7416 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7417 * util/grub.d/10_illumos.in: Likewise.
7418 * util/grub.d/10_kfreebsd.in: Likewise.
7419 * util/grub.d/10_linux.in: Likewise.
7420 * util/grub.d/10_netbsd.in: Likewise.
7421 * util/grub.d/10_windows.in: Likewise.
7422 * util/grub.d/10_xnu.in: Likewise.
7423 * util/grub.d/20_linux_xen.in: Likewise.
7424 * util/grub.d/30_os-prober.in: Likewise.
7425
7ddffdad
VS
74262012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7429 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7430 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7431 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7432 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7433 ieee1275-nocursor.
7434 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7435 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7436
4e092454
VS
74372012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7440 le-conversion.
7441 Reported by: BURETTE, Bernard.
7442
735abf54 74432012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7444
7445 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7446 from comment.
7447
dfd39dbd
CW
74482012-09-14 Colin Watson <cjwatson@ubuntu.com>
7449
7450 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7451 IEEE1275 machines. Fixes powerpc-emu compilation.
7452 * include/grub/terminfo.h: Likewise.
7453
3bfa763c
VS
74542012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7457 a const pointer.
7458 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7459 const pointer.
7460 (efiemu_set_variable): Make vendor_guid a const pointer.
7461
250e475b
VS
74622012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 Don't require grub-mkconfig_lib to generate manpages for programs.
7465
7466 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7467 dependencies, don't add grub-mkconfig_lib.
7468 (program): Pass empty adddeps.
7469 (script): Pass grub-mkconfig_lib as adddeps.
7470
592fd0e4
VS
74712012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7474 * util/getroot.c (grub_find_device): Likewise.
7475 (get_mdadm_uuid): Likewise.
7476 (grub_util_is_imsm): Likewise.
7477 (grub_util_pull_device): Likewise.
7478 * util/grub-probe.c (probe): Likewise.
7479
801a3027
BG
74802012-09-10 Benoit Gschwind <gschwind>
7481
7482 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7483 (devs): Add devpath_8.
7484
c5052c81
PJ
74852012-09-08 Peter Jones <pjones@redhat.com>
7486
7487 * grub-core/Makefile.core.def (efifwsetup): New module.
7488 * grub-core/commands/efi/efifwsetup.c: New file.
7489 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7490 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7491 New define.
7492 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7493
8e832f71
JS
74942012-09-05 Jiri Slaby <jslaby@suse.cz>
7495
7496 * configure.ac: Add SuSe path.
7497
f0f55752
CW
74982012-09-05 Colin Watson <cjwatson@ubuntu.com>
7499
7500 * NEWS: Fix typo.
7501
ecadc4c2
CW
75022012-09-05 Colin Watson <cjwatson@ubuntu.com>
7503
7504 * util/import_gcry.py: Sort cipher_files, to make build system
7505 generation more deterministic.
7506
64498f25
VS
75072012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7510 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7511 (grub_set_datetime): Likewise.
7512
9cc836a2
VS
75132012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7516 warnings.
7517
bcfcea01
VS
75182012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7521
a4099485
VS
75222012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7525
265c162a
CW
75262012-09-04 Colin Watson <cjwatson@ubuntu.com>
7527
7528 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7529 required for checkouts from bzr, but it may be useful for users or
7530 distributors wishing to update translations against a tarball
7531 distribution, and it can be helpful for the tarball to be a superset
7532 of what's in bzr.
7533
3d171e95
CW
75342012-09-04 Colin Watson <cjwatson@ubuntu.com>
7535
7536 * Makefile.am (EXTRA_DIST): Add
7537 grub-core/tests/boot/linux.init-mips.S,
7538 grub-core/tests/boot/linux.init-ppc.S, and
7539 grub-core/tests/boot/linux-ppc.cfg.
7540
f2c2503e
CW
75412012-09-04 Colin Watson <cjwatson@ubuntu.com>
7542
7543 * grub-core/mmap/mips/loongson: Remove empty directory.
7544
75452012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7546
7547 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7548 gone.
7549
ab2163d5
CW
75502012-09-04 Colin Watson <cjwatson@ubuntu.com>
7551
7552 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7553 grub-sparc64-setup.
7554
ce938140
GS
75552012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7556
7557 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7558
529f58a5
GS
75592012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7560
7561 * po/POTFILES.in: Regenerated.
7562
16cf79e9
GS
75632012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7564
7565 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7566 (NetBSD): New subsection.
7567
39b27f1e 75682012-07-22 Ales Nesrsta <starous@volny.cz>
7569
7570 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7571 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7572
a885261b
VS
75732012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7576 * util/grub.d/10_hurd.in: Add missing quoting.
7577 * util/grub.d/10_illumos.in: Likewise.
7578 * util/grub.d/10_kfreebsd.in: Likewise.
7579 * util/grub.d/10_linux.in: Likewise.
7580 * util/grub.d/20_linux_xen.in: Likewise.
7581
7bd29c01
VS
75822012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 New command `lsefi'.
7585
7586 * grub-core/Makefile.core.def (lsefi): New module.
7587 * grub-core/commands/efi/lsefi.c: New file.
7588 * include/grub/efi/api.h: Add more GUIDs.
7589
ac625d8f
VS
75902012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7593 (grub_bsd_elf32_hook): Likewise.
7594 (grub_bsd_elf64_size_hook): Likewise.
7595 (grub_bsd_elf64_hook): Likewise.
7596 (grub_bsd_load_elf): Likewise.
7597
e73bb801
VS
75982012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7601 if hash function is unavailable.
7602 (dec_stream_header): Likewise.
7603
e81db8b5
VS
76042012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7607 filter state.
7608
d187a1c3
VS
76092012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 Fix coreboot compilation.
7612
7613 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7614 (grub_vga_text_init_real): ... this.
7615 (grub_vga_text_fini): Rename to ...
7616 (grub_vga_text_fini_real): ... this.
7617
91a05f64
VS
76182012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7621
6af96df7
VS
76222012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/lib/legacy_parse.c: Support clear and testload.
7625
4d569e12
VS
76262012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7629
073b57bb
VS
76302012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7633
a706f4cc
VS
76342012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * grub-core/net/tftp.c (ack): Fix endianness problem.
7637 (tftp_receive): Likewise.
7638 Reported by: Michael Davidsaver.
7639
e7850aa9
VS
76402012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7643
76442012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7647 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7648 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7649
35692881
VS
76502012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7653 efi_mmap_size.
7654 Reported by: Stuart Hayes.
7655
c35fc5bd
VS
76562012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7659
7660 * grub-core/Makefile.core.def (mda_text): New module.
7661 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7662 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7663 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7664 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7665 here.
7666 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7667 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7668 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7669 here.
7670 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7671 to ..
7672 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7673 ... here
7674 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7675 here.
7676 * grub-core/term/i386/vga_common.c: Removed.
7677 * include/grub/i386/vga_common.h: Likewise.
7678 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7679 (grub_vga_cr_bw_read): Likewise.
7680 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7681 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7682 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7683 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7684 grub_vga_cr_read/grub_vga_cr_write.
7685 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7686
5f91f701
VS
76872012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * configure.ac: Bump version to 2.00.
7690 * grub-core/normal/main.c (features): Add feature_200_final.
7691
0c4f85f6
VS
76922012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
76932012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7694
7695 * NEWS: Fix unclarity and language mistakes.
7696
f923ad22
VS
76972012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7700 additional size to 3 pages.
7701 Reported by: Stuart Hayes.
7702
d22029ba
VS
77032012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * NEWS: Add 2.00 entry.
7706
58eee08f
VS
77072012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7710 put explicit "/" for empty path.
7711 (wildcard_expand): Improve dprintf.
7712
c59bdff7
VS
77132012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7716 it's equal to currnode. This can happen with "" symlink.
7717
5e6a440a
YB
77182012-06-27 Yves Blusseau <blusseau@zetam.org>
7719
7720 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
7721 echo shell command by printf command.
7722
73a68bcb
VS
77232012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
7726 the value returned by firmware is the maximal position, not diumension.
7727 (grub_terminfo_output_state): Use a more sane fallback.
7728
392a603b
VS
77292012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
7732
42d0867f
VS
77332012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
7736 frequency to 150 MHz.
7737
489509f4
VS
77382012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 Apple fixes.
7741
7742 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
7743 __APPLE_
7744 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
7745 definition.
7746 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
7747
9f3fc883
VS
77482012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 Handle slash in HFS label.
7751
7752 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
7753 (grub_hfs_dir): Tanslate slash.
7754 (grub_hfs_label): Don't translate slash.
7755
54853fd7
VS
77562012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
7759 network protocol listing since it introduces problematic dependency on
7760 net module.
7761
4dc02ddf
VS
77622012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
7765
c50c867d
VS
77662012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 Init video early on yeeloong to avoid being rebooted by watchdog.
7769
7770 * grub-core/Makefile.am (gensm712): New target.
7771 (sm712_start.S): Likewise.
7772 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
7773 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
7774 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
7775 description.
7776 * include/grub/vga.h: Move registry definitions to...
7777 * include/grub/vgaregs.h: ... here.
7778
5f92c8a1
VS
77792012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
7782 signedness.
7783
e9e6f111
VS
77842012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
7787 platforms with firmware disk drivers in the core.
7788
754ad9eb
VS
77892012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
7792 informative verbose message.
7793 (read_lv): Handle 64-bit segment size.
7794
315654c2
VS
77952012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
7798
fb022c79
VS
77992012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
7802 character but still remove trainling spaces.
7803 (grub_fat_label): Ignore archive flag.
7804
8645f72c
VS
78052012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
7808 cast between linux_kernel_header and linux_kernel_params.
7809
36498496
VS
78102012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
7813 type for size.
7814 (grub_raid6_recover_func_t): Likewise.
7815 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
7816 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7817
0b5ea6b8
VS
78182012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
7821
650cfcfe
GS
78222012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
7823
7824 Fix overflow.
7825
7826 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
7827 [__NetBSD__]: Add explicit cast before bitshift.
7828
8a4d6a44
VS
78292012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * configure.ac: Bump to 2.00~rc1.
7832
2fb97ed3
VS
78332012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7836 half of $a0.
7837
1fa097dc
VS
78382012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
78392012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7840
7841 * docs/grub.texi: Fix search syntax.
7842 (Multi-boot manual config): Put msdos rather than GPT example.
7843 Grammar corrections.
7844
c890ba78
VS
78452012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7848
0f92dca7
VS
78492012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7852
3988c4a0
VS
78532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7856 message on double free. Put the value of magic in case of mismatch.
7857
9e86d4c5
VS
78582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 Speed-up video on yeeloong.
7861
7862 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7863 add cached_ptr.
7864 (grub_video_sm712_video_fini): Unmap cached_ptr.
7865 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7866 (grub_video_sm712_set_active_render_target): Removed.
7867 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7868 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7869 sync caches.
7870
ed24c312
VS
78712012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 Avoid flushing the same line multiple times on loongson.
7874
7875 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7876 Step in 32 bytes and not 1 byte.
7877 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7878 Likewise.
7879
d1718e7d
VS
78802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7883 subvolumes.
7884
982f1909
VS
78852012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Implement flow control for http.
7888
7889 * grub-core/net/http.c (parse_line): Handle response 206.
7890 (http_receive): Stall if too many packets are in the queue.
7891 (http_establish): Fix range header.
7892 (http_seek): Fix double free.
7893 (http_close): Likewise.
7894 (http_packets_pulled): New function.
7895 (grub_http_protocol): Set http_seek
7896 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7897 (ack_real): Set window depending on i_stall.
7898 (grub_net_send_tcp_packet): Likewise.
7899 (grub_net_tcp_stall): New function.
7900 (grub_net_tcp_unstall): Likewise.
7901 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7902 (grub_net_tcp_unstall): Likewise.
7903
bd407d6e
VS
79042012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7907
c7564b8e
VS
79082012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7911
a3706162
VS
79122012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * tests/util/grub-shell.in: Fix a typo.
7915
b27069e0
VS
79162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 Implement flow control for tftp.
7919
7920 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7921 packets but stop only if stop condition is satisfied.
7922 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7923 `stall' instead of `eof' as stop condition.
7924 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7925 (http_err): Likewise.
7926 * grub-core/net/tftp.c (ack): Replace the first argument with data
7927 instead of socket.
7928 (tftp_receive): Stall if too many packets are in wait queue.
7929 (tftp_packets_pulled): New function.
7930 (grub_tftp_protocol): Set packets_pulled.
7931 * include/grub/net.h (grub_net_packets): New field count.
7932 (grub_net_put_packet): Increment count.
7933 (grub_net_remove_packet): Likewise.
7934 (grub_net_app_protocol): New field `packets_pulled'.
7935 (grub_net): New field `stall'.
7936
6b9cfac6
VS
79372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7940 sync part to handle them.
7941
f35abd81
VS
79422012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7945 * grub-core/net/drivers/ieee1275/ofnet.c
7946 (grub_ieee1275_net_config_real): Likewise.
7947
0e7ec820
VS
79482012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7951 the direct route for server/gateway.
7952
9d611a31
VS
79532012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7956 IP address to server name since we may not hame the DNS.
7957
418f45ab
VS
79582012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7961 freeing random buffer on failure.
7962 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7963
44a0efc1
VS
79642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7967
531e2241
VS
79682012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7971 reserved bytes.
7972 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7973 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7974 Handle malloc error correctly.
7975
cde393c9
VS
79762012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7979 blocks.
7980
538478d0
VS
79812012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7984 increment.
7985
9b55efe0
VS
79862012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7987
7988 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7989 none is explicitly specified.
7990
9eb832c3
VS
79912012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7994 while reallocating.
7995
d6b7c7c9
VS
79962012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 Respect netmask from bootp/dhcp.
7999
8000 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8001 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8002 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8003 into ...
8004 (grub_net_add_ipv4_local): ... this.
8005 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8006 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8007 (grub_net_add_ipv4_local): New proto.
8008
67caf9eb
VS
80092012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8012 determining EFI memory map size.
8013
43657558
VS
80142012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8017
eb6d0dd3
VS
80182012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8021 when looking for partition separator.
8022
31230544
VS
80232012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8026 Escape commas.
8027
918a2517
VS
80282012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 Restructure FAT driver to avoid hook in label reading as it hits a
8031 GCC bug.
8032
8033 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8034 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8035 (grub_fat_iterate_dir): Split into ...
8036 (grub_fat_iterate_init): ... this, ...
8037 (grub_fat_iterate_fini): ... this, ...
8038 (grub_fat_iterate_dir_next): ... and this. All users updated.
8039
9f1d654e
VS
80402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8043 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8044 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8045 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8046 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8047 New fields last_key and last_key_time.
8048 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8049 extended key-esc into extended key-extended key.
8050
52f0f643
VS
80512012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 Avoid unnecessary memcpy of whole video buffer.
8054
8055 * grub-core/video/fb/video_fb.c (dirty): New struct.
8056 (framebuffer): Add members current_dirty and previous_dirty.
8057 (dirty): New function.
8058 (grub_video_fb_fill_rect): Update dirty.
8059 (common_blitter): Likewise.
8060 (grub_video_fb_scroll): Likewise.
8061 (doublebuf_blit_update_screen): Copy only dirty part.
8062 (doublebuf_pageflipping_update_screen): Likewise.
8063 (grub_video_fb_doublebuf_blit_init): Init dirty.
8064 (doublebuf_pageflipping_init): Likewise.
8065 (grub_video_fb_setup): Likewise.
8066
e169a180
VS
80672012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8070 poll rate.
8071
48556879
VS
80722012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 Fix wildcard regexp dot and other special characters handling.
8075 Reported by: Robert Mabee.
8076
8077 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
8078 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
8079 (split_path): Trigger expansion on '?'.
8080 (unescape): New function.
8081 (wildcard_expand): Unescape parts copied without globbing.
8082 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
8083 (grub_script_arglist_to_argv): Don't unescape expansions.
8084
0494408e
VS
80852012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * include/grub/net.h (grub_net_card): New member txbufsize.
8088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8089 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8090 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8091 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8092 txbufsize.
8093 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8094 compatible property to check for macs. Set
8095 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8096 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8097 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8098 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8099 (send_card_buffer): Use txbuf.
8100 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8101 nested function out of the parent while on it.
8102
cc35fe8f
VS
81032012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8106 presence check.
8107 (grub_ieee1275_net_config_real): Fix config pointer.
8108
970a0a09
VS
81092012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8112 filename parsing to non-block devices.
8113
3e19bf87
VS
81142012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/kern/device.c (grub_device_open): Remove dead code.
8117
c62d1a0c
VS
81182012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
8121 All users updated.
8122
ef76bec3
VS
81232012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
8126 UUID search command even if hints probing failed.
8127
81282012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
8129
8130 * po/POTFILES.in: Regenerated.
8131
70aaf305
VS
81322012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 Speed-up video on fuloong.
8135
8136 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
8137 New function.
8138 (grub_pci_device_unmap_range): Handle non-cached address.
8139 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
8140 add direct_ptr.
8141 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
8142 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
8143 (grub_video_sis315pro_set_active_render_target): Removed.
8144 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
8145 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8146 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
8147 sync caches.
8148 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
8149 New proto.
8150
10400f0b
VS
81512012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * docs/grub.texi (Multi-boot manual config): New section.
8154
ba67e2c6
VS
81552012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 Avoid slow read-back from VRAM.
8158
8159 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8160 Move from here ...
8161 * grub-core/video/fb/video_fb.c
8162 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
8163 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
8164 (front_target): Remove front_target. Add pages.
8165 (grub_video_fb_init): Skip setting front_pages.
8166 (grub_video_fb_fini): Likewise.
8167 (doublebuf_blit_update_screen): Use pages.
8168 (grub_video_fb_doublebuf_blit_init): Likewise.
8169 (doublebuf_pageflipping_init): Allocate offscreen buffer.
8170 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
8171 (grub_video_fb_setup): Prefer doublebuffing.
8172
377c98cb
VS
81732012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
8176 gzio.
8177
eac49cff
VS
81782012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 Add loongson tests.
8181
8182 * tests/util/grub-shell.in: Handle loongson.
8183 * tests/partmap_test.in: Add loongson to the list of platform using ATA
8184 drivers.
8185 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
8186 Reboot instead of shutdown if REBOOT is defined.
8187
0321415e
VS
81882012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
8191 sized ports since unlike on real hardware qemu supports only 32-bit
8192 regs.
8193
3f2bdd8f
VS
81942012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * Makefile.util.def (grub-mkrescue): Enable on loongson.
8197 * util/grub-mkrescue.in: Handle loongson.
8198
29a049c9
VS
81992012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8202 Set is_part appropriately.
8203 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8204 names. Canonicalize partition without full disk.
8205
4abde346
VS
82062012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 Revert usb-quiesce since it's wrong.
8209
8210 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8211 (grub_ofdisk_init): Don't do quiesce.
8212
61f1d93b
VS
82132012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8216 PowerMac workaround to Xserves as well.
8217 Information supplied by: Benjamin Herrenschmidt.
8218
a09eb541
VS
82192012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 Don't assume that beginning address is also the entry point on ppc.
8222
8223 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8224 (grub_linux_boot): Use linux_entry.
8225 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8226 (grub_linux_load64): Likewise.
8227
505b3c9b
VS
82282012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8231
cbe0b4ef
VS
82322012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8235 needlessly lose the console.
8236
3006e981
VS
82372012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8240 space.
8241
4e5a96b0
VS
82422012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8243
7da036bb
VS
8244 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8245 than current grub_get_rtc() not implemented when booted with
8246 coreboot without TSC.
8247
8248 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8249 Add machine/time.h to kernel headers on loongson.
8250 * grub-core/Makefile.core.def (kernel): Remove
8251 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8252 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8253 (grub_get_rtc): Likewise.
8254 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8255 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8256 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8257 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8258 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8259 rather than installing known non-working time source.
8260 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8261 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8262 * include/grub/time.h: Don't include machine/time.h.
8263 * include/grub/efi/time.h: Removed.
8264 * include/grub/i386/efi/time.h: Likewise.
8265 * include/grub/i386/ieee1275/time.h: Likewise.
8266 * include/grub/powerpc/ieee1275/time.h: Likewise.
8267 * include/grub/sparc64/ieee1275/time.h: Likewise.
8268 * include/grub/x86_64/efi/time.h: Likewise.
8269
82702012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
8273
8274 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8275 value.
8276 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8277 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8278 with dotless variants when any combining above is present.
8279
5561c22d
VS
82802012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8283 text and not binary.
8284
96f7e60e
VS
82852012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 Stop polling as soon as we have the packet we were waiting for.
8288
8289 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8290 All users updated.
8291 * grub-core/net/arp.c (have_pending): New var.
8292 (pending_req): Likewise.
8293 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8294 stop indicator.
8295 (grub_net_arp_receive): Set have_pending.
8296 * grub-core/net/dns.c (recv_data): New field stop.
8297 (recv_hook): Set stop.
8298 (grub_net_dns_lookup): Init stop and use as stop condition.
8299 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8300 condition.
8301 * grub-core/net/net.c (grub_net_poll_cards): New argument
8302 stop_condition. Stop when it goes true.
8303 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8304 indicator.
8305 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8306
3e747239
VS
83072012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 Keep TX and RX buffers on EFI rather than always allocate new ones.
8310
8311 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8312 card. All users updated.
8313 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8314 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8315 (get_card_packet): Likewise.
8316 (grub_efinet_findcards): Init new fields.
8317
f695e99a
VS
83182012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8321 compilation error on sparc64.
8322
9e5e66d1
VS
83232012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 Use ITC on IA64 rather than broken routine based on daytime.
8326
8327 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8328 ia64.
8329 (grub_get_rtc) [__ia64__]: Likewise.
8330 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8331 (get_itc): New function.
8332 (grub_rtc_get_time_ms): Likewise.
8333 (grub_machine_init): Calibrate ITC.
8334 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8335 Keep only on non-ia64. Don't export since it's broken and used only
8336 if TSC is unavailable.
8337
a1767404
VS
83382012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8341 even if it's used.
8342 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8343 Skip if parent is unused.
8344
34b2bced
VS
83452012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8348
5e619f40
VS
83492012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 Fix wildcard escaping.
8352
8353 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8354 * grub-core/script/execute.c (wildcard_escape): .. to here.
8355 Don't escape dot.
8356 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8357 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8358 Don't escape dot.
8359 * grub-core/script/execute.c (gettext_append): Always escape.
8360 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8361 * grub-core/script/yylex.l: Don't cut away the escaping.
8362 * tests/grub_script_echo1.in: Add tests with wildcard.
8363
c8ca5855
VS
83642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8367 (ftdi_hw_configure): Likewise.
8368 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8369 define.
8370 (real_config): Handle 1.5 stop bits.
8371 (pl2303_hw_configure): Likewise.
8372
7183452c
VS
83732012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * Makefile.am: Add ppc linux bootcheck.
8376 * grub-core/tests/boot/linux-ppc.cfg: New file.
8377 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8378
f57c84cd
VS
83792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * tests/grub_script_expansion.in: Skip network protocols.
8382
ecfc6207
VS
83832012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8386
8d03d284
VS
83872012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8390 --rom-directory.
8391 Add -graft-points.
8392
61c42af0
VS
83932012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 ESCC serial driver for conducting sautomated tests in qemu.
8396 Not tested on real hardware.
8397
8398 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8399 * grub-core/term/ieee1275/escc.c: New file.
8400 * grub-core/Makefile.core.def (escc): New module.
8401
08fd1291
VS
84022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8405 invalid on error.
8406 (serial_hw_fetch): Don't read invalid handle.
8407 (serial_hw_put): Don't write into invalid handle.
8408
08dafeea
VS
84092012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 Add a 1.5 stop bits value.
8412
8413 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8414 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8415 GRUB_SERIAL_STOP_BITS_1_5.
8416
9068fdcf
VS
84172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8418
8419 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8420 value rather than let it uninited.
8421
f4d5820f
VS
84222012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/commands/wildcard.c (+check_file): New function.
8425 (wildcard_expand): Don't expand to non-existing files, expand with
8426 suffix and not attempt to expand if not needed.
8427
3d2de9a7
VS
84282012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8431 out of partitions containing other partitions.
8432
c5c81ff9
VS
84332012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8436 on some qemu versions with GRUB.
8437
8438 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8439 define.
8440 (grub_openbsd_bootarg_pcibios): New struct.
8441 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8442 Add PCIINFO.
8443
08a14e0b
VS
84442012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * tests/util/grub-shell.in: Trim firmware output on EFI.
8447
cede3ca3
VS
84482012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8451 and coreboot since it's already in kernel.
8452
558d3a60
VS
84532012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8456 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8457 to here. New return value start. All users updated.
8458 Recursively scan linear mappings.
8459 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8460 proto.
8461 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8462 Use grub_util_get_dm_node_linear_info.
8463 * util/getroot.c (convert_system_partition_to_system_disk): Use
8464 grub_util_info rather than grub_dprintf.
8465 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8466
60fde14d
VS
84672012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8470
8471 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8472 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8473
24bd8838
VS
84742012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * include/grub/types.h (grub_set_unaligned64): New function.
8477 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8478 (setup): Likewise.
8479
7bc06a49
VS
84802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8483 (grub_ofdisk_fini): Quiesce USB devices.
8484
49cea015
VS
84852012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8488 caches.
8489
8dcbe03b
VS
84902012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8493
5b258735
VS
84942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * grub-core/disk/pata.c (grub_pata_pio_read)
8497 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8498 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8499
37ba07eb
VS
85002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 Extend automated tests to qemu-mips.
8503
8504 * Makefile.am: reorganise tests and enable qemu-mips.
8505 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8506 * grub-core/tests/boot/linux.init-mips.S: New file.
8507 * tests/partmap_test.in: Handle ata0 disks.
8508 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8509 non-pc i386.
8510
070038f8
VS
85112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8514 ia64.
8515 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8516 quotes while on it.
8517
004be2cd
VS
85182012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8521 (grub_halt): Likewise.
8522 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8523
b1622487
VS
85242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * grub-core/term/serial.c (grub_serial_register)
8527 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8528 the behaviour in line with x86 platforms.
8529
b7b4ab33
VS
85302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8533 (grub_ata_strncpy): Likewise.
8534 (grub_ata_identify): Add missing byteswaps.
8535
5e3535ae
VS
85362012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8539 byte-swap.
8540 (screen_read_char): Likewise.
8541 (grub_vga_text_cls): Likewise.
8542
c21b17e6
VS
85432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8546 filenames.
8547 (make_file_path): Likewise.
8548
bf293dec
VS
85492012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8552 machines.
8553 Tested by: Paulo Flabiano Smorigo.
8554 Crucial information about API supplied by: Coleen <Last name unknown>.
8555 Reviewed by: Coleen <Last name unknown>.
8556
81f6ef0e
VS
85572012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * util/grub-mkimage.c: Disable -Wcast-align.
8560
7284143a
VS
85612012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8564 as they are fatal.
8565
b99f3e00
VS
85662012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8569
944f752d
VS
85702012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * util/grub-probe.c (escape_of_path): Fix double free.
8573
6cce6f38
VS
85742012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * grub-core/commands/videoinfo.c (hook): Show pitch.
8577
1e1eb50e
VS
85782012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8581
1c715b5a
VS
85822012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8585 (probe): Add ieee1275 to OFW devices.
8586
007ae52d
VS
85872012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8590
4557a36d
VS
85912012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 Handle IBM OFW path.
8594
8595 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8596 available.
8597 (of_path_of_scsi): Handle vdevice.
8598
efbeefe9
VS
85992012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8602 Allocate in multiples of 16 to avoid adding a few bytes free region the
8603 windows bugs upon.
8604
15a940bb
VS
86052012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8608 Allocate in multiples of 16 to avoid adding a few bytes free region the
8609 windows bugs upon.
8610 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8611
6e5efd60
VS
86122012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8615 resolutions.
8616 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8617 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8618
0d3d137e
IS
86192012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8620
8621 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8622
45dbe300
VS
86232012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8626 resulted in \\ at the end of the line.
8627
6d8db947
VS
86282012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8631 (grub_parser_cmdline_state): Likewise.
8632 (grub_parser_split_cmdline): Likewise.
8633
de89d338
VS
86342012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8637 /dev/root and /dev/dm-*.
8638
00d41dee
VS
86392012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8642 fix partially stale display.
8643
f95d1f11
VS
86442012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8647 substraction.
8648
6297e197
VS
86492012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8652 Fix MBR remapping workaround.
8653 (grub_util_biosdisk_read) [__linux__]: Likewise.
8654
8a7ecad3
VS
86552012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8658
2b34f944
VS
86592012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * configure.ac: Bump to beta6.
8662
684aef11
CW
86632012-05-31 Christer Weinigel <christer@weinigel.se>
8664
8665 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8666
05b0bb91
VS
86672012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8670 (grub_cmd_linux): Likewise.
8671
bda36bfa
CW
86722012-05-31 Christer Weinigel <christer@weinigel.se>
8673
8674 Fix EHCI low-speed.
8675
8676 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8677 (GRUB_EHCI_MULT_TWO): Likewise.
8678 (GRUB_EHCI_MULT_THREE): Likewise.
8679 (GRUB_EHCI_CMASK_MASK): New enum value.
8680 (GRUB_EHCI_SMASK_MASK): Likewise.
8681 (GRUB_EHCI_CMASK_OFF): Likewise.
8682 (GRUB_EHCI_SMASK_OFF): Likewise.
8683 (grub_ehci_pci_iter): Enable periodic schedule.
8684 (grub_ehci_parse_notrun): Likewise.
8685 (grub_ehci_restore_hw): Likewise.
8686 (grub_ehci_setup_qh): Set flags for low speed transfers.
8687 (grub_ehci_find_qh): Use periodic list for low speed.
8688 (grub_ehci_setup_transfer): Check periodic queue as well.
8689 (grub_ehci_check_transfer): Likewise.
8690 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8691
e12bcb1c
PFS
86922012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8693
8694 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8695 parameter is used.
8696
bcc75fb3
PJ
86972012-05-31 Peter Jones <pjones@redhat.com>
8698
8699 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8700 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8701 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8702
f19cb95e
VS
87032012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8706 uninited variable. Allocate at least setup_sects.
8707
a4e5ca80
VS
87082012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 Fix handling of EFI with big memory maps.
8711
8712 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8713 (real_mode_mem): Likewise.
8714 (real_mode_target): Likewise.
8715 (real_mode_pages): Likewise.
8716 (prot_mode_pages): Likewise.
8717 (linux_params): New var.
8718 (linux_cmdline): Likewise.
8719 (free_pages): Don't set real mode variables.
8720 (allocate_pages): Don't allocate real mode memory.
8721 (grub_e820_add_region): Remove the limit.
8722 (grub_linux_boot): Allocate and copy real mode memory.
8723 (grub_linux_unload): Free linux_cmdline.
8724 (grub_cmd_linux): Use temporary storage for parameters.
8725 (grub_cmd_initrd): Likewise.
8726 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
8727 (linux_kernel_params): Make it 1K big.
8728
ddb73558
VS
87292012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * Makefile.util.def: Remove -Wno-format.
8732 * grub-core/Makefile.core.def: Likewise.
8733
1c4afb60
VS
87342012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * tests/cmp_unit_test.c: Add missing failure message.
8737 * tests/example_unit_test.c: Likewise.
8738 * tests/printf_unit_test.c: Likewise.
8739
941e3a6d
VS
87402012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
8743 relaxation of protective MBR requirements.
8744
b105df76
VS
87452012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * configure.ac: Add condition for COND_HOST_XNU.
8748 * Makefile.util.def (10_xnu): New script.
8749 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
8750
84e1569e
VS
87512012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
8754 objconv bug.
8755
130c0f77
VS
87562012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
8759 Binary on other platforms stays identical.
8760
6fd0b143
VS
87612012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
8764 Apple.
8765
0af1751d
VS
87662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
8769
176d5f7d
VS
87702012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
8773 rather than defining size_t ourselves to avoid conflict.
8774
7de5e20a
VS
87752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
8778 initialisation to avoid __bzero reference.
8779
f7143efe
VS
87802012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
8783 version.
8784 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
8785 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
8786 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
8787 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
8788 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
8789
e6ad0555
VS
87902012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
8793 * grub-core/kern/misc.c: Likewise.
8794 * grub-core/loader/i386/xnu.c: Likewise.
8795 * include/grub/i386/tsc.h: Likewise.
8796 * include/grub/symbol.h: Likewise.
8797
4a5a3c4a
VS
87982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
8801 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
8802 on older compiler.
8803
037f6d90
VS
88042012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
8807 Implement Apple flavour.
8808 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
8809
f7194551
VS
88102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
8813 (memmove) [__APPLE__]: Likewise.
8814 (memcpy) [__APPLE__]: Likewise.
8815 (memset) [__APPLE__]: Likewise.
8816 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
8817 (memmove) [__APPLE__]: Likewise.
8818 (memcpy) [__APPLE__]: Likewise.
8819 (memset) [__APPLE__]: Likewise.
8820
85a730ca
VS
88212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
8824 dependency discard.
8825
40e80b94
VS
88262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * grub-core/normal/main.c (read_config_file): Provide config_file and
8829 config_directory.
8830 * util/grub.d/41_custom.in: Use config_directoy when available.
8831
9da59c32
VS
88322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8835 (grub_bfs_dir): Likewise.
8836
2787ae53
PJ
88372012-05-27 Peter Jones <pjones@redhat.com>
8838
8839 The old code gives arguments to a printf function which can't work
8840 correctly, and the compiler complains.
8841
8842 * grub-core/tests/example_functional_test.c (example_test): Add
8843 missing text.
8844 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8845 * include/grub/test.h (grub_test_assert_helper): New declaration.
8846 (grub_test_assert): Use grub_test_assert_helper.
8847
526ef13d
VS
88482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8851 (exfctest): ... this to avoid overlong filenames.
8852 All users updated.
8853
20dd511c
VS
88542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 Handle "." and ".." on squashfs.
8857
8858 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8859 Make inode numbers into stack.
8860 (grub_squash_read_symlink): Use stack.
8861 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8862 (make_root_node): Fill stack.
8863 (grub_squash_open): Use stack.
8864
1d80c62a
VS
88652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8868 freeing.
8869
d336f652
VS
88702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8873 stderr on test calls.
8874
8b43f587
VS
88752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8878
80a3dc3f
VS
88792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8882
47e297d4
VS
88832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8886 "..".
8887
df042ccb
VS
88882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8891 (grub_hfsplus_iterate_dir): Add "." and "..".
8892
fc977f48
VS
88932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8896 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8897
f3250e5f
VS
88982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8901 (find_path): Handle "." and "..".
8902
fd8ed4c5
VS
89032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8906 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8907 (grub_affs_iterate_dir): Handle hardlinks.
8908
4ce776d2
MG
89092012-05-26 Matthew Garrett <mjg@redhat.com>
8910
8911 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8912 (grub_efi_console_fini): Likewise.
8913 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8914 (grub_video_gop_fill_mode_info): Rename to ...
8915 (grub_video_gop_fill_real_mode_info): ... this.
8916 (grub_video_gop_fill_mode_info): New function.
8917 (grub_video_gop_setup): Setup double framebuffer.
8918 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8919 Free offscreen.
8920 (grub_video_gop_swap_buffers): Copy framebuffer.
8921 (grub_video_gop_fini): Free offscreen buffer.
8922 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8923 New enum.
8924 (grub_efi_gop_blt_pixel): New struct.
8925
683031ba
VS
89262012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * gentpl.py: Remove error disabling for objconv.
8929
c2deb798
VS
89302012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * configure.ac: Remove -Wunitialized as it's not available on older
8933 compilers.
8934
89352012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8936
8937 Fix extent overflow comparator.
8938
8939 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8940 (grub_hfsplus_read_block): Set type.
8941 (grub_hfsplus_cmp_extkey): Compare type.
8942
d6b1fd36
VS
89432012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8946
0a9aa0f6
VS
89472012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8950 than 0.
8951
8360e159
VS
89522012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8955 (dejavu_bold_14.pf2): New target.
8956
501b9e4b
VS
89572012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * configure.ac: Fix djvu font detection.
8960
7026b0e2
VS
89612012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8964 ext* instead of ext2.
8965
c2a51ade
VS
89662012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8969 name with \0.
8970
8f803a5d
JU
89712012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8972
8973 * docs/grub-dev.texi: Remove dot from .png.
8974
13c6353f
VS
89752012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8978 protective entry in any slot.
8979 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8980 if protective entry is found in any slot.
8981
8982 Protective entry in non-first slot make no sense but is a widespread
8983 brain damage.
8984
4cf6be1b
VS
89852012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8988
937d1c44
VS
89892012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8992 with old reiserfs.
8993 (grub_reiserfs_open): Don't free root.
8994
021d90ec
VS
89952012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8998 after freeing for safety.
8999
967b2b64
VS
90002012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9003 Reported by: Jordan Uggla.
9004
34274d02
JU
90052012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9006
967b2b64
VS
9007 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9008 actual implementation. Specifically, clarify that the grub menu will
9009 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9010 passed.
34274d02 9011
dcaaae9d
BH
90122012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9013
9014 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9015 of r0.
9016
7086ad52
VS
90172012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 Remove unjustified hard dependency of normal.mod on gfxterm.
9020
9021 * include/grub/term.h (grub_term_output): New member fullscreen.
9022 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9023 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9024 (grub_gfxterm): Set .fullscreen.
9025 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9026 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9027
37ed2c9b
VS
90282012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9031 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 9032 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 9033
a4469c88
VS
90342012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9037
4e461486
VS
90382012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9041 a bad FS.
9042
aa78f5c4
VS
90432012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9046 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9047
197626b5
VS
90482012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9051 (grub_jfs_mount): Fill caseins.
9052 (grub_jfs_find_file): Respect caseins.
9053
8ad3f28c
VS
90542012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9057 through UTF-16.
9058
0c6c324e
VS
90592012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9062 New argument origpath. All users updated.
9063
c6666ba6
VS
90642012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9067 (read_attr): Ensure that we read start of possibly compressed block.
9068
e28e5fe5
VS
90692012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9072 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9073 All users updated.
9074
5fc23ab2
VS
90752012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
9078 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
9079 (dejavu.pf2): Replace with ...
9080 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
9081 this.
9082
79dbc21c
VS
90832012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * util/grub.d/20_linux_xen.in: Add missing line.
9086
d2fcfb0c
VS
90872012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9090 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9091 (grub_utf16_to_utf8): Likewise.
9092
5560e9d6
VS
90932012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9096 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9097 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9098 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9099 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9100 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9101
91022012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
9103
9104 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9105 a bad FS.
9106
5560e9d6 91072012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
9108
9109 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9110 (grub_udf_read_symlink): Handle read_string failure.
9111
5eae3175
VS
91122012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
9115 comment.
9116
c1ad82db
VS
91172012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 Fix handling of UDF symlinks.
9120
9121 * grub-core/fs/udf.c (read_string): New argument outbuf.
9122 All users updated.
9123 (grub_ufs_read_symlink): Rename to ...
9124 (grub_udf_read_symlink): ... this. All users updated.
9125 Handle symlinks with more than one component.
9126
33eca6e0
VS
91272012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
9130 symlinks. Replace leading colon with a slash.
9131
57f4a70b
VS
91322012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
9135 filename.
9136
38c8ee20
VS
91372012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
9140 match in inner node.
9141
2e57f28f
VS
91422012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
9145 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
9146 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
9147 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
9148 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
9149 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
9150 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
9151 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
9152 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
9153
fe8c2f11
VS
91542012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 Use grub-probe and not cmp to check that disk is empty.
9157
9158 * util/grub-install.in: Use grub-probe for zero-check.
9159 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
9160 (probe): Handle PRINT_ZERO_CHECK.
9161 (argp_parser): Handle -t zero_check.
9162
91632012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
9164
9165 Flush block cache on adding disk to device map.
9166
9167 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
9168 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
9169 adding.
9170 (read_device_map): Likewise.
9171 (open_device): Flush on opening.
9172
690434e8
VS
91732012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
9176 (handle_symlink): Fix off-by-one error.
9177 Canonicalize the target.
9178 (grub_cpio_dir): Canonicalize the name.
9179 Fix memory leak.
9180 Set directory.
9181 (grub_cpio_open): Canonicalize the name.
9182
742d2be6
VS
91832012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
9186 handling.
9187
3244fe96
VS
91882012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
9191 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
9192
8aeb1837
VS
91932012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
9196 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 9197 All users updated.
8aeb1837 9198
9133fd05
VS
91992012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9202 counterpart.
9203
6d521c5b
VS
92042012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 Fix UFS1 big file support.
9207
9208 * grub-core/fs/ufs.c (INODE): Removed.
9209 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9210 64-bit.
9211 (INODE_MODE): Simplify.
9212 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9213 (grub_ufs_lookup_symlink): Don't use INODE.
9214
21b82e17
VS
92152012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9218
9219 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9220 (grub_minix_data): Replace log_block_size with block_size.
9221 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9222 (grub_minix_mount): Fill block_size.
9223
92242012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
9225
9226 * configure.ac: Bump to beta5.
9227
f417ed04
VS
92282012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 Fix wrapped HFS+ handling.
9231
9232 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9233 blocks_start. All users updated.
9234 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9235 wrapping offset.
9236 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9237
607d282b
VS
92382012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 Fix long symlinks on reiserfs.
9241
9242 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9243 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9244 (grub_reiserfs_iterate_dir): Save size for non-directories.
9245 (grub_reiserfs_open): Don't reread stat block as we already know the
9246 size.
9247 (grub_reiserfs_read): Split into...
9248 (grub_reiserfs_read_real): ... and ...
9249 (grub_reiserfs_read): ...this.
9250
ae16024d
VS
92512012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 Fix non-indexed JFS.
9254
9255 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9256 (grub_jfs_data): New field namecomponentlen.
9257 (grub_jfs_mount): Fill namecomponentlen.
9258 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9259
eea1e26e
VS
92602012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9263 * tests/grub_script_echo1.in: Add tests.
9264
df760f77
VS
92652012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * util/grub-install.in: Ignore empty devicetree directory.
9268
5efb817d
B
92692012-05-08 Bean <bean123ch@gmail.com>
9270
9271 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9272 All users updated.
9273 (free_rsm): Free header as well.
9274 (free_old_fragments): Fix memory leak.
9275 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9276 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9277 (destroy_pq): Likewise.
9278 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9279
668ea6d2
VS
92802012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9283 resulting hash as a precaution.
9284
1739b1fe
VS
92852012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9288 '_' in variable names.
9289 * grub-core/net/net.c (grub_net_network_level_interface_register):
9290 Likewise.
9291
6ae485aa
VS
92922012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 Fix AFFS with non-512B blocks.
9295
9296 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9297 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9298 (grub_affs_data): Replace blocksize with log_blocksize.
9299 (grub_affs_read_block): Fix non-512B blocks.
9300 (grub_affs_read_symlink): Likewise.
9301 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9302 (grub_affs_read): Fix non-512B blocks.
9303 (grub_affs_label): Likewise.
9304 (grub_affs_mtime): Likewise.
9305 (grub_affs_mount): Fix block detection routine.
9306
d20fab84
VS
93072012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 Add filesystem mtime to AFFS.
9310
9311 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9312 (aftime2ctime): New function.
9313 (grub_affs_dir): Use aftime2ctime.
9314 (grub_affs_label): Fix return value.
9315 (grub_affs_mtime): New function.
9316 (grub_affs_fs): Add mtime.
9317
e87b10f5
VS
93182012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9321 UTF-8.
9322
7dceec9b
VS
93232012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9326 UTF-8.
9327
2f48221f
VS
93282012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9331
dacd85cf
VS
93322012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9335 flags.
9336 (FLAGS_CASE_SENSITIVE): New enum value.
9337 (cache_entry): New struct.
9338 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9339 cache_size and cache.
9340 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9341 Add log_blocksize and fshelp_flags.
9342 (grub_sfs_read_extent): Handle non-512 blocks.
9343 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9344 (grub_sfs_read_file): Handle non-512 blocks.
9345 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9346 fshelp_flags.
9347 (grub_sfs_read_symlink): Handle non-512 blocks.
9348 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9349 (grub_sfs_dir): Free cache.
9350 (grub_sfs_close): Likewise.
9351
24e9a854
VS
93522012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9355 filesystems.
9356
62ace64d
VS
93572012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9360
83b2e89c
VS
93612012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9364
75ccaea3
VS
93652012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9368 (grub_sfs_read_extent): Likewise.
9369 (grub_sfs_read_block): Likewise.
9370 (grub_sfs_mount): Likewise.
9371 (grub_sfs_iterate_dir): Likewise.
9372 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9373 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9374
1b8463f2
VS
93752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 Fix errors on compressed NTFS with 512B clusters.
9378
9379 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9380 types.
9381 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9382 not 0.
9383 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9384 Relax check for inline extents.
9385 (ntfscomp): Return correct -1 on error and not 0.
9386
4f8e368f
VS
93872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * util/grub-install.in: Fix handling of prefix containing spaces.
9390
6f5d5ee8
VS
93912012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9394 (grub_squash_read_data): Fix offset byte-swapping.
9395
ce41ab7a
VS
93962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9399 per common usage and preffered in several parts of code.
9400 (grub_memcmp): Likewise.
9401 (grub_strncmp): Likewise.
9402 * include/grub/misc.h (grub_strcasecmp): Likewise.
9403 (grub_strncasecmp): Likewise.
9404 * Makefile.util.def (cmp_test): New test.
9405 (grub_script_strcmp): Likewise.
9406 * tests/cmp_unit_test.c: New file.
9407 * tests/grub_script_strcmp.in: Likewise.
9408 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9409
49717bf4
VS
94102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * include/grub/pci.h: Move enums into no-asm part.
9413
0a308f64
VS
94142012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9417
1796965f
ST
94182012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9419
9420 * util/getroot.c (find_hurd_root_device): Try to make error message
9421 and comments to translators clearer.
9422
4e9b2819
VS
94232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9426
076aeb50
VS
94272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9430 btrfs.
9431
19424d94
VS
94322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 * docs/grub.cfg: Update.
9435
ebb73076
VS
94362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * docs/grub.texi (PXE): Remove not present variables.
9439
9a1b669c
VS
94402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/net/net.c (defserver_set_env): New function.
9443 (defserver_get_env): Likewise.
9444 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9445
d38bf7d3
VS
94462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9449 entries.
9450
94512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9452
9453 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9454 * grub-core/kern/emu/hostdisk.c: Likewise.
9455
e5e4ca48
ST
94562012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9457
9458 Handle hurd userspace partitions.
9459
9460 * util/getroot.c (find_hurd_root_device): New function.
9461 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9462
56bb5dd5
VS
94632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9466 names.
9467 Reported by: Bastian Blank.
9468
9e8bc27a
VS
94692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9472 crossing page boundary.
9473
aa01499d
VS
94742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 Fix B-tree search in BFS, especially in presence of non-ASCII
9477 characters.
9478
9479 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9480 (find_in_b_tree): Use standard bsearch + btree algorithm.
9481
57006035
VS
94822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9485 and so on.
9486
9d34bb85
MG
94872012-05-03 Matthew Garrett <mjg@redhat.com>
94882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 Suspend broadcom cards in order to stop their DMA.
9491
9492 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9493 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9494 (pci): Don't build on x86 EFI.
9495 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9496 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9497 New function.
9498 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9499 stop_broadcom if running on EFI.
9500 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9501 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9502 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9503 (grub_pci_find_capability): New proto.
9504
01aab997
VS
95052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 * docs/grub.texi: Remove dot from the extension as it apparently
9508 doesn't work with some makeinfo versions.
9509
fbd8dca6
VS
95102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9513 with GRUB expectance.
9514
dab797f4
VS
95152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9518
1516bfb4
VS
95192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9522 zero after directory block since last entry may be not 0-terminated if
9523 it ends on block boundary. Use continue instead of if spanning whole
9524 loop.
9525
a3a0eace
VS
95262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 Support 4K sectors UDF inline files.
9529
9530 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9531 (grub_udf_extended_file_entry): Likewise.
9532 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9533 All users updated.
9534 (get_fshelp_size): New function.
9535 (grub_udf_read_icb): Read whole block.
9536 (grub_udf_iterate_dir): Likewise.
9537 (grub_udf_dir): Likewise.
9538 (grub_udf_open): Likewise.
9539
c82f16c1
VS
95402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9543
59fd2aac
VS
95442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9547 inline symlinks in addition to workaround.
9548
3b4afb4d
VS
95492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9552
f45c794a
VS
95532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9556
f25cecbd
VS
95572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9560
bb9a34e8
VS
95612012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 Fix reiserfs big seek times.
9564
9565 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9566 exact. All users updated.
9567 (grub_reiserfs_read): Use nearest btree search for seeking.
9568 Fix return value on error.
9569
dc478aea
VS
95702012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9573 entries.
9574 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9575 * docs/grub.texi: Update menuentry description.
9576
8db10f47
VS
95772012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9580 crash when embedding onto filesystem.
9581
bcb288ed
VS
95822012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9585 name.
9586
a626fdd7
VS
95872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9590
b2f68477
VS
95912012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9594 commit.
9595
ba15b2af
B
95962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
95972012-05-01 Bean <bean123ch@gmail.com>
9598
9599 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9600
a188012e
VS
96012012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9604 Special behaviour for len = 0 to read whole file isn't used anywhere and
9605 can cause buffer ovewrflows in several places.
9606
f0a53ed2
VS
96072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9610
5ed554f0
VS
96112012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 Handle RAIDZ on non-512B sectors.
9614
9615 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9616 max_children_ashift.
9617 (fill_vdev_info_real): Fill max_children_ashift.
9618 (read_device): Use max_children_ashift.
9619
ddc58357
VS
96202012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9623
e3282399
VS
96242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9627 disk names.
9628 * docs/grub.texi: Update device.map parts.
9629
ee618bd4
VS
96302012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 Don't scan into non-diskfilter devices having diskfilter names.
9633
9634 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9635 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9636 handling.
9637 (scan_disk_hook): New function.
9638
bdf88864
B
96392012-04-29 Bean <bean123ch@gmail.com>
9640
9641 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9642 allocation.
9643
32745f51
MK
96442012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9645
9646 * configure.ac: Detect starfield theme font path
9647 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9648
bc95c8c0
VS
96492012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9652 geometry on serial consoles.
9653
147fbcab
VS
96542012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9657 because of network consoles.
9658
0f42c889
VS
96592012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9662 handling.
9663
4a3594c9
VS
96642012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9667 falls on Q syndrom.
9668
5cb53879
VS
96692012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9672 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9673
b282dfe5
VS
96742012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9677 Allocate at lest 8192 for temporary buffer as required for lzo.
9678
daa59f47
VS
96792012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9682 to cluster_bits, since it's already added in.
9683 (grub_fat_read_data): Likewise.
9684
986748ce
VS
96852012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9688 as long as cluster size is multiple of 512 bytes.
9689
a20f6ad0
VS
96902012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * util/grub-mkrescue.in: Fix locale directory.
9693
385f9abb
VS
96942012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/kern/emu/hostdisk.c (map): Make static.
9697
1c557d30
B
96982012-04-23 Bean <bean123ch@gmail.com>
9699
9700 * util/grub-fstest.c (fstest): Add missing break.
9701
524b5d3a
ST
97022012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9703
9704 Fix hurd build.
9705
9706 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9707 not define nr variable.
fe4824e9 9708 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9709 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9710 grub_find_device): Do not define.
524b5d3a 9711
9a06490c
VS
97122012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 Fix kfreebsd compile and behaviour.
9715
9716 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9717 format-security.
9718 * util/getroot.c: Fix wait.h include.
9719 (grub_guess_root_devices): Error if grub_find_device fails.
9720 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
9721 (grub_util_get_dev_abstraction): Likewise.
9722 (grub_util_pull_device): Likewise.
9723 (grub_util_get_grub_dev): Likewise.
9724 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
9725
48143d96
VS
97262012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 Fix and unify wholedisk detection.
9729
9730 * util/getroot.c (convert_system_partition_to_system_disk): New argument
9731 is_part. All users updated.
9732 (device_is_wholedisk): Removed.
9733 (grub_util_biosdisk_get_grub_dev): Use is_part.
9734
ebbd24f3
VS
97352012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
9738 mode.
9739
56f7aa1e
VS
97402012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * configure.ac: Bump to beta4.
9743
9c815e01
VS
97442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
9747 --fs-uuid --set UUID syntax.
9748
59e2651a
VS
97492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
9752 disunification.
9753
54e03cfc
VS
97542012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
9757
81092a75
MK
97582012-04-18 Mads Kiilerich <mads@kiilerich.com>
9759
9760 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
9761
f8315e14
MG
97622012-04-18 Mike Gilbert <floppym@gentoo.org>
9763
9764 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
9765
1501ac21
B
97662012-04-18 Bean <bean123ch@gmail.com>
9767
9768 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
9769 place.
9770
cb7f944e
VS
97712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
9774 users updated.
9775 (grub_util_biosdisk_read): Handle Linux partitions not exactly
9776 corresponding to GRUB partitions.
9777 (grub_util_biosdisk_write): Likewise.
9778
b72d44a1
VS
97792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 Scan mdraid before LVM.
9782
9783 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
9784 (grub_diskfilter_register_front): ... this.
9785 (grub_diskfilter_register_back): New function.
9786 All users of grub_diskfilter_register updated.
9787
33d918b8
VS
97882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * util/grub-install.in: Fix an automatic target detection bug.
9791
c6ca973d
VS
97922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * util/grub-install.in: New option --efi-directory.
9795
b41be562
VS
97962012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9797
9798 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
9799 boot services if we have no other choice.
9800
98012012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * util/grub-mknetdir.in: Rename --override-directory to --directory and
9804 document it.
9805 * tests/util/grub-shell.in: Update to --directory.
9806
e0595a73
VS
98072012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
9810
4ed80652
VS
98112012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
9814 (grub_minix_read_file): Likewise.
9815 (grub_minix_read_inode): Likewise.
9816 (grub_minix_find_file): Likewise.
9817 (grub_minix_dir): Likewise.
9818
56008077
VS
98192012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 * util/grub-setup.c (setup): Fix partition handling and blocklist
9822 check.
9823
ee520775
VS
98242012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
9827 redundant buggy overlap check.
9828
16fc9293
VS
98292012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
9832 and grub-mknetdir.
9833
9bab65c4
VS
98342012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9837 kh.loadflags on pre-2.00 kernels.
9838
3c491b47
VS
98392012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 Terminate UNDI and PXE before launching the payload to avoid problems
9842 with DMA.
9843
9844 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9845 (grub_loader_flags): ... this. All users updated.
9846 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9847 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9848 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9849 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9850 function.
9851 (grub_pxe_restore): Likewise.
9852 (fini_hnd): New var.
9853 (GRUB_MOD_INIT): Register shutdown hook.
9854 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9855 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9856 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9857 (grub_loader_set): Rename second argument to flags.
9858
851ffada
VS
98592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9862 written bytes.
9863 (grub_get_num_of_utf8_bytes): New function.
9864 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9865 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9866 executing it.
9867 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9868 (grub_ucs4_to_utf8): Change return type.
9869
491c57a8
VS
98702012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9873 warning.
851ffada
VS
9874 * grub-core/fs/bfs.c (hop_level): Likewise.
9875 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9876
756773df
VS
98772012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * grub-core/lib/adler32.c: Recode due to license unclearness.
9880
fd556a96
VS
98812012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9884 (test_header): Likewise.
9885
9f9d3f69
VS
98862012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Fix --help formatting.
9889
9890 * util/grub-mkconfig_lib.in (print_option_help): New function.
9891 (grub_fmt): Likewise.
9892 * util/grub-install.in: Use print_option_help and grub_fmt.
9893 * util/grub-kbdcomp.in: Likewise.
9894 * util/grub-mkconfig.in: Likewise.
9895 * util/grub-mknetdir.in: Likewise.
9896 * util/grub-mkrescue.in: Likewise.
9897 * util/grub-mkstandalone.in: Likewise.
9898 * util/grub-reboot.in: Likewise.
9899 * util/grub-set-default.in: Likewise.
9900 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9901
561ec77e
VS
99022012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * linguas.sh: Remove autogenerated *.po.
9905
7ec2b021
VS
99062012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * po/README: Move language fetcing to ...
9909 * linguas.sh: ... here.
9910 * po/README: Point to linguas.sh.
9911
a88f3270
VS
99122012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * po/README: Exclude ko.po due to disclaimer problems.
9915
d61357ce
VS
99162012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9919 len = 0.
9920 (grub_gettext_translate_real): Handle 0th string.
9921 (grub_gettext_translate): Ensure that "" isn't translated.
9922
505e41dc
VS
99232012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9926 TRANSLATORS comment.
9927 (grub_diskfilter_print_partmap): Propagate changing of error into
9928 warning.
9929
e44092db
VS
99302012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9933 to uint64_t to prevent overflow.
9934 (grub_diskfilter_lv): Increase start_extent and extent_count
9935 to uint64_t to prevent overflow.
9936
9b83956a
VS
99372012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * configure.ac: Increase version.
9940
da0d5b3f
VS
99412012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9944
9945 * po/Rules-translit: New file.
9946 * po/arabic.sed: Likewise.
9947 * po/cyrillic.sed: Likewise.
9948 * po/greek.sed: Likewise.
9949 * po/hebrew.sed: Likewise.
9950 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9951 * po/Makefile.in.in: Add extra_dist4.
9952
ac66b453
VS
99532012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9956
9957 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9958 modify names. Introduce MODE_BIGENDIAN.
9959 * grub-core/fs/minix_be.c: New file.
9960 * grub-core/fs/minix2_be.c: Likewise
9961 * grub-core/fs/minix3_be.c: Likewise.
9962 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9963 minix3_be.
9964 * grub-core/Makefile.core.def (minix_be): New module.
9965 (minix2_be): Likewise.
9966 (minix3_be): Likewise.
9967
99682012-04-01 Felix <email@hamburg.de>
9969
9970 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9971 (devs): Add MBP 2011.
9972
0a2d5a82
VS
99732012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9976
d1625889
VS
99772012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/normal/cmdline.c (print_completion): New field
9980 prompt_len.
9981 (grub_cmdline_get): Handle width properly.
9982
6d36a236
VS
99832012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9986
9576977e
VS
99872012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9990 after 29th of February.
9576977e 9991
d73ff15d
VS
99922012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 Fix exfat endianness handling.
9995
9996 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9997 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9998 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9999 Byte-swap utf16 when necessary.
10000 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10001
bbb39a45
AB
100022012-03-31 Anton Blanchard <anton@samba.org>
100032012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 Fix btrfs endianness handling.
10006
10007 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10008 (lower_bound): Make root uint64_t. Use root in le.
10009 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10010 (find_path): Fix template key init.
10011 (grub_btrfs_dir): Fix mtime byteswap.
10012 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10013
354e0af7
VS
100142012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10017 recursion_depth. Break infinite resursions. All users updated.
10018
4e75f21c
VS
100192012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10022 after free.
10023 Reported by: Peter Jones.
10024
25581802
AB
100252012-03-31 Anton Blanchard <anton@samba.org>
10026
10027 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
10028 8 bit values.
10029
08fbf92e
VS
100302012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * util/grub-install.in: Fix nvram call for PreP.
10033
5d1182a6
VS
100342012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10037 the error when some elements are missing into a warning.
10038
3f8cdd90
VS
100392012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10042
51006716
CW
100432012-03-28 Colin Watson <cjwatson@ubuntu.com>
10044
10045 * docs/grub.texi (Invoking grub-probe): New section.
10046 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10047
e1bd676b
VS
100482012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 Fix tab and wide character handling in editor and menu.
10051
10052 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10053 agglomerate control characters with combining marks.
10054 (bidi_line_wrap): Allow break on tab.
10055 (grub_unicode_get_comb_start): New function.
10056 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10057 and tab correctly.
10058 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10059 with a space.
10060 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10061 fixed_tab_size. All users updated.
10062 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10063 (grub_term_getcharwidth): Handle \t.
10064 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10065 and copy.
10066
22e6a774
VS
100672012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 Handle big-endian mdraid.
10070
10071 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10072 * grub-core/Makefile.core.def (mdraid09_be): New module.
10073 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10074 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10075 * grub-core/disk/mdraid_linux_be.c: New file.
10076
3c0eae66
VS
100772012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
10080
b6cf74c9
VS
100812012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10084 missing quotes which caused confusion among translators.
10085
83c93b9c
VS
100862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * util/grub-mkconfig_lib.in: Fix typo.
10089
ac6fd218
VS
100902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10093 spaces.
10094 * tests/grub_script_leading_whitespace.in: New file.
10095 * Makefile.util.def (grub_script_leading_whitespace): New test.
10096
ba287dd8
VS
100972012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10100 to work.
10101
d2d58d0a
VS
101022012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10105 starts with control character.
10106
0382d9bb
VS
101072012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10110 overflow.
10111 (grub_gdb_outbuf): Likewise.
10112
d83ff9f9
VS
101132012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
10116 zero terminator. Fixes a crash.
10117
2282da4a
VS
101182012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
10121 beyond 4 GiB.
10122 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
10123 images independently of preffered adderss field.
10124
0ae4f0bd
VS
101252012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
10128 * grub-core/commands/regexp.c: Likewise.
10129 * grub-core/loader/i386/linux.c: Likewise.
10130 * grub-core/partmap/msdos.c: Likewise.
10131 * grub-core/script/execute.c: Likewise.
10132 * grub-core/term/gfxterm.c: Likewise.
10133
546fbe9b
VS
101342012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 Add variable parsing in $"..." and fix several mismatches with bash.
10137
10138 * Makefile.util.def (grub_script_gettext): New test.
10139 * grub-core/script/execute.c (parse_string): New function.
10140 (gettext_append): Likewise.
10141 (grub_script_arglist_to_argv): Use gettext_append.
10142 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
10143 * tests/grub_script_gettext.in: New file.
10144
9fdb2d7b
VS
101452012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 Fix handling of leading spaces in scripts.
10148
10149 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
10150 spaces.
10151 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
10152 other than skipping \r. All users updated.
10153 * tests/grub_script_echo1.in: Add space-related tests.
10154 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
10155
1a1ac4f6
VS
101562012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
10159
b63d89b6
VS
101602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * configure.ac: Bump up the version to beta2.
10163
17f38c0f
VS
101642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 Fix gettext reload bugs (e.g. inability to disable gettext
10167 once enabled).
10168
10169 * grub-core/gettext/gettext.c: Encapsulate all static variables in
10170 main_context and secondary_context. All functions updated.
10171 (grub_gettext_translate): Rename to ...
10172 (grub_gettext_translate_real): ... this. Return NULL on failed
10173 translate.
10174 (grub_gettext_translate): Handle secondary context.
10175 (grub_gettext_delete_list): Close file and zero-out the context.
10176 (grub_mofile_open): Don't call grub_gettext_delete_list.
10177 Don't close file.
10178 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
10179 if locale="" to avoid pointless error message.
10180 (grub_gettext_env_write_lang): Update lang even if load fails.
10181 Handle secondary context.
10182 (grub_gettext_reread_prefix): New function.
10183 (read_main): Likewise.
10184 (read_secondary): Likewise.
10185 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
10186 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
10187 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
10188 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
10189
8e56f870
VS
101902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * configure.ac: Decrease warning level to avoid spurious warnings and
10193 to be able to compile with GCC 4.2.
10194 * Makefile.util.def: Remove -Wno-error=logical-op.
10195
82f6d455
WB
101962012-03-10 William Bittner <william.bittner@gmail.com>
10197
10198 * util/import_unicode.py: Add missing brackets around string for
10199 python 3 support.
10200
1ecd61a4
VS
102012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 Fix efi chainloader on network root.
10204
10205 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10206 network devices.
10207 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10208 New function.
10209
14361ee8
VS
102102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10213 unused show_text member.
10214 * docs/grub.texi: Document "text" property.
10215
922aabf3
VS
102162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10219 in dprintf.
10220
ec316771
VS
102212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 Fix IMSM handling on Fedora.
10224
10225 * util/getroot.c (grub_util_is_imsm): New function.
10226 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10227
0f021838
VS
102282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * Makefile.am: Strip gold section.
10231 * conf/Makefile.common: Likewise.
10232 * gentpl.py: Likewise.
10233 * grub-core/Makefile.core.def: Likewise.
10234 * grub-core/genmod.sh.in: Likewise.
10235
1039c8eb
VS
102362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10239 * util/grub.d/20_linux_xen.in: Likewise.
10240 Based on Debian patch.
10241
6dd412cd
VS
102422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * util/grub.d/10_linux.in: Fix syntax error resulting in
10245 Richard Laager's patch.
10246 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10247
3fd8bae5
VS
102482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10251 dependencies.
10252
7eea1671
RL
102532012-03-10 Richard Laager <rlaager@wiktel.com>
10254
10255 * util/grub.d/10_linux.in: Fix ZFS root passing.
10256
e8e0566b
VS
102572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10260 * grub-core/commands/xnu_uuid.c: Likewise.
10261 * grub-core/loader/efi/appleloader.c: Likewise.
10262 * grub-core/script/execute.c: Likewise.
10263 * grub-core/script/main.c: Likewise.
10264 * util/grub-mkfont.c: Likewise.
10265
1acc5b1f
VS
102662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * util/grub-mkfont.c (options): Use more appropriate "select" that
10269 "set" for face index.
10270
35d70620
VS
102712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * util/grub-editenv.c (options): Gettextize command summaries.
10274
c9eb96b5
VS
102752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10278 "out of memory" error messagge.
10279
1f493136
VS
102802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10283 of diskfilter for diskfilter on diskfilter support.
10284
6d790129
VS
102852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10288
005f46c9
VS
102892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10292 themes/starfield.
10293
c8f778a0
VS
102942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10297
de1e64eb
VS
102982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10301
c6d54211
VS
103022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10305 of error message.
10306
dd390777
VS
103072012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10308
10309 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10310
5fd1c522
VS
103112012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10314 message.
c6d54211 10315 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10316
fae01f6c
VS
103172012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10320 Gettextize.
10321 * util/grub-mount.c (options): Likewise.
10322
292fdaff
VS
103232012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10326 gettextize.
10327 * grub-core/commands/search_wrap.c (options): Likewise.
10328
ecdbae77
VS
103292012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10332
52bfedfa
VS
103332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10336 size calculation.
10337 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10338 none is known.
10339
55b20e58
VS
103402012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10343 "temporary" since it's used in identifier and is limited in space.
10344
fda9d101
VS
103452012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * po/POTFILES.in: Regenerate. Include *.h since they contain
10348 translatable strings as well.
10349
6a0295e2
VS
103502012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10353 byte-swap on big-endian.
10354 Reported by: Lennart Sorensen
10355
807fb77c
VS
103562012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10359 (allocate_pages): Improve dprintf.
10360 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10361 code32_start. Fill code32_start and kernel_alignment in params.
10362 (grub_cmd_initrd): Use prot_init_space.
10363
61ac50ba
VS
103642012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10367
abdd26dd
VS
103682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * util/grub-install.in: Add missing dot at the end of sentence.
10371
6e69da9c
VS
103722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10375 * grub-core/commands/videotest.c: Likewise.
10376 * grub-core/loader/i386/linux.c: Likewise.
10377
4a929343
VS
103782012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10381 sentence.
10382 Reported by: Milo Casagrande.
10383
bb51c6c6
VS
103842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10387 * grub-core/commands/gptsync.c: Likewise.
10388 * grub-core/commands/hashsum.c: Likewise.
10389 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10390 * grub-core/commands/legacycfg.c: Likewise.
10391 * grub-core/io/gzio.c: Likewise.
10392 * grub-core/net/net.c: Likewise.
10393 * grub-core/term/gfxterm.c: Likewise.
10394 * grub-core/term/terminfo.c: Likewise.
10395 * grub-core/tests/test_blockarg.c: Likewise.
10396 * grub-core/video/video.c: Likewise.
10397 * util/grub-install.in: Likewise.
10398 * util/grub-mkfont.c: Likewise.
10399
b2b149cb
VS
104002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10403
c7c080ad
VS
104042012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10407 Reported by: David Prévot.
c7c080ad 10408
f2e243c0
VS
104092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10412 description.
10413
09963c76
VS
104142012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * util/grub-script-check.c (main): Fix a syntax error message which was
10417 unclear.
10418
a50514a8
VS
104192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10422
4650daec
VS
104232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10426 messages.
10427
104282012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10429
10430 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10431 without argument.
10432 * util/grub-mount.c (options): Likewise.
10433
bbc5a342
VS
104342012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10437
ef292a87
VS
104382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/net/http.c: Add TRANSLATORS comments.
10441 * grub-core/normal/cmdline.c: Likewise.
10442 * grub-core/normal/misc.c: Likewise.
10443 * grub-core/partmap/msdos.c: Likewise.
10444 * grub-core/parttool/msdospart.c: Likewise.
10445 * grub-core/script/execute.c: Likewise.
10446 * grub-core/script/main.c: Likewise.
10447 * grub-core/term/terminfo.c: Likewise.
10448 * grub-core/video/bitmap.c: Likewise.
10449 * util/grub-install.in: Likewise.
10450 * util/grub-mkimage.c: Likewise.
10451 * util/grub-mklayout.c: Likewise.
10452 * util/grub-setup.c: Likewise.
10453
0fc19bd0
VS
104542012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10457 with similar messages in grub-fstest.
10458
d95862ef
VS
104592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * util/grub-install.in: Unify "option requires an argument" message
10462 with similar messages in other files.
10463 * util/grub-mkconfig.in: Likewise.
10464
b7308f90
VS
104652012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * util/grub-set-default.in: Replace printf with gettext_printf (the
10468 string in in question is already translated from grub-reboot)
10469
559dc587
VS
104702012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * configure.ac: Bump up the version to beta1.
10473
1a11761f
VS
104742012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10477 case when min_align = 0.
10478
24539abd
VS
104792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10482 and fix a case when line_start overflows.
10483
32bd735b
VS
104842012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * util/grub-reboot.in (usage): Mention id posibility.
10487 * util/grub-set-default.in (usage): Likewise.
10488
1a2fd1e6
VS
104892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10492 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10493 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10494 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10495 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10496 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10497 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10498
90eeab76
VS
104992012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * grub-core/commands/menuentry.c (options): Remove
10502 GRUB_ARG_OPTION_REPEATABLE.
10503 Reported by: Andreas Vogel
10504
5ad1be82
AV
105052012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10506
10507 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10508
cb055286
HE
105092012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10510
10511 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10512 error.
10513
93b1cd79
VS
105142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10515
10516 Use sort -V by the idea of Georgi Georgiev.
10517
10518 * util/grub-mkconfig_lib.in (version_sort): New function.
10519 (version_test_numeric): Use version_sort.
10520
0cdc126c
VS
105212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 Use submenus in grub-mkconfig.
10524
10525 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10526 * util/grub-mkconfig_lib.in (grub_quote): New function.
10527 (gettext_printf): Use gettext and not gettext_quoted to fix several
10528 messages.
10529 * util/grub.d/10_hurd.in: Use submenus.
10530 * util/grub.d/10_kfreebsd.in: Likewise.
10531 * util/grub.d/10_linux.in: Likewise.
10532 * util/grub.d/10_netbsd.in: Likewise.
10533 * util/grub.d/20_linux_xen.in: Likewise.
10534 * util/grub.d/30_os-prober.in: Likewise.
10535 * util/grub.d/10_illumos.in: Add missing quoting.
10536 * util/grub.d/10_windows.in: Likewise.
10537
d9bef9bc
VS
105382012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 Fix menu title instability bug.
10541
10542 * grub-core/commands/menuentry.c (options): New option --id.
10543 (grub_normal_add_menu_entry): New argument id. All users updated.
10544 (grub_cmd_menuentry): Handle --id.
10545 (grub_menu_init): Accept unknown arguments.
10546 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10547 feature_menuentry_options.
10548 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10549 saved_entry.
10550 (get_entry_number): Match with id as well.
10551 * include/grub/menu.h (grub_menu_entry): New member id.
10552 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10553 * util/grub.d/00_header.in: Define menuentry_id_option.
10554 * util/grub.d/10_hurd.in: Define id.
10555 * util/grub.d/10_illumos.in: Likewise.
10556 * util/grub.d/10_kfreebsd.in: Likewise.
10557 * util/grub.d/10_linux.in: Likewise.
10558 * util/grub.d/10_netbsd.in: Likewise.
10559 * util/grub.d/10_windows.in: Likewise.
10560 * util/grub.d/20_linux_xen.in: Likewise.
10561 * util/grub.d/30_os-prober.in: Likewise.
10562
105632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10564
10565 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10566 "scope" with "body".
10567
7c8d0ce7
VS
105682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10571 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10572 prot_size and prot_file_size.
10573
49de079b
VS
105742012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10575
10576 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10577 All users updated. If easily=1 require raid-5/-6 to be full.
10578 (is_node_readable): Likewise.
10579 (scan_devices): Scan incomplete but readable LVs at the end.
10580 (grub_diskfilter_memberlist): Pull missing devices.
10581 (insert_array): Skip scanning until device is complete or scan is
10582 done otherwise.
10583 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10584 check.
10585 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10586 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10587
aff05d45
MG
105882012-03-03 Matthew Garrett <mjg@redhat.com>
105892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 Avoid EFI boot services when loading Linux.
10592
10593 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10594 avoid_efi_bootservices. All users updated.
10595 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10596 argument avoid_efi_bootservices. All users updated.
10597 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10598 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10599 align, min_align, relocatable, prefered_address. All users updated.
10600 Allocate avoiding boot services if kernel is relocatable.
10601 (grub_cmd_linux): Check if kernel is relocatable.
10602 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10603 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10604 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10605 avoid_efi_boot_services.
10606 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10607 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10608 (linux_kernel_params): Likewise.
10609
3935dde2
MG
106102012-03-03 Matthew Garrett <mjg@redhat.com>
106112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 Use EDID on EFI.
10614
10615 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10616 datasize_out.
10617 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10618 modes. Set gop_handle.
10619 (grub_video_gop_get_edid): New function.
10620 (grub_gop_get_preferred_mode): Likewise.
10621 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10622 (grub_video_efi_gop_adapter): Set .get_edid.
10623 * include/grub/efi/edid.h: New file.
10624 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10625
32107ec0
VS
106262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * util/grub-install.in: Load efivars unconditionally.
10629
e70a2c50
VS
106302012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * po/Rules-piglatin: Change suffix from .po-update-en to
10633 .po-update-en-piglatin.
10634
8f9cace1
VS
106352012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 Add a pig farm.
10638
10639 * po/piglatin.sed: New file.
10640 * po/en@piglatin.header: Likewise.
10641 * po/Rules-piglatin: Likewise.
10642 * po/README: Add en@piglatin to autogenerated languages.
10643
8f95d002
VS
106442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10647 "Command for ...".
10648 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10649 "Check" since we don't check anything.
10650 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10651 is 64-bit one.
10652 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10653 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10654 (grub_md_sha512_real): Likewise.
10655
805a8dcc
VS
106562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 * grub-core/commands/gptsync.c: Fix typographic quoting.
10659 * grub-core/commands/ieee1275/suspend.c: Likewise.
10660 * grub-core/commands/parttool.c: Likewise.
10661 * grub-core/commands/search_wrap.c: Likewise.
10662 * grub-core/commands/videoinfo.c: Likewise.
10663 * grub-core/gfxmenu/gui_label.c: Likewise.
10664 * grub-core/hello/hello.c: Likewise.
10665 * grub-core/kern/emu/main.c: Likewise.
10666 * grub-core/net/net.c: Likewise.
10667 * grub-core/normal/menu.c: Likewise.
10668 * grub-core/normal/menu_text.c: Likewise.
10669 * grub-core/normal/misc.c: Likewise.
10670 * util/grub-editenv.c: Likewise.
10671 * util/grub-install.in: Likewise.
10672 * util/grub-kbdcomp.in: Likewise.
10673 * util/grub-mkconfig.in: Likewise.
10674 * util/grub-mknetdir.in: Likewise.
10675 * util/grub-mkrescue.in: Likewise.
10676 * util/grub-mkstandalone.in: Likewise.
10677 * util/grub-reboot.in: Likewise.
10678 * util/grub-set-default.in: Likewise.
10679 * util/grub-setup.c: Likewise.
10680 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10681
40211ab8
VS
106822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10685 * grub-core/commands/keystatus.c: Likewise.
10686 * grub-core/commands/loadenv.c: Likewise.
10687 * grub-core/commands/probe.c: Likewise.
10688 * grub-core/commands/regexp.c: Likewise.
10689 * grub-core/commands/true.c: Likewise.
10690 * grub-core/commands/videoinfo.c: Likewise.
10691 * grub-core/disk/cryptodisk.c: Likewise.
10692 * grub-core/disk/ldm.c: Likewise.
10693 * grub-core/disk/loopback.c: Likewise.
10694 * grub-core/disk/luks.c: Likewise.
10695 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10696 * grub-core/kern/disk.c: Likewise.
10697 * grub-core/kern/emu/hostdisk.c: Likewise.
10698
0c7d99c7
VS
106992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10702 * util/grub-install.in: Add missing quote in the comment.
10703
e7d2559b
VS
107042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10707 * grub-core/commands/lsmmap.c: Likewise.
10708 * grub-core/commands/minicmd.c: Likewise.
10709 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10710 * grub-core/commands/regexp.c: Likewise.
10711 * grub-core/gdb/gdb.c: Likewise.
10712 * grub-core/term/gfxterm.c: Likewise.
10713 * util/grub-mkconfig.in: Likewise.
10714 * util/grub-mkfont.c: Likewise.
10715 * util/grub-mklayout.c: Likewise.
10716 * util/grub-mknetdir.in: Likewise.
10717 * util/grub-mkrescue.in: Likewise.
10718 * util/grub.d/30_os-prober.in: Likewise.
10719
49ce9e50
VS
107202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
10723 with "Direct color" and "Packed" with "Packed pixel".
10724 (grub_cmd_videoinfo): Simplify legend.
10725
e4b791fa
VS
107262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10729 absolutely unclear error message.
10730
fd1265cb
VS
107312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * util/grub-mkstandalone.in: Remove confusing leftover print.
10734
8822a8a0
VS
107352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
10738 comments.
10739 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
10740 (GRUB_MOD_INIT): Likewise.
10741 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
10742 VGA mode.
10743 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
10744 comments.
10745 * util/grub-install.in (usage): Likewise.
10746 Spell ID in whole letters.
10747 Add missing ending dot.
10748 Quote variables.
10749 * util/grub-reboot.in: Fix capitalisation.
10750 * util/grub-set-default.in: Likewise.
10751
937fd0cc
VS
107522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
10755 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
10756 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
10757 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
10758 Disable -Werror for -Wdeprecated-declarations.
10759 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
10760 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
10761 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
10762 (grub_util_get_grub_dev): Make luks handling dependent on
10763 HAVE_DEVICE_MAPPER and not __linux__.
10764 (get_win32_path): Fix format security.
10765 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
10766 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
10767 Don't try grub_find_zpool_from_dir.
10768 (grub_make_system_path_relative_to_its_root) [!__linux__]:
10769 #ifdef-out paresdir.
10770
1bab1ae3
VS
107712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * util/grub-pe2elf.c (usage): Add missing noreturn.
10774 (write_section_data): Rename name to shname to avoid shadowing.
10775 (write_symbol_table): Rename name to symname to avoid shadowing.
10776 Fix write_reloc_section call.
10777
ef023e42
VS
107782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
10781 to ensure that it's after the last byte of .text.
10782
48afcb75
VS
107832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * util/ieee1275/ofpath.c (my_isdigit): New function.
10786 (trailing_digits): Use my_isdigit.
10787 (strip_trailing_digits): Likewise.
10788
88d51eff
VS
107892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
10792 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
10793
17edc2ba
VS
107942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * grub-core/kern/i386/pc/startup.S: Define __start.
10797
ad5518d7
VS
107982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
10801 strip already transforms he format.
10802
9e95e1bf
VS
108032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
10806
9cc3ee5c
VS
108072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * util/grub-install.in: Add missing gettext init.
10810 * util/grub-kbdcomp.in: Likewise.
10811 * util/grub-mkconfig.in: Likewise.
10812 * util/grub-mknetdir.in: Likewise.
10813 * util/grub-mkrescue.in: Likewise.
10814 * util/grub-mkstandalone.in: Likewise.
10815 * util/grub-reboot.in: Likewise.
10816 * util/grub-set-default.in: Likewise.
10817 * util/grub.d/00_header.in: Likewise.
10818 * util/grub.d/10_hurd.in: Likewise.
10819 * util/grub.d/10_windows.in: Likewise.
10820 * util/grub.d/30_os-prober.in: Likewise.
10821 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10822
49e08a06
VS
108232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * po/Rules-swiss: Fix header comment.
10826
3809cb41
AV
108272012-02-29 Andreas Vogel <anvoit>
10828
10829 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
10830 resulted in leak of arguments.
10831
fa6ec573
VS
108322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10835 reed_solomon_size const definition instead of computing it since
10836 Apple assembler doesn't support the later.
10837
22899b9c
VS
108382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * gentpl.py (kernel): Rewrite Apple part.
10841
a132afc3
VS
108422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10845
9d742bd4
VS
108462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10849 ELF section gap.
10850 (load_image): Likewise.
10851
f04a9a21
VS
108522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * configure.ac: Fix a typo in previous commit.
10855
46cf439c
VS
108562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 Don't add -Wl,-N on Apple platform.
10859
10860 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10861 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10862
c4c48c54
VS
108632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/Makefile.core.def (lzma_decompress): Use
10866 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10867
31a12124
VS
108682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/genmod.sh.in: Rewrite the Apple part.
10871
4f3aa1af
VS
108722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10875 comparison.
10876
7bd8b0c7
VS
108772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * acinclude.m4 (grub_CHECK_PIC): New test.
10880 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10881
97304d7c
VS
108822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10885 to avoid the warning.
10886
fb883812
VS
108872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10890 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10891 after. All users updated.
10892
a121c964
VS
108932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 Use the common size routine in hostfs so we can read disks as well.
10896
10897 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10898 (grub_util_get_fd_size): ... this. Return size in bytes.
10899 All users updated.
10900 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10901 grub_util_get_fd_size.
10902
c66d6410
VS
109032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10906 Add blocksize retrieval.
10907
dfc8aeb0
VS
109082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * configure.ac: Restore CFLAGS after efiemu check.
10911
403e25a5
VS
109122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10915 Apple bug.
10916
382775d1
VS
109172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10918
10919 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10920
6fd4e6e4
VS
109212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10924 (grub_cmd_halt): Likewise.
10925
bea359d6
VS
109262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10929 for local arithmetics.
10930 Break %sp init into 2 instructions.
10931 Add 0 byte at the end.
10932
32eb6ee1
VS
109332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10936 before loops.
10937
e8377389
VS
109382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10941 for context.
10942
8cb17de7
VS
109432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * grub-core/disk/ldm.c (make_vg): Init part.name.
10946 (grub_ldm_detect): Silence spurious warning.
10947 (grub_util_is_ldm): Likewise.
10948
595717e6
VS
109492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10952 sane value to avoid a spurious warning.
10953
c4b7e588
VS
109542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10957 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10958
59824957
VS
109592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10962 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10963
70115b99
VS
109642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10967 hardcoding the relevant info.
10968
56733740
VS
109692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10972 missing const qualifiers.
10973 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10974
43481481
VS
109752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * util/getroot.c [__APPLE__]: Add missing includes.
10978 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10979
3cb38f01
VS
109802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10983
d9dbf11e
VS
109842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10987 avoid conflicts.
10988
0c42a45d
VS
109892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10992
46c34eb0
VS
109932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10996 and grub_file_close call.
10997
99ce1597
VS
109982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 Add LZSS Mach-O support (needed for new xnu kernelcache).
11001
11002 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11003 * grub-core/loader/lzss.c: New file.
11004 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11005 on Mach-O open failure.
11006 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11007 Don't free cmdsXX in uncompressedXX is set.
11008 (grub_macho_file): Init new fields.
11009 New argument is_64bit. All users updated.
11010 Handle compressed. Error out if no suitable architecture is found.
11011 Don't close file.
11012 (grub_macho_open): New argument is_64bit. All users updated.
11013 * grub-core/loader/macho32.c: Add defines for new fields.
11014 * grub-core/loader/macho64.c: Likewise.
11015 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11016 (grub_macho_parse): Handle compressed.
11017 Defer actual processing if compressed.
11018 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11019 "filename". All users updated.
11020 (grub_macho_size): New argument "filename". All users updated.
11021 (grub_macho_get_entry_point): Likewise.
11022 (grub_macho_load): Handle compressed.
11023 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11024 (GRUB_MACHO_LZSS_OFFSET): New define.
11025 (grub_decompress_lzss): New proto.
11026 * include/grub/machoload.h (grub_macho_file): New fields to handle
11027 compressed.
11028 (grub_macho_contains_macho64): Remove proto.
11029 (grub_macho_contains_macho32): Likewise.
11030 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11031
ebd17d6f
VS
110322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11035
2702b4e4
VS
110362012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 Fix make dist.
11039
11040 * Makefile.am (starfield_theme_files): New var.
11041 (starfield_DATA): Use starfield_theme_files.
11042 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11043 Add bootcheck-related files.
11044 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11045 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11046 and font_char_metrics.txt.
11047 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11048 (setjmp): Add lib/ia64/longjmp.S.
11049 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11050 * po/POTFILES.in: Regenerate.
11051 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11052 DISTFILES.common.extra1.
11053 * util/devicemap.c: Removed.
11054 * grub-core/lib/i386/relocator_backward.S: Likewise.
11055 * util/import_gcry.py: Remove unused files. Add extra_dist for
11056 ChangeLog.
11057
cf1adfdf
VS
110582012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11061 grub_gettext_delete_list before changing grub_gettext_max to avoid
11062 running out of array bounds.
11063
110642012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
11065
11066 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11067 grub_vga_text_init/grub_vga_text_fini.
11068
cf1adfdf 110692012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
11070
11071 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11072
541d92e9
VS
110732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 * configure.ac: Bump to 2.00~beta0.
11076
7931dddf
VS
110772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
11080 missing initialisation.
11081
f1b16fa3
VS
110822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
11085
83ddae23
VS
110862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 Support v2 xnu boot arguments.
11089
11090 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11091 New argument fsbfreq_out.
11092 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11093 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11094 be used.
11095 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11096 darwin_version.
11097 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11098 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11099 (grub_xnu_boot_params): Rename to ...
11100 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11101 (grub_xnu_boot_params_v2): New struct.
11102
dc693fe6
VS
111032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11106 zeroing of CRC field before computing CRC.
11107
5a6e39c2
VS
111082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11111 Change order of allocations to decrease fragmentation.
11112
6c21f5d7
VS
111132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
11116
cfe456dc
CW
111172012-02-27 Colin Watson <cjwatson@ubuntu.com>
11118
11119 Use write-combining MTRR to speed up video with buggy BIOSes.
11120
11121 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
11122 (cpuid): New define.
11123 (rdmsr): Likewise.
11124 (wrmsr): Likewise.
11125 (mtrr_base): Likewise.
11126 (mtrr_mask): Likewise.
11127 (grub_vbe_enable_mtrr_entry): New function.
11128 (grub_vbe_enable_mtrr): Likewise.
11129 (grub_vbe_disable_mtrr): Likewise.
11130 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
11131 control off to BIOS.
11132 (grub_video_vbe_init): Fill mtrr.
11133 (grub_video_vbe_fini): Disable mtrr.
11134 (grub_video_vbe_get_info_and_fini): Likewise.
11135 (grub_video_vbe_setup): Enable mtrr.
11136
e3c78337
CW
111372012-02-27 Colin Watson <cjwatson@ubuntu.com>
11138
11139 * include/grub/partition.h (grub_partition_map): Change prototype of
11140 embed to take a maximum value for nsectors.
11141 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
11142 * include/grub/fs.h (grub_fs): Likewise.
11143 * grub-core/partmap/msdos.c (embed_signatures): New array.
11144 (pc_partition_map_embed): Check for and avoid sectors matching any
11145 of the signatures in embed_signatures, up to max_nsectors.
11146 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
11147 returned sector map to max_nsectors.
11148 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
11149 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
11150 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
11151 * util/grub-setup.c (setup): Allow for the embedding area being
11152 split into multiple blocklists. Tell dest_partmap->embed the
11153 maximum number of sectors we care about.
11154
111552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
11158 Specify blocklist_install and reserver_first_sector for all fs.
11159 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
11160 blocklists.
11161
984b973f
VS
111622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * util/grub-install.in: Clarify strings.
11165 Fix source dir check.
11166
f122e0d6
RL
111672012-02-27 Richard Laager <rlaager@wiktel.com>
11168
11169 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
11170 "zfs" and "fuse.zfs" as synonyms.
11171
071114bb
VS
111722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * configure.ac: Put platform and target_cpu substitutions back since
11175 they are used for directories.
11176
817e6abc
RL
111772012-02-27 Richard Laager <rlaager@wiktel.com>
111782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * util/grub.d/10_linux.in: Add ZFS-related arguments.
11181 * util/grub.d/20_linux_xen.in: Likewise.
11182
897b7419
RL
111832012-02-27 Richard Laager <rlaager@wiktel.com>
11184
11185 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
11186 with full paths.
11187
a414bd15
RL
111882012-02-27 Richard Laager <rlaager@wiktel.com>
11189
11190 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
11191 unescape.
11192
30ac48c4
VS
111932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 Don't use insecure popen in getroot.
11196
11197 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
11198 (exec_pipe): ... here.
11199 (find_root_devices_from_poolname): Use exec_pipe.
11200
53f13848
VS
112012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 Remove platform and target_cpu replacement.
11204
11205 * configure.ac: Remove platform and target_cpu substitutions.
11206 * tests/util/grub-shell.in: Use modinfo.
11207 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11208 explicitly.
11209
90cb2803
VS
112102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 Autodetect platform in grub-install but allow override.
11213
11214 * util/grub-install.in: Autodetect platform. Support --target and
11215 --directory. Read platform from modinfo.sh.
11216
b9136427
VS
112172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 Support btrfs multi-volume probe.
11220
11221 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11222 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11223 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11224 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11225 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11226 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11227 grub_find_root_devices_from_btrfs if on btrfs.
11228
c36e5cd1
VS
112292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 Remove any awareness of *.c util files about target.
11232
11233 * Makefile.util.def (grub-setup): Split to ...
11234 (grub-bios-setup): ... and this.
11235 (grub-sparc64-setup): ... and this.
11236 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11237 * docs/man/grub-setup.h2m: Split into ...
11238 * docs/man/grub-sparc64-setup.h2m: ... this.
11239 * docs/man/grub-bios-setup.h2m: ... and this.
11240 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11241 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11242 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11243 (grub_target_addr_t): Remove.
11244 (grub_target_size_t): Remove.
11245 (grub_target_ssize_t): Remove.
11246 * util/grub-install.in: Use new grub-*-setup.
11247 * util/grub-mkimagexx.c (Elf_Word): New define.
11248 (Elf_Half): Likewise.
11249 (Elf_Section): Likewise.
11250 (ELF_ST_TYPE): Likewise.
11251 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11252 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11253
584b2f8a
VS
112542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 Replace grub_target_addr with more appropriate types.
11257
11258 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11259 grub_target_addr with grub_addr.
11260 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11261 grub_target_addr with grub_port.
11262 (grub_cmd_write): Likewise.
11263 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11264 grub_target_addr with grub_addr.
11265 (grub_cmd_write): Likewise.
11266 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11267
5a0dc6fb
VS
112682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11271 const qualifier for vendor_guid.
11272
786aff6e
VS
112732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11276 const qualifier.
11277 (efiemu_memequal): Likewise.
11278 (find_variable): Likewise.
11279
49017b17
VS
112802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 Fix missing console prototype on qemu-mips.
11283
11284 * include/grub/mips/qemu_mips/console.h: New file.
11285
c5988629
MG
112862012-02-27 Matthew Garrett <mjg@redhat.com>
112872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11290 * include/grub/efi/efi.h: Likewise.
11291 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11292 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11293 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11294 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11295 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11296 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11297
e33f8d69
MG
112982012-02-27 Matthew Garrett <mjg@redhat.com>
11299
11300 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11301
fb312cd9
VS
113022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11305 error.
11306
7134247c
VS
113072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * configure.ac: Remove inappropriate use of program_transform_name
11310 on grubdir and bootdir but allow explicit specification of those
11311 variables.
11312
6a313124
VS
113132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * util/grub-mknetdir.in (grub_prefix): Removed.
11316 (subdir): Use @bootdirname@ and @grubdirname@.
11317
2311c5ca
VS
113182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11321
7d5d60f7
VS
113222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * po/POTFILES.in: Regenerated.
11325
8151bc82
VS
113262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 Remove improper use of program_transform_name on pkglibrootdir.
11329
11330 * configure.ac (pkglibrootdir): Removed.
11331 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11332 * util/grub-mkimage.c: Likewise.
11333
b4a6a533
VS
113342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11337 warning.
11338
668f304f
VS
113392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 * util/grub-install.in: Use file identifier if no UUID is available
11342 or user explicitly prompted for it.
11343
665f2341
NP
113442012-02-27 Navdeep Parhar <nparhar@gmail.com>
11345
11346 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11347 (freebsd_get_zfs): New function.
11348 (grub_freebsd_boot): Pass zfs UUID.
11349 (grub_cmd_freebsd): Set zfs UUID.
11350
8151bc82 113512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11352
11353 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11354 pkglibrootdir.
11355
e4c498a1
MG
113562012-02-27 Mike Gilbert <floppym@gentoo.org>
11357
11358 Add configure flag to control libzfs integration.
11359
11360 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11361
1e9a9a3f
VS
113622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11365 device.
11366 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11367 small devices.
11368
036985b8
VS
113692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11372 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11373 be used on non-modules.
11374
11375 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11376 Rename to grub_boot_init.
11377 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11378 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11379 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11380 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11381 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11382 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11383 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11384 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11385 includes.
11386 (grub_machine_init): Remove empty inits.
11387 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11388 includes.
11389 (grub_machine_init): Remove empty inits.
11390 * grub-core/term/arc/console.c: Remove explicit proto.
11391 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11392 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11393 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11394 grub_at_keyboard_fini.
11395 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11396 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11397 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11398 grub_gfxterm_fini.
11399 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11400 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11401 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11402 grub_vgatext_fini.
11403 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11404 * grub-core/term/serial.c (GRUB_MOD_INIT)
11405 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11406 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11407 grub_serial_fini.
11408 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11409 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11410 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11411 grub_terminfo_fini.
11412 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11413 (GRUB_MOD_FINI): Likewise.
11414 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11415 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11416 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11417 grub_video_radeon_fuloong2e_fini.
11418 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11419 [LOONGSON]: Rename to grub_video_sis315pro_init.
11420 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11421 grub_video_sis315pro_fini.
11422 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11423 [LOONGSON]: Rename to grub_video_sm712_init.
11424 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11425 grub_video_sm712_fini.
11426 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11427 (grub_at_keyboard_fini): Likewise.
11428 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11429 Don't declare grub_{modname}_init.
11430 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11431 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11432 New proto.
11433 (grub_keylayouts_fini) [!EMU]: Likewise.
11434 * include/grub/serial.h (grub_serial_init) [!EMU]:
11435 New proto.
11436 (grub_serial_fini) [!EMU]: Likewise.
11437 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11438 New proto.
11439 (grub_terminfo_fini) [!EMU]: Likewise.
11440 * include/grub/video.h (grub_font_init) [!EMU]:
11441 New proto.
11442 (grub_font_fini) [!EMU]: Likewise.
11443 (grub_gfxterm_init) [!EMU]: Likewise.
11444 (grub_gfxterm_fini) [!EMU]: Likewise.
11445 (grub_video_sm712_init) [!EMU]: Likewise.
11446 (grub_video_sm712_fini) [!EMU]: Likewise.
11447 (grub_video_sis315pro_init) [!EMU]: Likewise.
11448 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11449 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11450 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11451
d5534665
VS
114522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 Make nand a prefix for nand devices.
11455
11456 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11457
10133b5f
VS
114582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11461 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11462
8e307a62
VS
114632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * include/grub/env.h (grub_env_find): Remove prototype.
11466 * grub-core/kern/env.c (grub_env_find): Make static.
11467 (grub_env_set): Remove useless set.
11468
a4c65f34
VS
114692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * grub-core/kern/i386/realmode.S: Remove useless align.
11472
d87893d5
VS
114732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * include/grub/dl.h (grub_dl_load_file): Don't export.
11476
50159add
VS
114772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11480 grub_dprintf.
11481
b2582b84
VS
114822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11485 grub_errors.
11486 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11487 not reloading whole superblock but only the part which is really needed.
11488 Remove useless grub_errors.
11489 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11490 grub_errors.
11491
e2a83395
VS
114922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 Don't export grub_get_rtc.
11495
11496 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11497 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11498
e7d2a906
VS
114992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11502
6cf1363b
VS
115032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11506 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11507
eece3349
VS
115082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 Remove prio_list.
11511
11512 * include/grub/list.h (grub_prio_list): Removed.
11513 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11514 GRUB_COMMAND_PRIO_MASK.
11515 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11516 GRUB_COMMAND_FLAG_ACTIVE.
11517 (grub_prio_list_insert): Removed.
11518 (grub_prio_list_remove): Likewise.
11519 (GRUB_AS_PRIO_LIST): Likewise.
11520 (GRUB_AS_PRIO_LIST_P): Likewise.
11521 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11522 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11523 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11524 * grub-core/kern/command.c (grub_register_command_prio): Inline
11525 the prio_list code.
11526 (grub_unregister_command): Likewise.
11527
94f064b4
VS
115282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 Fix interrupt mixup from previous commit.
11531
11532 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11533 (grub_realidt): New var.
11534 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11535 Load idt.
11536 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11537 New declaration.
11538 (grub_relocator16_boot): Set grub_relocator16_idt.
11539 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11540 (LOCAL(realidt)): ... this.
11541 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11542 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11543 (grub_realidt): New variable.
11544
27317084
VS
115452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11548 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11549 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11550 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11551 Gettextize.
11552 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11553 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11554 * po/POTFILES.in: Regenerate.
11555
47b40053
VS
115562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11559 errors.
11560
2b343101
VS
115612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11564 \0.
11565 (add_length): Likewise.
11566
ff27c3dd
LK
115672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
115682012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11569
11570 GDB serial and backtrace support.
11571
11572 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11573 (prot_to_real): Likewise.
11574 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11575 * grub-core/Makefile.core.def (backtrace): New module.
11576 (gdb): Likewise.
11577 * grub-core/gdb/cstub.c: New file.
11578 * grub-core/gdb/gdb.c: Likewise.
11579 * grub-core/gdb/i386/idt.c: Likewise.
11580 * grub-core/gdb/i386/machdep.S: Likewise.
11581 * grub-core/gdb/i386/signal.c: Likewise.
11582 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11583 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11584 * include/grub/backtrace.h: Likewise.
11585 * include/grub/gdb.h: Likewise.
11586 * include/grub/i386/gdb.h: Likewise.
11587
115882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11589
11590 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11591 New function.
11592 (add_length): Likewise.
11593 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11594 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11595 proto.
11596 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11597 __argp_get_display_len.
11598
ff27c3dd 115992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11600
11601 $"..." support in scripts.
11602
11603 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11604 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11605 * grub-core/script/yylex.l: Likewise.
11606 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11607 value.
11608
ff27c3dd 116092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11610
11611 * gentpl.py: Remove obsolete pkglib_DATA handling.
11612
ff27c3dd 116132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11614
11615 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11616 mailing list.
11617
11618 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11619 * util/grub-kbdcomp.in: Likewise.
11620 * util/grub-mkconfig.in: Likewise.
11621 * util/grub-mkconfig_lib.in: Likewise.
11622 * util/grub-mknetdir.in: Likewise.
11623 * util/grub-mkrescue.in: Likewise.
11624 * util/grub-mkstandalone.in: Likewise.
11625 * util/grub-reboot.in: Likewise.
11626 * util/grub-set-default.in: Likewise.
11627 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11628
ff27c3dd 116292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11630
11631 Remove GRUB_PREFIX.
11632
11633 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11634 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11635 used for backward compatibility.
11636
ff27c3dd 116372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11638
11639 Add new all_video module.
11640
11641 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11642 * grub-core/Makefile.core.def (all_video): New module.
11643 * grub-core/genmoddep.awk: Generate dependency of all_video from
11644 video.lst.
11645 * grub-core/lib/fake_module.c: New file.
11646 * grub-core/normal/main.c (features): Add feature_all_video_module.
11647 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11648 don't do explicit search again.
47454da5 11649 insmod all_video in load_video if available.
22c7ce85 11650
ff27c3dd 116512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11652
11653 Another round of string clarification and adding TRANSLATORS comments.
11654
ff27c3dd 116552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11656
11657 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11658
ff27c3dd 116592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11660
11661 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11662 to grub_ssize_t.
11663 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11664 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11665
ff27c3dd 116662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11667
11668 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11669 trailing newline implicitly. All users updated.
11670
ff27c3dd 116712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11672
11673 Implement serial on IEEE1275 and EFI.
11674
11675 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11676 on emu. Mention arc and emu as the only platforms without serial
11677 support.
11678 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11679 ieee1275 platforms.
11680 * grub-core/term/efi/serial.c: New file.
11681 * grub-core/term/ieee1275/serial.c: Likewise.
11682 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11683 specification if no ns8250 driver is available.
11684 (grub_cmd_serial): Likewise.
11685 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11686 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11687 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11688 (grub_efi_parity_type_t): New type.
11689 (grub_efi_stop_bits_t): Likewise.
11690 (grub_efi_serial_io_interface): New struct.
11691 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11692 available for all interfaces.
11693 Add EFI and IEEE1275 fields.
11694 (grub_ofserial_init): New proto.
11695 (grub_efiserial_init): Likeiwse.
11696 * util/grub.d/00_header.in: Don't check for the presence of serial
11697 module.
11698
ff27c3dd 116992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11700
11701 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11702 name as if it was an alias.
11703
114076ef
VS
117042012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/commands/lsacpi.c (options): Fix typo.
11707
6a656b0e
VS
117082012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 Convert grub-emu to argp.
11711
11712 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11713 emu.
11714 * util/argp_common.c: Rename to ...
11715 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11716 Add missing includes.
11717 * grub-core/kern/emu/main.c: Convert to argp.
11718 * po/POTFILES.in: Regenerate.
11719 * util/grub-install.in (usage): Make first letter lowcase in messages
11720 for uniformity.
11721 * util/grub-setup.c (options): Likewise.
11722
1e3f8ae8
VS
117232012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
11726 Put back accidently commented-out code.
11727
ed167a80
VS
117282012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
11731 loop check using Brent algorithm.
11732 (grub_hfsplus_btree_search): Likewise.
11733
6753c0ec
VS
117342012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * util/grub-install.in: Fix usage of wrong device for PreP install.
11737
4e27343f
VS
117382012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11739
11740 * conf/Makefile.common (CFLAGS_GNULIB): Add
11741 -Wno-unsafe-loop-optimizations.
11742 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
11743 on tools.
11744 * grub-core/commands/legacycfg.c: Add pragma to skip
11745 -Wunsafe-loop-optimizations.
11746 (check_password_md5_real): Fix loop counter type.
11747 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
11748 reading.
11749 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
11750 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
11751 loop condition.
11752 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
11753 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
11754 * grub-core/net/net.c (grub_net_route_address): Add safety loop
11755 condition.
11756 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
11757 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
11758 avoid possible infinite loops.
11759 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
11760 and -Wunsafe-loop-optimizations.
11761 * grub-core/script/yylex.l: Likewise.
11762 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
11763 (print_glyphs): Avoid infinite loops.
11764 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
11765
697f18b0
GS
117662012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
11767
11768 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
11769 to avoid infinite loop.
11770 (disp_acpi_rsdt_table): Likewise.
11771
274416e8
VS
117722012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * grub-core/font/font.c (grub_font_load): Add support for default
11775 path for fonts ($prefix/fonts).
11776 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
11777 for checking if string is a path.
11778 * grub-core/normal/main.c (features): Add feature_default_font_path.
11779 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
11780 * util/grub.d/00_header.in: Use default directory if possible.
11781 * util/grub-install.in: Install unicode.pf2.
11782
b3e08622
VS
117832012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
11786 * po/Rules-swiss: New file.
11787 * po/swiss.sed: Likewise.
11788
fe42ce09
VS
117892012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * grub-core/fs/btrfs.c (find_device): Fix typos.
11792 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
11793 * util/grub-mkrelpath.c (argp_parser): Likewise.
11794 Reported by: Yuri Chornoivan.
11795
72f1d065
DO
117962012-02-23 Dalet Omega <daletomega@gmail.com>
11797
11798 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
11799 for usual informative messages.
11800
c5884973
DO
118012012-02-23 Dalet Omega <daletomega@gmail.com>
11802
11803 Starfield theme.
11804
11805 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
11806 * conf/Makefile.common: Define starfielddir.
11807 * configure.ac: Configure starfield.
11808 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
11809 * themes/starfield/README: Likewise.
11810 * themes/starfield/blob_w.png: Likewise.
11811 * themes/starfield/boot_menu_c.png: Likewise.
11812 * themes/starfield/boot_menu_e.png: Likewise.
11813 * themes/starfield/boot_menu_n.png: Likewise.
11814 * themes/starfield/boot_menu_ne.png: Likewise.
11815 * themes/starfield/boot_menu_nw.png: Likewise.
11816 * themes/starfield/boot_menu_s.png: Likewise.
11817 * themes/starfield/boot_menu_se.png: Likewise.
11818 * themes/starfield/boot_menu_sw.png: Likewise.
11819 * themes/starfield/boot_menu_w.png: Likewise.
11820 * themes/starfield/slider_c.png: Likewise.
11821 * themes/starfield/slider_n.png: Likewise.
11822 * themes/starfield/slider_s.png: Likewise.
11823 * themes/starfield/src/blob_nw.xcf: Likewise.
11824 * themes/starfield/src/bootmenu/: Likewise.
11825 * themes/starfield/src/bootmenu/center.xcf: Likewise.
11826 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
11827 * themes/starfield/src/bootmenu/side.xcf: Likewise.
11828 * themes/starfield/src/slider_c.xcf: Likewise.
11829 * themes/starfield/src/slider_n.xcf: Likewise.
11830 * themes/starfield/src/slider_s.xcf: Likewise.
11831 * themes/starfield/src/terminalbox/: Likewise.
11832 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11833 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11834 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11835 * themes/starfield/starfield.png: Likewise.
11836 * themes/starfield/terminal_box_c.png: Likewise.
11837 * themes/starfield/terminal_box_e.png: Likewise.
11838 * themes/starfield/terminal_box_n.png: Likewise.
11839 * themes/starfield/terminal_box_ne.png: Likewise.
11840 * themes/starfield/terminal_box_nw.png: Likewise.
11841 * themes/starfield/terminal_box_s.png: Likewise.
11842 * themes/starfield/terminal_box_se.png: Likewise.
11843 * themes/starfield/terminal_box_sw.png: Likewise.
11844 * themes/starfield/terminal_box_w.png: Likewise.
11845 * themes/starfield/theme.txt: Likewise.
11846
17d73325
VS
118472012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * util/grub.d/00_header.in: Add missing export theme.
11850
dbebaf92
VS
118512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11854 already included.
11855 Reported by: Eren D.
11856
3d68bffb
VS
118572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * conf/Makefile.common (grubdatadir): Removed.
11860 (Makefile.am): Move eveything grubdata to pkgdata.
11861
4b59234d
VS
118622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * grub-core/commands/acpihalt.c (get_sleep_type):
11865 Remove unused variable.
11866
463dcadc
VS
118672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11870 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11871 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11872 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11873 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11874 i18n with gettext no-op.
11875 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11876 GRUB_ACPI_OPCODE_STRING_CONST.
11877 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11878 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11879
e5b90c82
VS
118802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * po/POTFILES.in: Regenerate.
11883
2a704ca9
VS
118842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11887 -Wno-error=missing-noreturn.
11888
84f9d341
VS
118892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11892 condition to avoid possibly infinite loops.
11893 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11894 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11895
d46683f9
VS
118962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11899 condition to avoid possibly infinite loops.
11900
c44866b2
VS
119012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11902
11903 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11904 on show_error.
11905
96790539
VS
119062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11909
1ba7e295
VS
119102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11913
21ffe8f1
VS
119142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * util/bin2h.c (usage): Add missing attribute noreturn.
11917
0ccb6b3c
VS
119182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11921 if the size isn't divisible by 512.
11922
b00d7fb6
VS
119232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 Make list_push and list_remove functions rather than inline functions
11926 to decrease size and avoid aliasing violations.
11927
11928 * include/grub/list.h (grub_list_push): Move to ...
11929 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11930 * include/grub/list.h (grub_list_remove): Move to ...
11931 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11932
9d369087
VS
119332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11936 and -Wunused-result.
11937
af0250d9
VS
119382012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11939
11940 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11941 Reported by: Seth Goldberg
11942
aad32b14
VS
119432012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11946
ac96441c
ST
119472012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11948
11949 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11950 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11951 command line.
11952 * docs/grub.texi (Simple configuration): Document
11953 GRUB_CMDLINE_GNUMACH.
11954
119552012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11956
11957 * conf/Makefile.common (platform_SCRIPTS): New variable.
11958 (platform_PROGRAMS): Likewise.
11959 * gentpl.py: Mark *,module and *.image for install.
11960 * grub-core/gdb_grub.in: Add a notice of expected environment.
11961 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11962 (gmodule.pl): Likewise.
11963
ac96441c 119642012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11965
11966 Replace grub_checkkey with grub_getkey_noblock.
11967
11968 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11969 (grub_getkey_noblock): ... this. All users updated.
11970
ac96441c 119712012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11972
11973 * grub-core/kern/emu/console.c: Move to ...
11974 * grub-core/term/emu/console.c: ...here.
11975 (grub_ncurses_getkey): Fix return value if no key is detected.
11976
e51b5666
VS
119772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11980 (grub_unit_test_fini): Likewise.
11981 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11982
119832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 * include/grub/test.h (GRUB_UNIT_TEST)
11986
d9a62292
VS
119872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11990 Better error handling.
11991 (grub_script_return): Likewise.
11992 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11993
77c9182f
VS
119942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11997 rimplicit redifinition.
11998
edb13cf9
VS
119992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12002 GRUB.
12003
a9e9dc7c
VS
120042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12007 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12008 prompt here.
12009
b4ba8e02
VS
120102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12013 as GRUB_ERR_BUG. Don't malloc if no device is available.
12014
dded5540
VS
120152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12018 Mark calling with invalid term as GRUB_ERR_BUG.
12019
0cf69874
VS
120202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12021
12022 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12023 packets rather than raising an error.
12024
59bfe502
VS
120252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
12028 in if.
12029
db5fc596
VS
120302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12033 diagnostic to dprintf.
12034 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12035
e4b7f404
VS
120362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12039 device name.
12040
e7b02f9e
VS
120412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12044 (grub_ntfs_iterate_dir): Likewise.
12045
0331e102
VS
120462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 Efiemu stylistic fixes and gettext.
12049
12050 * grub-core/efiemu/i386/loadcore32.c
12051 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12052 * grub-core/efiemu/i386/loadcore64.c
12053 (grub_arch_efiemu_relocate_symbols64): Likewise.
12054 * grub-core/efiemu/i386/pc/cfgtables.c
12055 (grub_machine_efiemu_init_tables): Likewise.
12056 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12057 (grub_efiemu_loadcore_initXX): Add a filename argument.
12058 All users updated.
12059 Improved error message.
12060 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12061 Add a filename argument.
12062 All users updated.
12063 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12064 Reclassify double relocation as GRUB_ERR_BUG.
12065
306fc074
VS
120662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12069 handling.
12070
794d8ef2
VS
120712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12074 on partition.
12075
120762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
12077
12078 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
12079
794d8ef2 120802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
12081
12082 Improve string. Gettextize.
12083
78dde88e
VS
120842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
12087 utils.
12088 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12089
4786a90f
VS
120902012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12093 [GRUB_UTIL]: New function.
12094 (insert_array) [GRUB_UTIL]: Store partmaps.
12095 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12096 partmaps.
12097 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12098 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12099 (probe_abstraction): Print diskfilter and not raid.
12100 Reported by: Lennart Sorensen
12101
0b6225bd
VS
121022012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12105 * util/grub-mkimagexx.c (MASK3): New define.
12106 (add_value_to_slot_20b): Use MASK3.
12107 (add_value_to_slot_21): Likewise.
12108 (relocate_addresses): Fix format specification.
12109 (load_image): Explicitly init symtab_section.
12110
b055f8f6
VS
121112012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
12114 (grub_util_biosdisk_get_grub_dev): Fix format specification.
12115
b77c2fb7
VS
121162012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
12119 on powerpc.
12120 Reported by: Lennart Sorensen
12121
e3ec28ab
VS
121222012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * gentpl.py: Add missing license header.
12125 * docs/grub.texi: Update copyright year.
12126
c8d9ead6
GS
121272012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12128
12129 Source grub-mkconfig_lib from the build directory at build time.
12130 Suggested by: Vladimir Serbinenko.
12131
12132 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
12133 * util/grub-install.in: Define pkgdatadir if not already set, and source
12134 grub-mkconfig_lib from there.
12135 * util/grub-kbdcomp.in: Likewise.
12136 * util/grub-mkconfig.in: Likewise.
12137 * util/grub-mknetdir.in: Likewise.
12138 * util/grub-mkrescue.in: Likewise.
12139 * util/grub-mkstandalone.in: Likewise.
12140 * util/grub-reboot.in: Likewise.
12141 * util/grub-set-default.in: Likewise.
12142 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12143
ebcecdf1
VS
121442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 Increase warning level.
12147
12148 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
12149 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
12150 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
12151 (TARGET_CFLAGS): Likewise.
12152 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
12153 * grub-core/Makefile.core.def (decompressor_xz): Add
12154 -Wno-unreachable-code.
12155 (normal): Add -Wno-redundant-decls.
12156 (xzio): Add -Wno-unreachable-code.
12157 (lzopio): Add -Wno-redundant-decls -Wno-error.
12158 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
12159 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
12160 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
12161 * grub-core/kern/dl.c: Add exception to -Wcast-align.
12162 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
12163 * grub-core/kern/i386/coreboot/init.c: Add exception to
12164 -Wsuggest-attribute=noreturn.
12165 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
12166 * grub-core/kern/ia64/dl_helper.c: Likewise.
12167 * grub-core/kern/mips/dl.c: Likewise.
12168 * grub-core/kern/sparc64/dl.c: Likewise.
12169 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
12170 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
12171 (memcmp): Likewise.
12172 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
12173 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
12174 * grub-core/loader/mips/linux.c: Likewise.
12175 * grub-core/loader/multiboot_elfxx.c: Likewise.
12176 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
12177 * grub-core/video/sm712.c: Add exception to -Wcast-align.
12178 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
12179 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
12180 fixme.
12181 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12182 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
12183 Fix prototype.
12184
37bb97fe
VS
121852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
12188 address.
12189
29a3550b
VS
121902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12193 Avoid improper use of strings.
12194 (grub_cmd_legacy_initrdnounzip): Likewise.
12195
dfdffd0d
VS
121962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12199 attribute.
12200 (grub_util_info): Likewise.
12201 (grub_util_error): Likewise.
12202
102fae4a
VS
122032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12206 * util/grub-fstest.c (fstest): Likewise.
12207
7e94d044
VS
122082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12211 (grub_md_sha512_real): Likewise.
12212 (grub_util_get_geli_uuid): Likewise.
12213 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12214 (grub_util_biosdisk_open): Fix format specification.
12215 Respect format security.
12216 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12217 (xrealloc): Likewise.
12218 (xasprintf): Likewise.
12219
5ebd9769
VS
122202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 * util/import_gcry.py: Include grub/crypto.h in init.c.
12223
495fc8c1
VS
122242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12227 (generate_image): Make prefix a const char *.
12228 Fix format specifications. Respect format security.
12229 Avoid void * arithmetics.
12230 Avoid shadowing.
12231 (argp_parser): Remove unused variable. Respect format security.
12232 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12233 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12234 (count_funcs): Remove unused variable.
12235 (relocate_addresses): Fix format specification.
12236 Disable x86-64 with elf32. Remove unused variables.
12237 (add_fixup_entry): Avoid shadowing.
12238 (make_reloc_section): Fix format specification.
12239 Use assert.
12240 (locate_sections): Fix format specifications.
12241 (load_image): Avoid shadowing.
12242
043c2ea3
VS
122432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12246 Fix format specifications. Respect format security.
12247 Don't translate already translated grub_errmsg.
12248 (argp_parser): Remove unused variable
12249
3ec65a81
VS
122502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12251
12252 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12253
a4d9fe4a
VS
122542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12257 (main): Likewise. Use xmalloc. Respect format security.
12258
15b81d49
VS
122592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12262 a const char *.
12263 (argp_parser): Remove unused variable.
12264
31731fc0
VS
122652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12268 (add_pixel): Make static.
12269 (add_font): Likewise.
12270 (write_string_section): Make name and str a const char *.
12271 (write_be16_section): Make name a const char *.
12272 (print_glyphs): Make static.
12273 (write_font_ascii_bitmap): Likewise.
12274 (write_font_width_spec): Likewise.
12275 (write_font_pf2): Likewise.
12276 (argp_parser): Remove unused variable.
12277 Respect format security.
12278 (main): Avoid shadowing. Respect format security.
12279
0809527b
VS
122802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * util/grub-editenv.c (argp_parser): Make static.
12283 (create_envblk_file): Use xmalloc.
12284 (open_envblk_file): Likewise.
12285 Resepect format security.
12286 (set_variables): Respect format security.
12287
45b0c8b7
VS
122882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * util/getroot.c (grub_find_device): Respect format security.
12291 (get_mdadm_uuid): Remove unused variable.
12292 (grub_util_pull_device): Dont call gettext on already translated
12293 grub_errmsg.
12294 (find_system_device): Remove unused variable.
12295 (grub_util_get_grub_dev): Likewise.
12296 (grub_make_system_path_relative_to_its_root): Respect format security.
12297
1b024b4e
VS
122982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * util/grub-fstest.c (execute_command): Make first argument
12301 a const char *.
12302 (read_file): Avoid shadowing.
12303 Reuse underlying error message if device open fails.
12304 (cmd_cmp): Respect format security.
12305 (root): Make const char *.
12306 (fstest): Remove args argument and use global copy.
12307 Respect format security.
12308 (argp_parser): Make static.
12309 (main): Make default_root const char *.
12310
5d1d4e28
VS
123112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * util/grub-mount.c (root): Make const char *.
12314 (execute_command): Make first argument a const char *.
12315 (fuse_init): Respect format security.
12316 (argp_parser): Make static. Remove unused variable.
12317 (main): Make default_root a const char *.
12318 Respect format security.
12319
36eb7379
VS
123202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * util/grub-probe.c (probe): Don't call gettext on already translated
12323 grub_errmsg.
12324 Remove unused variables.
12325 (argp_parser): Remove unused variable.
12326
76fb2ea9
VS
123272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * util/grub-script-check.c (argp_parser): Remove unused variable.
12330 (main): Rename read to curread to avoid shadowing.
12331
56c98584
VS
123322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * util/misc.c (grub_util_write_image_at): Fix format specification.
12335 (grub_util_write_image): Likewise.
12336 (grub_script_execute_argument_to_string): Removed (unused).
12337 (grub_script_execute_menuentry): Likewise.
12338 (grub_putchar): Likewise.
12339
164ebb48
VS
123402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12343 (FUNCTION) [GRUB_UTIL]: Likewise.
12344 (VARIABLE) [GRUB_UTIL]: Likewise.
12345
44318d61
VS
123462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12349 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12350
31a26002
VS
123512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12354 buffer.
12355
123562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12359 (LzmaEnc_SaveState): Removed (unused).
12360 (LzmaEnc_RestoreState): Likewise.
12361 (LzmaEnc_InitPriceTables): Made static.
12362 (LzmaEnc_Construct): Likewise.
12363 (LzmaEnc_FreeLits): Likewise.
12364 (LzmaEnc_Destruct): Likewise.
12365 (LzmaEnc_Init): Likewise.
12366 (LzmaEnc_InitPrices): Likewise.
12367 (LzmaEnc_Finish): Likewise.
12368 (LzmaEnc_PrepareForLzma2): Removed (unused).
12369 (LzmaEnc_MemPrepare): Likewise.
12370 (LzmaEnc_GetNumAvailableBytes): Likewise.
12371 (LzmaEnc_GetCurBuf): Likewise.
12372 (LzmaEnc_CodeOneMemBlock): Likewise.
12373
6fa67967
VS
123742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12377 (grub_util_ldm_embed): Likewise.
12378
9a7428e6
VS
123792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 * util/grub-editenv.c (print_var): Rename name to varname to
12382 avoid shadowing.
12383 (main): Rename index to curindex to avoid shadowing.
31a26002 12384 Make filename a const char *.
9a7428e6 12385
4f96abd1
VS
123862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12389 to arg_getline to avoid shadowing.
12390
44d10dad
VS
123912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12394 disk_ to avoid shadowing.
12395
340ba63e
VS
123962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12399 curindex to avoid shadowing.
12400 Make static.
12401 (MatchFinder_GetNumAvailableBytes): Make static.
12402
22965bce
VS
124032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12406 avoid shadowing.
12407
7b5784d4
VS
124082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12411 argument from encrypt to do_encrypt to avoid shadowing.
12412
6f48ca01
VS
124132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12416 incorrect nesting of #if's.
12417
a4ea2dff
VS
124182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12421 checks which are always false on some platforms.
12422 (grub_cmd_lsacpi): Likewise.
12423 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12424 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12425 Likewise.
12426
def9fc1b
VS
124272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12428
12429 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12430 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12431
a67b2a04
VS
124322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12435 re_dfa_t to avoid breaking alignment invariants.
12436 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12437 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12438
44c6828d
VS
124392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12442 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12443
bebe0dd0
VS
124442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12447 Fix declaration.
12448
a9cdb3cf
VS
124492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12452 conserve alignment invariants.
12453 (grub_ehci_ehcc_read16): Likewise.
12454 (grub_ehci_oper_read32): Likewise.
12455 (grub_ehci_oper_write32): Likewise.
12456 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12457 Conserve alignment invariants.
12458
ccc3b1b8
VS
124592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12462 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12463 declarations.
12464
987fbd95
VS
124652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12468 Remove unused variable.
12469
0df363f3
VS
124702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12473 Remove set in if.
12474
b2c0c4a6
VS
124752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * include/grub/net.h: Remove double declarations.
12478
690c531f
VS
124792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12480
12481 Remove "payload" command in ia64 Linux loader since I couldn't
12482 find any evidence of it being used for anything.
12483 Replace "relocate" command with an environment variable
12484
12485 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12486 fields.
12487 (ia64_boot_payload): Removed.
12488 (last_payload): Likewise.
12489 (RELOCATE_OFF): Likewise.
12490 (RELOCATE_ON): Likewise.
12491 (RELOCATE_FORCE): Likewise.
12492 (relocate): Likewise.
12493 (free_pages): Don't free payloads.
12494 (grub_load_elf64): Use common error messages.
12495 Use "linux_relocate" variable.
12496 Increase the space after boot_params.
12497 (grub_cmd_payload): Removed.
12498 (grub_cmd_relocate): Likewise.
12499 (grub_cmd_fpswa): Improve messages.
12500 (cmd_payload): Removed.
12501 (cmd_relocate): Likewise.
12502 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12503 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12504
01783768
VS
125052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 Convert UHCI to DMA framework.
12508
12509 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12510 (grub_uhci_pci_iter): Fill new members
12511 (grub_alloc_td): Use P2V and V2P functions.
12512 (grub_free_queue): Likewise.
12513 (grub_alloc_qh): Likewise.
12514 (grub_uhci_setup_transfer): Likewise.
12515 (grub_uhci_check_transfer): Likewise.
12516
43206939
VS
125172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12520 Remove assignment in if while on it.
12521
571e140e
VS
125222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * util/grub-mkstandalone.in: Fix modules directory.
12525
a9d96eeb
VS
125262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12529 on i386-pc target.
12530 (argp_parser): Accept "auto" as compression specification.
12531
e4e37e8d
VS
125322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 Fix `help' with unloaded modules.
12535
12536 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12537 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12538 (grub_dyncmd_dispatcher): Small stylistic fix.
12539 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12540 explicit help is requested.
12541
e1ea3ade
VS
125422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12545 Explicitly init restart while on it.
12546
27556881
VS
125472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12550 uninited variable.
12551
d65f6b36
VS
125522012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * util/grub-mknetdir.in: Use . rather than source for POSIX
12555 compatibility.
12556
0a1e473c
VS
125572012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12560
ce6647c8
VS
125612012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12564 variable.
12565
66747894
VS
125662012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12569 without quotes.
12570
71645f6e
VS
125712012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12574
0e1c1f61
VS
125752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12578 iteration of partitions.
12579
9c4b5c13
VS
125802012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 Improve gettext support. Stylistic fixes and error handling fixes while
12583 on it.
12584
215c90cb
VS
125852012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12588 part. Instead setup the correct stack in RM.
12589 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12590 for stack.
12591 * include/grub/i386/relocator_private.h: New file.
12592
b5c1f9bf
VS
125932012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12596 argument.
12597 * util/grub-fstest.c (options): Add missing DEVICE part.
12598
b525fd83
VS
125992012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 Clarify and unify messages.
12602
12603 * grub-core/commands/hashsum.c (options): Unify messages.
12604 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12605 literal-only message as translatable.
12606 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12607 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12608 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12609 commands.
12610 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12611 key, not the key used to unlock. Clarify what it's used for.
12612 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12613 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12614 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12615 * util/grub-editenv.c (options): Unify "verbose" message.
12616 * util/grub-fstest.c (read_file): Unify error message.
12617 (fstest): Add quotes around commands.
12618 (options): Unify "verbose" message.
12619 * util/grub-install.in: Add quotes around variable name.
12620 * util/grub-kbdcomp.in: Unify error message.
12621 * util/grub-mkfont.c (main): Likewise.
12622 * util/grub-mkrescue.in: Likewise.
12623 * util/grub-mklayout.c (options): Unify "verbose" message.
12624 * util/grub-mkstandalone.in: Unify help and verbose messages.
12625 * util/grub-mount.c (options): Unify "verbose" message.
12626 * util/grub-probe.c (options): Likewise.
12627 * util/grub-script-check.c (options): Likewise.
12628 * util/grub-setup.c (setup): Unify no-terminator message.
12629 (options): Use DEVICE and not DEV.
12630 Unify "verbose" message.
12631 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12632
0ae70393
VS
126332012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 Improve and unify messages.
12636
12637 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12638 name. All users updated.
12639 Print filename in error.
12640 (read_device_map): Print filename in error.
12641 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12642 (grub_util_get_os_disk): Likewise.
12643 (grub_util_biosdisk_get_grub_dev): Likewise.
12644 (grub_util_check_block_device): Likewise.
12645 (grub_util_check_char_device): Likewise.
12646 (grub_make_system_path_relative_to_its_root): Likewise.
12647 * util/grub-editenv.c (create_envblk_file): Likewise.
12648 (open_envblk_file): Likewise.
12649 (write_envblk): Likewise.
12650 * util/grub-fstest.c (cmd_cp): Likewise.
12651 (cmd_cat): Likewise.
12652 (cmd_cmp): Likewise.
12653 * util/grub-menulst2cfg.c (main): Likewise.
12654 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12655 (write_font_width_spec): Likewise.
12656 (write_font_pf2): Likewise.
12657 * util/grub-mkimage.c (generate_image): New argument outname.
12658 All users updated.
12659 Remove unreacheable message.
12660 (options): Unify messages.
12661 (help_filter): Likewise.
12662 * util/grub-mklayout.c (usage): Removed (unused).
12663 (main): Print filename in error.
12664 * util/grub-mkrescue.in: Fix wrong quoting.
12665 * util/grub-setup.c (setup): Print filename in error.
12666 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12667 (check_sas): Likewise.
12668 * util/misc.c (grub_util_get_fp_size): Removed.
12669 (grub_util_get_image_size): Print filename in error.
12670 (grub_util_read_at): Removed.
12671 (grub_util_read_image): Print filename in error.
12672 (grub_util_load_image): Likewise.
12673 (grub_util_write_image_at): New argument filename. All users updated.
12674 Print filename in error.
12675 (grub_util_write_image): New argument filename. All users updated.
12676 Print filename in error.
12677 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12678 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12679
0a96117d
VS
126802012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * grub-core/Makefile.core.def (pxechain): New module.
12683 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12684 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12685 function.
12686 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12687 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12688
aca002f7
VS
126892012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12692 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12693 * include/grub/err.h (grub_error_saved): New struct.
12694 (grub_errmsg): Make array size explicit.
12695 * include/grub/misc.h (grub_error_save): New function.
12696 (grub_error_load): Likewise.
12697 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12698 (grub_error_push): Update `errno' member name.
12699 (grub_error_pop): Likewise
12700 * grub-core/net/tftp.c (tftp_data): New member save_err.
12701 (tftp_receive): Save error.
12702 (tftp_open): Restore error.
12703
a51dab13
VS
127042012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12707 to real mode down to execute A20-related code in protected mode as
12708 intended.
12709
eb6e6649
GS
127102012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12711
12712 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12713 NULL when the argument `level' has an unexpected value.
12714
92cd0f6e
VS
127152012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Move platform-dependent files from $prefix to $prefix/$platform.
12718
12719 * config.h.in (GRUB_TARGET_CPU): New definition.
12720 (GRUB_PLATFORM): Likewise.
12721 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
12722 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
12723 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12724 * grub-core/kern/dl.c (grub_dl_load): Likewise.
12725 * grub-core/normal/autofs.c (read_fs_list): Likewise.
12726 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
12727 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
12728 * grub-core/normal/term.c (read_terminal_list): Likewise.
12729 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
12730 $prefix/locale.
12731 (grub_gettext_init_ext): Likewise.
12732 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
12733 grub_platform.
12734 * util/grub-install.in: Update directories.
12735 * util/grub-mknetdir.in: Likewise.
12736 * util/grub-mkrescue.in: Likewise.
12737
db606889
VS
127382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
12741 grub_error framework. All users updated.
12742
c39992a4
VS
127432012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
12746 lists (by always binsearching), improve caching (cache strings
12747 used for binsearch, not only results), improve
12748 maintainability (by using more structured binary search) and correct
12749 error handling.
12750
1e5ec32f
VS
127512012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * grub-core/script/execute.c (grub_script_return): Fix warning.
12754
ac576cde
VS
127552012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * grub-core/script/execute.c (grub_script_return): Fix potential
12758 NULL-dereference.
12759 Reported by: Jim Meyering.
12760
498453f6
VS
127612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * po/POTFILES.in: Regenerate.
12764 * util/grub-install.in: Gettextize the strings missed in first pass.
12765
8be63f2e
VS
127662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * Makefile.util.def (grub-mkdevicemap): Removed.
12769 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
12770 * include/grub/util/deviceiter.h: Removed.
12771 * util/deviceiter.c: Likewise.
12772 * util/getroot.c (grub_util_get_os_disk): New function.
12773 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
12774 replacement for EFI.
12775 * util/grub-mkdevicemap.c: Removed.
12776 * util/grub-probe.c (probe): Handle PRINT_DISK.
12777 (argp_parser): Handle -t disk.
12778
8e1e4e39
VS
127792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * util/grub-mkfont.c: Migrate to argp.
12782 * util/grub-mklayout.c: Likewise.
12783 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12784 * util/grub-mkrelpath.c: Likewise.
12785 * util/grub-probe.c: Likewise.
12786 * util/grub-script-check.c: Likewise.
12787
4459819a
VS
127882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * util/grub-reboot.in: Add missing datarootdir.
12791 Add missing newline.
12792 * util/grub-set-default.in: Add missing datarootdir.
12793 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
12794 * util/grub-mkrescue.in: Likewise.
12795
f65741c7
VS
127962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
12799
c1a33466
VS
128002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * util/grub-kbdcomp.in: Add decent help and gettextize.
12803 * docs/man/grub-kbdcomp.h2m: New file.
12804
c76899a0
VS
128052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 Migrate grub-mkimage.c to argp.
12808
12809 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
12810 (grub-setup): Likewise.
12811 * util/grub-setup.c (print_version): Move to ...
12812 * util/argp_common.c (print_version): ... here.
12813 * util/grub-setup.c (argp_program_version_hook): Move to ...
12814 * util/argp_common.c (argp_program_version_hook): ... here.
12815 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
12816 safety.
12817 * util/grub-mkimage.c (main): Migrate to argp.
12818
57db0757
VS
128192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * util/grub-mkrescue.in: Use same message as
12822 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
12823 for better translations.
12824
18534ad9
VS
128252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
12828 options with generic grub-mkrescue.in with the goal of future
12829 merge.
12830
c84ba308
VS
128312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 * grub-core/kern/mm.c: Add missing include of i18n.h
12834 * grub-core/lib/relocator.c: Likewise.
12835
347998c2
VS
128362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12839 error.
12840 (allocate_pages): Check return value.
12841 Replace fatal with error.
12842 (grub_linux_boot): Replace printf with dprintf.
12843 Check find_mmap_size return value.
12844 Replace fatal with error.
12845 Don't call grub_machine_fini.
12846 (grub_load_elf64): Replace printf with dprintf.
12847 (grub_cmd_linux): Likewise.
12848 (grub_cmd_initrd): Likewise.
12849 (grub_cmd_payload): Likewise.
12850
c779226e
VS
128512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12854 message.
12855 * grub-core/video/radeon_fuloong2e.c
12856 (grub_video_radeon_fuloong2e_setup): Likewise.
12857 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12858 * grub-core/video/video.c (grub_video_set_mode): Don't override
12859 standard out of memory message.
12860
dc87d45a
GS
128612012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12862
12863 NetBSD disk wedge support.
12864
12865 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12866 [__NetBSD__]: Handle NetBSD disk wedges.
12867 * util/getroot.c (convert_system_partition_to_system_disk)
12868 [__NetBSD__]: Likewise.
12869
055f856f
MW
128702012-02-03 Mark Wooding <mdw@distorted.org.uk>
12871
12872 * util/grub-mkconfig.in: Use umask rather than chmod to create
12873 grub.cfg.new to avoid insecure grub.cfg.
12874
4a9f8346
VS
128752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * grub-core/commands/ls.c: Gettextize.
12878 * grub-core/commands/setpci.c: Likewise.
12879 * grub-core/commands/videotest.c: Likewise.
12880 * grub-core/disk/geli.c: Likewise.
12881 * grub-core/kern/mm.c: Likewise.
12882 * grub-core/lib/relocator.c: Likewise.
12883 * grub-core/loader/efi/appleloader.c: Likewise.
12884 * grub-core/loader/i386/xnu.c: Likewise.
12885 * grub-core/loader/ia64/efi/linux.c: Likewise.
12886 * grub-core/loader/xnu.c: Likewise.
12887 * grub-core/net/dns.c: Likewise.
12888 * grub-core/net/net.c: Likewise.
12889 * grub-core/script/lexer.c: Likewise.
12890 * grub-core/script/parser.y: Likewise.
12891 * grub-core/script/yylex.l: Likewise.
12892 * util/getroot.c: Likewise.
12893 * util/grub-setup.c: Likewise.
12894
a646a366
VS
128952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12898 number.
12899
54e2be26
VS
129002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12903
f7c71e68
VS
129042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12907 macro.
12908 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12909 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12910
a32d5c71
VS
129112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12914 * util/grub-install.in: Gettextize.
12915 * util/grub-mkconfig.in: Likewise.
12916 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12917 if not available.
12918 (grub_warn): Gettextize.
12919 * util/grub-mknetdir.in: Gettextize.
12920 * util/grub-mkrescue.in: Likewise.
12921 * util/grub-mkstandalone.in: Likewise.
12922 * util/grub-reboot.in: Likewise.
12923 * util/grub-set-default.in: Likewise.
12924 * util/grub.d/00_header.in: Likewise.
12925 * util/grub.d/10_hurd.in: Likewise.
12926 * util/grub.d/10_kfreebsd.in: Likewise.
12927 * util/grub.d/10_linux.in: Likewise.
12928 * util/grub.d/10_netbsd.in: Likewise.
12929 * util/grub.d/10_windows.in: Likewise.
12930 * util/grub.d/20_linux_xen.in: Likewise.
12931 * util/grub.d/30_os-prober.in: Likewise.
12932 * po/POTFILES-shell.in: Regenerate.
12933
69edd81a
RL
129342012-02-03 Richard Laager <rlaager@wiktel.com>
12935
12936 * util/grub-mkimage.c (main): Fix format-security warning.
12937 * util/grub-mkrelpath.c (main): Likewise.
12938 * util/grub-probe.c (main): Likewise.
12939
65f08dbf
RL
129402012-02-03 Richard Laager <rlaager@wiktel.com>
12941
12942 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12943 failure.
12944 Put back lost PRINT_DRIVE.
12945
e9084abe
RL
129462012-02-03 Richard Laager <rlaager@wiktel.com>
12947
12948 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12949 (grub_guess_root_devices): Replace strlen with sizeof.
12950 Avoid crash.
12951 (find_root_devices_from_poolname): Remove unused variable.
12952 Handle raidzN.
12953
cf5f7ee7
VS
129542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 Support install on multi-device filesystems.
12957
12958 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12959 (grub_guess_root_devices): ...this. Return char **. All users updated.
12960 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12961 Removed.
12962 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12963 (find_root_devices_from_poolname): ... here.
12964 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12965 Support zfs-fuse.
12966 (grub_guess_root_device): Rename to ...
12967 (grub_guess_root_devices): ... this. Return char **. All users updated.
12968 * util/grub-install.in: Handle multi-device filesystems.
12969 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12970 argument. All users updated.
12971 Handle multi-device filesystems.
12972 Use 'delim' as separator.
12973 Remove device check to allow filesystems on file.
12974 (main): Support -0 argument. Handle multi-device.
12975 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12976 Fix a cross-device check while on it.
12977 (arguments): Remove root_dev.
12978 (argp_parser): Remove -r.
12979 (main): Remove root_dev.
12980
2f53a9ed
VS
129812012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12984
17e1d934
VS
129852012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12988 symbol.
12989 Reported by: NODA, Kai <nodakai>.
12990
d3e3fab5
VS
129912012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 Fix ehci on amd64.
12994
12995 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12996 pointers.
12997 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12998 (grub_ehci_setup_qh): Likewise.
12999 (grub_ehci_find_qh): Likewise.
13000 (grub_ehci_transaction): Likewise.
13001 (grub_ehci_setup_transfer): Likewise.
13002 (grub_ehci_check_transfer): Likewise.
13003 (grub_ehci_portstatus): Likewise.
13004 (grub_ehci_detect_dev): Likewise.
13005 (grub_ehci_transfer_controller_data): New field td_last_phys.
13006 (grub_ehci_setup_transfer): Fill td_last_phys.
13007 (grub_ehci_check_transfer): Use td_last_phys.
13008
3008675b
SG
130092012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13010
13011 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13012 if no submenu is present.
13013
fc9b5652
AN
130142012-02-01 Aleš Nesrsta <starous@volny.cz>
13015
13016 CBI support.
13017
13018 * include/grub/usb.h (grub_usbms_protocol_t): New values
13019 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13020 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13021 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13022 (grub_usbms_dev): Add subclass, protocol and intrpt.
13023 Remove in_maxsz and out_maxsz.
13024 (grub_usbms_reset): Rename to ...
13025 (grub_usbms_bo_reset): .. this.
13026 (grub_usbms_cbi_cmd): New function.
13027 (grub_usbms_cbi_reset): Likewise.
13028 (grub_usbms_reset): Likewise.
13029 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13030 (grub_usbms_transfer): Rename to ...
13031 (grub_usbms_transfer_bo): ... this.
13032 (grub_usbms_transfer_cbi): Likewise.
13033 (grub_usbms_transfer): Likewise.
13034
a2b81d53
AN
130352012-02-01 Aleš Nesrsta <starous@volny.cz>
130362012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13039 the support for the CS5536 modification thereos and few bugfixes.
13040
13041 * grub-core/Makefile.core.def (ehci): New module.
13042 * grub-core/bus/usb/ehci.c: New file.
13043 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13044 port and hubaddr. All users updated.
13045 Save port and hubaddr into dev structure.
13046 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13047 define.
13048 * include/grub/pci.h (grub_dma_phys2virt): New function.
13049 (grub_dma_virt2phys): Likewise.
13050 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13051
b1d51f02
VS
130522012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13055 check as some mkfs implementations omit it.
13056
fc694106
VS
130572012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13058
13059 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13060
6c0920e3
VS
130612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13064 Add new member volname2.
13065 (grub_jfs_label): Use volname2 if available.
13066
d1a46f9a
VS
130672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13070 over last_mounted as seen in image generated by mkfs.nilfs2.
13071 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13072
dec8ed14
VS
130732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13076 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13077 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
13078
7397c69b
VS
130792012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
13082 over the sector.
13083
b3fe42ad
VS
130842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
13087 subvolume name (by removing a bogus and useless check).
13088
10476bb0
VS
130892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13092 sizeof while on it.
13093
9c08ad87
VS
130942012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13097 (grub_scsi_read_capacity10): ... this.
13098 (grub_scsi_read_capacity16): New function.
13099 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13100 0xffffffff.
13101 Fix off-by-one error.
13102 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13103 64-bit unsigned.
13104 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13105 (grub_scsi_read_capacity10): ... this.
13106 (grub_scsi_read_capacity_data): Rename to ...
13107 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13108 (grub_scsi_read_capacity16): New struct.
13109 (grub_scsi_read_capacity16_data): Likewise.
13110 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13111 grub_scsi_cmd_read_capacity10.
13112 New command grub_scsi_cmd_read_capacity16.
13113
bc8d0f45
VS
131142012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 SCSI >2TiB support.
13117
13118 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
13119 (grub_scsi_write16): Likewise.
13120 (grub_scsi_read): Use read16 when necessary.
13121 (grub_scsi_write): Likewise.
13122 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
13123 (grub_scsi_write16): Likewise.
13124 (grub_scsi_cmd_t): Add READ16 and WRITE16.
13125
cc774926
VS
131262012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 SCSI write support (for usbms mainly).
13129
13130 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
13131 a const pointer.
13132 (grub_scsi_write): Implement.
13133 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
13134
67639fd7
VS
131352012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
13138 variable.
13139
9079d3ed
VS
131402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * grub-core/lib/posix_wrap/string.h (memchr): New function.
13143
c6a6f204
VS
131442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 * po/POTFILES.in: Regenerate.
13147
ecbf8cd1
VS
131482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
13151 with grub_printf to avoid unnecessary fatal failure.
13152
0b3b3b38
VS
131532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13154
13155 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13156 (INT_MAX): Likewise.
13157 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
13158 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
13159 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
13160 (strcpy): Likewise.
13161 (strstr): Likewise.
13162 (strchr): Likewise.
13163 (strncpy): Likewise.
13164 (strcat): Likewise.
13165 (strncat): Likewise.
13166 (strcoll): Likewise.
13167 * include/grub/types.h (GRUB_SHRT_MAX): New define.
13168 (GRUB_INT_MAX): Likewise.
13169
db7337a3
VS
131702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
13173 unexpected error.
13174 (optimize_utf8): Likewise.
13175 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
13176
f37c87e1
VS
131772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 * grub-core/boot/i386/pc/lnxboot.S: Use
13180 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
13181 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13182 location.
13183 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
13184 definition.
13185 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
13186
63fe43f3
VS
131872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
13190 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
13191 now to avoid double free.
13192 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
13193 hostdisk.
13194 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
13195 * util/grub-probe.c (escape_of_path): Always return a new copy.
13196 (print_full_name): Escape path.
13197 (probe): Don't call grub_util_devname_to_ofpath on NULL.
13198 Fix hints on abstractions.
13199
ebe2c961
VS
132002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13203 Don't add "root" line if no compatibility hont is available.
13204 Suggested by: Seth Goldberg.
13205
2b5336a2
VS
132062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13209 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13210 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13211 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13212
74310bd8
VS
132132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13216
c30582ba
VS
132172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * util/grub-pe2elf.c (ehdr): Make static.
13220 (shdr): Likewise.
13221 (num_sections): Likewise.
13222 (offset): Likewise.
13223
5f47782c
VS
132242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 Eliminate ofpath limits and possible overflows.
13227
13228 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13229 (OF_PATH_MAX): Removed.
13230 (MAX_DISK_CAT): New const.
13231 (find_obppath): Use allocated rather than preallocated buffer.
13232 Return result. Argument of_path removed. All users updated.
13233 Add missing fdstat.
13234 (xrealpath): New function.
13235 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13236 Allocate rather than use preallocated buffer. All users updated.
13237 (__of_path_common): Use allocated rather than preallocatecd buffer.
13238 Return result. Argument of_path removed. All users updated.
13239 (vendor_is_ATA): Read only needed part form the file.
13240 (check_sas): Allocate depending on contents rather than fixed.
13241 (main) [STANDALONE]: Handle NULL result.
13242
f990cbf9
VS
132432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13246
9c6e84b8
VS
132472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 Cryptodisk write support.
13250
13251 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13252 (grub_cryptodisk_decrypt): Moved logic to ...
13253 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13254 (grub_cryptodisk_write): Implement.
13255 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13256 (grub_util_fd_write): ... this. Make global.
13257 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13258
87cf9744
VS
132592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 * include/grub/list.h (grub_list_remove): Don't crash if element is
13262 removed twice.
13263
ca8c0baf
VS
132642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 Rename ofconsole to console.
13267
13268 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13269 as sysnonym to console.
13270 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13271 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13272 Rename grub_ofconsole_ to grub_console_. All users updated
13273 (grub_console_term_output): Rename "ofconsole" to "console".
13274 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13275 as "console".
13276
64c8b8f6
VS
132772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13280 handling.
13281 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13282 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13283 GRUB_DISK_DEVICE_FILE_ID.
13284
f6c434d5
VS
132852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13288 and improve performance.
13289
5858b42d
VS
132902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13293 missing ieee1275/ prefix on whole disk.
13294
4ed3c26b
VS
132952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13298 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13299
df71143e
VS
133002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13303
076e7c0f
VS
133042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 Merge common RAID and LVM logic to an abstract diskfilter.
13307 Add LDM support using the same framework.
13308
13309 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13310 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13311 (libgrubmods): Remove grub-core/disk/raid.c and
13312 grub-core/partmap/gpt.c.
13313 * grub-core/Makefile.core.def (ldm): New module.
13314 (raid): Renamed to diskfilter. All users updated.
13315 * grub-core/disk/raid.c: Moved to ...
13316 * grub-core/disk/diskfilter.c: ... here.
13317 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13318 (lv_num): New var.
13319 (find_array): Renamed to ...
13320 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13321 (grub_is_array_readable): Renamed to ...
13322 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13323 (insert_array): New argument id.
13324 (is_node_readable): New function.
13325 (scan_device): Rename to ...
13326 (scan_disk): .. this. Restrict to one disk.
13327 (scan_devices): New function.
13328 (grub_diskfilter_iterate): Support multi-LV.
13329 Skip invisible and nameless LVs.
13330 (grub_diskfilter_memberlist): Support multi-LV.
13331 (grub_diskfilter_read_node): New function.
13332 (grub_raid_read): Most of logic moved to ...
13333 (read_segment): ... here
13334 (read_lv): New function.
13335 (grub_diskfilter_get_vg_by_uuid): New function.
13336 (grub_diskfilter_make_raid): Likewise.
13337 * grub-core/disk/ldm.c: New file.
13338 * grub-core/disk/lvm.c (vg_list): Removed.
13339 (lv_count): Likewise.
13340 (scan_depth): Likewise.
13341 (is_lv_readable): Likewise.
13342 (grub_lvm_getvalue): Advance pointer past the number.
13343 (find_lv): Removed.
13344 (do_lvm_scan): Refactored into ...
13345 (grub_lvm_detect): ... this. Support raid.
13346 (grub_lvm_iterate): Removed.
13347 (grub_lvm_memberlist): Likewise.
13348 (grub_lvm_open): Likewise.
13349 (grub_lvm_close): Likewise.
13350 (read_lv): Likewise.
13351 (read_node): Likewise.
13352 (is_node_readable): Likewise.
13353 (is_lv_readable): Likewise.
13354 (grub_lvm_read): Likewise.
13355 (grub_lvm_write): Likewise.
13356 (grub_lvm_dev): Use diskfilter
13357 (GRUB_MOD_INIT): Likewise.
13358 (GRUB_MOD_FINI): Likewise.
13359 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13360 new interface.
13361 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13362 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13363 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13364 grub_diskfilter_read_node.
13365 Fix a bug with xor.
13366 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13367 grub_diskfilter_read_node.
13368 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13369 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13370 (grub_disk_dev_iterate): Move from here...
13371 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13372 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13373 Make global.
13374 (grub_hostdisk_find_partition_start): Likewise.
13375 (grub_hostdisk_os_dev_to_grub_drive): New function.
13376 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13377 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13378 * util/getroot.c (make_device_name): ... here.
13379 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13380 Move to ...
13381 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13382 * grub-core/kern/emu/hostdisk.c
13383 (convert_system_partition_to_system_disk): Move to ...
13384 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13385 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13386 * util/getroot.c (device_is_wholedisk): ... here.
13387 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13388 * util/getroot.c (find_system_device): ... here.
13389 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13390 Move to ...
13391 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13392 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13393 Move to ...
13394 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13395 Handle LDM.
13396 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13397 Move to ...
13398 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13399 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13400 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13401 DISKFILTER.
13402 * include/grub/raid.h: Renamed to ...
13403 * include/grub/diskfilter.h: ... this.
13404 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13405 (GRUB_RAID_LAYOUT_*): Make into array.
13406 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13407 (grub_diskfilter_vg): New struct.
13408 (grub_diskfilter_pv_id): Likewise.
13409 (grub_raid_member): Removed.
13410 (grub_raid_array): Likewise.
13411 (grub_diskfilter_pv): New struct.
13412 (grub_diskfilter_lv): Likewise.
13413 (grub_diskfilter_segment): Likewise.
13414 (grub_diskfilter_node): Likewise.
13415 (grub_diskfilter_get_vg_by_uuid): New proto.
13416 (grub_raid_register): Inline.
13417 (grub_diskfilter_unregister): Likewise.
13418 (grub_diskfilter_make_raid): New proto.
13419 (grub_diskfilter_vg_register): Likewise.
13420 (grub_diskfilter_read_node): Likewise.
13421 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13422 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13423 (grub_util_is_ldm): Likewise.
13424 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13425 (grub_hostdisk_find_partition_start): Likewise.
13426 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13427 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13428 New definition.
13429 (grub_gpt_partition_map_iterate): New proto.
13430 * include/grub/lvm.h (grub_lvm_vg): Removed.
13431 (grub_lvm_pv): Likewise.
13432 (grub_lvm_lv): Likewise.
13433 (grub_lvm_segment): Likewise.
13434 (grub_lvm_node): Likewise.
13435 * util/getroot.c [...]
13436 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13437 (probe_abstraction): Likewise.
13438 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13439 (main): Remove dead logic.
13440
8a7f9b9c
VS
134412012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 Simplify root device discover and don't fail when trying to open
13444 incorrect devices.
13445
13446 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13447 function.
13448 (get_diskname_from_path): Likewise.
13449 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13450 of iterating.
13451
30545b85
VS
134522012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13455
28ea58cf
VS
134562012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13459 pastthe end.
13460
692dabca
VS
134612012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * util/grub-install.in: Add missing \.
13464 Reported by: gentoofan
13465
f6e4ea70
VS
134662012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13469 (direct_read): Use correct compressed size.
13470 (grub_squash_read_data): Likewise.
13471
134722012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13473
13474 * docs/grub.texi (Platform limitations): New section.
13475 (Platform-specific operations): Likewise.
13476 * docs/grub-dev.texi (Porting): Likewise.
13477
76261110
VS
134782012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 IEEE1275 disk write support.
13481
13482 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13483 const void *.
13484 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13485 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13486 and seek loginc to ...
13487 (grub_ofdisk_prepare): ... here.
13488 (grub_ofdisk_write): Implement.
13489
fc36d603
VS
134902012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 ARC disk write support.
13493
13494 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13495 (reopen): New argument writable. All users updated.
13496 Handle required access mode.
13497 (grub_arcdisk_write): Implement.
13498 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13499 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13500
e06c2e7a
VS
135012012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13504 (read_sblock): Don't attempt to read superblocks outside the disk size.
13505
ff447958
VS
135062012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13507
13508 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13509 first superblock to find the second one when possible.
13510
9e88df39
VS
135112012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 * util/grub-install.in: Fix an ARC bug.
13514 Print a warning if no platform-specific setup is available.
13515
bb26e4ff
VS
135162012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 Use static allocation rather than scratch pointer in reed_solomon.
13519 It decreases its size significantly and avoids a variable in .text.
13520
13521 * grub-core/lib/reed_solomon.c (scratch): Removed.
13522 (chosenstat): New const or static array.
13523 (sigma): Likewise.
13524 (errpot): Likewise.
13525 (errpos): Likewise.
13526 (sy): Likewise.
13527 (mstat): Likewise.
13528 (errvals): Likewise.
13529 (eqstat): Likewise.
13530 (pol_evaluate): Replace x with log_x argument. All users updated.
13531 (syndroms): Removed.
13532 (gauss_solve): Use statically allocated arrays.
13533 (rs_recover): Likewise.
13534 Calculate syndroms directly.
13535 (decode_block): Use statically allocated arrays.
13536 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13537 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13538
2e13ede5
VS
135392012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 Eliminate fixed limit on reed solomon decoder length.
13542
13543 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13544 rather than hardcoding the address.
13545 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13546 no_reed_solomon_length.
13547 Move gate_a20 to no-reed-solomon part.
13548 Don't force a particular size of no reed-solomon part.
13549 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13550 Removed.
13551 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13552 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13553
f8a9ab12
VS
135542012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * grub-core/commands/wildcard.c (match_files): Handle filenames
13557 without explicit device.
13558 (wildcard_expand): Don't add explicit device if not already present.
13559 * tests/grub_script_echo1.in: Add a new expansion test.
13560
87edb894
VS
135612012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 Replace single-linked with double-linked lists. It results in more
13564 compact and more efficient code.
13565
13566 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13567 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13568 (grub_list_remove): Moved from here ...
13569 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13570 (grub_prio_list_insert): Set prev.
13571 * include/grub/list.h (grub_list): Add prev. All users updated.
13572
48b391e9
VS
135732012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 Handle newer autotools. Add some missing quotes while on it.
13576
13577 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13578 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13579 (pkgdata_DATA): ... here.
13580 * Makefile.util.def (update-grub_lib): Removed.
13581 * conf/Makefile.common (pkglib_DATA): Removed.
13582 (pkglib_SCRIPTS): Likewise.
13583 (pkgdata_DATA): New variable.
13584 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13585 needed.
13586 Add missing quotes.
13587 Remove unused variable while on it.
13588 * tests/util/grub-shell.in: Likewise.
13589 * util/grub-install.in: Likewise.
13590 * util/grub-mkconfig.in: Likewise.
13591 * util/grub-mknetdir.in: Likewise.
13592 * util/grub-mkrescue.in: Likewise.
13593 * util/grub-mkstandalone.in: Likewise.
13594 * util/grub.d/00_header.in: Likewise.
13595 * util/grub.d/10_hurd.in: Likewise.
13596 * util/grub.d/10_illumos.in: Likewise.
13597 * util/grub.d/10_kfreebsd.in: Likewise.
13598 * util/grub.d/10_linux.in: Likewise.
13599 * util/grub.d/10_netbsd.in: Likewise.
13600 * util/grub.d/10_windows.in: Likewise.
13601 * util/grub.d/20_linux_xen.in: Likewise.
13602 * util/grub.d/30_os-prober.in: Likewise.
13603 * util/update-grub_lib.in: Removed.
13604
136052012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13606
13607 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13608 a workaround for intel problem.
13609
66832792
PRP
136102012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
136112012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
136122012-01-23 pfsmorigo
13613
13614 * util/grub-install.in: Support dd'in into PreP partition.
13615 * util/grub-probe.c (probe): Support discovering partition type.
13616 (main): Support -t msdos_parttype.
13617
7816a17e
VS
136182012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13621 infinite recursion using counter.
13622 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13623 init to skip it if the magic check fails.
13624 (dec_stream_header): Init s->crc32.
13625
8f9d3a8c
ZB
136262012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
136272012-01-22 Zachary Bedell <pendorbound@gmail.com>
136282012-01-22 Richard Laager <rlaager@wiktel.com>
13629
13630 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13631 All users updated.
13632 (find_bestub): Determine correct size.
13633 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13634 (scan_disk): Align the size down.
13635 Call check pool before find_bestub to have ashift.
13636
b055dd32
VS
136372012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13640 dprintf in no-malloc zone.
13641
d779e9bd
ML
136422012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13643
13644 * configure.ac: Add back in test for limits.h.
13645
b508af69
VS
136462012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 Support 4K-sector NTFS.
13649
13650 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13651 (grub_ntfs_data): Remove blocksize.
13652 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13653 Remove data argument. All users updated.
13654
dad9c8b5
VS
136552012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13658 being in .text to avoid dprel references.
13659 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13660 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13661 (grub_arch_highmemsize): Likewise.
13662 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13663 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13664 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13665
d43a777e
VS
136662012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13669
13670 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13671 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13672
34e4208f
VS
136732012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13676 GRUB_UTIL.
13677 (grub_set_datetime_cmos): Likewise.
13678
3ec0fc1c
VS
136792012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 Make XZ compression parameters dependent on target and not host CPU.
13682
13683 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13684 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13685
22489834
VS
136862012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13689 set but not used variable.
13690
8502fbca
VS
136912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13694 created when no uuid support is compiled into mkfs.reiser.
13695
76df2068
VS
136962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13697
13698 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13699 (utf8_to_macroman): Do the opposite.
13700 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13701
64e3f8f6
VS
137022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * configure.ac: Refise build qemu_mips w/o unifont.
13705
9c271078
VS
137062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 Eliminate grub_min/grub_max prone to overflow usage.
13709
13710 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13711 (poll_nonroot_hub): Likewise.
13712 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13713 (grub_affs_label): Likewise.
13714 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13715 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13716 (grub_hfs_label): Likewise.
13717 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13718 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13719 (zap_leaf_array_equal): Use grub_size. Remove MIN.
13720 (zap_leaf_array_get): Likewise.
13721 (dnode_get_path): Likewise.
13722 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
13723 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
13724 * grub-core/script/execute.c (grub_script_break): Likewise.
13725 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
13726 grub_max.
13727 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
13728 * include/grub/misc.h (grub_min): Removed.
13729 (grub_max): Likewise.
13730
80662dbc
VS
137312012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13732
13733 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
13734 direct.inode = 0.
13735
e6da1467
VS
137362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
13739
b1ac4cb1
VS
137402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
13743
b4bf7c3b
VS
137442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
13747 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
13748
8ee1101a
VS
137492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
13752 rather than a hack for grub_strncasemap.
13753
137542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 Support multiple initrds
13757 Note: part of this was accidently committed in r3739.
13758
13759 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
13760 initrd.
13761 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
13762 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
13763 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13764 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13765 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13766
4d1e2bc9
VS
137672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
13770 disks with unknown size.
13771 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
13772
75b49ebe
VS
137732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 Remove defines pertaining to arbitrary limits not affecting GRUB
13776 anymore.
13777
13778 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
13779 (EXT2_MAX_SYMLINKCNT): Likewise.
13780 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
13781 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
13782 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
13783 (GRUB_PXE_MAX_BLKSIZE): Likewise.
13784 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
13785 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
13786 (DN_MAX_OBJECT_SHIFT): Likewise.
13787 (DN_MAX_OFFSET_SHIFT): Likewise.
13788 (DN_MAX_OBJECT): Likewise.
13789 (DNODES_PER_LEVEL_SHIFT): Likewise.
13790 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
13791 (SPA_MAXBLOCKSIZE): Likewise.
13792 (SPA_BLOCKSIZES): Likewise.
13793 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
13794 (MZAP_MAX_BLKSZ): Likewise.
13795
74a1dce7
VS
137962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
13799 handle NULL appropriately.
13800 Remove MIN.
13801
30c7d3ce
VS
138022012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 Fix efiemu.
13805
13806 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
13807 cpu/types.h.
13808 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
13809 * configure.ac: Fix efiemu check.
13810
3c76ea0c
VS
138112012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
13814 grub_probe.
13815 Reported by: adamwill
13816
7e532280
SG
138172012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
13818
13819 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
13820
30492374
VS
138212012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 Fix handling of wide characters in gfxterm.
13824
13825 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
13826 (clear_char): Likewise.
13827 (paint_char): Skip code == NULL chars.
13828 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
13829
e70cb72f
VS
138302012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * grub-core/normal/charset.c: Move comment to right place.
13833
5c827cf9
VS
138342012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13837 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13838 (grub_affs_mount): Revert the correct version checking.
13839
53603892
VS
138402012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 * docs/grub.texi (Unicode): Mention several other unsupported features.
13843
ff094b9b
VS
138442011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13847 case statements as compile-time one.
13848 (direct_read): Prevent spurious warnings.
13849 (grub_squash_read_data): Likewise.
13850
c029da8a
VS
138512011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 Various squash4 fixes and LZO and XZ support.
13854
13855 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13856 Add xzembed source files.
13857 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13858 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13859 (grub_squash_inode): New subtype long_dir.
13860 (SQUASH_TYPE_LONG_DIR): New inode type.
13861 (COMPRESSION): New enum.
13862 (XZBUFSIZ): New const.
13863 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13864 (read_chunk): Use data->decompress.
13865 (zlib_decompress): New function.
13866 (lzo_decompress): Likewise.
13867 (xz_decompress): Likewise.
13868 (squash_mount): Set new data fields.
13869 (grub_squash_iterate_dir): Handle long dir.
13870 (squash_unmount): Free xzdec and xzbuf.
13871 (grub_squash_open): Check ino type.
13872 (direct_read): Stylistic fixes. Use data->decompress.
13873 (grub_squash_read_data): Likewise.
13874 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13875 (get_byte): Likewise.
13876 (grub_zlib_disk_read): Removed.
13877 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13878 (GRUB_POSIX_BOOL_DEFINED): New define.
13879 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13880 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13881 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13882 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13883
7a45a539
VS
138842011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 Don't override more informative errors.
13887
13888 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13889 * grub-core/font/font.c (open_section): Likewise.
13890 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13891 filename. Don't override errors.
13892 (grub_cmd_openbsd_ramdisk): Don't override errors.
13893 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13894 (grub_cmd_initrd): Likewise.
13895 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13896 (grub_cmd_initrd): Likewise.
13897 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13898 (grub_cmd_linux): Likewise.
13899 (grub_cmd_initrd): Likewise.
13900 (grub_cmd_payload): Likewise.
13901 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13902 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13903 (grub_cmd_module): Likewise.
13904 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13905 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13906 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13907 (grub_cmd_xnu_mkext): Likewise.
13908 (grub_cmd_xnu_ramdisk): Likewise.
13909 (grub_xnu_check_os_bundle_required): Likewise.
13910 (grub_xnu_load_kext_from_dir): Likewise.
13911 (grub_cmd_xnu_kextdir): Likewise.
13912 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13913
b2d004db
VS
139142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13917 as 1024 in block size field. Found on one of my test images.
13918 Small optimisation while on it.
13919
ec000eac
VS
139202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13923 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13924 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13925 performance fixes while on it.
13926 (grub_sfs_close): Fix memory leak while on it.
13927 (grub_sfs_label): Convert Latin1 to UTF-8.
13928
f50e1165
VS
139292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13932 space to avoid overflows.
13933 (grub_hfs_label): Convert from macroman to UTF-8.
13934
2ae254de
VS
139352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13938
0108f491
VS
139392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13942
f45f5f89
VS
139432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 * unicode: Import Unicode 6.0 data.
13946
4d8c4765
VS
139472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13948
63fa8ef9
VS
13949 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13950 outside of range.
13951
139522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13955
13956 * include/grub/charset.h (grub_getend): New function.
13957 * grub-core/script/function.c (grub_script_function_find): Use
13958 grub_getend.
13959 * grub-core/normal/completion.c (add_completion): Likewise.
13960
f3cb4a4e
VS
139612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13964 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13965 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13966 (GRUB_UNICODE_TAG_END): Likewise.
13967 (GRUB_UNICODE_LAST_VALID): Likewise.
13968
5da8dbc5
VS
139692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13972 len and make it smaller. All users updated.
13973 * util/import_unicode.py: Put length and not end character.
13974 Check length.
13975
8569f13d
VS
139762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 Make better Unicode-compliant and unify some UTF-8 code pathes.
13979
13980 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13981 valid character.
13982 (grub_is_valid_utf8): Use grub_utf8_process.
13983 Check resulting code range.
13984 (grub_utf8_to_ucs4): Use grub_utf8_process.
13985 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13986 valid character.
13987
cc4fddf5
VS
139882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13991
bbc47747
VS
139922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 * docs/grub.texi (Filesystems): Mention AFS.
13995
f63d6bf4
VS
139962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13997
13998 * docs/grub.texi (Filesystems): Clarify restrictions.
13999 (Regexp): Mention non-Unicode regexp behaviour.
14000 (Other): Mention non-Unicode matching behaviour.
14001
74bbf0db
VS
140022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14003
f63d6bf4 14004 Make HFS implementation use MacRoman.
74bbf0db
VS
14005
14006 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14007 (macroman): New const array.
14008 (macroman_to_utf8): New function.
14009 (utf8_to_macroman): Likewise.
14010 (grub_hfs_find_dir): Use utf8_to_macroman.
14011 (grub_hfs_dir): Use macroman_to_utf8.
14012 Set case_insensitive.
14013
4ea0316e
VS
140142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14017
d3c13cbd
VS
140182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 Integrate hints into autogeneration scripts.
14021
14022 * docs/grub.texi (Filesystems): Add a hostdisk example.
14023 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14024 (grub-probe): Add ofpath.
14025 * gentpl.py: Remove group nosparc64.
14026 * grub-core/commands/search.c (cache_entry): New struct.
14027 (cache): New var.
14028 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14029 * grub-core/commands/search_wrap.c (options): Add platform-specific
14030 hint options.
14031 (grub_cmd_search): Handle platform-specific hints.
14032 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14033 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14034 (grub_util_biosdisk_data): Likewise.
14035 (grub_util_biosdisk_open): Set device_map.
14036 (read_device_map): Handle "" as indication of no map.
14037 Set device_map.
14038 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14039 (grub_util_biosdisk_get_compatibility_hint): New function.
14040 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14041 * include/grub/emu/hostdisk.h
14042 (grub_util_biosdisk_get_compatibility_hint): New proto.
14043 * util/grub-install.in: Don't call grub-mkdevicemap.
14044 Add platform-specific hint to load.cfg.
14045 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14046 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14047 hints. Set root preliminary to compatibility hint, not to OS name.
14048 * util/grub-probe.c (PRINT_*): Add hints.
14049 (print): Make static.
14050 (escape_of_path): New function.
14051 (guess_bios_drive): Likewise.
14052 (guess_efi_drive): Likewise.
14053 (guess_baremetal_drive): Likewise.
14054 (print_full_name): Likewise.
14055 (probe): Handle hints.
14056 (main): Likewise.
14057 * util/ieee1275/devicemap.c: Removed.
14058 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14059 updated.
14060 (grub_util_devname_to_ofpath): Return NULL on failure.
14061
14062 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14063 resource leak.
14064 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14065
14066 * po/POTFILES.in: Regenerated.
14067
14068 Allow purely long options
14069
14070 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14071 (SHORT_ARG_USAGE): Likewise.
14072 (grub_arg_show_help): Compare opt with help_options.
14073 (parse_option): Receive opt as argument. If makes big simplificatons.
14074 All users updated
14075
00ce2df3
VS
140762011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
14079 Restructure to avoid warning.
14080
e77e325f
VS
140812011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * util/grub-install.in: Account for possible escaped comma in device
14084 name.
14085
165099ea
VS
140862011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14089 channel.
14090
ce4a999d
VS
140912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14094 allocation and zero-setting.
14095 (grub_ieee1275_get_devname): Check that alias is complete.
14096
379586ad
VS
140972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14100 unaligned segments.
14101
9197b0ad
VS
141022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14105 prefix.
14106 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14107 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14108 Add ieee1275 prefix.
14109
edddb7f9
VS
141102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 * docs/grub.texi (Filesystems): Update.
14113
a1a8b1b9
VS
141142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 Support odc, newc and bigendian cpio formats.
14117
14118 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
14119 * grub-core/Makefile.core.def (newc): New module.
14120 (odc): Likewise.
14121 (cpio_be): Likewise.
14122 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
14123 (MAGIC): Likewise.
14124 (MAGIC2): Likewise.
14125 (head) [MODE_ODC]: Adapt for the format.
14126 (head) [MODE_NEWC]: Likewise.
14127 (head) [!MODE_*]: Write fields of interest as arrays.
14128 (MAGIC_USTAR): Removed.
14129 (read_number) [MODE_NEWC]: Change to hex.
14130 (read_number) [!MODE_*]: Parse binary arrays.
14131 (grub_cpio_find_file): Factor out the code for better structure and
14132 always use read_number.
14133 (grub_cpio_mount): Use MAGIC and MAGIC2.
14134 (grub_cpio_dir): Exit on first hook non-0 return.
14135 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
14136 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
14137 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
14138 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
14139 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
14140 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
14141 * grub-core/fs/newc.c: New file.
14142 * grub-core/fs/odc.c: Likewise.
14143 * grub-core/fs/cpio_be.c: Likewise.
14144
58eba9ee
VS
141452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 Fix handling of tar numbers occupying the whole field.
14148
14149 * grub-core/fs/cpio.c (read_number): New function.
14150 (grub_cpio_find_file): Use read_number instead of strtoull.
14151
a54a0e12
VS
141522011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
14155 occupying the whole field size.
14156
a6120aca
LA
141572011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
14158
14159 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
14160
a93964ce
VS
141612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
14164
3ea1ca46
SG
141652011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
14166
14167 * grub-core/Makefile.core.def (lzma_decompress): Add missing
14168 TARGET_IMG_LDFLAGS.
14169
b87f7ef2
VS
141702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * util/getroot.c (ESCAPED_PATH_MAX): New define.
14173 (mountinfo_entry): Increase the field size to take escaping into
14174 account.
14175 (find_root_device_from_libzfs): Add one byte to size of strings for
14176 security.
14177
62092395
VS
141782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14179
14180 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
14181 an assert.
14182 * util/grub-setup.c (setup): Likewise.
14183
1f0b1a77
VS
141842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
14187 _LzmaDecodeA.
14188
8eba9997
VS
141892011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14190
14191 * docs/grub.texi (Internationalisation): New section.
14192
dd0c91e9
VS
141932011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 * docs/grub.texi (Loopback booting): New section.
14196
141972011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
14198
14199 * util/grub-mkstandalone.in: Fix minor typo errors.
14200
198e150a
VS
142012011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14204
14205 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14206 net/icmp.c and net/icmp6.c.
14207 (http): New module.
14208 (priority_queue): Likewise.
14209 * grub-core/io/bufio.c: Rewritten.
14210 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14211 TYPE_WITH_CONFIGFILE_OPTION.
14212 (legacy_commands): Add bootp and dhcp.
14213 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14214 (grub_legacy_parse): Likewise.
14215 * grub-core/lib/priority_queue.c: New file.
14216 * grub-core/net/arp.c: Add missing license header.
14217 (arp_find_entry): Removed.
14218 (arp_find_entry): Likewise.
14219 (grub_net_arp_resolve): Rename to ...
14220 (grub_net_arp_send_request): ...this.
14221 (grub_net_arp_receive): New card argument.
14222 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14223 Set router and DNS server.
14224 (grub_net_configure_by_dhcp_ack): Handle routing information.
14225 (grub_cmd_bootp): Set checksum.
14226 (grub_bootp_init): Remove net_dhcp.
14227 * grub-core/net/dns.c: New file.
14228 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14229 completion.
14230 (get_card_packet): Handle allocation.
14231 (grub_efinet_findcards): Set mtu.
14232 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14233 (get_card_packet): Handle allocation.
14234 (emucard): Set mtu.
14235 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14236 (GRUB_MOD_INIT): Set mtu.
14237 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14238 mtu.
14239 (get_card_packet): Handle allocation.
14240 (grub_ofnet_findcards): Set mtu.
14241 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14242 assert.
14243 (grub_net_recv_ethernet_packet): Handle IPv6.
14244 * grub-core/net/http.c: New file.
14245 * grub-core/net/icmp.c: Likewise.
14246 * grub-core/net/icmp6.c: Likewise.
14247 * grub-core/net/ip.c (ip6addr): New type.
14248 (ip6hdr): Likewise.
14249 (reassemble): Likewise.
14250 (cmp): New function.
14251 (reassembles): New variable.
14252 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14253 (id): New variable.
14254 (send_fragmented): New function.
14255 (grub_net_send_ip_packet): Rename to ...
14256 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14257 Handle non-UDP.
14258 (grub_net_recv_ip_packets): Rename to ...
14259 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14260 (free_rsm): New function.
14261 (free_old_fragments): Likewise.
14262 (grub_net_recv_ip4_packets): New function.
14263 (grub_net_send_ip6_packet): Likewise.
14264 (grub_net_send_ip_packet): Likewise.
14265 (grub_net_recv_ip6_packets): Likewise.
14266 (grub_net_recv_ip_packets): Likewise.
14267 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14268 (LINK_LAYER_CACHE_SIZE): New const.
14269 (link_layer_find_entry): New function.
14270 (grub_net_link_layer_add_address): Likewise.
14271 (grub_net_link_layer_resolve_check): Likewise.
14272 (grub_net_link_layer_resolve): Likewise.
14273 (grub_net_ipv6_get_slaac): Likewise.
14274 (grub_net_ipv6_get_link_local): Likewise.
14275 (grub_cmd_ipv6_autoconf): Likewise.
14276 (parse_ip): Handle one number representation.
14277 (parse_ip6): New functoion.
14278 (match_net): Handle IPv6.
14279 (grub_net_resolve_address): Handle IPv6 and DNS.
14280 (grub_net_resolve_net_address): Handle IPv6.
14281 (route_cmp): New function.
14282 (grub_net_route_address): Find best route.
14283 (grub_net_addr_to_str): Handle IPv6.
14284 (grub_net_addr_cmp): New function.
14285 (grub_net_add_addr): Register local route.
14286 (print_net_address): Handle net address.
14287 (grub_net_poll_cards): Retransmit TCP.
14288 (grub_net_poll_cards_idle_real): Likewise.
14289 (have_ahead): New function.
14290 (grub_net_seek_real): Use underlying seek.
14291 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14292 * grub-core/net/tcp.c: New file.
14293 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14294 (cmp): New function.
14295 (ack): Likewise.
14296 (tftp_receive): Handle unordered input.
14297 (destroy_pq): New function.
14298 (tftp_close): Close pq.
14299 * grub-core/net/udp.c: Put missing license header.
14300 (grub_net_udp_socket): New function.
14301 (udp_socket_register): Likewise.
14302 (grub_net_udp_close): Likewise.
14303 (grub_net_recv_udp_packet): Check checksum.
14304 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14305 * include/grub/misc.h (grub_memchr): New function.
14306 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14307 (grub_net_card_driver): Return buf in recv.
14308 (grub_net_slaac_mac_list): New struct.
14309 (grub_network_level_protocol_id): Add ipv6.
14310 (grub_net_network_level_addr): Likewise.
14311 (grub_net_network_level_net_addr): Likewise.
14312 (grub_net_app_protocol): Add seek.
14313 (grub_net_socket): Removed.
14314 (grub_net_sockets): Likewise.
14315 (grub_net_socket_register): Likewise.
14316 (grub_net_socket_unregister): Likewise.
14317 (FOR_NET_SOCKETS): Likewise.
14318 (grub_net_add_addr): Add const.
14319 (GRUB_NET_BOOTP_*): New enum.
14320 (grub_net_addr_cmp): New proto.
14321 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14322 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14323 (grub_net_hwaddr_to_str): NEw proto.
14324 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14325 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14326 (grub_dns_init): New proto.
14327 (grub_dns_fini): Likewise.
14328 (grub_net_tcp_retransmit): Likewise.
14329 (grub_net_link_layer_add_address): Likewise.
14330 (grub_net_link_layer_resolve_check): Likewise.
14331 (grub_net_link_layer_resolve): Likewise.
14332 (grub_net_dns_lookup): Likewise.
14333 (grub_net_add_dns_server): Likewise.
14334 (grub_net_remove_dns_server): Likewise.
14335 (GRUB_NET_TRIES): New const.
14336 (GRUB_NET_INTERVAL): Likewise.
14337 * include/grub/net/arp.h: Mostly rewritten.
14338 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14339 * include/grub/net/ip.h: Mostly rewritten.
14340 * include/grub/net/netbuff.h: Indent.
14341 * include/grub/net/tcp.h: New file.
14342 * include/grub/net/udp.h: Mostly rewritten.
14343 * include/grub/priority_queue.h: New file.
14344 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14345 (grub_swap_bytes64_compile_time): Likewise.
14346 (grub_cpu_to_be16_compile_time): Likewise.
14347 (grub_cpu_to_be32_compile_time): Likewise.
14348 (grub_cpu_to_be64_compile_time): Likewise.
14349 (grub_be_to_cpu64_compile_time): Likewise.
14350
215c1800
VS
143512011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14354 UINT_TO_PTR with cast.
14355
c17e546c
VS
143562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14359 don't use them.
14360
ff6b18b6
VS
143612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14362
14363 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14364 already there.
14365
70ffcc93
VS
143662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14367
14368 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14369 confusing ipxe.
14370
e5f4d260
VS
143712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14372
14373 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14374 Add missing const attribute.
14375 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14376 Likewise.
14377 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14378 Likewise.
14379
8e54b4b7
VS
143802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14383 misaligned access.
14384 (serpent_setkey): Likewise.
14385 (serpent_encrypt_internal): Likewise.
14386 (serpent_decrypt_internal): Likewise.
14387 (serpent_encrypt): Don't put an alignment-increasing cast.
14388 (serpent_decrypt): Likewise.
14389 (serpent_test): Likewise.
14390
813c0a2b
VS
143912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14394
f2b60fbd
VS
143952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14398
14399 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14400 grub_addr_t casts.
14401 (PTR_TO_UINT64): Likewise.
14402 (PTR_TO_UINT32): Likewise.
14403
5ef5c511
VS
144042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14407 because of stack.
14408 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14409 limit.
14410
c476e6df
VS
144112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14412
14413 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14414 text_width > available width a bit more gracefully.
14415
384ad7cc
VS
144162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14419 current address calculation.
14420
96f8caf8
VS
144212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14424 stack.
14425 (encode_block): Likewise.
14426
276b7a8b
VS
144272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14430 certainety.
14431
e3fd394a
VS
144322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14435 non-RS part to avoid RS messing with GDT.
14436 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14437 Increase to suit in realmode routines.
14438
144392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * grub-core/kern/i386/realmode.S: Increase alignment.
14442 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14443
ee9c2e7a
VS
144442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14447 be deterministic.
14448 (syndroms): Compute 0 syndrom.
14449 (rs_recover): Use 0 syndrom.
14450
7a7f7cc9
VS
144512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14454
a14b16d1
VS
144552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14456
14457 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14458 brackets.
14459
9f59e9fc
VS
144602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14461
ca1b552c
VS
14462 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14463 account.
14464 (get_top_pad): Likewise.
14465 (get_right_pad): Likewise.
14466 (get_bottom_pad): Likewise.
14467
144682011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14471
e739d698
VS
144722011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14475 attribute as the structure isn't guaranteed to be properly aligned.
14476 (grub_efi_pci_device_path): Likewise.
14477 (grub_efi_pccard_device_path): Likewise.
14478 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14479 specify the size of `memory_type'.
14480 (grub_efi_vendor_device_path): Likewise.
14481 (grub_efi_controller_device_path): Likewise.
14482 (grub_efi_acpi_device_path): Likewise.
14483 (grub_efi_expanded_acpi_device_path): Likewise.
14484 (grub_efi_atapi_device_path): Likewise.
14485 (grub_efi_scsi_device_path): Likewise.
14486 (grub_efi_fibre_channel_device_path): Likewise.
14487 (grub_efi_1394_device_path): Likewise.
14488 (grub_efi_usb_device_path): Likewise.
14489 (grub_efi_usb_class_device_path): Likewise.
14490 (grub_efi_i2o_device_path): Likewise.
14491 (grub_efi_mac_address_device_path): Likewise.
14492 (grub_efi_ipv4_device_path): Likewise.
14493 (grub_efi_ipv6_device_path): Likewise.
14494 (grub_efi_infiniband_device_path): Likewise.
14495 (grub_efi_uart_device_path): Likewise.
14496 (grub_efi_vendor_messaging_device_path): Likewise.
14497 (grub_efi_hard_drive_device_path): Likewise.
14498 (grub_efi_cdrom_device_path): Likewise.
14499 (grub_efi_vendor_media_device_path): Likewise.
14500 (grub_efi_file_path_device_path): Likewise.
14501 (grub_efi_protocol_device_path): Likewise.
14502 (grub_efi_piwg_device_path): Likewise.
14503 (grub_efi_bios_device_path): Likewise.
14504
cb8f88ea
VS
145052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14508 (grub_ucs4_to_utf8_alloc): Likewise.
14509 (grub_ucs4_to_utf8): Likewise.
14510 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14511 (grub_ucs4_to_utf8_alloc): Likewise.
14512
309e5352
VS
145132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 AFFS never uses unicode.
14516
14517 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14518 (grub_latin1_to_utf8): New inline function.
14519 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14520
e7987e1b
VS
145212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14524 overflow.
14525
efc2616e
VS
145262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14529 (grub_squash_dirent_header): Likewise.
14530 (read_chunk): Don't double swap.
14531 (grub_squash_iterate_dir): Fix swap sizes.
14532
3c349f5a
VS
145332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14536
b453412d
VS
145372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14540 (grub_hfs_iterate_dir): Likewise.
14541
12e9d4d1
VS
145422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 Fix video on platforms where unaligned access is forbidden.
14545 Make several optimisations while on it.
14546
14547 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14548 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14549 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14550 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14551 Disable.
14552 (grub_video_fbblit_replace_16bit_1bit):
14553 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14554 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14555 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14556 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14557 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14558 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14559 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14560 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14561 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14562 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14563 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14564 (grub_video_fbblit_replace_index_RGB888): Likewise.
14565 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14566 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14567 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14568 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14569 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14570 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14571 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14572 Disable.
14573 (grub_video_fbblit_blend_XXX565_1bit):
14574 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14575 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14576 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14577 void *.
14578 * grub-core/video/fb/video_fb.c (common_blitter)
14579 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14580 (grub_video_fb_create_render_target_from_pointer)
14581 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14582 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14583 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14584 definition.
14585 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14586
ace96609
VS
145872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14590 HH22 and HM10 relocations.
14591
fd261d73
VS
145922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14595
e59b7857
VS
145962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14597
14598 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14599 allocation succeeded.
14600
9b4baaa4
VS
146012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14604 argument a u8 pointer. All users updated.
14605 Handle unaligned buffers.
14606
dc713193
VS
146072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14610 add_part to workaround compiler bug.
14611
30dd48c2
VS
146122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14615
0c6087a8
VS
146162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14619 Reserve alignment invariants.
14620 (grub_multiboot_load): Likewise.
14621 (retrieve_video_parameters): Likewise.
14622 (grub_multiboot_make_mbi): Likewise.
14623
c2e77777
VS
146242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14627 incorrect pointer.
14628
b70b6d11
VS
146292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14632 (grub_pata_pio_write): Likewise.
14633
02a2bf83
VS
146342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 Add noreturn attributes and remove unreachable code.
14637
14638 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14639 code.
14640 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14641 code. Mark as noreturn.
14642 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14643 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14644 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14645 unreachable code.
14646 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14647 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14648 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14649 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14650 * include/grub/kernel.h (grub_main): Mark as noreturn.
14651 * include/grub/reader.h (grub_rescue_run): Likewise.
14652
2019d09e
VS
146532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14654
14655 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14656 redundant declaration.
14657
d1c501ee
VS
146582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14661 redundant declaration.
14662 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14663
61664420
VS
146642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14667 to ensure alignment.
14668 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14669 alignment. Ensure tmp alignment.
14670 (grub_cmd_hdparm): Ensure buf alignment.
14671 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14672 to ensure alignment.
14673 (grub_ata_dumpinfo): Ensure text alignment.
14674 (grub_atapi_identify): Preserve alignment invariant.
14675 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14676
0d51ee20
VS
146772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14680 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14681 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14682 * include/grub/misc.h (grub_reboot)
14683 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14684 (grub_halt) [__mips__]: Likewise.
14685
753ef8c1
VS
146862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14689 Remove redundant declaration.
14690 (grub_mmap_get_post64): Likewise.
14691 (grub_mmap_get_upper): Likewise.
14692 (grub_mmap_get_lower): Likewise.
14693
85c85365
VS
146942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14697 uint32_t * to ensure alignment.
14698 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14699
a23f2cc4
VS
147002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14701
93018f64
VS
14702 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14703 uint16_t * to ensure alignment.
14704 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14705 alignment.
14706
147072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14710 to ensure alignment.
14711 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14712
58acccd6
VS
147132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14716 Handle unaligned pointers.
14717 (u32at): Likewise.
14718 (u64at): Likewise.
14719 (fixup): Use byte access instead of v16at.
14720 (find_attr): Fix imporper usage of v32at.
14721 (read_data): Likewise.
14722 (list_file): Handle byte-swapping and unaligned strings.
14723 (grub_ntfs_label): Likewise.
14724
9b05cad7
VS
147252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14726
14727 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
14728 as it's not necessarily aligned.
14729
b3950b84
VS
147302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
14733 redundant declaration.
14734 (grub_serial_init): Likewise.
14735 (grub_terminfo_init): Likewise.
14736
fcd232b7
VS
147372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
14740 function.
14741 (ZAP_HASH_IDX): Likewise.
14742 (ZAP_LEAF_HASH_SHIFT): Likewise.
14743 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
14744 (LEAF_HASH): Likewise.
14745 (ZAP_LEAF_NUMCHUNKS): Likewise.
14746 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
14747 alignment invariants. Return pointer. All users updated.
14748 (ZAP_LEAF_ENTRY): Make into inline function.
14749 (NBBY): Removed.
14750 (xor): LIkewise.
14751 (xor_out): Use grub_crypto_xor.
14752 (dnode_get_path): Use grub_get_unaligned.
14753 (nvlist_find_value): Likewise.
14754 (grub_zfs_nvlist_lookup_uint64): Likewise.
14755 (grub_zfs_nvlist_lookup_string): Likewise.
14756 (get_nvlist_size): Likewise.
14757 (grub_zfs_open): Likewise.
14758 (fill_fs_info): Likewise.
14759 (grub_zfs_dir): Likewise.
14760 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
14761 alignment invariants.
14762 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
14763 necessarily aligned.
14764
f138623a
VS
147652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
14768
564840dc
VS
147692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
14772 arithmetic to conserve alignment invariants.
14773
9b40df20
VS
147742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
14777 redundant declaration.
14778 (grub_efiemu_mm_obtain_request): Likewise.
14779 (grub_efiemu_prepare): Likewise.
14780
d1c930f9
VS
147812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
14784 to match types.
14785
4c5f3056
VS
147862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
14789 case of aunaligned recptr.
14790 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
14791 alignment.
14792 (grub_hfsplus_btree_search): Handle unaligned index.
14793
728cba91
VS
147942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
14797 to get freetag and skip.
14798
eb561f31
VS
147992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14800
14801 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
14802 array.
14803 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
14804 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
14805
20993fbb
VS
148062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
14809 name for checksum and fix allocation algorithm.
14810
1f313b94
VS
148112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 * include/grub/types.h (grub_properly_aligned_t): New type.
14814 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
14815 (grub_get_unaligned16): Add explicit casts.
14816 (grub_get_unaligned32): Likewise.
14817 (grub_get_unaligned64): Likewise.
14818 (grub_set_unaligned16): New function.
14819 (grub_set_unaligned32): Likewise.
14820
47ae27ec
VS
148212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14824
78c2cd1c
VS
148252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
14828 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
14829 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
14830
53072f9b
VS
148312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14834 conditionals.
14835
055dc239
VS
148362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14839 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14840
496bd074
VS
148412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 Unify and improve RAID and crypto xor.
14844
14845 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14846 changed to grub_crypto_xor
14847 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14848 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14849 Use bigger types when possible.
14850
ef6e4335
VS
148512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 * grub-core/disk/raid.c (scan_devices): Fix condition.
14854
5d048bf2
VS
148552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14858 Make name a const ptr.
14859
ee533335
VS
148602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14863 first argument a const pointer.
14864 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14865 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14866 proto.
14867 (grub_children_iterate): Likewise.
14868 (grub_machine_mmap_iterate): Remove redundant declaration.
14869
cc8f3668
VS
148702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14873 (grub_cmd_acpi) [!x86]: Disable EBDA.
14874
c5fc563a
VS
148752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 Enable UTF8 in gnulib regexp.
14878
14879 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14880 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14881 (isupper): Use grub_isupper.
14882 (isascii): New inline function.
14883 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14884 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14885 * grub-core/normal/charset.c (grub_utf8_process): New function.
14886 (grub_utf8_to_utf16): Use grub_utf8_process.
14887 (grub_encode_utf8_character): New function.
14888 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14889 * include/grub/charset.h (grub_utf8_process): New declaration.
14890 (grub_encode_utf8_character): Likewise.
14891 * include/grub/misc.h (grub_islower): New inline function.
14892 (grub_isupper): Likewise.
14893 (grub_strchrsub): Moved down to fix the definitions.
14894
0af2346f
VS
148952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14898 specification.
14899
74dbd244
VS
149002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * include/grub/loader.h (grub_loader_register_preboot_hook):
14903 Use struct preboot * and not void * for handle. All users updated.
14904 (grub_loader_unregister_preboot_hook): Likewise.
14905
1bc8f60d
VS
149062011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14907
14908 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14909 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14910 UTF-16-BE. All users updated.
14911 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14912 (grub_hfsplus_iterate_dir): Likewise.
14913 (grub_hfsplus_label): Likewise.
14914
48d6e456
VS
149152011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14918
bf3a3857
VS
149192011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 Add missing const qualifiers.
14922
14923 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14924 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14925 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14926 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14927 (grub_lvm_check_flag): Likewise.
14928 * grub-core/efiemu/i386/coredetect.c
14929 (grub_efiemu_get_default_core_name): Likewise
14930 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14931 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14932 * grub-core/fs/ntfs.c (fixup): Likewise.
14933 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14934 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14935 (fzap_lookup): Likewise.
14936 (zap_lookup): Likewise.
14937 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14938 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14939 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14940 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14941 (grub_freebsd_add_meta_module): Likewise.
14942 (grub_cmd_freebsd_module): Likewise.
14943 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14944 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14945 (grub_xnu_writetree_get_size): Likewise.
14946 (grub_xnu_writetree_toheap_real): Likewise.
14947 (grub_xnu_find_key): Likewise.
14948 (grub_xnu_create_key): Likewise.
14949 (grub_xnu_create_value): Likewise.
14950 (grub_xnu_register_memory): Likewise.
14951 (grub_xnu_check_os_bundle_required): Likewise.
14952 (grub_xnu_scan_dir_for_kexts): Likewise.
14953 (grub_xnu_load_kext_from_dir): Likewise.
14954 * grub-core/normal/color.c (color_list): Likewise.
14955 * grub-core/normal/completion.c (current_word): Likewise.
14956 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14957 * grub-core/term/serial.c (grub_serial_find): Likewise.
14958 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14959 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14960 Likewise.
14961 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14962 (grub_freebsd_add_meta_module): Likewise.
14963 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14964 * include/grub/net.h (grub_net_card_driver): Likewise.
14965 (grub_net_card): Likewise.
14966 (grub_net_app_protocol): Likewise.
14967 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14968 * include/grub/serial.h (grub_serial_find): Likewise.
14969 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14970 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14971 (grub_xnu_create_value): Likewise.
14972 (grub_xnu_find_key): Likewise.
14973 (grub_xnu_scan_dir_for_kexts): Likewise.
14974 (grub_xnu_load_kext_from_dir): Likewise.
14975
14976 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14977 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14978 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14979 Moved from here ...
14980 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14981
112b4837
CW
149822011-11-28 Colin Watson <cjwatson@ubuntu.com>
14983
14984 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14985
49e891ac
VS
149862011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14989 (read_device): Fix size calculation.
14990
fd258e5c
RM
149912011-11-25 Robert Millan <rmh@gnu.org>
14992
14993 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14994 (find_root_device_from_libzfs): Add zpool output parser to be used
14995 as fallback when libzfs isn't available.
14996
78845dc2
SG
149972011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14998
14999 * po/Makefile.in.in: Add missing escape-continuation.
15000
adac5211
VS
150012011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15004
10b64f1c
VS
150052011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15008
bb416954
VS
150092011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15012
bdfe9eeb
VS
150132011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15016
581ffa8a
VS
150172011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * grub-core/lib/adler32.c: Add missing license specification.
15020 * grub-core/lib/crc64.c: Likewise.
15021 * grub-core/loader/i386/pc/plan9.c: Likewise.
15022 * grub-core/partmap/plan.c: Likewise.
15023
2536cf64
LK
150242011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15025
15026 Add facility to debug GRUB with gdb under qemu.
15027
15028 * grub-core/gdb_grub.in: New file.
15029 * grub-core/gmodule.pl.in: Likewise.
15030 * grub-core/Makefile.core.def (gmodule.pl): New script.
15031 (gdb_grub): Likewise.
15032
bc108a4a
VS
150332011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 * util/grub-mount.c (argp_parser): Accept relative pathes.
15036 * util/grub-fstest.c (argp_parser): Likewise.
15037
111c1778
VS
150382011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 Plan9 support.
15041
15042 * Makefile.util.def (libgrubmods): Add
15043 grub-core/partmap/plan.c.
15044 * docs/grub.texi: Notice Plan9 support.
15045 * grub-core/Makefile.core.def (plan9): New module.
15046 (part_plan): Likewise.
15047 * grub-core/loader/i386/pc/plan9.c: New file.
15048 * grub-core/partmap/plan.c: Likewise.
15049 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15050 define.
15051 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15052 * include/grub/mm.h (grub_extend_alloc): New inline function.
15053
c30be3b6
VS
150542011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 Make Reed-Solomon faster by using power of generator representation of
15057 GF(256)*.
15058
15059 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15060 (gf_double_t): Likewise.
15061 (gf_invert): Removed.
15062 (gf_powx): New array.
15063 (gf_powx_inv): Likewise.
15064 (scratch): Move higher.
15065 (gf_reduce): Removed.
15066 (gf_mul): Use powx.
15067 (gf_invert): Likewise.
15068 (init_inverts): Replaced with ...
15069 (init_powx): ...this. All users updated.
15070 (pol_evaluate): Replace multiplications with additions.
15071 (rs_encode): Likewise.
15072 (gauss_eliminate): Call gf_invert.
15073 (grub_reed_solomon_add_redundancy): Call init_powx.
15074 (grub_reed_solomon_recover): Call init_powx unconditionally.
15075
fa5aeffc
VS
150762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
15079
a346b81c
VS
150802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
15083 disk->partiton for safety.
15084
d89ee414
VS
150852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
15088 Fix a memory leak.
15089 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15090
91ee7b6d
VS
150912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15094
91e5a33d
VS
150952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15098
9edd7be2
VS
150992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 Fix spaces handling in proc/self/mountinfo.
15102
15103 * util/getroot.c (unescape): New function.
15104 (grub_find_root_device_from_mountinfo): Use unescape.
15105
ba102053
VS
151062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 Support ZFS embedding.
15109
15110 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15111 (grub_zfs_fs): Register grub_zfs_embed.
15112
aa94b870
VS
151132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15114
15115 Fix MIPS compilation.
15116
15117 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
15118 * include/grub/offsets.h: Rename decompressor fields from
15119 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
15120 * util/grub-mkimage.c (image_targets): Use new names.
15121
5fbdac14
VS
151222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 Defer multiboot device parsing until we're in compressed part.
15125
15126 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
15127 bsd_part. setdevice has fallen into disuse.
15128 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
15129 (bsd_part): Likewise.
15130 (boot_dev): New variable.
15131 (multiboot_trampoline): Don't parse multiboot device.
15132 Pass multiboot device in %edx.
15133 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
15134 grub_boot_device.
15135 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
15136 Likewise.
15137 * grub-core/kern/i386/pc/startup.S: Save edx.
15138 (grub_boot_drive): Removed.
15139 (grub_install_dos_part): Likewise.
15140 (grub_install_bsd_part): Likewise.
15141 (grub_boot_device): New variable.
15142 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
15143 (grub_install_bsd_part): Likewise.
15144 (grub_boot_drive): Likewise.
15145 (grub_boot_device): New variable.
15146 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
15147 Removed.
15148 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15149 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
15150 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
15151 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
15152 * util/grub-install.in: Remove redundant condition.
15153
691cbb58
VS
151542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 Fix bug introduced by previous commit.
15157
15158 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
15159
60240b8b
VS
151602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15161
15162 Use decompressors framework on i386-pc. It increases core size
15163 by 46 bytes but improves compatibility and maintainability.
15164
15165 * grub-core/Makefile.core.def (lzma_decompress): New image.
15166 (kernel): Add i386_pc_ldflags.
15167 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
15168 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
15169 to real_to_prot, prot_to_real and device info.
15170 * include/grub/offsets.h: Renamed decompressor offsets.
15171 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
15172 (image_target_desc): Remove raw_size and rename decompressor fields.
15173 (compress_kernel): Handle lzma.
15174 (generate_image): Handle decompressors on i386-pc.
15175
e9d3421c
VS
151762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 * configure.ac: Add -fno-asynchronous-unwind-tables.
15179
2b23074a
VS
151802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 Move assembly code to C by using intwrap. It increases core size
15183 by 88 bytes but improves compatibility and maintainability.
15184
15185 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
15186 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
15187 ... here. Translated to C.
15188 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
15189 * grub-core/term/i386/pc/console.c (grub_console_getkey):
15190 ... here. Translated to C.
15191 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
15192 * grub-core/term/i386/pc/console.c (grub_console_getxy):
15193 ... here. Translated to C.
15194 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
15195 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
15196 ... here. Translated to C.
15197 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
15198 * grub-core/term/i386/pc/console.c (grub_console_cls):
15199 ... here. Translated to C.
15200 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15201 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15202 ... here. Translated to C.
15203 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15204 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15205 Translated to C.
15206 * grub-core/term/i386/pc/console.c (int10_9): New function.
15207 (grub_console_putchar): Likewise.
15208 * include/grub/i386/pc/console.h: Removed the not anymore shared
15209 functions.
15210
678f4b67
VS
152112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 Move grub_chainloader_real_boot out of the kernel.
15214
15215 * grub-core/Makefile.am: Remove machine/loader.h.
15216 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15217 Removed.
15218 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15219 variable.
15220 (grub_relocator16_keep_a20_enabled): Likewise.
15221 (grub_relocator16_boot): Fill new variables.
15222 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15223 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15224 relocator.
15225 (grub_chainloader_unload): Likewise.
15226 (grub_chainloader_cmd): Likewise.
15227 * include/grub/i386/pc/loader.h: Removed.
15228 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15229 and esi. All initialisers updated.
15230
4626edf6
VS
152312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
152322011-11-12 Colin Watson <cjwatson@ubuntu.com>
15233
15234 * Makefile.util.def (grub-mount): New util.
15235 * .bzrignore: Add grub-mount.
15236 * configure.ac: Check for fuse and enable grub-mount if available.
15237 * docs/man/grub-mount.h2m: New file.
15238 * util/grub-mount.c: Likewise.
15239
10f0117b
VS
152402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/commands/efi/fixvideo.c: Gettextize.
15243 * grub-core/commands/hashsum.c: Likewise.
15244 * grub-core/commands/i386/cmostest.c: Likewise.
15245 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15246 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15247 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15248 * grub-core/commands/lsmmap.c: Likewise.
15249 * grub-core/commands/menuentry.c: Likewise.
15250 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15251 * grub-core/commands/setpci.c: Likewise.
15252 * grub-core/loader/i386/bsd.c: Likewise.
15253 * grub-core/loader/i386/linux.c: Likewise.
15254 * util/getroot.c: Likewise.
15255 * util/grub-editenv.c: Likewise.
15256 * util/grub-fstest.c: Likewise.
15257 * util/grub-mkfont.c: Likewise.
15258 * util/grub-mkimage.c: Likewise.
15259 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15260 * util/grub-pe2elf.c: Likewise.
15261 * util/grub-probe.c: Likewise.
15262 * util/grub-setup.c: Likewise.
15263 * util/ieee1275/ofpath.c: Likewise.
15264 * util/misc.c: Likewise.
15265 * util/raid.c: Likewise.
15266
566f779b
RM
152672011-11-11 Robert Millan <rmh@gnu.org>
15268
15269 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15270 __attribute__((unused)) from `os_dev', which *is* being used.
15271
b50787de
VS
152722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15275 forgotten define.
15276 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15277 GRUB_IA64_DL_GOT_ALIGN.
15278 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15279 GRUB_IA64_DL_TRAMP_ALIGN.
15280
119d11c8
VS
152812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Replace grub_fatal with normal errors in i386 linux loader.
15284
15285 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15286 (allocate_pages): Check find_efi_mmap_size return value.
15287 (grub_e820_add_region): Return error.
15288 (grub_linux_boot): Check mmap return value.
15289
6e0632e2
VS
152902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 * grub-core/commands/acpihalt.c: Gettextized.
15293 * grub-core/commands/cacheinfo.c: Likewise.
15294 * grub-core/commands/cmp.c: Likewise.
15295 * grub-core/commands/efi/loadbios.c: Likewise.
15296 * grub-core/commands/gptsync.c: Likewise.
15297 * grub-core/commands/ieee1275/suspend.c: Likewise.
15298 * grub-core/commands/legacycfg.c: Likewise.
15299 * grub-core/commands/memrw.c: Likewise.
15300 * grub-core/commands/minicmd.c: Likewise.
15301 * grub-core/commands/parttool.c: Likewise.
15302 * grub-core/commands/time.c: Likewise.
15303 * grub-core/commands/videoinfo.c: Likewise.
15304 * grub-core/disk/geli.c: Likewise.
15305 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15306 * grub-core/disk/luks.c: Likewise.
15307 * grub-core/disk/lvm.c: Likewise.
15308 * grub-core/font/font_cmd.c: Likewise.
15309 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15310 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15311 * grub-core/gfxmenu/view.c: Likewise.
15312 * grub-core/kern/emu/hostdisk.c: Likewise.
15313 * grub-core/kern/emu/main.c: Likewise.
15314 * grub-core/kern/emu/misc.c: Likewise.
15315 * grub-core/kern/emu/mm.c: Likewise.
15316 * grub-core/kern/mips/arc/init.c: Likewise.
15317 * grub-core/kern/mips/loongson/init.c: Likewise.
15318 * grub-core/kern/partition.c: Likewise.
15319 * grub-core/lib/i386/halt.c: Likewise.
15320 * grub-core/lib/mips/arc/reboot.c: Likewise.
15321 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15322 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15323 * grub-core/loader/i386/xnu.c: Likewise.
15324 * grub-core/loader/multiboot.c: Likewise.
15325 * grub-core/net/bootp.c: Likewise.
15326 * grub-core/net/net.c: Likewise.
15327 * grub-core/normal/term.c: Likewise.
15328 * grub-core/partmap/bsdlabel.c: Likewise.
15329 * grub-core/parttool/msdospart.c: Likewise.
15330 * grub-core/term/gfxterm.c: Likewise.
15331 * grub-core/term/terminfo.c: Likewise.
15332 * grub-core/video/i386/pc/vbe.c: Likewise.
15333 * util/grub-menulst2cfg.c: Likewise.
15334 * util/grub-mkdevicemap.c: Likewise.
15335 * util/grub-mklayout.c: Likewise.
15336 * util/grub-mkrelpath.c: Likewise.
15337 * util/grub-script-check.c: Likewise.
15338 * util/ieee1275/grub-ofpathname.c: Likewise.
15339 * util/resolve.c: Likewise.
15340
073aa7a9
VS
153412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 Support %1$d syntax.
15344
15345 * tests/printf_unit_test.c: New file.
15346 * Makefile.util.def (printf_test): New test.
15347 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15348
c76b5417
VS
153492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15350
15351 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15352 fix.
15353
df067ad1
VS
153542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15357 dprintf.
15358 * grub-core/font/font.c (grub_font_load): Likewise.
15359
5b289bc5
VS
153602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 * util/grub-macho2img.c: Add comment concerning gettext.
15363 * grub-core/lib/legacy_parse.c: Likewise.
15364
c1860f87
VS
153652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15368 (grub_xvasprintf): Likewise.
15369
d35d0d37
VS
153702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 Add const keyword to grub_env_get and gettextize week days.
15373
15374 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15375 (grub_read_hook_datetime): Return const char *.
15376 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15377 updated.
15378 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15379 Mark for gettext.
15380 (grub_get_weekday_name): Return const char *. Call gettext.
15381 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15382 char * and len as the argument. All users updated.
15383 (grub_script_argv_split_append): Receive const char *.
15384 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15385 * include/grub/env.h (grub_env_get): Likewise.
15386 (grub_env_read_hook_t): Return const char *.
15387 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15388 (grub_script_argv_split_append): Likewise.
15389
9aed8a71
VS
153902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15393
067fdf00
VS
153942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15397 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15398
a8bd9d39
VS
153992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15402 Fix prototype.
15403
f7ce5baf
VS
154042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 Fix mips compilation.
15407
15408 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15409 normal decoder.
15410 (hashes): Use in embed decoder as well (for sizes).
15411 (dec_stream_header): Fix embed decompressor logic.
15412 (dec_stream_footer): Likewise.
15413
9bb182f3
VS
154142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15417 an error and not a fatal on unrecognised relocation types.
15418
63a9e6f6
VS
154192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15420
15421 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15422 Issue error rather than printf on unknown arguments.
15423
4c458569
VS
154242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15427 Make buf a const.
15428
e2d22baf
VS
154292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15432 Fix module name.
15433
53dc8590
VS
154342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15437 leftover debug printf.
15438
6c189294
VS
154392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15440
15441 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15442
f7688369
VS
154432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15446 A stylistic fix.
15447
11a775a3
VS
154482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15451
33f784e8
SL
154522011-11-10 Shea Levy <slevy@tieronedesign.com>
15453
15454 Allow all modules to perform serial IO
15455
15456 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15457 * include/grub/serial.h (grub_serial_port_configure): New inline
15458 function.
15459 (grub_serial_port_fetch): Likewise.
15460 (grub_serial_port_put): Likewise.
15461 (grub_serial_port_fini): Likewise.
15462 (grub_serial_find): New proto.
15463
f6276525
VS
154642011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 Put symlink at the end of the node and fix a potential
15467 memory corruption.
15468
15469 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15470 Make symlink into an array.
15471 (set_rockridge): Set have_symlink and alloc_dirents.
15472 (grub_iso9660_read_symlink): Use new layout.
15473 (grub_iso9660_iterate_dir): Fix memory corruption.
15474 Use new layout.
15475 (grub_iso9660_dir): Set have_symlink.
15476 (grub_iso9660_open): Likewise.
15477
c3591189
VS
154782011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 Remove local keyword.
15481
15482 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15483 (version_test_gt): Likewise.
15484 (version_find_latest): Likewise.
15485 (gettext_printf): Likewise.
15486 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15487
cb544caa
VS
154882011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15491
45bd824d
VS
154922011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 Fix ZFS memory and resource leaks.
15495
15496 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15497 All users updated.
15498 Free type on exit.
15499 (fill_vdev_info): New parameter inserted. All users updated.
15500 (check_pool_label): Likewise.
15501 (scan_disk): Likewise.
15502 (scan_devices): Close non-inserted disks.
15503 (fzap_iterate): Free l.
15504 (unmount_device): Free children descripto memory.
15505
ad9a2f44
VS
155062011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15507
15508 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15509 argument (access out of bounds).
15510
6b68db81
VS
155112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15514 >= 6 drives.
15515
28840fda
VS
155162011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15519 Fix declaration.
15520
8a5a3a5b
VS
155212011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 Fix several memory leaks.
15524
15525 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15526 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15527 (grub_cpio_dir): Likewise.
15528 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15529 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15530 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15531 (grub_romfs_label): Likewise.
15532 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15533 (squash_unmount): New function.
15534 (grub_squash_dir): Fix memory leak.
15535 (grub_squash_open): Likewise.
15536 (grub_squash_read): Likewise.
15537 (grub_squash_mtime): Likewise.
15538 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15539 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15540 * util/grub-fstest.c (fstest): Likewise.
15541
57b01250
VS
155422011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15545 avoid accessing beyond the array.
15546
19e81ba7
VS
155472011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15550
52b656c0
VS
155512011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 Several AFFS fixes.
15554
15555 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15556 (GRUB_AFFS_FLAG_FFS): Removed.
15557 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15558 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15559 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15560 (grub_fshelp_node): Make block 32-bit.
15561 Add block_cache and last_block_cache.
15562 (grub_affs_read_block): Fill and use block cache.
15563 (grub_affs_read_file): Removed.
15564 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15565 boot block.
15566 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15567 safety.
15568 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15569 space.
15570 (grub_affs_close): Free block cache.
15571 (grub_affs_read): Use grub_fshelp_read_file directly.
15572
438a746a
VS
155732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15576 with no error set.
15577
49a45021
VS
155782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15581 used variable.
15582 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15583 Likewise.
15584
3ae17eb8
VS
155852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15588
15589 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15590 byteswap when needed.
15591
27610c38
VS
155922011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15593
15594 Fix FreeBSD compilation.
15595
15596 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15597 to avoid circular dependency.
15598 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15599 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15600 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15601
4a19b601
VS
156022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 Fix ZFS crypto error types.
15605
15606 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15607 (grub_gcm_decrypt): Likewise.
15608 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15609 from PBKDF2.
15610
958ee221
VS
156112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 Illumos support.
15614
15615 * Makefile.util.def (10_illumos): New script.
15616 * configure.ac: Set COND_HOST_ILLUMOS.
15617 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15618 Support Illumos calls.
15619 (find_partition_start) [__sun__]: Likewise.
15620 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15621 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15622 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15623 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15624 device.
15625 * util/grub-probe.c (probe) [__sun__]: Do character check.
15626 * util/grub.d/10_illumos.in: New file.
15627
cac14fb6
VS
156282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 Support escaped commas in hostdisk.
15631
15632 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15633 (find_grub_drive): Use unescape_cmp.
15634 (make_device_name): Escape commas.
15635
78e08dc3
VS
156362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15639
9f421dd1
VS
156402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15643 variable.
15644
ed64e9e2
VS
156452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 Support trampoline jumps on powerpc.
15648
15649 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15650 __ia64__ path.
15651 (grub_dl_load_segments): Set mod->sz.
15652 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15653 segments.
15654 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15655 (jump): Likewise.
15656 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15657 function.
15658 (trampoline): New struct.
15659 (trampoline_template): New const.
15660 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15661 * include/grub/dl.h (grub_dl): Add sz element.
15662 [__powerpc__]: Follow __ia64__.
15663 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15664 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15665 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15666 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15667
3084ede4
VS
156682011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15669
15670 ZFS crypto support.
15671
15672 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15673 * grub-core/Makefile.core.def (zfscrypt): New module.
15674 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15675 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15676 it. All users updated.
15677 (grub_zfs_decrypt): New var.
15678 (grub_zfs_load_key): Likewise.
15679 (zio_checksum_functions): Add SHA256+MAC.
15680 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15681 (zio_read): Handle encrypted blocks.
15682 (zap_verify): Remove incorrect check.
15683 (fzap_iterate): Handle non-standard fzap.
15684 (zap_iterate): Likewise.
15685 (zap_iterate_u64): New function.
15686 (dnode_get_fullpath): Load keys.
15687 * grub-core/fs/zfs/zfscrypt.c: New file.
15688 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15689 (grub_crypto_ecb_encrypt): Make input const.
15690 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15691 (grub_crypto_ecb_encrypt): Make input const.
15692 (GRUB_CIPHER_AES): New macro.
15693 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15694 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15695 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15696 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15697 prefix. All users updated.
15698 (grub_zfs_add_key): New proto.
15699 (grub_zfs_decrypt): Likewise.
15700 (grub_zfs_load_key): Likewise.
15701 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15702 * util/grub-fstest.c (options): Add -K option.
15703 (argp_parser): Likewise.
15704
b632b404
VS
157052011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 Support zle compression on ZFS.
15708
15709 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15710 (decomp_table): Add zle.
15711 * include/grub/zfs/zio.h (zio_compress): Add zle.
15712
c7ba4f69
VS
157132011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 Support BtrFS embedding.
15716
15717 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15718 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15719 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
15720 * util/grub-setup.c (setup): Use fs embedding if available.
15721 Add additional sanity check.
15722
455377d9
VS
157232011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * util/grub-install.in: Fix condition for config_opt.
15726
c2fd16ca
VS
157272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 Support third redundancy strip on raidz3.
15730
15731 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
15732 Return error on singularity. All users updated.
15733 (read_device): Don't stop on 3rd failure on raidz3.
15734
8622923b
VS
157352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 Support case-insensitive ZFS subvolumes.
15738
15739 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
15740 All users updated.
15741 (zap_hash): Likewise.
15742 (name_cmp): New function.
15743 (zap_leaf_array_equal): New parameter case_insensitive.
15744 All users updated.
15745 (zap_leaf_lookup): Likewise.
15746 (fzap_lookup): Likewise.
15747 (zap_lookup): Likewise.
15748 (dnode_get_path): New parameter case_insensitive. Retrieve case
15749 sensitiviness of a volume. All users updated.
15750 (dnode_get_fullpath): New parameter case_insensitive.
15751 All users updated.
15752 (grub_zfs_dir): Set info.case_insensitiveness.
15753
95f2e860
VS
157542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 Support second redundancy strip on raidz(2,3).
15757
15758 * grub-core/fs/zfs/zfs.c (powx): New array.
15759 (powx_inv): Likewise.
15760 (poly): New const.
15761 (xor_out): New function.
15762 (gf_mul): Likewise.
15763 (recovery): Likewise.
15764 (read_device): Use second redundancy strip.
15765
11ee4389
VS
157662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 Use a power of generator representation of GF(256) multiplication group
15769 to save space time and complexity.
15770
15771 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
15772 (raid6_table2): Likewise.
15773 (powx): New array.
15774 (powx_inv): Likewise.
15775 (poly): New const.
15776 (grub_raid_block_mul): Replace with ...
15777 (grub_raid_block_mulx): ...this.
15778 (grub_raid6_init_table): Rewritten.
15779 (grub_raid6_recover): Use power of generator representation.
15780
09e2763f
VS
157812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
15784 for the right device.
15785
8bec9a28
VS
157862011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
15789 expected by grub-mkimage and it's more clear since there is no implicit
15790 padding.
15791
dbd3a32e
VS
157922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
15795 disk.
15796 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15797
182c872a
PMH
157982011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
15799
15800 * util/grub-mkrescue.in: Fix handling xorriso option.
15801
1e51cabd
VS
158022011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
15805 NULL.
15806
9cc3581d 158072011-11-03 crocket <crockabiscuit@gmail.com>
15808
15809 * util/grub.d/10_linux.in: Add Slackware initrd naming.
15810
158dc1ea
VS
158112011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 XZ CRC64 and SHA256 support.
15814
15815 * Makefile.util.def (libgrubmods): Add crc64.c.
15816 * grub-core/Makefile.core.def (crc64): New module.
15817 * grub-core/lib/crc64.c: New file.
15818 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
15819 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
15820 Fix the type.
15821 (MAX_HASH_SIZE): New define.
15822 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
15823 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
15824 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15825 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
15826 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
15827 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
15828 Handle non-crc32 hashes.
15829 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
15830 (dec_stream_header): Handle non-crc32 hashes.
15831 (dec_stream_footer): Likewise.
15832 (dec_block_header): Likewise.
15833 (dec_main): Likewise.
15834 (xz_dec_init): Likewise.
15835 (xz_dec_reset): Likewise.
15836 (xz_dec_end): Likewise.
15837 * util/import_gcry.py: Add CRC64 line.
15838
9d9b3d2f
VS
158392011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15842 as well.
15843
7d0ac931
VS
158442011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 Make reiserfs label retrieval similar to other *_label functions.
15847
15848 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15849 (REISERFS_MAX_LABEL_LENGTH): Removed.
15850 (REISERFS_LABEL_OFFSET): Likewise.
15851 (grub_reiserfs_label): Rewritten.
15852
158532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15856 field.
15857
cf5ba824
VS
158582011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15861
17744004
VS
158622011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15865 drive failure on both raidz and raidz2.
15866
aca5aefc
VS
158672011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 Fix RAIDZ(2) for >= 5 devices.
15870
15871 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15872 asize argument. All users updated.
15873
ce8ca56e
VS
158742011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 Fix RAIDZ(2).
15877
15878 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15879 (fill_vdev_info_real): Set ashift.
15880 (read_device): Rewrite RAIDZ part based on reverse engineering.
15881
7c01e783
VS
158822011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15885 don't report potentially unavialiable fields in debug output.
15886 (find_path): Fix double-free and memory leak.
15887
ce109e84
VS
158882011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 Read label on UFS1.
15891
15892 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15893 (grub_ufs_fs): Always set .label.
15894
87661123
VS
158952011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 Use shifts in UFS.
15898
15899 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15900 (grub_ufs_data): New field log2_blksz.
15901 (grub_ufs_read_file): Use shifts.
15902 (grub_ufs_mount): Check block size and logarithm it.
15903
46bc1dc2
VS
159042011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15907 long symlinks.
15908
19ee2987
VS
159092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15910
15911 Handle symlinks and long names on tar and cpio.
15912
15913 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15914 (ATTR_FILE): Likewise.
15915 (ATTR_DIR): Likewise.
15916 (ATTR_LNK): Likewise.
15917 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15918 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15919 L and K entries.
15920 (grub_cpio_mount): Zero-fill data.
15921 (handle_symlink): New function.
46bc1dc2
VS
15922 (grub_cpio_dir): Handle symlinks.
15923 (grub_cpio_open): Likewise.
15924 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15925
c83a08d8
VS
159262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 Fix iso9660 filename limitations and fix memory leaks.
15929
15930 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15931 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15932
45cdd3ea
VS
159332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 Fix JFS file name length limitations.
15936
15937 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15938 (grub_jfs_diropen): Fix maximum filename length.
15939 (grub_jfs_getent): Fix filename length.
15940 (grub_jfs_lookup_symlink): Fix size checks.
15941
94ef05c2
VS
159422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15945 string.
15946
785ab8c7
VS
159472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15948
eb0b6b45
VS
15949 Leverage BFS implementation to read AFS.
15950
15951 * Makefile.util.def (libgrubmods): Add afs.c.
15952 * grub-core/Makefile.core.def (afs): New module
15953 * grub-core/fs/afs.c: New file.
15954 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15955
159562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15959
c4a1628f
VS
159602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 * grub-core/fs/bfs.c: Run indent.
15963
5825b379
VS
159642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 BFS implementation based on the specification.
15967
15968 * grub-core/fs/bfs.c: New file.
15969 * Makefile.util.def (libgrubmods): Add bfs.c.
15970 * grub-core/Makefile.core.def (bfs): New module.
15971
42b2a706
VS
159722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * util/grub-fstest.c (cmd_cp): Clarify error message.
15975 (cmd_cmp): Likewise.
15976
61b99bfc
YB
159772011-10-30 Yves Blusseau <blusseau@zetam.org>
15978
15979 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15980 and befs_be.
15981
faba3d16
VS
159822011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 Remove afs and befs because of copyright problem.
15985
15986 * grub-core/fs/afs.c: Removed.
15987 * grub-core/fs/afs_be.c: Removed.
15988 * grub-core/fs/befs.c: Removed.
15989 * grub-core/fs/befs_be.c: Removed.
15990 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15991 * grub-core/Makefile.core.def (afs): Removed.
15992 (afs_be): Likewise.
15993 (befs): Likewise.
15994 (befs_be): Likewise.
15995
c39224b0
VS
159962011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 Prefer rockridge over Joliet.
15999
16000 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16001 to ...
16002 (set_rockridge): ... here.
16003 (grub_iso9660_mount): Check rockridge on the primary label when
16004 discovering. Ignore Joliet if Rockridge is present.
16005
e551115a
VS
160062011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16007
16008 Use shifts in nilfs2.
16009
16010 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16011 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16012 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16013 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16014 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16015 (grub_nilfs2_entries_per_block): Replaced with ...
16016 (grub_nilfs2_log_entries_per_block_log): ... this.
16017 (grub_nilfs2_blocks_per_group): Replaced with ...
16018 (grub_nilfs2_blocks_per_group_log): ... this.
16019 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16020 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16021 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16022 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16023 (grub_nilfs2_palloc_entry_offset): Replaced ...
16024 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16025 (grub_nilfs2_dat_translate): Use shifts.
16026 (grub_nilfs2_read_inode): Likewise.
16027 (GRUB_MOD_INIT): Ensure that logs are correct.
16028
564dd58c
VS
160292011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 Use shifts in minix filesystem.
16032
16033 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16034 (GRUB_MINIX_ZONE2SECT): Likewise.
16035 (grub_minix_data): Replace block_size with log_block_size.
16036 (grub_minix_read_file): Use shifts.
16037 (grub_minix_mount): Check block size and take a logarithm.
16038
ed9ba06d
VS
160392011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 Use shifts in squash4.
16042
16043 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16044 (squash_mount): Check block size and take logarithm.
16045 (direct_read): Use shifts.
16046
ad03fe76
VS
160472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 Correct befs block counting logic.
16050
16051 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16052 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16053 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16054 (grub_afs_read_inode): Use block_shift.
16055 (RANGE_SHIFT): New definition.
16056 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16057 unexpected conditions, use shifts and appropriate types.
16058 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16059
6563f63d
VS
160602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * grub-core/disk/raid.c (scan_devices): Check partition.
16063 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16064
5b1ae25f
VS
160652011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 Support BFS (befs) UUID.
16068
16069 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16070 (grub_afs_small_data_element_header): New struct.
16071 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16072 (grub_afs_read_attribute) [MODE_BFS]: New function.
16073 (grub_afs_iterate_dir): Allocate for complete inode.
16074 (grub_afs_mount): Likewise.
16075 (grub_afs_uuid) [MODE_BFS]: New function.
16076 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16077
f8d82408
VS
160782011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16079
16080 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
16081 (zfs_unmount): Fix memory leak.
16082
5773fb64
VS
160832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 Support NTFS reparse points.
16086
16087 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
16088 (symlink_descriptor): New struct.
16089 (grub_ntfs_read_symlink): New function.
16090 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16091 (grub_ntfs_open): Likewise.
16092
91c3fdde
VS
160932011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16096
3be82e10
VS
160972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 fstest xnu_uuid subcommand.
16100
16101 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16102 grub-core/commands/xnu_uuid.c.
16103 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16104 (fstest): Handle xnu_uuid.
16105 (options): Document xnu_uuid.
16106 (argp_parser): Parse xnu_uuid.
16107
8e32442e
VS
161082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16109
16110 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16111 -l argument. Add newline at the end if printing.
16112 (GRUB_MOD_INIT): Document -l.
16113
52a05075
VS
161142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
16117
1869edb5
VS
161182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 ZFS multi-device and version 33 support.
16121
16122 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
16123 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
16124 (grub_zfs_data): Add multidev-ice-related fields.
16125 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
16126 (dva_get_offset): Make dva const.
16127 (zfs_fetch_nvlist): New function.
16128 (fill_vdev_info_real): Likewise.
16129 (fill_vdev_info): Likewise.
16130 (check_pool_label): Likewise.
16131 (scan_disk): Likewise.
16132 (scan_devices): Likewise.
16133 (read_device): Likewise.
16134 (read_dva): Likewise.
16135 (zio_read_gang): Use read_dva.
16136 (zio_read_data): Likewise.
16137 (zap_leaf_lookup): Add missing endian conversion.
16138 (zap_verify): Add missing endian conversion. All users updated.
16139 (fzap_lookup): Likewise.
16140 (fzap_iterate): Likewise.
16141 (dnode_get_path): Handle SA bonus.
16142 (nvlist_find_value): Make input const. All users updated.
16143 (unmount_device): New function.
16144 (zfs_unmount): Use unmount_device.
16145 (zfs_mount): Use scan_disk.
16146 (zfs_mtime): New function.
16147 (grub_zfs_open): Handle system attributes.
16148 (fill_fs_info): Likewise.
16149 (grub_zfs_dir): Likewise.
16150 (grub_zfs_fs): Add mtime.
16151 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
16152 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
16153 (SA_MTIME_OFFSET): Likewise.
16154 (SA_SYMLINK_OFFSET): Likewise.
16155 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
16156 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
16157 (fstest): Support zfsinfo.
16158 (argp_parser): Likewise.
16159
186b4028
VS
161602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
16163 error.
16164
161652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
16166
16167 ZFS fixes.
16168
16169 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
16170 sharing the same block. Iterate over correct number of indices.
16171 (dnode_get_path): Handle symlinks correctly.
16172
c0584900
VS
161732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
16176
67e2bd71
VS
161772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 Read label on HFS+.
16180
16181 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
16182 (grub_hfsplus_btree_search): Fix types.
16183 (grub_hfsplus_label): Implement.
16184
e9cc6b7b
VS
161852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16186
16187 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
16188
19832ddb
VS
161892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
16192
66b40850
VS
161932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 Fix symlink handling on iso9660.
16196
16197 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
16198 All users updated.
16199 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16200 (grub_iso9660_read_symlink): Moved most of code ...
16201 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16202
db821363
VS
162032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16206 Use union to avoid breaking strict-aliasing rules.
16207
e1211949
VS
162082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 Support multi-extent iso files.
16211
16212 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16213 Add node.
16214 (grub_fshelp_node): Revamp. All users updated.
16215 (FLAG_*): New enum.
16216 (read_node): New function.
16217 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16218 All users updated.
16219 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16220 (get_node_size): New function.
16221 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16222 entries.
16223 Fix memory leak on . and ..
16224 (grub_iso9660_read): Use read_node.
16225 (grub_iso9660_close): Free node.
16226
d4888031
VS
162272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 Fix tar 4G limit and handle paths containing dot.
16230
16231 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16232 (canonicalize): New function.
16233 (grub_cpio_find_file): Use canonicalize. Store offs in
16234 grub_disk_addr_t.
16235 (grub_cpio_dir): Use grub_disk_addr_t.
16236 (grub_cpio_open): Likewise.
16237
9f12e664
VS
162382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16241
16242 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16243 unused flags.
16244 (grub_squash_inode): Add long_file and block_size.
16245 (grub_squash_cache_inode): New struct.
16246 (grub_squash_dirent): Make types into enum.
16247 (SQUASH_TYPE_LONG_REGULAR): New type.
16248 (grub_squash_frag_desc): Add field size.
16249 (SQUASH_BLOCK_FLAGS): New enum.
16250 (grub_squash_data): Use grub_squash_cache_inode.
16251 (grub_fshelp_node): Make ino_chunk 64-bit.
16252 (read_chunk): Minor argument change. All users updated.
16253 (squash_mount): Use correct le_to_cpu.
16254 (grub_squash_open): Handle LONG_REGULAR.
16255 (direct_read): New function.
16256 (grub_squash_read_data): Handle blocks correctly.
16257
9f326fba
VS
162582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16259
16260 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16261
f4d9b64b
VS
162622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16265
5bbd28b8
VS
162662011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 Fix 2G limit on ZFS.
16269
16270 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16271 types.
16272 (uberblock_verify): Likewise.
16273 (dmu_read): Likewise.
16274 (grub_zfs_read): Likewise. Remove invalid cast.
16275
68c72069
VS
162762011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16279 (grub_jfs_blkno): Fix incorrect shift.
16280 (grub_jfs_read_file): Use more appropriate types.
16281
6e536dc8
VS
162822011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 Support triple indirect on minix2 and minix3.
16285
16286 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16287 Declare triple_indir_zone.
16288 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16289 indirect.
16290
e0864e7a
VS
162912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Minix FS fixes.
16294
16295 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16296 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16297 Rename ctime to mtime. All users updated.
16298 (grub_minix_get_file_block): Fix types and double indirect computations.
16299
89481cab
VS
163002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16303 if no label is found.
16304 (grub_fat_iterate_dir): Fix file size type.
16305 (grub_fat_iterate_dir): Likewise.
16306
f646e143
VS
163072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16308
16309 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16310 save some space.
16311 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16312 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16313
534d769e
VS
163142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16317
e084ba18
VS
163182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * util/import_gcry.py: Accept space between # and include.
16321
3471ecdf
VS
163222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16323
16324 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16325
124df5f6
VS
163262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16329
16330 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16331 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16332 yylex_strncpy.
16333 * grub-core/script/yylex.l: Add fine-grained #pragma.
16334
4defb8d5
VS
163352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16338 New inline function.
16339 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16340 Likewise.
16341 (memset) [GRUB_UTIL]: Likewise.
16342 (memcmp) [GRUB_UTIL]: Likewise.
16343
4e94ae65
VS
163442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16347 inline function rather than a define.
16348
18c575e5
VS
163492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * util/grub-setup.c: Add missing include.
16352
f8bc22a8
VS
163532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 * util/ieee1275/grub-ofpathname.c: Add missing include.
16356
3ce69fc9
VS
163572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16358
16359 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16360 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16361 Likewise.
16362
d1e293bb
VS
163632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16366 grub_memcmp usage.
16367
7a5c54a4
VS
163682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16369
16370 * util/grub-install.in: Add datarootdir as per automake manual
16371 suggestion.
16372 * util/grub-mknetdir.in: Likewise.
16373
163742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16375
16376 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16377 suggestion.
16378 * util/grub.d/10_kfreebsd.in: Likewise.
16379 * util/grub.d/10_linux.in: Likewise.
16380 * util/grub.d/10_netbsd.in: Likewise.
16381 * util/grub.d/10_windows.in: Likewise.
16382 * util/grub.d/20_linux_xen.in: Likewise.
16383
766f7d08
VS
163842011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16385
16386 Remove redundant grub_kernel_image_size.
16387
16388 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16389 _edata and _start.
16390 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16391 the small code. It moves it only by few bytes but simplifies the code.
16392 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16393 _start.
16394 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16395 (grub_kernel_image_size): Removed.
16396 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16397 (grub_kernel_image_size): Removed.
16398 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16399 compiled with Apple toolchain.
16400 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16401 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16402 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16403 (grub_total_module_size): Likewise.
16404 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16405 Removed.
16406 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16407 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16408 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16409 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16410 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16411 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16412 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16413 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16414 Removed.
16415 (grub_total_module_size): Removed.
16416 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16417 (image_targets): Likewise.
16418 Set .compressed_size to no field on sparc.
16419 (generate_image): Remove kernel_image_size handling.
16420
fcf1d672
SJ
164212011-10-19 Szymon Janc <szymon@janc.net.pl>
16422
16423 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16424 NULL pointer dereference.
16425
de9c615e
VS
164262011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16429 done with a dedicated section.
16430
16431 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16432 Ensure the correct position of boot_path.
16433 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16434 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16435 other fields.
16436 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16437 * include/grub/boot.h: Removed. All references removed.
16438 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16439 Removed.
16440 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16441
e55599dc
VS
164422011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16445 name.
16446
36dd20ad
VS
164472011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16450
f8f72eb8
VS
164512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16454 Don't add the bogus brackets.
16455
a374751b
VS
164562011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 ExFAT support.
16459
16460 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16461 * grub-core/Makefile.core.def (exfat): New module.
16462 * grub-core/fs/exfat.c: New file.
16463 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16464 (GRUB_FAT_ATTR_*): Make into an enum.
16465 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16466 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16467 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16468 (GRUB_FAT_MAXFILE): Removed.
16469 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16470 (grub_current_fat_bpb_t): New type.
16471 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16472 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16473 (grub_fat_dir_node_t): New type.
16474 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16475 (fat_log2) [MODE_EXFAT]: Removed.
16476 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16477 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16478 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16479 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16480 (grub_fat_label) [MODE_EXFAT]: New function.
16481 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16482 reserved_first_sector to 0.
16483
544c2487
VS
164842011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16485
16486 Move grub_reboot out of the kernel.
16487
16488 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16489 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16490 * grub-core/lib/efi/reboot.c: ... here.
16491 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16492 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16493 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16494 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16495 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16496 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16497 * grub-core/lib/ieee1275/reboot.c: ... here.
16498 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16499 * grub-core/lib/mips/arc/reboot.c: ... here.
16500 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16501 * grub-core/lib/mips/loongson/reboot.c: ...here.
16502 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16503 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16504 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16505 * include/grub/i386/reboot.h: New file.
16506 * include/grub/mips/loongson/ec.h: Fix includes.
16507 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16508 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16509 * grub-core/lib/i386/reboot.c: New file.
16510
a97501d2
VS
165112011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 Make grub_prefix into module to fix the arbitrary limit and save
16514 some space.
16515
16516 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16517 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16518 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16519 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16520 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16521 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16522 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16523 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16524 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16525 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16526 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16527 * include/grub/ia64/efi/kernel.h: Removed.
16528 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16529 (grub_prefix): Removed.
16530 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16531 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16532 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16533 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16534 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16535 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16536 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16537 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16538 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16539 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16540 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16541 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16542 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16543 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16544 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16545 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16546 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16547 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16548 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16549 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16550 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16551 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16552 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16553 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16554 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16555 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16556 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16557 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16558 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16559 from module.
16560 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16561 prefix_end.
16562 (image_targets): Likewise.
16563 (generate_image): Put prefix as a module.
16564
39705fad
VS
165652011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16566
16567 Replace grub_module_iterate with FOR_MODULES.
16568
16569 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16570 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16571 (grub_efi_modules_addr): ...this.
16572 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16573 (grub_efi_init): Set grub_modbase.
16574 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16575 (grub_modbase): New variable.
16576 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16577 (grub_modbase): New variable.
16578 (grub_machine_init): Set grub_modbase.
16579 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16580 (grub_modbase): New variable.
16581 (grub_machine_init): Set grub_modbase.
16582 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16583 (grub_modbase): New variable.
16584 (grub_machine_init): Set grub_modbase.
16585 * grub-core/kern/main.c (grub_module_iterate): Remove.
16586 (grub_modules_get_end): Use grub_modbase.
16587 (grub_load_modules): Use FOR_MODULES.
16588 (grub_load_config): Likewise.
16589 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16590 (grub_modbase): New variable.
16591 (grub_machine_init): Set grub_modbase.
16592 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16593 (grub_modbase): New variable.
16594 (grub_machine_init): Set grub_modbase.
16595 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16596 Removed.
16597 (grub_modbase): New variable.
16598 (grub_machine_init): Set grub_modbase.
16599 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16600 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16601 (grub_module_iterate): Likewise.
16602 (grub_modbase): New variable declaration.
16603 (FOR_MODULES): New macro.
16604
2afb7f6c
VS
166052011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16608 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16609
366e34fa
VS
166102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 Fix few obvious type discrepancies.
16613
16614 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16615 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16616 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16617 variable.
16618 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16619 and connected types.
16620 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16621 offset.
16622 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16623 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16624 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16625 and connected types.
16626
177b960e
VS
166272011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16628
16629 Fix python 3.x incompatibilities.
16630
16631 * gentpl.py: Put brackets around print strings.
16632 * util/import_gcry.py: Open explicitly as utf-8.
16633 Use in instead of has_key.
16634
3b619ae1
VS
166352011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16638 (GRUB_XFS_INO_AGBITS): Make into inline function.
16639 (GRUB_XFS_INO_INOINAG): Likewise.
16640 (GRUB_XFS_INO_AG): Likewise.
16641 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16642 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16643 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16644 (GRUB_XFS_EXTENT_SIZE): Likewise.
16645 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16646 (GRUB_XFS_NEXT_DIRENT): Likewise.
16647 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16648 (grub_xfs_read_file): Fix offset type.
16649
8bcebcb8
RM
166502011-10-15 Robert Millan <rmh@gnu.org>
16651
16652 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16653
0017e5ef
RM
166542011-10-15 Robert Millan <rmh@gnu.org>
16655
16656 Fix build problem on FreeBSD and GNU/kFreeBSD.
16657
16658 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16659
d8919552
VS
166602011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16663
16664 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16665 types.
16666 (grub_hfsplus_btree_recoffset): Likewise.
16667 (grub_hfsplus_btree_recptr): Likewise.
16668 (grub_hfsplus_find_block): Likewise.
16669 (grub_hfsplus_btree_search): Likewise.
16670 (grub_hfsplus_read_block): Likewise.
16671 (grub_hfsplus_read_file): Likewise.
16672 (grub_hfsplus_mount): Likewise.
16673 (grub_hfsplus_btree_iterate_node): Likewise.
16674 (grub_hfsplus_btree_search): Likewise.
16675 (grub_hfsplus_iterate_dir): Likewise.
16676 (grub_hfsplus_read): A small code simplification.
16677
c81296b6
VS
166782011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 * grub-core/kern/emu/hostdisk.c
16681 (convert_system_partition_to_system_disk): Don't assume that children
16682 of mapper nodes are mapper nodes.
16683
0eb8ffb1
VS
166842011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16685
16686 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16687 * include/grub/misc.h (grub_isxdigit): New function.
16688 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16689 switched to grub_isxdigit.
16690 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16691 number starting with a letter.
16692
a98f4a08
RM
166932011-10-09 Robert Millan <rmh@gnu.org>
16694
16695 LVM support for FreeBSD and GNU/kFreeBSD.
16696
16697 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16698 GNU/kFreeBSD.
16699 (LVM_DEV_MAPPER_STRING): Move from here ...
16700 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16701 * util/getroot.c: Include `<grub/util/lvm.h>'.
16702 (grub_util_get_dev_abstraction): Enable
16703 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16704 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16705 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16706 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16707 support it.
16708 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16709 GNU/kFreeBSD.
16710 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16711 when LVM abstraction is required for ${GRUB_DEVICE}.
16712
050e8e90
SJ
167132011-10-06 Szymon Janc <szymon@janc.net.pl>
16714
16715 Add support for LZO compression in GRUB:
16716 - import of minilzo library,
16717 - LZO decompression for btrfs,
16718 - lzop files decompression.
16719
16720 * grub-core/io/lzopio.c: New file.
16721 * grub-core/lib/adler32.c: Likewise.
16722 * grub-core/lib/minilzo/lzoconf.h: Likewise.
16723 * grub-core/lib/minilzo/lzodefs.h: Likewise.
16724 * grub-core/lib/minilzo/minilzo.c: Likewise.
16725 * grub-core/lib/minilzo/minilzo.h: Likewise.
16726 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
16727 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
16728 grub-core/lib/minilzo/minilzo.c to common.
16729 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
16730 cflags in cppflags.
16731 * grub-core/Makefile.core.def (btrfs): Likewise.
16732 * grub-core/Makefile.core.def (lzopio): New module.
16733 (adler32): Likewise.
16734 * grub-core/fs/btrfs.c: Include minilzo.h.
16735 (GRUB_BTRFS_COMPRESSION_LZO): New define.
16736 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
16737 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
16738 (grub_btrfs_lzo_decompress): New function.
16739 (grub_btrfs_extent_read): Add support for LZO compression type.
16740 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
16741 (GRUB_USHRT_MAX): Likewise.
16742 (GRUB_UINT_MAX): Likewise.
16743 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
16744 (UINT_MAX): Likewise.
16745 (CHAR_BIT): Likewise.
16746 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
16747 grub-core/lib/posix_wrap/limits.h
16748 (UCHAR_MAX): Likewise.
16749 * include/grub/file.h (grub_file_filter_id): New compression filter
16750 GRUB_FILE_FILTER_LZOPIO.
16751 * include/grub/file.h (grub_file_filter_id): Set
16752 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
16753 * include/grub/types.h (grub_get_unaligned16): New function.
16754 (grub_get_unaligned32): Likewise.
16755 (grub_get_unaligned64): Likewise.
16756 * util/import_gcry.py (cryptolist): Add adler32.
16757
0eb8ffb1
VS
167582011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
16761 in perspective decreases the complexity of build system and fixes
16762 compilation right now.
16763
ce79cc99 167642011-10-01 Ales Nesrsta <starous@volny.cz>
16765
16766 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
16767 (fixed problem related to using UHCI with coreboot).
16768
8667a314
BC
167692011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16770
16771 * gentpl.py: Use Autogen macros so that the output template file
16772 (Makefile.tpl) size is reduced.
16773
fc5efcc0
MK
167742011-09-29 Mads Kiilerich <mads@kiilerich.com>
16775
16776 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
16777 extra_dist.
16778
d1ab689d
ML
167792011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16780
16781 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
16782 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
16783
c05de032
ML
167842011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16785
16786 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
16787 _fullpath.
16788
cca7ccd8
ML
167892011-09-29 Mario Limonciello <mario_limonciello@dell.com>
16790
16791 Remove extra declaration of sleep for mingw32.
16792
16793 * util/misc.c (sleep) [__MINGW32__]: Removed.
16794 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
16795
e0b0dc83
GS
167962011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
16797
16798 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
16799 type and packname.
16800 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
16801 Resurrected.
16802 (NETBSD_BTINFO_BOOTWEDGE): New definition.
16803 (grub_netbsd_btinfo_bootwedge): New struct.
16804 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16805 New function.
16806 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
16807
91a1a164
TH
168082011-09-28 Thomas Haller <thomas.haller@fen-net.de>
16809
16810 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
16811 loader.
16812
2ded951e
AB
168132011-09-28 Andreas Born <futur.andy@googlemail.com>
16814
16815 Fix incorrect identifiers in bash-completion.
16816
16817 * util/bash-completion.d/grub-completion.bash.in
16818 (_grub_mkpasswd-pbkdf2): Rename to ...
16819 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
16820 (_grub_script-check): Rename to ...
16821 (_grub_script_check): ... this. All users updated.
16822
69915030
VS
168232011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
16824
16825 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
16826 Return 0 if disk isn't biosdisk.
16827
20fd15f9
GS
168282011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16829
16830 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
16831 on NetBSD.
16832 * Makefile.util.def (grub-fstest): Likewise.
16833
1a7d7db9
GS
168342011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16835
16836 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16837 Get sector size from disk label.
16838
2221ab6c
CW
168392011-09-05 Colin Watson <cjwatson@ubuntu.com>
16840
16841 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16842 */README* as well as README*.
16843 Reported by: Axel Beckert.
16844
ca51c4a0
VS
168452011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16848 case of less than 256 MiB of RAM.
16849
ab80f326
VS
168502011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 * grub-core/commands/wildcard.c (make_regex): Handle @.
16853
4155e697
VS
168542011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16857
ab178c08
SJ
168582011-08-21 Szymon Janc <szymon@janc.net.pl>
16859
16860 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16861 AC_LANG_CONFTEST macros.
16862
7dc3c686
SJ
168632011-08-20 Szymon Janc <szymon@janc.net.pl>
16864
16865 Add grub-fstest option to uncompress data for commands.
16866
16867 * util/grub-fstest.c (uncompress): New var.
16868 (options): New option -u.
16869
fe8d4a7b
SJ
168702011-08-20 Szymon Janc <szymon@janc.net.pl>
16871
16872 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16873 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16874
a5219af1
SJ
168752011-08-20 Szymon Janc <szymon@janc.net.pl>
16876
16877 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16878 file type was not recognized correctly (not gzip or corrupted).
16879
f87abff5
VS
168802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16883 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16884
d94497ea
VS
168852011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16888 loongson.
16889 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16890 video_radeon_fuloong2e.
16891 * grub-core/video/radeon_fuloong2e.c: New file.
16892 * include/grub/video.h (grub_video_id_t): Add new ID
16893 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16894
0d1fd011
VS
168952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16896
16897 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16898 define.
16899 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16900 that PRID matches the detected subplatform and reset the subplatform
16901 if it doesn't.
16902
84beb0ee
VS
169032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16904
16905 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16906
1227c133
VS
169072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16908
16909 Fix PCI iterating on functions >= 4.
16910
16911 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16912 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16913 Removed.
16914 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16915 (grub_pci_read): Fix bitmask.
16916 (grub_pci_read_word): Likewise.
16917 (grub_pci_read_byte): Likewise.
16918 (grub_pci_write): Likewise.
16919 (grub_pci_write_word): Likewise.
16920 (grub_pci_write_byte): Likewise.
16921
9594c689
VS
169222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16925 can still be specified in TARGET_CFLAGS)
16926
14a2562c
VS
169272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16928
16929 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16930
16931 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16932 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16933 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16934 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16935 (FULOONG): Rename to ...
16936 (FULOONG2F): ... this. All users updated.
16937 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16938 (machtype_fuloong2f_str): ... this.
16939 (machtype_fuloong2e_str): New string.
16940 Check for machtype_fuloong2e_str.
16941 * grub-core/loader/mips/linux.c (loongson_machtypes)
16942 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16943 * grub-core/term/serial.c (loongson_defserial)
16944 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16945 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16946 loongson_defserial.
16947 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16948 Rename to ...
16949 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16950 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16951 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16952 to IMAGE_FULOONG2F_FLASH. All users updated.
16953 (image_targets): Rename images.
16954 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16955
b526cbb6
SJ
169562011-08-19 Szymon Janc <szymon@janc.net.pl>
16957
16958 Make enable of disk cache statistics code configurable.
16959
16960 * configure.ac: --enable-cache-stats added.
16961 * config.h.in (DISK_CACHE_STATS): New define.
16962 * grub-core/Makefile.core.def (cacheinfo): New command.
16963 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16964 * grub-core/commands/cacheinfo.c: New file.
16965 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16966 moved to cacheinfo.c.
16967 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16968 debug code.
16969 * include/grub/disk.h: Likewise.
16970
fb739ccd
SJ
169712011-08-19 Szymon Janc <szymon@janc.net.pl>
16972
16973 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16974 * grub-core/Makefile.am: Likewise.
16975
2bba8cfd
VS
169762011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16979 non-zero pull.
16980
43526629
VS
169812011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16984 All users updated.
16985 (grub_jfs_lookup_symlink): Use correct starting inode.
16986
5c144cc8
VS
169872011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 * util/grub-setup.c (main): Add missing gcry initialisation.
16990
b1257f65
VS
169912011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 Don't accept text modes on EFI when booting Linux.
16994
16995 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16996 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16997
828bc390
ML
169982011-08-15 Mario Limonciello <mario_limonciello@dell.com>
169992011-08-15 Colin Watson <cjwatson@ubuntu.com>
17000
17001 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17002 use of "/path/.." as in grub-install for EFI as well as handling
17003 symlinks correctly.
17004 Fixes Debian bug #637768.
17005
5f60ccac
CW
170062011-08-15 Colin Watson <cjwatson@ubuntu.com>
17007
17008 * util/grub-probe.c: Remove duplicate #include.
17009
6dc212f9
RM
170102011-08-10 Robert Millan <rmh@gnu.org>
17011
17012 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17013
17014 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17015 function.
17016 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17017 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17018
66816d85
RM
170192011-08-03 Robert Millan <rmh@gnu.org>
17020
17021 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17022 la_array as packed.
17023 Reported by: Zachary Bedell
17024
20168fca
CW
170252011-07-26 Colin Watson <cjwatson@ubuntu.com>
17026
17027 * configure.ac: The Loongson port requires grub-mkfont due to its
17028 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17029 be built.
17030
303b6246
CW
170312011-07-26 Colin Watson <cjwatson@ubuntu.com>
17032
17033 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17034 processing arguments (otherwise help2man fails when GRUB has not yet
17035 been installed).
17036
6795300e
VS
170372011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17038
41aa28ea
VS
17039 New script grub-mkstandalone.
17040
17041 * Makefile.util.def (grub-mkstandalone): New script.
17042 * docs/man/grub-mkstandalone.h2m: New file.
17043 * util/grub-mkstandalone.in: Likewise.
17044
170452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 Support ATA disks with 4K sectors.
6795300e
VS
17048
17049 * include/grub/ata.h (grub_ata): New member log_sector_size.
17050 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17051 (grub_ata_identify): Read sector size.
17052 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17053
92227597
VS
170542011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17055
17056 * util/grub-install.in: Don't use uhci outside of x86.
17057
c77069f5
VS
170582011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 * util/grub-mkrescue.in: Add missing quotes.
17061
170622011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
17063
17064 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17065 dereference.
17066
583168a2
VS
170672011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17070
6be1c01f
VS
170712011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17072
17073 * include/grub/video.h: add missing EXPORT_FUND on
17074 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17075
a1167439
VS
170762011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * include/grub/mips/kernel.h: Fix define conflict.
17079
bf66054f
VS
170802011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
17083 all four ways.
17084
8fc4fa45
CW
170852011-07-21 Colin Watson <cjwatson@ubuntu.com>
17086
17087 Preferred resolution detection for VBE.
17088
17089 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17090 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17091 the Flat Panel extension, in line with the X.org VESA driver.
17092 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17093 New function.
17094 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17095 (grub_vbe_bios_read_edid): Likewise.
17096 (grub_vbe_get_preferred_mode): Likewise.
17097 (grub_video_vbe_setup): When the mode is "auto", try to get the
17098 preferred mode from VBE, and use the largest mode that is no larger
17099 than the preferred mode (some BIOSes expose a preferred mode that is
17100 not in their mode list!). If this fails, fall back to 640x480 as a
17101 safe conservative choice.
17102 (grub_video_vbe_get_edid): New function.
17103 (grub_video_vbe_adapter): Add get_edid.
17104 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17105 (struct grub_video_adapter): Add get_edid.
17106 (grub_video_edid_checksum): Add prototype.
17107 (grub_video_edid_preferred_mode): Likewise.
17108 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17109 structure.
17110
17111 * grub-core/commands/videoinfo.c (print_edid): New function.
17112 (grub_cmd_videoinfo): Print EDID if available.
17113
17114 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
17115 is more appropriate on a wider range of platforms than 640x480.
17116 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
17117 documentation.
17118
ca5572a9
VS
171192011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17120
17121 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
17122
e4bcf625
VS
171232011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * po/POTFILES.in: Regenerate.
17126
c4edd548
VS
171272011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
17130 incorrect memory usage.
17131
16a2bab0
VS
171322011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * util/grub-install.in: Source grub-mkconfig_lib.
17135
2e418de6
VS
171362011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 Remove getroot.c from core on emu platform.
17139
17140 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
17141 kern/emu/raid.c.
17142 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
17143 useless.
17144 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
17145 * util/getroot.c (get_win32_path): ... here.
17146 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
17147 * util/getroot.c (fini_libzfs): ... here.
17148 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
17149 * util/getroot.c (grub_get_libzfs_handle): ... here.
17150 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
17151 Moved from here...
17152 * util/getroot.c (grub_find_zpool_from_dir): ... here.
17153 * grub-core/kern/emu/misc.c
17154 (grub_make_system_path_relative_to_its_root): Moved from here...
17155 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
17156 * grub-core/kern/emu/getroot.c: Moved from here ...
17157 * util/getroot.c: ... here. All users updated.
17158 * grub-core/kern/emu/raid.c: Moved from here ...
17159 * util/raid.c: ... here. All users updated.
17160
def9832a
VS
171612011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 * po/POTFILES.in: Regenerate.
17164
cd8fe79a
VS
171652011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 Fix compilation on GNU/Linux.
17168
17169 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
17170 Disable geli.
17171 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
17172 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
17173 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
17174
a251b719
VS
171752011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
171762011-07-07 Michael Gorven <michael@gorven.za.net>
171772011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
17178
17179 LUKS and GELI support.
17180
17181 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
17182 grub-core/disk/luks.c, grub-core/disk/geli.c,
17183 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
17184 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
17185 grub-core/lib/arg.c.
17186 (libgrubmods.a): Remove gcrypts cflags and cppflags.
17187 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
17188 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
17189 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
17190 (grub-bin2h): Add libgcry.a.
17191 (grub-mkimage): Likewise.
17192 (grub-mkrelpath): Likewise.
17193 (grub-script-check): Likewise.
17194 (grub-editenv): Likewise.
17195 (grub-mkpasswd-pbkdf2): Likewise.
17196 (grub-pe2elf): Likewise.
17197 (grub-fstest): Likewise.
17198 (grub-mkfont): Likewise.
17199 (grub-mkdevicemap): Likewise.
17200 (grub-probe): Likewise.
17201 (grub-ofpath): Likewise.
17202 (grub-mklayout): Likewise.
17203 (example_unit_test): Likewise.
17204 (grub-menulst2cfg): Likewise.
17205 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17206 * grub-core/Makefile.core.def (cryptodisk): New module.
17207 (luks): Likewise.
17208 (geli): Likewise.
17209 * grub-core/disk/AFSplitter.c: New file.
17210 * grub-core/disk/cryptodisk.c: Likewise.
17211 * grub-core/disk/geli.c: Likewise.
17212 * grub-core/disk/luks.c: Likewise.
17213 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17214 grub_util_is_lvm.
17215 (grub_util_get_dm_abstraction): New function.
17216 (grub_util_follow_gpart_up): Likewise.
17217 (grub_util_get_geom_abstraction): Likewise.
17218 (grub_util_get_dev_abstraction): Use new functions.
17219 (grub_util_pull_device): Pull GELI and LUKS.
17220 (grub_util_get_grub_dev): Handle LUKS and GELI.
17221 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17222 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17223 (follow_geom_up): Removed.
17224 (grub_util_fd_seek): New function.
17225 (open_device): Use grub_util_fd_seek.
17226 (nread): Rename to ..
17227 (grub_util_fd_read): ... this. All users updated.
17228 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17229 (grub_crypto_cbc_decrypt): Likewise.
17230 (grub_crypto_hmac_write): Likewise.
17231 (grub_crypto_hmac_buffer): Likewise.
17232 (grub_password_get): Extend to util.
17233 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17234 New member modname.
17235 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17236 * include/grub/cryptodisk.h: New file.
17237 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17238 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17239 LUKS and GELI.
17240 (grub_util_follow_gpart_up): New proto.
17241 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17242 (grub_util_fd_read): Likewise.
17243 (grub_cryptodisk_cheat_mount): Likewise.
17244 (grub_util_cryptodisk_print_uuid): Likewise.
17245 (grub_util_get_fd_sectors): Likewise.
17246 * util/grub-fstest.c (mount_crypt): New var.
17247 (fstest): Mount crypto if requested.
17248 (options): New option -C.
17249 (argp_parser): Parse -C.
17250 (main): Init and fini gcry.
17251 * util/grub-install.in: Support cryptodisk install.
17252 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17253 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17254 cryptodisk.
17255 (prepare_grub_to_access_device): Likewise.
17256 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17257 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17258 (probe_cryptodisk_uuid): New function.
17259 (probe_abstraction): Likewise.
17260 (probe): Use new functions.
17261 * util/import_gcry.py: Create Makefile.utilgcry.def.
17262 Add modname member.
17263
9bfdcbbc
VS
172642011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 Lazy device scanning.
17267
17268 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17269 (grub-setup): Remove util/raid.c.
17270 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17271 * grub-core/disk/lvm.c (scan_depth): New variable.
17272 (grub_lvm_iterate): Rescan if necessary.
17273 (find_lv): New function based on grub_lvm_open.
17274 (grub_lvm_open): Use find_lv. Rescan on error.
17275 (is_node_readable): New function.
17276 (is_lv_readable): Likewise.
17277 (grub_lvm_scan_device): Skip already found disks.
17278 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17279 Stop if searched device is found and readable.
17280 * grub-core/disk/raid.c (inscnt): New variable.
17281 (scan_depth): Likewise.
17282 (scan_devices): New function based on grub_raid_register. Abort if
17283 looked for device is found.
17284 (grub_raid_iterate): Rescan if needed.
17285 (find_array): NEw function based on -grub_raid_open.
17286 (grub_raid_open): Use find_array and rescan.
17287 (insert_array): Set became_readable_at.
17288 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17289 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17290 New function.
17291 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17292 (grub_util_pull_device): New function.
17293 (grub_util_get_grub_dev): Call grub_util_pull_device.
17294 * util/raid.c: Moved to ..
17295 * grub-core/kern/emu/raid.c: ... here.
17296 (grub_util_raid_getmembers): New parameter "bootable".
17297 All users updated. Support 1.x.
17298 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17299 All users updated.
17300 * include/grub/disk.h (grub_disk_pull_t): New enum.
17301 (grub_disk_dev): Change iterate prototype.
17302 All users updated.
17303 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17304 New proto.
17305 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17306 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17307 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17308 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17309 All users updated.
17310 * include/grub/util/raid.h: Removed.
17311
1c358e59
VS
173122011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * po/POTFILES.in: Regenerate.
17315
abee94ed
VS
173162011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 Unify sparc init with other ieee1275.
17319
17320 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17321 instead of kern/sparc64/ieee1275/init.c.
17322 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17323 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17324 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17325 grub/machine/kernel.h.
17326 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17327 (grub_claim_heap) [__sparc__]: Use sparc version.
17328 (grub_machine_init): Moved args parsing to
17329 (grub_parse_cmdline): ...this.
17330 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17331 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17332 New definition.
17333 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17334
17335 Move BOOTP to separate file.
17336
17337 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17338 * grub-core/net/net.c: Move all BOOTP functions to
17339 * grub-core/net/bootp.c: ... here.
17340
17341 Use frame interface on PXE.
17342
17343 * grub-core/Makefile.core.def (pxecmd): Removed.
17344 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17345 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17346 * grub-core/i386/pc/pxe.c: Moved from here ...
17347 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17348 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17349 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17350
17351 EFI network support.
17352
17353 * grub-core/Makefile.core.def (efinet): New module.
17354 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17355 here...
17356 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17357 All users updated.
17358 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17359 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17360 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17361 * grub-core/net/drivers/efi/efinet.c: New file.
17362 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17363 (grub_efi_net_config): New extern var.
17364
17365 Various cleanups and bugfixes.
17366
17367 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17368 error.
17369 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17370 disk declared as partition.
17371 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17372 leak on failure.
17373 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17374 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17375 (grub_debug_zalloc): Likewise.
17376 (grub_debug_realloc): Likewise.
17377 (grub_debug_memalign): Likewise.
17378 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17379 Check that target is IPv4.
17380 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17381 local-mac-address as fallback.
17382 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17383 memory leak.
17384 * grub-core/net/ip.c (ipchksum): Rename to ...
17385 (grub_net_ip_chksum): ... this. All users updated.
17386 (grub_net_recv_ip_packets): Special handling for DHCP.
17387 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17388
17389 Unify prefix handling
17390
17391 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17392 (grub_machine_get_bootlocation): ... this.
17393 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17394 (grub_machine_get_bootlocation): ... this.
17395 (grub_prefix): New variable.
17396 (prefix): Removed.
17397 (root_dev): New variable.
17398 (dir): Likewise.
17399 (main): Use new variables.
17400 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17401 Revamped into ...
17402 (grub_machine_get_bootlocation): ... this.
17403 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17404 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17405 (grub_machine_get_bootlocation): ... this.
17406 (grub_machine_set_prefix): Removed.
17407 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17408 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17409 Revamped into ...
17410 (grub_machine_get_bootlocation): ... this.
17411 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17412 (grub_set_prefix_and_root): ... this. All users updated.
17413 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17414 Revamped into ...
17415 (grub_machine_get_bootlocation): ... this.
17416 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17417 (grub_machine_get_bootlocation): New proto.
17418 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17419
17420 Less intrusive and more reliable seek on network implementation.
17421
17422 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17423 (grub_file_seek): Don't call grub_file_net_seek.
17424 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17425 (grub_net_fs_read_real): .. this.
17426 (grub_net_seek_real): Use net->offset.
17427 (grub_net_fs_read): Seek if necessary.
17428
17429 Unify IEEE1275 netwotk config with the other platforms.
17430
17431 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17432 New variable.
17433 (grub_machine_get_bootlocation): Support network.
17434 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17435 Support type and device parsing.
17436 (grub_ieee1275_get_device_type): New function.
17437 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17438 into ...
17439 (grub_ieee1275_net_config_real): ... this.
17440 (grub_ofnet_probecards): Removed.
17441 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17442 * include/grub/ieee1275/ofnet.h: Removed.
17443 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17444 extern var.
17445 (grub_ieee1275_get_device_type): New function.
17446
17447 Unify network device closing across platforms and make more robust.
17448
17449 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17450 grub_grubnet_fini.
17451 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17452 already.
17453 * grub-core/net/net.c (grub_net_network_level_interface_register):
17454 Update num_ifaces.
17455 (grub_net_card_unregister): Close all interfaces.
17456 (receive_packets): Don't poll if no iterfaces are registered.
17457 Open if necessary.
17458 (grub_net_fini_hw): New function.
17459 (grub_net_restore_hw): Likewise.
17460 (fini_hnd): New variable.
17461 (GRUB_MOD_INIT): Register preboot hook.
17462 (GRUB_MOD_FINI): Run and unregister preboot hook.
17463
17464 Poll network cards when idle.
17465
17466 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17467 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17468 * grub-core/net/net.c (receive_packets): Save last poll time.
17469 (grub_net_poll_cards_idle_real): New function.
17470 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17471 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17472 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17473
17474 Rename ofnet interfaces.
17475
17476 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17477 (grub_ofnet_findcards): Use ofnet_%s names.
17478
17479 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17480
17481 Cleanup socket opening.
17482
17483 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17484 (grub_net_fs_close): Likewise.
17485 (grub_net_fs_read_real): Use eof member.
17486 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17487 (+grub_net_udp_close): New inline function.
17488
17489 * include/grub/net/tftp.h: Moved to the top of ...
17490 * grub-core/net/tftp.c: ... here.
17491 * include/grub/net/ip.h: Moved mostly to the top of ...
17492 * grub-core/net/ip.c: ... here.
17493 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17494 * grub-core/net/ethernet.c: ... here.
17495
17496 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17497
17498 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17499 FS name.
17500
17501 * include/grub/net/ip.h (ipv4_ini): Removed.
17502 (ipv4_fini): Likewise.
17503
17504 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17505 (grub_net_send_ip_packets): Likewise.
17506
cf1337aa
VS
175072011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17510 grub_read_cmos prototype.
17511
93c06ff9
VS
175122011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 VGA text support in qemu-mips
17515
17516 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17517 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17518 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17519 text.
17520 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17521 * grub-core/kern/vga_init.c: ... this.
17522 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17523 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17524 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17525 Adjust.
17526 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17527 GRUB_MACHINE_PCI_IO_BASE.
17528
748ccabe
VS
175292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 MIPS qemu flash support.
17532
17533 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17534 magic.
17535 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17536 (grub_machine_init): Probe memory if its size isn't known.
17537 * util/grub-mkimage.c (image_targets): Add flash targets.
17538 (generate_image): Handle flash targets.
17539
d7345994
VS
175402011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17541
17542 MIPS qemu at_keyboard support.
17543
17544 * gentpl.py (videoinkernel): Add qemu-mips.
17545 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17546 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17547 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17548 modules.
17549 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17550 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17551 * grub-core/term/serial.c (grub_serial_register)
17552 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17553
a07a81b3
VS
175542011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17555
17556 CMOS support on sparc.
17557
17558 * gentpl.py (cmos): Add powerpc and sparc.
17559 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17560 powerpc and sparc.
17561 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17562 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17563 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17564 grub_set_datetime_cmos.
17565 * grub-core/lib/ieee1275/cmos.c: New file.
17566 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17567 (find_rtc): Set no_ieee1275_rtc on error.
17568 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17569 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17570 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17571 fail. Move value to argument. All users updated
17572 (grub_cmos_write): Likewise.
17573 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17574 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17575 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17576 grub_get_datetime_cmos and grub_set_datetime_cmos.
17577
77546584
GS
175782011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17579
17580 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17581 sourcing grub-mkconfig_lib.
17582 * util/update-grub_lib.in: Likewise.
17583 * util/grub.d/00_header.in: Likewise.
17584 * util/grub.d/10_hurd.in: Likewise.
17585 * util/grub.d/10_kfreebsd.in: Likewise.
17586 * util/grub.d/10_linux.in: Likewise.
17587 * util/grub.d/10_netbsd.in: Likewise.
17588 * util/grub.d/10_windows.in: Likewise.
17589 * util/grub.d/20_linux_xen.in: Likewise.
17590 * util/grub.d/30_os-prober.in: Likewise.
17591
54894791
CW
175922011-06-28 Colin Watson <cjwatson@ubuntu.com>
17593
17594 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17595 default_bg_color rather than black.
17596 (grub_gfxterm_fullscreen): Likewise.
17597 (grub_gfxterm_background_color_cmd): Save new background color in
17598 default_bg_color.
17599
8d5d8444
VS
176002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17603
5afeb5bd
VS
176042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17607 mismerge.
17608
ba7df45e
VS
176092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 Chainloading on coreboot support.
17612
17613 * grub-core/Makefile.core.def (chain): Add coreboot.
17614 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17615
d0b526b2
VS
176162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17619 if it happens.
17620
5ff1d945
VS
176212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 Implement time command.
17624
17625 * grub-core/Makefile.core.def (time): New module.
17626 * grub-core/commands/time.c: New file.
17627 * grub-core/script/parser.y: Remove "time" keyword.
17628 * grub-core/script/yylex.l: Likewise.
17629
5ebaad7e
VS
176302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17633
bdea3798
VS
176342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17637 when handling leftovers.
17638
b28c5655
VS
176392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17640
17641 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17642 so that help2man doesn't fail.
17643
b6f945dc
VS
176442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17645
17646 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17647 type in pointers on sparc64.
17648 (get_card_packet): Likewise.
17649
f9b75e8a
CW
176502011-06-27 Colin Watson <cjwatson@ubuntu.com>
17651
17652 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17653 with `*'.
17654 (grub_cmd_videoinfo): Fetch current video mode.
17655
1e3d9b86
VS
176562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17659 because of underlying system restrictions.
17660
efff4b1c
VS
176612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17664 necessary.
17665
9fc9ce37
VS
176662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 Coreboot video support.
17669
17670 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17671 (vbe): Likewise.
17672 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17673 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17674 here ...
17675 * grub-core/kern/i386/int.S: ... here.
17676 * grub-core/video/i386/pc/vbe.c: Updated includes.
17677 * grub-core/video/i386/pc/vga.c: Likewise.
17678 * include/grub/i386/coreboot/memory.h
17679 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17680 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17681 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17682 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17683 Disable interrupts.
17684 * include/grub/i386/pc/vga.h: Removed. All users updated.
17685
41bec7fe
VS
176862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17689 definitions for dprintf.
17690 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17691
ca80309d
VS
176922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17695 prototype.
17696 (get_card_packet): Likewise.
17697
9e322ce8
YB
176982011-06-26 Yves Blusseau <blusseau@zetam.org>
17699
17700 Display the path of the file when file is not found
17701
17702 * grub-core/fs/fat.c: Display the filename when file is not found.
17703 * grub-core/fs/fshelp.c: Likewise.
17704 * grub-core/fs/hfs.c: Likewise.
17705 * grub-core/fs/jfs.c: Likewise.
17706 * grub-core/fs/minix.c: Likewise.
17707 * grub-core/fs/ufs.c: Likewise.
17708 * grub-core/fs/btrfs.c: Likewise.
17709 * grub-core/commands/i386/pc/play.c: Likewise.
17710
cbf597af
SJ
177112011-06-26 Szymon Janc <szymon@janc.net.pl>
17712
17713 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17714 pointer checks before calling grub_free().
17715 * grub-core/commands/wildcard.c (match_devices): Likewise.
17716 * grub-core/commands/wildcard.c (match_files): Likewise.
17717 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17718 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17719 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
17720 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
17721 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
17722 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
17723 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
17724 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17725 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
17726
6295b32f
P
177272011-06-25 Patrick <p55@mailinator.com>
17728
17729 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
17730
77c0840b
VS
177312011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
17732
17733 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
17734 (grub_pxe_send): Likewise.
17735 (GRUB_MOD_INIT): Fix types.
17736
40ea05de
SJ
177372011-06-24 Szymon Janc <szymon@janc.net.pl>
17738
17739 * grub-core/io/xzio.c: Fix code style issues
17740
90162423
MRA
177412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
177422011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
17743
17744 Network infrastructure.
17745 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
17746
17747 * include/grub/net/arp.h: New file.
90162423
MRA
17748 * include/grub/net/device.h: Likewise.
17749 * include/grub/net/ethernet.h: Likewise.
17750 * include/grub/net/ip.h: Likewise.
17751 * include/grub/net/netbuff.h: Likewise.
17752 * include/grub/net/tftp.h: Likewise.
17753 * include/grub/net/udp.h: Likewise.
17754 * include/grub/ieee1275/ofnet.h: Likewise.
17755 * include/grub/emu/export.h: Likewise.
17756 * include/grub/net.h: Likewise.
17757 * grub-core/net/arp.c: Likewise.
17758 * grub-core/net/ethernet.c: Likewise.
17759 * grub-core/net/ip.c: Likewise.
17760 * grub-core/net/udp.c: Likewise.
17761 * grub-core/net/tftp.c: Likewise.
17762 * grub-core/net/netbuff.c: Likewise.
17763 * grub-core/net/net.c: Likewise.
17764 * grub-core/net/drivers/emu/emunet.c: Likewise.
17765 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
17766 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
17767 export.h.
17768 * grub-core/Makefile.core.def (net): New module.
17769 (tftp): Likewise.
17770 (ofnet): Likewise.
17771 (emunet): Likewise.
17772 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
17773 network protocols.
17774 * grub-core/kern/device.c (grub_net_open) : New variable.
17775 (grub_device_open): Handle network device.
17776 (grub_device_close): Likewise.
17777 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
17778 (grub_grubnet_fini): Likewise.
17779 (grub_file_seek): Seek in network device.
17780 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
17781 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
17782 network root.
17783 (grub_machine_fini): Call grub_grubnet_fini.
17784 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
17785 network.
17786 (grub_ieee1275_get_aliasdevname): New function.
17787 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17788 Add unofficial Solaris network info.
17789 (grub_multiboot_make_mbi): Likewise.
17790 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
17791 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
17792 * include/grub/device.h (grub_fs): Removed.
17793 * include/grub/err.h (grub_err_t): Add network-related values.
17794 * include/grub/i386/pc/pxe.h: Removed bootp parts.
17795 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
17796 (grub_ieee1275_get_aliasdevname): New proto.
17797 * include/grub/net.h: Rewritten.
423a1849 17798
031f22a0
VS
177992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
17802 names.
17803
4388ca72
VS
178042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
17807 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
17808 it truncates the output.
17809 Reported by: Ximin Luo.
17810
98e2f506
VS
178112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
17814
2a5e94d8
VS
178152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17818 partmap before abstraction.
17819
535c1910
AK
178202011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
17821
17822 * util/grub-mkconfig_lib.in: Add missing quotes.
17823
bc09e1a2
VS
178242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17825
17826 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17827 old method if mountinfo would return /dev/root and /dev/root doesn't
17828 exist.
17829
290766fb
VS
178302011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 ZFS zlib support
17833
17834 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17835 (decomp_table): Add zlib entries.
17836 (zio_read): USe 8 bits for compression function rather than 3.
17837 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17838
178392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * grub-core/disk/ahci.c: Add missing license statements.
17842 * grub-core/fs/romfs.c: Likewise.
17843 * grub-core/lib/ia64/setjmp.S: Likewise.
17844 * grub-core/loader/i386/pc/freedos.c: Likewise.
17845 * grub-core/loader/ia64/efi/linux.c: Likewise.
17846 * grub-core/video/colors.c: Likewise.
17847 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17848
5ab3f48a
VS
178492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 AHCI support.
17852
17853 * grub-core/Makefile.core.def (ata_pthru): Removed.
17854 (ahci): New module.
17855 (pata): Likewise.
17856 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17857 on unload.
17858 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17859 readwrite.
17860 (grub_hdparm_do_check_powermode_cmd): Likewise.
17861 (grub_hdparm_do_smart_cmd): Likewise.
17862 (grub_hdparm_set_val_cmd): Likewise.
17863 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17864 * grub-core/disk/ahci.c: New file.
17865 * grub-core/disk/ata.c: Factor out the low-level part into ...
17866 * grub-core/disk/pata.c: ... here.
17867 * grub-core/disk/ata_pthru.c: Contents moved to ...
17868 * grub-core/disk/pata.c: ... here.
17869 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17870 (grub_scsi_iterate): Use grub_scsi_names.
17871 (grub_scsi_open): Likewise.
17872 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17873 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17874 (grub_ata_regs_t): New struct.
17875 (grub_disk_ata_pass_through_parms): Likewise.
17876 (grub_ata_device): Renamed to ...
17877 (grub_ata): ... this.
17878 (grub_ata_dev): New struct.
17879 Removed all low-level inline functions.
17880 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17881 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17882 iterate hooks and open. All users updated.
17883 * util/grub-install.in: Handle AHCI disk module.
17884
c31dc5f5
SJ
178852011-06-23 Szymon Janc <szymon@janc.net.pl>
17886
17887 Add support for DRI and RSTn markers in JPEG files.
17888
17889 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17890 (JPEG_MARKER_RST0): Likewise.
17891 (JPEG_MARKER_RST1): Likewise.
17892 (JPEG_MARKER_RST2): Likewise.
17893 (JPEG_MARKER_RST3): Likewise.
17894 (JPEG_MARKER_RST4): Likewise.
17895 (JPEG_MARKER_RST5): Likewise.
17896 (JPEG_MARKER_RST6): Likewise.
17897 (JPEG_MARKER_RST7): Likewise.
17898 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17899 (grub_jpeg_decode_dri): New function.
17900 (grub_jpeg_decode_sos): Move image data related part into
17901 grub_jpeg_decode_data function.
17902 (grub_jpeg_decode_data): New function.
17903 (grub_jpeg_reset): New function.
17904 (grub_jpeg_decode_jpeg): Handle new markers.
17905
fe12fd5b
VS
179062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * util/ieee1275/ofpath.c (check_sas): Close fd.
17909 (main): Free of_path.
17910 Reported by: David Volgyes <dvolgyes>.
17911
03147f46
VS
179122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17913
17914 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17915 Reported by: David Volgyes <dvolgyes>.
17916
cad3237f
VS
179172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17918
17919 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17920 file after stat.
17921 Reported by: David Volgyes <dvolgyes>.
17922
13548d26
VS
179232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17924
17925 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17926
17927 Reported by: David Volgyes <dvolgyes>.
17928
e061a1b5
VS
179292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17932 Prevent memory leak.
17933
1abe47dc
VS
179342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17937 (main): Close file.
e061a1b5 17938 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17939
fbc62666
VS
179402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17943 to continue if allocation is failed.
17944
17945 Reported by: David Volgyes <dvolgyes>.
17946
e98c83e9
DV
179472011-06-23 David Volgyes <dvolgyes>
17948
17949 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17950 dereference.
17951
a199a8cd
VS
179522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 Fix spurious warning.
17955
17956 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17957 (acorn_partition_map_find): Use .bin member.
17958
e2d1dba0
VS
179592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17962 /dev/root as a valid device.
17963
8a5d6919
JM
179642011-06-23 Jim Meyering <meyering@redhat.com>
17965
e2d1dba0
VS
17966 Avoid NULL deref in grub_device_open.
17967
8a5d6919
JM
17968 * grub-core/kern/device.c (grub_device_open): Don't dereference
17969 a NULL pointer upon failed grub_env_get.
17970
f7db6f4a
VS
179712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17972
17973 Support non-512B sectors and agglomerate reads.
17974
17975 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17976 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17977 (disk_io_guid): Removed.
17978 (make_devices): Locate solely by BlockIO.
17979 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17980 (grub_efidisk_read): Use read_blocks.
17981 (grub_efidisk_write): Use write_blocks.
17982 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17983 log_sector_size.
17984 (get_safe_sectors): Handle non-512B sectors.
17985 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17986 sectors.
17987 (grub_biosdisk_write): Handle non-512B sectors.
17988 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17989 (grub_scsi_read): Remove special non-512B block handling (now handled
17990 one level up).
17991 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17992 and do sanity checks.
17993 (grub_disk_adjust_range): Handle non-512B sectors.
17994 (transform_sector): New function.
17995 (grub_disk_read_small): Likewise.
17996 (grub_disk_read): Rewritten.
17997 (grub_disk_write): Handle non-512B sectors.
17998 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17999 log_sector_size.
18000 (open_device): Use log_sector_size.
18001 (grub_util_biosdisk_read): Likewise.
18002 (grub_util_biosdisk_write): Likewise.
18003 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18004 non-512B sectors.
18005 (pc_partition_map_embed): Likewise.
18006 * include/grub/disk.h (grub_disk): New field log_sector_size.
18007 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18008 (GRUB_DISK_CACHE_BITS): Increased to 6.
18009 * util/grub-fstest.c (fstest): New command testload.
18010 (argp_parser): Likewise.
18011
881ac815
RM
180122011-06-16 Robert Millan <rmh@gnu.org>
18013
18014 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18015 `ata' driver on kernel of FreeBSD 9.
18016
18017 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18018 (get_ataraid_disk_name): New functions.
18019 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18020 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18021 get_ataraid_disk_name() and get_ada_disk_name().
18022
1e9aef7d
CW
180232011-06-13 Colin Watson <cjwatson@ubuntu.com>
18024
18025 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18026 input format.
18027
351c7c8a
CW
180282011-05-29 Colin Watson <cjwatson@ubuntu.com>
18029
18030 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18031 `ftp.gnu.org' for `alpha.gnu.org'.
18032
6b4e6430
CW
180332011-05-27 Colin Watson <cjwatson@ubuntu.com>
18034
18035 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18036 partitions under /dev/disk/by-id/.
18037
c64db050
CW
180382011-05-27 Colin Watson <cjwatson@ubuntu.com>
18039
18040 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18041 after ten consecutive open failures. Scanning all the way up to
18042 10000 is excessive and can cause serious performance problems in
18043 some configurations.
18044 Fixes Ubuntu bug #787461.
18045
245f4aba
VS
180462011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18049 opening new one.
18050
f767c929
VS
180512011-05-21 Colin Watson <cjwatson@ubuntu.com>
180522011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 Don't stat devices unless we have to.
18055
18056 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18057 dir == /dev/mapper.
18058 (grub_guess_root_device): Use already known os_dev if possible.
18059 * grub-core/kern/emu/hostdisk.c
18060 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18061 if device is known to be a dm one.
18062
f35fa3a6
CW
180632011-05-20 Colin Watson <cjwatson@ubuntu.com>
18064
18065 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18066 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18067 Reported by: Pawel Tecza.
18068
9a79fcf2
VS
180692011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18072 (lsefisystab): Likewise.
18073 (lssal): Likewise.
18074 (lsefimmap): Likewise.
18075 (hdparm): Enable on qemu-mips.
18076 (setjmp): Add ia64 nodist.
18077 (serial): Simplify tags.
18078
63e3eea9
CW
180792011-05-18 Colin Watson <cjwatson@ubuntu.com>
18080
18081 * Makefile.util.def (grub-ofpathname): Install manual page.
18082
09728256
CW
180832011-05-18 Colin Watson <cjwatson@ubuntu.com>
18084
18085 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
18086
8b63a142
CW
180872011-05-18 Colin Watson <cjwatson@ubuntu.com>
18088
18089 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18090
e775d8ed
VS
180912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18094 into dprintf.
18095
bf947d36
VS
180962011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 Use full 64-bit division.
18099
18100 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18101 (grub_divmod64): ... this.
18102 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18103 version.
18104
b84f26c5
CW
181052011-05-18 Colin Watson <cjwatson@ubuntu.com>
18106
18107 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18108 `source'.
18109
5626056f
CW
181102011-05-18 Colin Watson <cjwatson@ubuntu.com>
18111
18112 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
18113 to avoid accidents when debugging with 'sh -x'.
18114 * grub-core/gensyminfo.sh.in: Likewise.
18115 * tests/example_scripted_test.in: Likewise.
18116 * tests/grub_cmd_regexp.in: Likewise.
18117 * tests/grub_script_blanklines.in: Likewise.
18118 * tests/grub_script_dollar.in: Likewise.
18119 * tests/grub_script_expansion.in: Likewise.
18120 * tests/grub_script_final_semicolon.in: Likewise.
18121 * tests/partmap_test.in: Likewise.
18122 * tests/util/grub-shell-tester.in: Likewise.
18123 * tests/util/grub-shell.in: Likewise.
18124
e2965f4a
CW
181252011-05-18 Colin Watson <cjwatson@ubuntu.com>
18126
18127 Move gfxmenu color handling to video, so that gfxterm can use it
18128 too.
18129
18130 * grub-core/gfxmenu/named_colors.c: Move to ...
18131 * grub-core/video/colors.c: ... here. Rename
18132 grub_gui_get_named_color to grub_video_get_named_color.
18133 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
18134 * grub-core/video/colors.c (my_isxdigit): ... here.
18135 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
18136 Move to ...
18137 * grub-core/video/colors.c (parse_hex_color_component): ... here.
18138 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
18139 to ...
18140 * grub-core/video/colors.c (grub_video_parse_color): ... here.
18141
18142 * include/grub/gui.h (grub_gui_color_t): Move to ...
18143 * include/grub/video.h (grub_video_rgba_color_t): ... here.
18144 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
18145 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
18146 * include/grub/gui.h (grub_gui_map_color): Move to ...
18147 * include/grub/video.h (grub_video_map_rgba_color): ... here.
18148 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
18149 to ...
18150 * include/grub/video.h (grub_video_get_named_color): ... here.
18151 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
18152 * include/grub/video.h (grub_video_parse_color): ... here.
18153
18154 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
18155 video/colors.c.
18156 (gfxmenu): Remove gfxmenu/named_colors.c.
18157 (video) [videomodules]: Add video/colors.c.
18158
18159 Add a background_color command.
18160
18161 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
18162 function.
18163 (GRUB_MOD_INIT): Register background_color command.
18164 (GRUB_MOD_FINI): Unregister background_color command.
18165 (redraw_screen_rect): Allow blend/replace of text layer to be
18166 controlled independently from whether there is a background bitmap.
18167 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
18168 changing bitmap.
18169
1e4b4390
VS
181702011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18171
26618ff0
VS
18172 Patch BPB in ntldr and chainloader --bpb.
18173
1e4b4390
VS
18174 * grub-core/fs/fat.c: Include grub/fat.h.
18175 (grub_fat_bpb): Moved to ...
18176 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
18177 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
18178 grub/ntfs.h.
18179 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
18180 Moved from here...
18181 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
18182 here.
18183 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
18184 New function.
18185 (grub_chainloader_cmd): Patch BPB if --bpb is given.
18186 (GRUB_MOD_INIT): Show --bpb.
18187 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
18188 * grub-core/normal/main.c (features): New variable.
18189 (GRUB_MOD_INIT): Set feature_* variables.
18190 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
18191 proto.
18192 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
18193
cf02731e
VS
181942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
18197 for cleanness.
18198
e3a1073f
VS
181992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 FreeDOS direct loading support.
18202
18203 * docs/grub.texi (Supported OS): Add FreeDOS.
18204 * grub-core/Makefile.core.def (freedos): New module.
18205 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18206 variable.
18207 (grub_relocator16_boot): Handle %ebx.
18208 * grub-core/lib/i386/relocator16.S: Likewise.
18209 * grub-core/loader/i386/pc/freedos.c: New file.
18210
05caa461
VS
182112011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 Long Linux command line support.
18214
18215 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18216 (maximal_cmdline_size): New variable.
18217 (allocate_pages): Use maximal_cmdline_size.
18218 (grub_cmd_linux): Set and use maximal_cmdline_size.
18219 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18220 (allocate_pages): Use maximal_cmdline_size.
18221 (grub_cmd_linux): Set and use maximal_cmdline_size.
18222 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18223 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18224 and cmdline_size.
18225
a2491e23
VS
182262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
182272011-05-18 Colin Watson <cjwatson@ubuntu.com>
18228
18229 Improve devmapper support
18230
18231 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18232 (grub_util_is_lvm): New function.
18233 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18234 than lvm if not dmraid.
18235 Handle mapped md nodes.
18236 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18237 (grub_util_device_is_mapped): ... this. Make always available. All users
18238 updated.
18239 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18240 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18241 dmraid nodes.
18242 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18243
6ad6223e
VS
182442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18247
18248 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18249 * grub-core/modinfo.sh.in: New file.
18250 * grub-core/Makefile.core.def (modinfo.sh): New script.
18251 * util/grub-mknetdir.in: Use modinfo.sh.
18252 * util/grub-mkrescue.in: Likewise.
18253
543a8f6e
VS
182542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18255
18256 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18257 Fix potential usage of Elf32 instead of Elf64 when compiling on
18258 32-bit architecture. Add endianness macros while on it.
18259
4959e111
VS
182602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 Use mipsel- rather than mips- in directories involving mipsel ports to
18263 allow both endiannesses coexist.
18264
18265 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18266 mips. All conditions adjusted.
18267 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18268 variable.
18269 * util/grub-install.in: Adjust conditions to take renaming into account.
18270 * util/grub-mkimage.c (image_targets): Likewise. New target
18271 mips-qemu_mips-elf for bigendian mips.
18272
35341bbc
VS
182732011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 Avoid unnecessary copying on MIPS.
18276
18277 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18278 early if src == dest.
18279 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18280 compression is none.
18281
b772baed
VS
182822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18283
18284 Reduce memory footprint on SGI by putting modules before the kernel
18285 as opposed to after.
18286
18287 * grub-core/Makefile.core.def (kernel): Increase linking address.
18288 (none_decompress): Likewise.
18289 (xz_decompress): Likewise.
18290 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18291 address.
18292 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18293 layout change.
18294 (grub_arch_modules_addr): New function.
18295 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18296 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18297 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18298 here.
18299 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18300 (grub_total_modules_size): ... this. Make global.
18301 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18302 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18303 New definition.
18304 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18305 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18306 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18307 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18308 * util/grub-mkimage.c (image_target_desc): New flag
18309 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18310 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18311 (generate_image): Handle images with modules before kernel.
18312
566a1917
VS
183132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 Prevent potential loss of memory map by overwrite on qemu-mips.
18316
18317 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18318 Save ram size in $s4.
18319 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18320 All users changed to grub_arch_memsize.
18321 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18322 Loongson.
18323 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18324 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18325 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18326 external variable.
18327
5d420cd9
CW
183282011-05-17 Colin Watson <cjwatson@ubuntu.com>
18329
18330 * .bzrignore: Remove grub-dumpbios.
18331
d064b830
CW
183322011-05-17 Colin Watson <cjwatson@ubuntu.com>
18333
18334 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18335 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18336 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18337 existing options which append).
18338 * docs/grub.texi (Simple configuration): Document new options.
18339 Reported by: Ian Jackson. Fixes Debian bug #617538.
18340
3ca2b466
CW
183412011-05-17 Colin Watson <cjwatson@ubuntu.com>
18342
18343 * util/grub-fstest.c (cmd_cat): New function.
18344 (fstest): Handle CMD_CAT.
18345 (options): Add cat.
18346 (argp_parser): Handle cat.
18347
24c9143a
CW
183482011-05-17 Colin Watson <cjwatson@ubuntu.com>
18349
18350 * Makefile.util.def (grub-bin2h): Don't install.
18351 * docs/man/grub-bin2h.h2m: Remove.
18352
90f7ac19
VS
183532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18354
18355 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18356 place.
18357
8d4a5178
VS
183582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 Reenable qemu-mips port.
18361
18362 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18363 Fix small arc bug while on it.
18364 * gentpl.py: Handle qemu_mips.
18365 * grub-core/Makefile.am: Likewise.
18366 * grub-core/Makefile.core.def: Likewise.
18367 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18368 inappropriate includes.
18369 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18370 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18371 * grub-core/kern/main.c (grub_modules_get_end)
18372 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18373 * grub-core/kern/mips/qemu-mips: Moved to ..
18374 * grub-core/kern/mips/qemu_mips: ... this.
18375 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18376 (grub_machine_init): Call terminfo_init and serial_init.
18377 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18378 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18379 New variable.
18380 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18381 parameter passing.
18382 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18383 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18384 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18385 * include/grub/mips/qemu_mips/cmos.h: New file.
18386 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18387 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18388 Removed.
18389 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18390 Use correct mips-style address.
18391 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18392 (GRUB_TICKS_PER_SECOND): Removed.
18393 (grub_get_rtc): Likewise.
18394 (grub_cpu_idle): Likewise.
18395 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18396 New definition.
18397 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18398 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18399 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18400 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18401 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18402 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18403 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18404 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18405
400b9371
VS
184062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 SGI ARCS port.
18409
18410 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18411 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18412 platforms.
18413 * configure.ac: New target mips-arc.
18414 * gentpl.py: Likewise.
18415 * grub-core/Makefile.am: Likewise.
18416 * grub-core/Makefile.core.def: Likewise.
18417 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18418 (none_decompress): Likewise.
18419 (lsdev): New module.
18420 (datetime): Use lib/arc/datetime.c on ARC.
18421 (part_dvh): New module.
18422 * grub-core/commands/arc/lsdev.c: New file.
18423 * grub-core/disk/arc/arcdisk.c: Likewise.
18424 * grub-core/kern/mips/arc/init.c: Likewise.
18425 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18426 aligned addresses.
18427 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18428 support.
18429 (grub_arch_dl_relocate_symbols): Likewise.
18430 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18431 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18432 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18433 platforms.
18434 * grub-core/lib/arc/datetime.c: New file.
18435 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18436 pci.h on non-loongson.
18437 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18438 (grub_linux_boot): Set unused registers to 0.
18439 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18440 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18441 * grub-core/mmap/mips/uppermem.c: ...here.
18442 * grub-core/partmap/dvh.c: New file.
18443 * grub-core/term/arc/console.c: Likewise.
18444 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18445 (grub_terminfo_set_current): Add terminal "arc".
18446 (grub_terminfo_readkey): Support ARC sequences.
18447 * include/grub/arc/arc.h: New file.
18448 * include/grub/arc/console.h: Likewise.
18449 * include/grub/disk.h (grub_disk_dev_id): Add
18450 GRUB_DISK_DEVICE_ARCDISK_ID.
18451 * include/grub/mips/arc/kernel.h: New file.
18452 * include/grub/mips/arc/memory.h: Likewise.
18453 * include/grub/mips/arc/time.h: Likewise.
18454 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18455 * include/grub/mips/kernel.h (grub_halt): ... here.
18456 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18457 here...
18458 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18459 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18460 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18461 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18462 proto.
18463 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18464 from here ...
18465 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18466 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18467 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18468 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18469 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18470 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18471 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18472 (grub_phys_addr_t): Moved from here ...
18473 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18474 (grub_vtop): Moved from here ...
18475 * include/grub/mips/memory.h (grub_vtop): ... here.
18476 (grub_map_memory): Moved from here ...
18477 * include/grub/mips/memory.h (grub_map_memory): ... here.
18478 (grub_unmap_memory): Moved from here ...
18479 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18480 (grub_machine_mmap_iterate): Moved from here ...
18481 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18482 (grub_mmap_get_lower): Moved from here ...
18483 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18484 (grub_mmap_get_upper): Moved from here ...
18485 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18486 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18487 here ...
18488 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18489 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18490 here ...
18491 * include/grub/mips/time.h (grub_get_rtc): ... here.
18492 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18493 here ...
18494 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18495 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18496 here ...
18497 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18498 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18499 definition.
18500 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18501 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18502 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18503 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18504 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18505 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18506 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18507 (GRUB_MACHINE_LINK_ADDR): Likewise.
18508 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18509 to 6.
18510 * util/grub-install.in: Run dvhtool on ARC.
18511 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18512 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18513
c8ecc840
VS
185142011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18517 blocks.
18518
153a4b55
VS
185192011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18522 after enabling port.
18523
ff44d107
VS
185242011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 Skip incorrect USB devices.
18527
18528 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18529 configcnt == 0.
18530 * include/grub/usb.h (grub_usb_err_t): New enum value
18531 GRUB_USB_ERR_BADDEVICE.
18532
638dbe4f
VS
185332011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 Fuloong video init support.
18536
18537 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18538 well.
18539 (grub_vga_read_arx): New function.
18540 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18541 definition.
18542 (framebuffer): New members io, mmioptr and mmiobase.
18543 (read_sis_cmd): New function.
18544 (write_sis_cmd): Likewise.
18545 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18546 rather than 640x400.
18547 * grub-core/video/sis315_init.c: New file.
18548
c3fc520c
VS
185492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18550
18551 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18552 non-loongson.
18553 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18554 to grub_dl_register_symbol.
18555
67b1e5c9
VS
185562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 Fix compilation errors.
18559
18560 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18561 potentially unused.
18562 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18563 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18564 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18565 to loongson machines.
18566
b756f75f
VS
185672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18568
18569 Several FS mtime support.
18570
18571 * grub-core/fs/affs.c (grub_affs_time): New struct.
18572 (grub_affs_file): New field mtime.
18573 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18574 type. Removed 'size'. New field 'di'. All users updated.
18575 (grub_affs_mount): Simplify checsum checking.
18576 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18577 (grub_affs_dir): Handle mtime.
18578 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18579 (grub_cpio_dir): Likewise.
18580 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18581 (grub_hfs_filerec): New field mtime.
18582 (grub_hfs_dir): Handle mtime.
18583 (grub_hfs_mtime): New function.
18584 (grub_hfs_fs): Register grub_hfs_mtime.
18585 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18586 (grub_iso9660_dir): New field mtime.
18587 (grub_fshelp_node): New field dirent.
18588 (iso9660_to_unixtime): New function.
18589 (iso9660_to_unixtime2): Likewise.
18590 (grub_iso9660_read_symlink): Use node->dirent.
18591 (grub_iso9660_iterate_dir): Likewise.
18592 (grub_iso9660_dir): Set mtime.
18593 (grub_iso9660_mtime): New function.
18594 (grub_iso9660_fs): Register grub_iso9660_mtime.
18595 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18596 (grub_jfs_inode): New fields atime, ctime and mtime.
18597 (grub_jfs_dir): Set mtime.
18598 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18599 * grub-core/fs/ntfs.c (list_file): Set mtime.
18600 (grub_ntfs_dir): Likewise.
18601 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18602 (grub_reiserfs_iterate_dir): Set mtime.
18603 (grub_reiserfs_dir): Likewise.
18604 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18605 (grub_fshelp_node): Likewise.
18606 (grub_sfs_iterate_dir): Set mtime.
18607 (grub_sfs_dir): Likewise.
18608 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18609 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18610 (grub_xfs_inode): New fields atime, mtime, ctime.
18611 (grub_xfs_dir): Set mtime.
18612 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18613 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18614 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18615
18616 Support UDF symlinks.
18617
18618 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18619 (grub_ufs_read_symlink): New function. All users updated.
18620
18621 Check amiga partmap checksum.
18622
18623 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18624 (grub_amiga_partition): Likewise.
18625 (amiga_partition_map_checksum): New function.
18626 (amiga_partition_map_iterate): Check checksum.
18627
5470225d
VS
186282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 ROMFS support.
18631
18632 * Makefile.util.def (libgrubmods.a): Add romfs.
18633 * grub-core/Makefile.core.def (romfs): New module.
18634 * grub-core/fs/romfs.c: New file.
18635
d4680a35
VS
186362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 Squashfs v4 support.
18639
18640 * Makefile.util.def (libgrubmods.a): Add squash4.
18641 * grub-core/Makefile.core.def (squash4): New module.
18642 * grub-core/fs/squash4.c: New file.
18643 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18644 disk_input_start, disk_input.
18645 (get_byte): Handle disk_input.
18646 (grub_zlib_disk_read): New function.
18647 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18648
bcb18e74
FZ
186492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
186502011-05-15 Feiran Zheng <famcool@gmail.com>
18651
18652 * Makefile.util.def (libgrubmods.a): Add minix3.
18653 * grub-core/Makefile.core.def (minix3): New module.
18654 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18655 (GRUB_MINIX_BSIZE): Removed.
18656 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18657 (grub_minix_ino_t): New type.
18658 (grub_minix_le_to_cpu_ino): New macro.
18659 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18660 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18661 (grub_minix_data): New field block_size.
18662 (grub_minix_read_file): Handle 64-bit correctly.
18663 * grub-core/fs/minix3.c: New file.
18664
32297d5f
TG
186652011-05-15 Tristan Gingold <gingold@free.fr>
186662011-05-15 Robert Millan <rmh.grub@aybabtu.com>
186672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18668
18669 IA64 support.
18670
18671 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18672 * configure.ac: Add ia64-efi target.
18673 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18674 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18675 * gentpl.py: Add ia64_efi platform.
18676 Rename x86_efi to efi and Add ia64-efi. All users updated.
18677 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18678 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18679 Remove kern/generic/rtc_get_time_ms.c on EFI.
18680 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18681 kern/ia64/dl_helper.c on ia64-efi.
18682 Add kern/emu/cache.c on emu.
18683 (linux): Use on loader/ia64/efi/linux.c on ia64.
18684 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18685 whether symbol is a function.
18686 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18687 (grub_symbol): New field 'isfunc'.
18688 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18689 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18690 (grub_dl_load_segments): Place all sections into the same region.
18691 [__ia64__]: Create trampolines and got.
18692 [GRUB_MACHINE_EMU]: Call mprotect.
18693 (grub_dl_resolve_symbols): Resolve symbol type as well.
18694 [__ia64__]: Create function descriptors.
18695 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18696 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18697 (grub_get_rtc): New function.
18698 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18699 * grub-core/kern/emu/cache.S: Renamed to ...
18700 * grub-core/kern/emu/cache_s.S: ... this.
18701 [__ia64__]: Add a nop.
18702 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18703 [__ia64__]: New function.
18704 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18705 * grub-core/kern/ia64/dl.c: New file.
18706 * grub-core/kern/ia64/dl_helper.c: Likewise.
18707 * grub-core/kern/ia64/efi/init.c: New file.
18708 * grub-core/kern/ia64/efi/startup.S: Likewise.
18709 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18710 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18711 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18712 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18713 * grub-core/loader/ia64/efi/linux.c: New file.
18714 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18715 (GRUB_MOD_DEP): Likewise.
18716 (grub_dl) [__ia64__]: New fields got and tramp.
18717 (grub_dl): New field 'base'.
18718 (grub_dl_register_symbol): New argument isfunc. All users updated.
18719 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
18720 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
18721 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
18722 (grub_ia64_dl_get_tramp_got_size): New proto.
18723 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
18724 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
18725 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
18726 * include/grub/efi/api.h: Skip call wrappers on ia64.
18727 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
18728 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
18729 * include/grub/elf.h (ELF_ST_INFO): New definition.
18730 * include/grub/ia64/efi/kernel.h: New file.
18731 * include/grub/ia64/efi/memory.h: Likewise.
18732 * include/grub/ia64/efi/time.h: Likewise.
18733 * include/grub/ia64/kernel.h: Likewise.
18734 * include/grub/ia64/setjmp.h: Likewise (from glibc).
18735 * include/grub/ia64/time.h: New file.
18736 * include/grub/ia64/types.h: Likewise.
18737 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
18738 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
18739 New protos.
18740 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
18741 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
18742 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
18743 * util/grub-mkimage.c (image_target_desc): New field pe_target.
18744 All users updated.
18745 (EFI64_HEADER_SIZE): New definition. All users updated.
18746 (image_targets): Add ia64-efi.
18747 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
18748 jumpers_addr. All users updated.
18749 Create function descriptors.
18750 (count_funcs): New function.
18751 (unaligned_uint32): New struct.
18752 (MASK20): New definition.
18753 (MASK19): Likewise.
18754 (MASKF21): Likewise.
18755 (add_value_to_slot_20b): New function.
18756 (add_value_to_slot_21_real): Likewise.
18757 (add_value_to_slot_21): Likewise.
18758 (ia64_kernel_trampoline): New struct.
18759 (nopm): New variable.
18760 (jump): Likewise.
18761 (make_trampoline): New function.
18762 (relocate_addresses): Handle ia64.
18763 (make_reloc_section): Likewise.
18764 (load_image): Likewise.
18765
983b414d
VS
187662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
18769 warning. Move variables before code while on it.
18770
5d063cdc
VS
187712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 Fuloong support.
18774
18775 * configure.ac: Rename yeeloong platform to loongson. All users updated.
18776 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
18777 * grub-core/boot/mips/loongson/fuloong.S: New file.
18778 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
18779 Explicitly init CS5536.
18780 [FULOONG]: Don't use serial until CS5536 is available.
18781 Set GPIO based on dumps.
18782 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
18783 [FULOONG]: Handle GPIO and memory controller differences.
18784 Parse machine type in $a2.
18785 * grub-core/boot/mips/startup_raw.S: Determine and save the
18786 architecture.
18787 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
18788 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
18789 init on architecture type.
18790 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18791 SIS315E. Don't init at_keyboard on fuloong.
18792 (grub_halt): Support Fuloong.
18793 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
18794 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
18795 (loongson_machtypes): New array.
18796 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
18797 type.
18798 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
18799 config. All users updated. Handle CS5536 serial.
18800 * grub-core/term/serial.c (grub_serial_register): Conditionalise
18801 default port on machine type. Register serial as inactive.
18802 * grub-core/video/sis315pro.c: New file.
18803 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
18804 definition.
18805 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
18806 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
18807 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
18808 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
18809 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
18810 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
18811 to ...
18812 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
18813 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
18814 definition.
18815 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
18816 (grub_arch_machine): New extern var.
18817 * include/grub/mips/loongson/serial.h
18818 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
18819 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
18820 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
18821 (GRUB_MACHINE_SERIAL_PORT0): ... this.
18822 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
18823 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
18824 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
18825 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
18826 * include/grub/term.h (grub_term_register_input_inactive): New inline
18827 function.
18828 (grub_term_register_output_inactive): Likewise.
18829 * include/grub/video.h (grub_video_driver_id): New value
18830 GRUB_VIDEO_DRIVER_SIS315PRO.
18831 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
18832 New field "names". All users updated.
18833 New field value IMAGE_FULOONG_FLASH.
18834 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18835
6ada82d1
JU
188362011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18837
18838 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18839 and add some clarification.
18840
90c571a4
VS
188412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18842
18843 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18844 platforms if kernel is compressed.
18845
de04eecf
VS
188462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18847
18848 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18849 unused modules since currently referrence counter isn't reliable and
18850 there isn't much memory to recover there anyway.
18851
57688121
VS
188522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18855 rather than resetting it to allow modules to reference themselves
18856 in init.
18857
3d2c7e35
VS
188582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18861 counter on dependencies since grub_dl_unref already handles this.
18862
b25db218
VS
188632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18864
18865 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18866 on error if not already done.
18867
25a45338
VS
188682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 Fix few potential memory misusage.
18871
18872 * grub-core/font/font.c (load_font_index): Don't free char_index to
18873 avoid double free.
b25db218
VS
18874 (grub_font_load): Zero-fill font at alloc for safety.
18875 Close file on error.
18876 (free_font): Free bmp_idx.
25a45338 18877
0cac83df
VS
188782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 * docs/grub.texi (Installation): Fix several outdated claims.
18881
2217a143
VS
188822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18883
18884 Handle module_license on windows.
18885
18886 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18887 sections shifted.
18888 (insert_string): Make argument const char * instead of char *.
18889 (write_section_data): Handle long section names.
18890 Handle module_license.
18891
d4de6b01
VS
188922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18893
18894 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18895 handle class-free menuentries.
18896 (grub_normal_add_menu_entry): Add a check to be sure.
18897
4c2a3b43
VS
188982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18899
18900 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18901 PgUp and PgDown.
18902
85c6210f
VS
189032011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 * configure.ac: Bump version to 1.99.
18906
36084912
VS
189072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 Give ATA device a bit more time on first try in order to allow disks
18910 to spin up.
18911
18912 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18913 if dev->present is 1. Reset dev->present on failure.
18914 (grub_ata_device_initialize): Set dev->present to 1.
18915 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18916 (grub_ata_device): New member 'present'.
18917
bda0e219
VS
189182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 * util/grub-mkimage.c (generate_image): Update hash.
18921
19e1c41b
VS
189222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 Flush caches on DMA memory.
18925
18926 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18927 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18928 (grub_dma_free): Likewise.
18929 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18930
91bbcc0c
VS
189312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18934 to avoid asm treating ld and sd as macros.
18935
60ddfad3
VS
189362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18939 decompressor.
18940
a298aa04
VS
189412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18944 grub_decompress_core since later would fail if grub_decompress_core
18945 is too far.
18946
9b44feca
VS
189472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18948
18949 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18950 R_MIPS_JALR since it's used by newer compiler.
18951
56dbe7b4
VS
189522011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18953
18954 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18955
52856af2
VS
189562011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18959 file_path to 0 for surety.
18960 (grub_chainloader_boot): Set exit_data to NULL.
18961 Unset the loader once done.
18962 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18963
9c9bfc6d
VS
189642011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18967 unknown key into a dprintf.
18968
dd94a3df
VS
189692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18970
18971 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18972 on first non-existant partition.
18973
fa68d99c
VS
189742011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18977 openning fails.
18978 Reported by: Mark Korenberg.
18979
157effb7
VS
189802011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18983 overflow.
18984
ea75312f
VS
189852011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18988 before closing to ensure that it will be readable by grub-setup.
18989
072b5d31
VS
189902011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18993 (devpath_1): Use MAKE_PIWG_PATH.
18994 (devpath_2): Likewise.
18995 (devpath_3): Likewise.
18996 (devpath_4): Likewise.
18997 (devpath_5): Likewise.
18998 (devpath_6): Likewise.
18999
19000 The appleldr.mod was checked that to be binary identical to previous
19001 version.
19002
7fae0051
Z
190032011-05-05 Zach <mikezackles>
19004
19005 Support 2010 Macbooks.
19006
19007 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19008 (devs): Add devpath_6.
19009
7c515bee
VS
190102011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19013 /dev/random. /dev/urandom is good enough for our purposes (salting).
19014
ed660bd8
VS
190152011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19018
ee5614b7
VS
190192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19022 hexadecimal.
19023
664889a6
VS
190242011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19027 and not 0 on failure.
19028
bd405bbc
CW
190292011-05-03 Colin Watson <cjwatson@ubuntu.com>
19030
19031 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19032 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19033 disk; otherwise grub_fs_probe will not fall back to the next
19034 filesystem.
19035 (grub_pxefs_open): Likewise, for consistency.
19036 Reported and tested by: Ezekiel Grave.
19037
4ebff753
CW
190382011-05-03 Colin Watson <cjwatson@ubuntu.com>
19039
19040 * tests/partmap_test.in: Don't hardcode path to parted.
19041 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19042
8f942553
CW
190432011-05-01 Colin Watson <cjwatson@ubuntu.com>
19044
19045 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19046 of `ls' to find out which devices are available.
19047
3c62402d
VS
190482011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19049
19050 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19051 than source address for efi mmap buffer.
19052
723f63f2
VS
190532011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19056 wrong action on non-detecting the magic.
19057
68797f92
VS
190582011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19061 already supplied by another part of the module (fixes compilation on
19062 FreeBSD).
19063
6be8715d
VS
190642011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19067 match the one used by mdadm.
19068
e91dba5b
CW
190692011-04-21 Colin Watson <cjwatson@ubuntu.com>
19070
19071 * po/README: Add instructions for creating po/LINGUAS.
19072
c85140b3
CW
190732011-04-21 Colin Watson <cjwatson@ubuntu.com>
19074
19075 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19076 #551428.
19077
19078 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
19079 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
19080 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
19081 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
19082 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
19083 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
19084 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
19085 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
19086 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19087 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
19088 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19089 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19090 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19091 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19092 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19093 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19094 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19095 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19096 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19097 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19098 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19099 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19100
92051871
CW
191012011-04-21 Colin Watson <cjwatson@ubuntu.com>
19102
19103 * grub-core/kern/emu/getroot.c
19104 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19105 test that was incorrectly reintroduced in r3214.
19106 Reported by: Ian Dall. Fixes Savannah bug #33133.
19107
b13f79a4
CW
191082011-04-21 Colin Watson <cjwatson@ubuntu.com>
19109
19110 Fix stack pointer handling in 16-bit relocator.
19111
19112 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
19113 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
19114 Fixes Ubuntu bug #683904.
19115
9b710a88
VS
191162011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * configure.ac: Bump version to 1.99~rc2.
19119
d97e7b59
VS
191202011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
19123 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
19124 * grub-core/lib/x86_64/setjmp.S: Likewise.
19125 * grub-core/lib/mips/setjmp.S: Likewise.
19126 * grub-core/lib/powerpc/setjmp.S: Likewise.
19127 * grub-core/lib/sparc64/setjmp.S: Likewise.
19128
0624551c
VS
191292011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
19132 * grub-core/lib/efi/datetime.c: Likewise.
19133
e8f28d4c
VS
191342011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
19137 New function.
19138 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
19139 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
19140 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
19141
bba79a15
VS
191422011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
19145 bitmap.
19146 (grub_gfxterm_term_init): Likewise.
19147
abc474ef
VS
191482011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19149
19150 Take into account the decorations the computing menu entry width.
19151
19152 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
19153 (grub_gfxmenu_create_box): Register get_border_width.
19154 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
19155 if available.
19156 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
19157 get_border_width.
19158
e74b3947
EP
191592011-04-18 Endres Puschner <code@e7p.de>
19160
19161 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
19162 Don't skip first class.
19163
34faa595
VS
191642011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19165
19166 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
19167 chunks.
19168 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
19169
93a777e3
VS
191702011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 Complete 64-bit division support.
19173
19174 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
19175 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
19176 * include/grub/misc.h (grub_divmod64): Rename to ...
19177 (grub_divmod64_full): ... this.
19178 (grub_divmod64): New inline function.
19179
a5102d94
VS
191802011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19181
19182 * util/grub-mkimage.c (generate_image): Add forgotten comma.
19183
f3fb7b36
VS
191842011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19185
19186 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
19187 performing the necessary test.
19188
9ac718b0
VS
191892011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
19192 (kfreebsd.elf): Likewise.
19193 (pc-chainloader.elf): Likewise.
19194 (ntldr.elf): Likewise.
19195
50d2cc5a
VS
191962011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 Identify RAID by its UUID rather than (guessed) name.
19199
19200 * grub-core/disk/raid.c (ascii2hex): New function.
19201 (grub_raid_open): Accept mduuid/%s specification.
19202 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19203 (get_mdadm_uuid): ... this.
19204 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19205
e03f7bea
VS
192062011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19207
19208 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19209 to negative size.
19210
e74c3112
CW
192112011-04-13 Colin Watson <cjwatson@ubuntu.com>
19212
19213 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19214 btrfs subvolume.
19215 * util/grub.d/20_linux_xen.in: Likewise.
19216
78fa584f
CW
192172011-04-13 Colin Watson <cjwatson@ubuntu.com>
19218
19219 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19220 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19221
19222 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19223 Build a list of relevant visible mounts using the mnt_id and
19224 parent_mnt_id fields, and then scan that list at the end.
19225
9d5f8162
CW
192262011-04-12 Colin Watson <cjwatson@ubuntu.com>
19227
19228 * docs/grub.texi (normal): New section.
19229 (normal_exit): New section.
19230 (Embedded configuration): Add reference to normal.
19231 (GRUB only offers a rescue shell): Likewise.
19232 * docs/grub-dev.texi (Error Handling): Fix typo.
19233
09a9d66f
CW
192342011-04-12 Colin Watson <cjwatson@ubuntu.com>
19235
19236 * NEWS: Drop obsolete entry about probe-only btrfs support.
19237
0c676933
CW
192382011-04-12 Colin Watson <cjwatson@ubuntu.com>
19239
19240 * util/import_gcry.py: Fix typo.
19241
ec9f5e0d
VS
192422011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 * NEWS: Add btrfs support.
19245
fe6b2cba
VS
192462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
192472011-04-11 Colin Watson <cjwatson@ubuntu.com>
19248
19249 BtrFS support. Written by me (Vladimir) with important bugfixes and
19250 even more important testing by Colin.
19251
19252 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19253 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19254 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19255 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19256 mem_input_off and mem_input. All users updated to accept in-RAM input.
19257 (gzio_seek): New function.
19258 (test_zlib_header): Likewise.
19259 (grub_gzio_read): Likewise.
19260 (grub_zlib_decompress): Likewise.
19261 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19262 Accept partial and non-virtual mounts.
19263 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19264 avoid receiving /dev/dm-X as device.
19265 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19266 Handle bind and partial mounts.
19267 * grub-core/lib/crc.c: New file.
19268 * include/grub/deflate.h: Likewise.
19269 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19270 proto.
19271 * include/grub/lib/crc.h: New file.
19272
e745cf0c
VS
192732011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19274
19275 Implement automatic module license checking according to new GNU
19276 guidelines.
19277
19278 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19279 (grub_dl_load_core): Use grub_dl_check_license.
19280 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19281 (GRUB_MOD_LICENSE): Likewise.
19282 (GRUB_MOD_DUAL_LICENSE): Likewise.
19283 All modules updated.
19284
2a9bc016
CW
192852011-04-11 Colin Watson <cjwatson@ubuntu.com>
19286
19287 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19288 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19289 loaders.
19290 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19291
8a3bc88e
VS
192922011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19293
19294 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19295
af869a4a
VS
192962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19297
19298 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19299 failed.
19300
9ee8d94f
VS
193012011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19304 parenthesis in the middle of the filename.
19305
b01abe3e
VS
193062011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19307
19308 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19309 rather than trying to put initrd way too high.
19310 Reported by: Ryan Lortie <desrt@desrt.ca>
19311
335bda1e
VS
193122011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19315 improperly removed string.
19316
5ca1a64d
VS
193172011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19320 is_disk.
19321 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19322 (open_device) Likewise.
19323 (grub_util_biosdisk_close): Likewise.
d8ce9995 19324 Reported by: Mark Korenberg.
5ca1a64d 19325
cbac5b1e
AK
193262011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19327
19328 * util/grub-mkconfig_lib.in: Add missing quotes.
19329
088cdb65
CW
193302011-04-10 Colin Watson <cjwatson@ubuntu.com>
19331
19332 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19333 is NULL.
19334
8b8a81fa
VS
193352011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19336
19337 Dynamically count the number of lines for the lower banner.
19338
19339 * grub-core/normal/menu_entry.c (per_term_screen): New member
19340 num_entries.
19341 (print_down): Use num_entries.
19342 (update_screen): Likewise.
19343 (grub_menu_entry_run): Set num_entries.
19344 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19345 num_entries.
19346 (grub_print_message_indented): Move real part to ...
19347 (grub_print_message_indented_real): ... here. Additional argument
19348 dry_run.
19349 (draw_border): Additional argument num_entries.
19350 (print_message): Additional argument dry_run.
19351 (print_entries): Receive menu viewer data.
19352 (grub_menu_init_page): New argment num_entries.
19353 (menu_text_set_chosen_entry): Use num_entries.
19354 (grub_menu_try_text): Likewise.
19355 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19356 All users updated.
19357 (grub_ucs4_count_lines): New function.
19358 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19359 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19360 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19361 (grub_term_border_height): Likewise.
19362 (grub_term_num_entries): Likewise.
19363
277f955b
VS
193642011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19365
19366 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19367 Remove now unused string.
19368
536ce85a
CW
193692011-04-09 Colin Watson <cjwatson@ubuntu.com>
19370
19371 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19372 build system.
19373 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19374
19375 (Comment): Fix typo.
19376 (Getting started): General copy-editing.
19377 (Typical Development Experience): Likewise.
19378 (Error Handling): Likewise.
19379 (Video API): Likewise.
19380
2cf09e32
CW
193812011-04-09 Colin Watson <cjwatson@ubuntu.com>
19382
19383 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19384 throughout.
19385
1ec652f4
VS
193862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19387
19388 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19389 directory.
19390
2c583728
CW
193912011-04-08 Colin Watson <cjwatson@ubuntu.com>
19392
19393 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19394 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19395 "development".
19396
d7a565e9
VS
193972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19398
19399 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19400 grub_strcpy since the lines aren't necessarily 0-terminated.
19401
7c2e4909
VS
194022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19403
19404 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19405 root on legacy.
19406
34c09785
VS
194072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19410 (GRUB_MOD_INIT): DEVICE isn't optional.
19411
6a6f8058
VS
194122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19415 word on new line if it's too long anyway. Fixes a hang.
19416
2e335e90
VS
194172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19418
19419 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19420 const.
19421 * util/grub-setup.c (main): Reuse md device name if available.
19422 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19423 not GRUB name as argument.
19424 Based on patch by: Florian Wagner <fwagner>.
19425
10a7a867
VS
194262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19429 Place mbi on low memory for better compatibility.
19430
7a3d6cd9
VS
194312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19432
19433 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19434
18dd6b47
VS
194352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
194362011-04-08 Colin Watson <cjwatson@ubuntu.com>
19437
19438 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19439 * conf/Makefile.common: Likewise.
18dd6b47 19440
3c0e3f14
VS
194412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19442
f7148863
VS
19443 * grub-core/normal/menu.c: Add missing include.
19444
194452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19448
6d1fa41f
MZ
194492011-04-08 Martin Zuther <mzuther@mzuther.de>
19450
19451 * util/grub-mkconfig.in: Ignore emacsen backup.
19452
478182a8
VS
194532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19456 on open.
19457 (grub_util_biosdisk_close): Likewise.
19458
72a89a54
VS
194592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19460
19461 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19462 const attribute and use grub_isdigit.
19463
b5ebecfa
A
194642011-04-06 Andrey <dev_null@ukr.net>
19465
19466 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19467 gcc warning.
19468
7755f66e
VS
194692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19470
19471 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19472 useful grub_dprintf's.
19473
461121ff
VS
194742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19477
2a961775
VS
194782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19481
adf594cc
VS
194822011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19483
19484 Output errors if theme loading failed.
19485
19486 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19487 grub_gfxterm_fullscreen on error paths to ...
19488 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19489 theme loading error.
19490
665900a3
VS
194912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19492
19493 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19494 space for older compilers.
19495 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19496
a562b479
VS
194972011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19498
19499 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19500 and report them as not RAID members since they are useless for GRUB.
19501 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19502
850e9373
VS
195032011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 Increase LVM implementation robustness in order not to crash on
19506 configurations like pvmove. Previously code assumed that in some places
19507 only lvs or only pvs are used whereas it seems that they are used
19508 interchangeably.
19509
19510 * grub-core/disk/lvm.c (read_node): New function.
19511 (read_lv): Use read_node.
19512 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19513 Match volumes only at the end when all lvs are found. Take both
19514 pvs (first) and lvs (second) into account.
19515 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19516 mirror_* into node_*. All users updated.
19517 (grub_lvm_stripe): Merge this ...
19518 (grub_lvm_mirror): ... and this ...
19519 (grub_lvm_node): ... into this. All users updated.
19520
6f332153
VS
195212011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19522
19523 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19524 of function to allow further scanning for LVMs.
19525
829ea451
VS
195262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19527
19528 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19529 on failed seek as it breaks open fd reusage.
19530
09ceb9a5
VS
195312011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 * util/grub-install.in: Add a recommendation to use --recheck before
19534 reporting bugs.
19535
67e11623
VS
195362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19539 are obtained.
19540
caee5efd
VS
195412011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 GRUB developper manual based on existing Internals section and
19544 contributions by the various authors with active copyright assignment.
19545
19546 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19547 * docs/font_char_metrics.png: New file.
19548 * docs/font_char_metrics.txt: Likewise.
19549 * docs/grub-dev.texi: Likewise.
19550 * docs/grub.texi (Internals): Move from here ...
19551 * docs/grub-dev.texi: ... here.
19552
2cccc747
CW
195532011-04-01 Colin Watson <cjwatson@ubuntu.com>
19554
19555 Store the loopback device as data on loopback grub_disk structures,
19556 rather than the file it points to. This fixes use of freed memory
19557 if an existing loopback device is replaced.
19558
19559 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19560 disk->data, not dev->file.
19561 (grub_loopback_read): Adjust file assignment to match.
19562 Fixes Ubuntu bug #742967.
19563
186ae367
CW
195642011-04-01 Colin Watson <cjwatson@ubuntu.com>
19565
19566 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19567 when replacing an existing device.
19568
cfed2ad0
VS
195692011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19570
19571 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19572 memory corruptions.
19573
19574 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19575 unsigned.
19576 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19577 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19578 (grub_jfs_read_inode): Likewise.
19579 (grub_jfs_opendir): Likewise. Remove now useless casts.
19580 (grub_jfs_getent): Likewise.
19581 Make ino a grub_uint32_t rather than int.
19582 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19583 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19584 division and module with bit operations.
19585 (grub_jfs_find_file): Make ino a grub_uint32_t.
19586 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19587
05d2ed32
CW
195882011-04-01 Colin Watson <cjwatson@ubuntu.com>
19589
19590 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19591 warning. (This was in fact always initialised before use, but GCC
19592 wasn't smart enough to prove that.)
19593 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19594
91dc6073
VS
195952011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19598 stack alignment.
19599 (efi_wrap_1): Likewise.
19600 (efi_wrap_2): Likewise.
19601 (efi_wrap_3): Likewise.
19602 (efi_wrap_4): Likewise.
19603 (efi_wrap_5): Likewise.
19604 (efi_wrap_6): Likewise.
19605 (efi_wrap_10): Likewise.
19606 Based on information by: Red Hat/Peter Jones.
19607
a8afc1d1
CW
196082011-03-31 Colin Watson <cjwatson@ubuntu.com>
19609
19610 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19611 set-but-not-used variable.
19612
a826cc7d
CW
196132011-03-31 Colin Watson <cjwatson@ubuntu.com>
19614
19615 * docs/grub.texi (Simple configuration): Be more explicit about
19616 GRUB_DEFAULT, and add an example.
19617 Reported by: Leslie Rhorer.
19618
875b67ba
CW
196192011-03-30 Colin Watson <cjwatson@ubuntu.com>
19620
19621 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19622 shell".
19623
fd7cd914
AS
196242011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19625
19626 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19627 * util/grub.d/20_linux_xen.in: Likewise.
19628
090b1b6a
VS
196292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19630
19631 * util/grub.d/10_linux.in: Try alternative config filenames where
19632 we parse config file.
19633 * util/grub.d/20_linux_xen.in: Likewise.
19634
baad885c
AS
196352011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19636
19637 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19638 * util/grub.d/20_linux_xen.in: Likewise.
19639
241e41f5
VS
196402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 * grub-core/disk/raid.c (insert_array): Add few potentially
19643 useful grub_util_info.
19644 (grub_raid_register): Likewise.
19645
56445fb2
VS
196462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19647
19648 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19649 Preserve partition number in mdadm code path.
19650
c871b1c6
VS
196512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19654 few potentially useful grub_util_info.
19655
5e631b4f
CW
196562011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19657
19658 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19659
2d5d0333
CW
196602011-03-30 Colin Watson <cjwatson@ubuntu.com>
19661
19662 * docs/grub.texi (default): Use @example rather than nested
19663 itemized lists to avoid breaking gendocs.
19664
3d7ed04e
CW
196652011-03-30 Colin Watson <cjwatson@ubuntu.com>
19666
19667 * docs/grub.texi (Future): Update.
19668
abf04200 196692011-03-30 Colin Watson <cjwatson@ubuntu.com>
19670
19671 * docs/grub.texi (Environment): New chapter.
19672 (Changes from GRUB Legacy): Link to "Environment block" section for
19673 details of limitations.
19674 (Simple configuration): Likewise. Link to documentation of gfxmode
19675 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19676 respectively.
19677 (Shell-like scripting): Note that normal variables are stored in the
19678 environment.
19679 (gettext): Link to documentation of lang and locale_dir.
19680 (list_env): New section.
19681 (load_env): New section.
19682 (save_env): New section.
19683
19684 (Reporting bugs): Fix typo.
19685
e1ad0edd
VS
196862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19687
19688 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19689 the example.
19690
5d803174
VS
196912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19692
19693 * grub-core/term/at_keyboard.c (set_scancodes)
19694 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19695
2a2da1d0
CW
196962011-03-30 Colin Watson <cjwatson@ubuntu.com>
19697
19698 * docs/grub.texi (Menu-specific commands): Remove some semantics
19699 that were true in GRUB Legacy but not in GRUB 2.
19700 (submenu): New section.
19701 (false): New section.
19702 (read): New section.
19703 (true): New section.
19704
a7527639
CW
197052011-03-30 Colin Watson <cjwatson@ubuntu.com>
19706
19707 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19708
197092011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19710
19711 * docs/grub.texi (Simple configuration): Explain some of the
19712 current limitations of grub-mkconfig.
8a748df2 19713 Reported by: Leslie Rhorer.
e30af029 19714
fc858482
VS
197152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19716
19717 Old macs search for boot.efi rather than for bootia32.efi.
19718
19719 * util/grub-install.in: Copy bootia32.efi to boot.efi.
19720 * util/grub-mkrescue.in: Likewise.
19721 Suggested by: Peter Jones.
19722
e1eb511d
VS
197232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
19726
70e75364
VS
197272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
19730 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
19731 (grub_lvm_mirror): New struct.
19732 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
19733 (grub_lvm_iterate): Iterate only visible volumes.
19734 (grub_lvm_read): Factor out to ..
19735 (read_lv): ... this. Support mirrors.
19736 (grub_lvm_read): New wrapper function.
19737 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
19738 stripped or mirrored.
19739
fc18f6a3
VS
197402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19741
19742 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
19743
5c650f4c
CW
197442011-03-29 Colin Watson <cjwatson@ubuntu.com>
19745
19746 * docs/grub.texi (loopback): New section.
19747
61d7156b
CW
197482011-03-29 Colin Watson <cjwatson@ubuntu.com>
19749
19750 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
19751 removed -p option.
19752
994b8264
CW
197532011-03-29 Colin Watson <cjwatson@ubuntu.com>
19754
19755 * docs/grub.texi (BIOS installation): New section, partly based on
19756 previous text in other sections.
19757 (Installing GRUB using grub-install): Replace BIOS discussion with a
19758 cross-reference.
19759 (Images): Likewise.
19760
9e4d19e0
VS
197612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19762
19763 * grub-core/kern/emu/hostdisk.c (find_partition_start)
19764 [HAVE_DIOCGDINFO]: Add safety checks.
19765
a307c0b2
VS
197662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19767
19768 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
19769 per default compiled in kernel and prior to 8.0 isn't shipped at all.
19770
b4db4f39
CW
197712011-03-29 Colin Watson <cjwatson@ubuntu.com>
19772
19773 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
19774 real_sb->size is zero (e.g. RAID-0), get the disk size from
19775 real_sb->data_size instead.
19776 Fixes Ubuntu bug #743136.
19777
35e5f84c
VS
197782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19779
19780 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
19781 printf clauses for printing size and start.
19782
d2e29d81
VS
197832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
19786 Reported and tested by: Timothy Nikkel.
19787
ed5587af
VS
197882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
19791 (dirty_region_add_real): ... this.
19792 (dirty_region_add): Don't discard margin refresh when performing
19793 scheduled repaint.
19794
a1dc717c
VS
197952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19796
19797 * grub-core/lib/relocator.c (allocate_regstart)
19798 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
19799 terminals are capabple of malloc-free operation.
19800 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19801 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
19802
9f3677d3
VS
198032011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
19804
19805 * util/grub-setup.c: Copy the partition table zone if floppy support
19806 is disabled, even if no partition table is found.
19807
19808 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
19809 during POST if an invalid partition table is contained in the PBR
19810 of the active partition when GRUB is installed to a partition.
19811
24148725
CW
198122011-03-28 Colin Watson <cjwatson@debian.org>
19813
19814 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
19815 comment.
19816
f329eda7
CW
198172011-03-28 Colin Watson <cjwatson@debian.org>
19818
19819 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
19820 to be specific about what kind of RAID device we're scanning for.
19821
c482ad98
SG
198222011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
19823
19824 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
19825 return freed string.
19826
5ee04984
VS
198272011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
19830
f4727da9
VS
198312011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19832
19833 Use libgeom on FreeBSD to detect partitions.
19834
19835 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19836 (grub-mkrelpath): Likewise.
19837 (grub-script-check): Likewise.
19838 (grub-editenv): Likewise.
19839 (grub-mkpasswd-pbkdf2): Likewise.
19840 (grub-fstest): Likewise.
19841 (grub-mkfont): Likewise.
19842 (grub-mkdevicemap): Likewise.
19843 (grub-probe): Likewise.
19844 (grub-setup): Likewise.
19845 (grub-ofpathname): Likewise.
19846 (grub-mklayout): Likewise.
19847 (example_unit_test): Likewise.
19848 (grub-menulst2cfg): Likewise.
19849 * grub-core/Makefile.core.def (grub-emu): Likewise.
19850 (grub-emu-lite): Likewise.
19851 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19852 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19853 define HAVE_DIOCGDINFO.
19854 (follow_geom_up) [FreeBSD]: New function.
19855 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19856 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19857 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19858 unconditionally of HAVE_DIOCGDINFO.
19859
82fe6c75
VS
198602011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 Fix FreeBSD compilation problem.
19863
19864 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19865 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19866
4c6c9431
CW
198672011-03-24 Colin Watson <cjwatson@ubuntu.com>
19868
19869 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19870 Switch back to page zero before loading a kernel, since some kernel
19871 drivers expect that.
19872 Thanks to: Felix Kuehling.
19873
c7064d94
VS
198742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19877 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19878 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19879
3f71cded
VS
198802011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19883 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19884
ef6de21a
VS
198852011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19886
19887 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19888 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19889 malloc is disabled.
19890
8bc66a2c
VS
198912011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19894 for modules headers when counting the needed allocation size.
19895
5657722c
VS
198962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19899 if no ASCII character is found to prevent crash.
19900
41a85f55
AK
199012011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19902
19903 * grub-core/video/bitmap.c (match_extension): Ignore case.
19904
59e1e5f1
VS
199052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19908
bd4d051a
VS
199092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19910
19911 * grub-core/script/parser.y: Declare "time" as valid argument.
19912
bae7fcc1
PJ
199132011-03-23 Peter Jones <pjones@redhat.com>
19914
19915 Fix incorrect assert failure reporting.
19916
19917 * grub-core/tests/example_functional_test.c (example_test): Add
19918 a failure comment.
19919 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19920 (failure_start): ...this. Check that malloc succeeded.
19921 Don't call xvasprintf. Return failure struct.
19922 (failure_append_vtext): New function.
19923 (failure_append_text): Likewise.
19924 (add_failure): Likewise.
19925 (grub_test_assert_helper): Likewise.
19926 * include/grub/test.h (grub_test_assert_helper): New declaration.
19927 (grub_test_assert): Macro rewritten.
19928
537dc9be
VS
199292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19930
19931 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19932
fa3e01bf
VS
199332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19936
b1d28404
VS
199372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19940 into GRUB-style one.
19941
2e3e2e09
VS
199422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19945 error and not grub_errno.
19946 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19947
ed57e557
VS
199482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19949
19950 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19951 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19952
d1611f01
VS
199532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19954
19955 * grub-core/efiemu/i386/pc/cfgtables.c
19956 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19957 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19958 (grub_xnu_unlock): Likewise.
19959 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19960
7d4e39d6
VS
199612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19964 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19965 * grub-core/commands/hashsum.c (aliases): Likewise.
19966 * grub-core/commands/setpci.c (pci_registers): Likewise.
19967 * grub-core/disk/usbms.c (attach_hook): Likewise.
19968 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19969 (zio_checksum_table): Likewise.
19970 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19971 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19972 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19973 * grub-core/lib/relocator.c (leftovers): Likewise.
19974 (extra_blocks): Likewise.
19975 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19976 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19977 (modules_last): Likewise.
19978 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19979 (devices): Likewise.
19980 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19981 (modules_last): Likewise.
19982 * grub-core/normal/auth.c (users): Likewise.
19983 * grub-core/normal/context.c (initial_menu): Likewise.
19984 (current_menu): Likewise.
19985 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19986 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19987 (grub_serial_terminfo_input_template): Likewise.
19988 (grub_serial_terminfo_output_template): Likewise.
19989 (grub_serial_terminfo_input): Likewise.
19990 (grub_serial_terminfo_output): Likewise.
19991 (registered): Likewise.
19992 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19993
40fc4659
VS
199942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19997 grub_video_mode_type_t.
19998 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19999 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20000 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20001
2da48d28
VS
200022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20003
20004 * util/grub-install.in: Correct the x86-64 name as x86_64.
20005
9b43bf39
CW
200062011-03-11 Colin Watson <cjwatson@ubuntu.com>
20007
20008 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20009 initial chunk read from the kernel always includes GRUB's multiboot
20010 header, which is now outside the first sector.
20011
be1a7ce0
CW
200122011-03-09 Colin Watson <cjwatson@ubuntu.com>
20013
20014 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20015 cached mmap_size, so that this works correctly when called multiple
20016 times.
20017 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20018
83a3c48d
CW
200192011-03-09 Colin Watson <cjwatson@ubuntu.com>
20020
20021 * docs/grub.texi (Simple configuration): Tidy up formatting.
20022
57d75699
SJ
200232011-03-07 Szymon Janc <szymon@janc.net.pl>
20024
20025 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20026 Set-but-not-used variable removed.
20027
028501a0
VS
200282011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20029
20030 Workaround yet another IEEE1275 bug.
20031
20032 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20033 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20034 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20035 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20036 is set.
20037 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20038 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20039
d998657d
VS
200402011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20041
20042 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20043 error.
20044
fee7cdd4
CW
200452011-02-11 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20048 empty, since in that case we can only generate either nothing or a
20049 syntactically invalid configuration file.
20050 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20051
97286eb5
CW
200522011-02-09 Colin Watson <cjwatson@ubuntu.com>
20053
20054 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20055 (Making a GRUB bootable CD-ROM): Likewise.
20056 (Invoking grub-mkrescue): New section.
20057 Reported by: Yann Dirson. Fixes Debian bug #612585.
20058
22b28eb3
CW
200592011-02-09 Colin Watson <cjwatson@ubuntu.com>
20060
20061 * util/grub-install.in: Remove unnecessary brackets from tr
20062 arguments.
20063 * util/grub.d/10_hurd.in: Likewise.
20064 * util/grub.d/10_kfreebsd.in: Likewise.
20065 * util/grub.d/10_linux.in: Likewise.
20066 * util/grub.d/20_linux_xen.in: Likewise.
20067 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20068
7e735e43
CW
200692011-02-08 Colin Watson <cjwatson@ubuntu.com>
20070
20071 * include/grub/file.h (not_easly_seekable): Rename to ...
20072 (not_easily_seekable): ... this. Update all users.
20073
800f1881
CW
200742011-01-28 Colin Watson <cjwatson@ubuntu.com>
20075
20076 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20077 grub-mkrescue.
20078
3281d3d6
VS
200792011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
20080
20081 * util/grub-mkimage.c (generate_image): Refuse to create the images
20082 bigger than the actual flash (512K) in Loongson machines. 512K is also
20083 the biggest chip supported by them.
20084
3533413c
VS
200852011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
20088
73ae4f4f
VS
200892011-01-22 Anthony DeRobertis <anthony@derobert.net>
20090
20091 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20092 super_offset field.
20093
37f4f608
VS
200942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 * util/grub-install.in: Ignore install device on platforms
20097 where it doesn't make sense. Always use UUIDs except on pc, efi and
20098 sparc64.
20099 Reported by: Daniel Kahn Gillmor.
20100
03a4ccb5
VS
201012011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20104
ffc8f4d8
VS
201052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20108 (iterate_real): Don't rely on partition being non-NULL.
20109
80f23be7
VS
201102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
20113 supported platforms. Put a compile time assert for this rather than
20114 generate a warning with 32-bit shift.
20115
5d4f4dd5
VS
201162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
20119 logical expression more readable.
20120
e489601a
VS
201212011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
20124 even if some elements have a name.
20125 Reported by: Alexander GQ Gerasiov.
20126
96e0a6ea
CW
201272011-01-22 Colin Watson <cjwatson@ubuntu.com>
20128
20129 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
20130 path unreadable if `grub-probe -t abstraction' fails, for example if
20131 memberlist fails on an LVM volume group.
20132 Reported by: Darius Jahandarie.
20133
81431e2b
CW
201342011-01-22 Colin Watson <cjwatson@ubuntu.com>
20135
20136 * docs/grub.texi (Simple configuration): Document
20137 GRUB_PRELOAD_MODULES.
20138
5e79d66a
CW
201392011-01-17 Colin Watson <cjwatson@ubuntu.com>
20140
20141 * .bzrignore: Remove nonexistent grub-pbkdf2.
20142
646ada34
VS
201432011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * configure.ac: Bump version to 1.99~rc1.
20146
04360337
VS
201472011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20148
20149 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
20150 for safety.
20151
46c9db88
VS
201522011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
20155 module.
20156
201572011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
20158
20159 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
20160
4fbf1852
VS
201612011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20162
20163 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
20164 diskdevid.
20165
f1632d4d
VS
201662011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 Fix compilation on cygwin.
20169
20170 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
20171 -R .drectve on cygwin.
20172 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
20173 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
20174 (COND_CYGWIN): New condition.
20175 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
20176 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
20177 not @TARGET_OBJ2ELF@.
20178 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
20179 type to determine whether aux is to be used.
20180
0b5e127b
VS
201812011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20182
20183 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
20184 realpath'ed device string.
20185 Handle floppy (somewhat).
20186 Issue error in unknown case rather than garbage.
20187 Reported by: Axel Beckert.
20188
173b71e9
VS
201892011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * util/grub.d/00_header.in (load_video): Handle the case when no video
20192 drivers available.
20193 Thanks to: Axel Beckert.
20194
f8f479db
VS
201952011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20196
20197 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
20198 variable. Fixes problem on big endian platforms.
20199
8fc0a245
VS
202002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20203 It doesn't work well there.
20204
b8494fbe
VS
202052011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20206
20207 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20208 warning.
20209 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20210 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20211 counter.
20212
b44a558c
VS
202132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 Use alias->path rather than buggy "canon".
20216
20217 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20218 (ofdisk_hash_add): New argument curcan. All users updated.
20219
51fa856c
CW
202202011-01-11 Colin Watson <cjwatson@ubuntu.com>
20221
20222 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20223
9da068a5
VS
202242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20227 loadmask before doing any calculations. Use correct type for offset.
20228 (grub_linux_load64): Likewise.
20229
86205c94
CW
202302011-01-11 Colin Watson <cjwatson@ubuntu.com>
20231
20232 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20233 with NULL.
20234 (console_grub_equivalences_unshift): Likewise.
20235 Reported by: Daniel Dehennin.
20236
4531a206
VS
202372011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20240 (set_env_limn_ro): Likewise.
20241 (GRUB_MOD_INIT): Likewise.
20242 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20243 ARRAY_SIZE while on it.
20244 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20245 * grub-core/normal/context.c (grub_env_export): Move from here ...
20246 * grub-core/kern/env.c (grub_env_export): ... here.
20247 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20248 prefix.
20249 * grub-core/kern/main.c (grub_main): Export root and prefix.
20250 * include/grub/env.h (grub_env_export): Export.
20251 Reported by: Seth Goldberg.
20252
45146057
VS
202532011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20256 Take into account space used by ELF sections and multiboot palette.
20257 Reported by: Grégoire Sutre.
20258
f093110b
VS
202592011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20260
20261 * BUGS: New file.
20262
3395fe52
VS
202632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 Pass more appropriate video id to Linux.
20266
20267 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20268 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20269 fill have_vga.
20270 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20271 shift params->lfb_size.
20272 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20273
c2fa6cbb
VS
202742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20277
b3ff6ff0
VS
202782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20281 separator and pass bootpath/devid even if only one of them is available.
20282 Reported by: Seth Goldberg.
20283
ae67942e
VS
202842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20287 implementations bug on them.
20288
20289 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20290 memory.
20291 (filter_memory_map): Likewise.
20292
d570097a
VS
202932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20294
20295 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20296 Reported by: nebuchadnezzar.
20297
a508e776
VS
202982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20299
20300 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20301 Reported by: nebuchadnezzar.
20302
dcb883b1
VS
203032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20304
20305 Submenu default support.
20306
20307 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20308 auto_boot. All users updated.
20309 Declared static.
20310 Handle chosen and default with submenus.
20311 (grub_menu_execute_with_fallback): Declared static.
20312 Don't notify failure if autobooted. Upper level does it.
20313 (menuentry_eq): New function.
20314 (get_entry_number): Use menuentry_eq.
20315 (show_menu): New parameter "autobooted". All users updated.
20316 (grub_show_menu): Likewise.
20317 * include/grub/normal.h (grub_show_menu): Likewise.
20318 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20319 (grub_menu_execute_with_fallback): Likewise.
20320
6fef99b4
VS
203212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 * util/grub-mklayout.c (usage): Update help text.
20324
47a77af5
VS
203252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20328
ce6bb3ee
VS
203292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * util/grub-menulst2cfg.c (main): Trim the line.
20332
db87be2a
VS
203332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20336 (grub_machine_init): Don't check amount of low memory as reportedly
20337 INT 12h can be broken and if low memory is too low we wouldn't have
20338 gotten into grub_machine_init anyway.
20339
c49849cc
VS
203402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20343 (grub_machine_mmap_iterate): Take low memory into account
20344
b1969b30
VS
203452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20346
20347 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20348 badfs.
20349 Reported by: TiCPU.
20350
cf0eaf13
VS
203512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20352
20353 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20354 members errors.
20355
1f060f39
GS
203562011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20357
20358 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20359 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20360
a21e5672
GS
203612011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20362
20363 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20364 openbsd and netbsd types being in part_bsd module.
20365
c88172fa
VS
203662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20367
20368 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20369 (_FILE_OFFSET_BITS): Likewise.
20370 Reported by: Seth Goldberg.
20371
53798c4b
GS
203722011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20373
20374 * configure.ac: Check for libdevmapper header.
20375
e7121b69
VS
203762011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20379 avoid aliasing.
20380 (fzap_lookup): Likewise.
20381 (dnode_get): Likewise.
20382 (make_mdn): Likewise.
20383 (zfs_mount): Likewise.
20384 (fzap_iterate): Use temporary pointer to avoid aliasing.
20385 (grub_zfs_read): Likewise.
20386 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20387 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20388 pointers to avoid aliasing.
20389 (grub_cmd_xnu_kernel64): Likewise.
20390 (grub_xnu_load_driver): Likewise.
20391
fc836af9
VS
203922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20395 aliasing warning.
20396 (grub_cmd_terminal_output): Likewise.
20397 Reported and tested by: Grégoire Sutre.
20398
f9f37648
VS
203992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20402 warning.
20403 Reported and tested by: Grégoire Sutre.
20404
ec1dfd63
VS
204052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 * configure.ac: Do CPU substitution even if it's specified explicitly.
20408 Reported and tested by: Alain Greppin.
20409
9462775a
VS
204102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20411
20412 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20413 Reported and tested by: Alain Greppin.
20414
0fd48e35
VS
204152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20416
20417 Satisfy some bison versions need for inttypes.h.
20418
20419 * grub-core/lib/posix_wrap/inttypes.h: New file.
20420 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20421 (int16_t): Likewise.
20422 (int32_t): Likewise.
20423 (int64_t): Likewise.
20424 Reported and tested by: Alain Greppin.
20425
43f1bc83
VS
204262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20429 Silence spurious warning.
20430 Reported and tested by: Alain Greppin.
20431
64d1f041
SJ
204322011-01-07 Szymon Janc <szymon@janc.net.pl>
20433
20434 * docs/grub.texi (Support automatic decompression): Update with xz
20435 decompression support.
20436
25953e10
SJ
204372011-01-07 Szymon Janc <szymon@janc.net.pl>
20438
20439 Improve loaders' kernel command line handling.
20440
20441 * grub-core/lib/cmdline.c: New file.
20442 * include/grub/lib/cmdline.h: Likewise.
20443 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20444 grub_create_loader_cmdline to create kernel command line.
20445 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20446 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20447 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20448 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20449 (linux): Add lib/cmdline.c on common.
20450
e72d259f
VS
204512011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20454 inopos might be unaligned.
20455
c0cf26da
VS
204562011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20459 endian transformations.
20460 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20461 Based on report by: Doug Nazar.
20462
0ca09e6c
DN
204632011-01-07 Doug Nazar <nazard.michi@gmail.com>
20464
20465 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20466 array->members[i].start_sector.
20467 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20468
014b6806
VS
204692011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20472 Reported and tested by: Grégoire Sutre.
20473
415502c2
CW
204742011-01-06 Colin Watson <cjwatson@ubuntu.com>
20475
20476 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20477 avoid causing test failures by clearing the screen.
20478
71b6a2b7
CW
204792011-01-06 Colin Watson <cjwatson@ubuntu.com>
20480
20481 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20482 Fix prefix check to handle the case where dir ends with a slash
20483 (most significantly, "/" itself).
20484 Reported by: Michael Vogt.
20485
b3f8d28a
VS
204862011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 Run terminfo_cls on initing terminfo output to clear the screen and
20489 move the cursor to (0,0).
20490
20491 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20492 Call grub_terminfo_output_init.
20493 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20494 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20495 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20496
4c3e4f37
VS
204972011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20498
20499 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20500 only when needed.
20501
488f71f1
VS
205022011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20503
20504 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20505 CTRL.
20506
18a38098
VS
205072011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20508
20509 The E820 type 5 is BADRAM, not EXEC_CODE.
20510
20511 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20512 (GRUB_E820_BADRAM): New define.
20513 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20514 into reserved. Propagate BADRAM.
20515 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20516 (GRUB_E820_BADRAM): New define.
20517
9eae2084
VS
205182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20521 Ignore the memory post-4G.
20522 (grub_relocator_firmware_alloc_region): Additional debug statement.
20523
ebc71d28
VS
205242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20527 names.
20528 Reported by: David Pravec.
20529
446fa400
VS
205302011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20533 BIOSes.
20534
a0159f37
VS
205352011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20538 Prevent overflow.
20539 (grub_reed_solomon_recover): Likewise.
20540
e5146ca1
VS
205412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20544
205452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20546
20547 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20548 variable.
20549
5b1bdf12
CW
205502011-01-04 Colin Watson <cjwatson@ubuntu.com>
20551
20552 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20553 descriptions of extract_legacy_entries_source and
20554 extract_legacy_entries_configfile.
20555 Reported by: Seung Soo, Ha.
20556
99d925aa
CW
205572011-01-03 Colin Watson <cjwatson@ubuntu.com>
20558
20559 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20560 on devices that do not implement function 0.
20561
4af0504b
DV
205622011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20563
20564 * grub-core/fs/hfsplus.c: Make parent unsigned.
20565 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20566 overflows.
20567 (grub_hfsplus_cmp_extkey): Likewise
20568
469ee10a
VS
205692011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20570
20571 * util/grub-install.in: Correctly use bootloader_id and not
20572 GRUB_DISTRIBUTOR on efibootmgr line.
20573
323a8e9c
VS
205742011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20577
1b394975
IC
205782010-12-31 Ian Campbell <ijc@hellion.org.uk>
20579
20580 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20581 Xen and reorder menu item wording to make it clearer that this entry
20582 will launch Xen. Print separate messages when loading Xen and
20583 Linux.
20584
275bff5f
VS
205852010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20586
20587 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20588 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20589 loop in case of incorrect amiga partmap.
20590
307806cb
VS
205912010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20592
20593 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20594 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20595 Reported by:EHeM.
20596
b12b923e
VS
205972010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20600 spurious warning.
20601 Reported by: crocket
20602
14b48a19
VS
206032010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20604
20605 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20606 Preload EFIemu.
20607 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20608
693db2df
VS
206092010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20612 is loaded
20613 (grub_cmd_xnu_kextdir): Likewise.
20614 (grub_cmd_xnu_splash): Likewise.
20615
c7638645
VS
206162010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20617
20618 Avoid using Reed-Solomon with 0 redundancy.
20619
20620 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20621 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20622 or 0 redundancy.
20623 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20624 (grub_reed_solomon_recover): Likewise.
20625
25dd4780
VS
206262010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20627
20628 Don't use disk subsystem in freebsd_boot.
20629
20630 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20631 (freebsd_biosdev): Likewise.
20632 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20633 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20634
0b2db943
VS
206352010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 Handling of files of unknown size is currently limited. They can't be
20638 used e.g. for initrd or modules. Moreover gzip handling of not
20639 easily seekable files is buggy. Disable unknown file size for now. May
20640 be inefficient but works.
20641
20642 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20643 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20644
5c408d0f
MP
206452010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20646
20647 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20648 floppy probe.
20649
190a011a
JD
206502010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20651
20652 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20653
022d01b8
SL
206542010-12-25 Shea Levy <shlevy>
20655
20656 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20657
c4855fdc
VS
206582010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20661 Windows Server 2008.
20662 Reported by: Devin Giddings.
20663
0354b867
VS
206642010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20665
20666 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20667 writing an error message because of async power management.
20668 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20669 (grub_reboot): Likewise.
20670
ab66c69f
JU
206712010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20672
20673 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20674 keep unit tests from failing when they shouldn't.
20675
1426ef35
CW
206762010-12-21 Colin Watson <cjwatson@ubuntu.com>
20677
20678 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20679 previous patch increased the size of the RS code by 20 bytes (at
20680 least with gcc-4.4), so increase this by 20 bytes to match.
20681 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20682
20641b6b
CW
206832010-12-21 Colin Watson <cjwatson@ubuntu.com>
20684
20685 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20686 scratch area. Make sure to initialise chosen in standalone mode as
20687 well as non-standalone.
20688 Reported by: Robert Hooker and Andy Whitcroft.
20689 Tested by: Andy Whitcroft.
20690
d060ad60
CW
206912010-12-21 Colin Watson <cjwatson@ubuntu.com>
20692
20693 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20694 constructing a new unescaped string and passing it to grub_xputs in
20695 one go, rather than passing characters to grub_printf one at a time.
20696
b889cfad
CW
206972010-12-21 Colin Watson <cjwatson@ubuntu.com>
20698
20699 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20700 initialising utf16.
20701
4e01b6c8
CW
207022010-12-21 Colin Watson <cjwatson@ubuntu.com>
20703
20704 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20705 comment. Add an extra layer of quotation, requiring the output of
20706 this function to be used in a printf format string.
20707 (gettext_printf): New function.
20708 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20709 Extract translatable strings from here-documents and use a temporary
20710 variable instead, so that xgettext can find them.
20711 * util/grub.d/10_kfreebsd.in: Likewise.
20712 * util/grub.d/10_linux.in: Likewise.
20713 * util/grub.d/20_linux_xen.in: Likewise.
20714
20715 * po/grub.d.sed: New file.
20716 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20717 arguments. Set c-format flags on all strings extracted from
20718 util/grub.d/ (xgettext refuses to include these itself for strings
20719 it extracted from a shell file, but these really are c-format).
20720
5318fe98
VS
207212010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20722
20723 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
20724 Avoid next pointing to nowhere.
20725
6c85b743
VS
207262010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
20729 rather than assuming than rootblock is exactly in the middle.
20730 (grub_affs_label): Likewise.
20731
a2a08a35
VS
207322010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
20735 reserved_first_sector to 0.
20736 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
20737 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
20738 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
20739
7059d1ec
VS
207402010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20741
20742 Fix handling of UTF-16 UDF labels.
20743
20744 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
20745 (read_string): .. here.
20746 (grub_udf_label): Use read_string.
20747
30aff4cb
BC
207482010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
20749
20750 * grub-core/normal/menu_entry.c (run): Execute commands from menu
20751 editor under argument scope.
20752 Reported by: Jordan Uggla
20753
5cf86f4b
VS
207542010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
20757
32570200
CW
207582010-12-18 Colin Watson <cjwatson@ubuntu.com>
20759
20760 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
20761 line, and other keys scroll an entire page (previous handling was
20762 for \r and \n to scroll a page and other keys to scroll two lines).
20763
e1dffcf2
VS
207642010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20765
20766 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20767 Set ptrdest to correct get_physical_target_address rather than
20768 incorrect get_virtual_current_address.
20769
b04298cf 207702010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
20771
20772 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
20773 correct cat to grub_uint8_t * rather than grub_uint32_t *.
20774
5367ecd3
CW
207752010-12-10 Colin Watson <cjwatson@ubuntu.com>
20776
20777 * .bzrignore: Ignore grub-core/rs_decoder.S.
20778
1fb430f8
CW
207792010-12-10 Colin Watson <cjwatson@ubuntu.com>
20780
20781 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
20782 .mo/.mo.gz opening sequence to ...
20783 (grub_mofile_open_lang): ... here.
20784 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
20785 * util/grub.d/00_header.in (grub_lang): Include country part of
20786 locale.
20787 Reported by: Mario Limonciello.
20788
a94a6671
RM
207892010-12-09 Robert Millan <rmh@gnu.org>
20790
20791 * NEWS: Document addition of ZFS support.
20792
24b7938b
CW
207932010-12-04 Colin Watson <cjwatson@ubuntu.com>
20794
20795 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
20796 rather than `/ 2', as the latter requires -Wa,--divide which would
20797 require bumping our minimum binutils version.
20798
bddc3ef6
BC
207992010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
20800
20801 * util/grub-script-check.c (main): Print script line number on
20802 error.
20803
bf78d5b2
RM
208042010-12-01 Robert Millan <rmh@gnu.org>
20805
20806 * grub-core/fs/zfs/zfs.c: New file.
20807 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
20808 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
20809 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
20810 * grub-core/fs/zfs/zfsinfo.c: Likewise.
20811
20812 * include/grub/zfs/dmu.h: Likewise.
20813 * include/grub/zfs/dmu_objset.h: Likewise.
20814 * include/grub/zfs/dnode.h: Likewise.
20815 * include/grub/zfs/dsl_dataset.h: Likewise.
20816 * include/grub/zfs/dsl_dir.h: Likewise.
20817 * include/grub/zfs/sa_impl.h: Likewise.
20818 * include/grub/zfs/spa.h: Likewise.
20819 * include/grub/zfs/uberblock_impl.h: Likewise.
20820 * include/grub/zfs/vdev_impl.h: Likewise.
20821 * include/grub/zfs/zap_impl.h: Likewise.
20822 * include/grub/zfs/zap_leaf.h: Likewise.
20823 * include/grub/zfs/zfs.h: Likewise.
20824 * include/grub/zfs/zfs_acl.h: Likewise.
20825 * include/grub/zfs/zfs_znode.h: Likewise.
20826 * include/grub/zfs/zil.h: Likewise.
20827 * include/grub/zfs/zio.h: Likewise.
20828 * include/grub/zfs/zio_checksum.h: Likewise.
20829
20830 * Makefile.util.def: Build ZFS into libgrubmods.
20831 * grub-core/Makefile.core.def: Build zfs.mod.
20832
3f0f3831
SJ
208332010-11-30 Szymon Janc <szymon@janc.net.pl>
20834
20835 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20836 variable.
20837 * grub-core/commands/wildcard.c (match_files): Likewise.
20838
3a4253b2
RM
208392010-11-30 Robert Millan <rmh@gnu.org>
20840
20841 * grub-core/loader/i386/bsd.c
20842 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20843 whether kernel is loaded using grub_loader_is_loaded(), rather
20844 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20845 certain error conditions.
20846
8c317b27
RM
208472010-11-30 Robert Millan <rmh@gnu.org>
20848
c5c9cd3e
RM
20849 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20850 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20851
49d3ab46
VS
208522010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20853
20854 Avoid using tricks for initialising endian variables.
20855
20856 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20857 Make const.
20858 (GRUB_MOD_INIT): Don't byte-swap.
20859 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20860 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20861 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20862 (grub_swap_bytes32_compile_time): Likewise.
20863 (grub_cpu_to_le32_compile_time): Likewise.
20864 (grub_cpu_to_le16_compile_time): Likewise.
20865
f420a804
VS
208662010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20867
20868 * util/grub-setup.c (setup): Stop recommending --force. People who
20869 understand the dangers of blocklists are able to find this option
20870 anyway and the ones who don't shouldn't use it anyway.
20871
4e7db17b
RM
208722010-11-26 Robert Millan <rmh@gnu.org>
20873
20874 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20875 Update all users.
20876
9be57a0d
CW
208772010-11-26 Colin Watson <cjwatson@ubuntu.com>
20878
20879 Fix LVM-on-RAID probing.
20880
20881 * util/grub-probe.c (probe): Remember which disk was detected as
20882 RAID (perhaps an LVM physical volume). Use that disk's raidname
20883 rather than that of the top-level disk.
20884
2c7859b3 208852010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20886
d7647bb6
BC
20887 Fix cmdline argument quotes for setparams command of menuentry
20888 definitions.
7e623b0d
BC
20889
20890 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20891 quotes for arguments.
f866fe80 20892 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20893 grub_strchrsub function instead.
f866fe80 20894
7955bea0 20895 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20896
74f72a64
CW
208972010-11-24 Colin Watson <cjwatson@ubuntu.com>
20898
20899 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20900 effort by skipping "." and ".." entries up-front.
20901 Suggested by: Michael Lazarev.
20902
5a407278
CW
209032010-11-24 Colin Watson <cjwatson@ubuntu.com>
20904
20905 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20906 ldflags to ldadd, to fix link line ordering.
20907 (none_decompress): Likewise.
20908
3030d8ec
CW
209092010-11-24 Colin Watson <cjwatson@ubuntu.com>
20910
20911 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20912 platforms.
20913 (grub-emu-lite): Remove kern/emu/cache.S.
20914
b7fbac12
CW
209152010-11-23 Colin Watson <cjwatson@ubuntu.com>
20916
20917 * util/deviceiter.c (compare_devices): If the by-id link for a
20918 device couldn't be resolved, fall back to sorting by the by-id link
20919 rather than segfaulting.
20920 Reported and tested by: Daniel Mierswa.
20921
5225f328
CW
209222010-11-23 Colin Watson <cjwatson@ubuntu.com>
20923
20924 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20925 ldflags, to fix link line ordering.
20926
038b3ce8
CW
209272010-11-23 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20930 linkers are picky about this.
20931
bf16e98e
CW
209322010-11-23 Colin Watson <cjwatson@ubuntu.com>
20933
20934 * grub-core/Makefile.am (command.lst): Adjust sed expression
20935 ordering so that extended and priority commands aren't treated as
20936 ordinary commands.
20937
7242bab6
CW
209382010-11-23 Colin Watson <cjwatson@ubuntu.com>
20939
20940 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20941 Remove byte-swapping function calls, which are not valid in
20942 structure initialisers.
20943 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20944 non-const.
20945 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20946 grub_gpt_partition_type_bios_boot.
20947
14e8b279
CW
209482010-11-22 Colin Watson <cjwatson@ubuntu.com>
20949
20950 Fix test program build on GNU/kFreeBSD.
20951
20952 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20953 $(LIBNVPAIR)' library dependencies.
20954
e6f63338 209552010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20956
20957 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20958
cf8ffc38
CW
209592010-11-22 Colin Watson <cjwatson@ubuntu.com>
20960
20961 * util/grub-install.in: Remove excessive quoting that broke
20962 installations to RAID devices.
20963
7f8b0fd7
VS
209642010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20965
20966 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20967 bootloader version instead of 0.
20968
dfd240b1
VS
209692010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20970
20971 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20972 warning.
20973
7b61e609
VS
209742010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20975
20976 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20977 retrieve the metadat sector if size isn't known.
20978 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20979
9dfe92d0
RM
209802010-11-18 Robert Millan <rmh@gnu.org>
20981
20982 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20983 with grub_memcmp().
20984
41cc919e
VS
209852010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20986
20987 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20988 arrow.
20989 Reported by: Jordan Uggla.
20990
1afcc914
VS
209912010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 Make better UTF compliant.
20994
20995 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20996 sequences as incorrect.
20997 (grub_is_valid_utf8): Likewise.
20998 (grub_utf8_to_ucs4): Likewise.
20999 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21000 (grub_ucs4_to_utf8_alloc): Likewise.
21001 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21002
f1808884
VS
210032010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21004
21005 Make legacy_source behave like source.
21006
21007 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21008 grub_show_menu.
21009 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21010
24ec575b
CW
210112010-11-16 Colin Watson <cjwatson@debian.org>
21012
21013 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21014 (-Wunused implies -Wunused-parameter, but not vice versa).
21015
72b7c7aa
CW
210162010-11-16 Colin Watson <cjwatson@ubuntu.com>
21017
21018 * configure.ac: Make error messages less confusing by testing for
21019 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21020 accepted, but produces a diagnostic if something else is wrong).
21021
e98937aa
VS
210222010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21025 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21026 (now unused).
21027 (grub_keyboard_controller_init)
21028 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21029 read the initial state since controller isn't inited yet.
21030
f6bbabc3
VS
210312010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21032
21033 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21034 allocate_regbeg may need to create new chunk header.
21035
22e7dbb2
VS
210362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21037
21038 Fix quoting in legacy parser.
21039
21040 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21041 single quotes.
21042 (grub_legacy_parse): Likewise.
21043 Reported by: Jordan Uggla.
21044 Tested by: Jordan Uggla.
21045
03f80960
VS
210462010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 Don't add -lgcc on i386 and x86_64.
21049
21050 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21051 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21052 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21053
779dc15b
VS
210542010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21055
21056 * configure.ac: Add -Wno-trampolines when supported.
21057
d20a3b37
MV
210582010-11-14 Modestas Vainius <modax@debian.org>
21059
21060 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21061 fakeraid.
21062
e5360933
GC
210632010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21064
21065 Add generic logical block size support for UDF.
21066
21067 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21068 (GRUB_UDF_BLKSZ): Removed.
21069 (struct grub_udf_data): New field "lbshift" to hold the logical block
21070 size of the file system in log2 format. All users updated.
21071 (sblocklist): Change type to unsigned.
21072 (grub_udf_mount): Change type of "sblklist" to unsigned.
21073 Move AVDP search before VRS recognition, because the latter requires
21074 knowledge of the logical block size, which is detected during the
21075 former.
21076 Detect and validate logical block size during AVDP search, adding
21077 support for block sizes 512, 1024 and 4096.
21078 Make VRS recognition independent of block size.
21079
cb0229c5
GC
210802010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21081
21082 Properly handle deleted files on UDF.
21083
21084 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
21085 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
21086 set.
21087
406858a8
GC
210882010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21089
21090 Support reading files larger than 2 GiB.
21091
21092 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21093 "offset" to grub_off_t.
21094 (grub_udf_read_file): Likewise for parameter "pos".
21095
130da6a7
VS
210962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21097
21098 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21099 unavailable.
21100 (Simple configuration): Refer to Changes from GRUB Legacy about
21101 save_env availability.
21102
65e93f6b
VS
211032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * util/grub-install.in: Ignore empty partition table detection
21106 instead of trying to include part_ module.
21107
1fd08bf1
VS
211082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21111 LVM on RAID support.
21112
de1a024f
VS
211132010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 Properly define WORDS_BIGENDIAN in wrapped environments.
21116
21117 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
21118 definition.
21119 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
21120
21121 Reported by: Manoel Rebelo Abranches.
21122 Tested by: Manoel Rebelo Abranches.
21123
bc5dd0b9
VS
211242010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21125
21126 * util/grub-mkconfig.in: Fix quoting.
21127
58c184be
VS
211282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21129
21130 Support big ext2 files.
21131
21132 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
21133 (grub_ext2_read_block): Support triple indirect blocks.
21134 (grub_ext2_read_file): Use 64-bit types and read size_high.
21135 (grub_ext2_open): Read size_high.
21136 Reported by: Ximin Luo.
21137 Tested by: Manoel Rebelo Abranches.
21138
5f0c02b3
VS
211392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 * util/grub-install.in: Handle filenames containing spaces.
21142 Reported by: Jordan Uggla.
21143 Tested by: Jordan Uggla.
21144
4417aae6
VS
211452010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21146
21147 * util/grub-mkconfig.in (grub_script_check): New variable.
21148 Use grub_script_check instead of grub-script-check.
21149 Reported by: Barry Jackson.
21150
7625a68e
VS
211512010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 * docs/grub.texi (menu): Correct the order.
21154 Reported by: D. Hugh Redelmeier.
21155
10001ac5
VS
211562010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
21159 jump.
21160
9c4cf53b
MRA
211612010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21162
10001ac5
VS
21163 * include/grub/elfload.h (grub_elf32_size): New parameter.
21164 All users updated.
9c4cf53b
MRA
21165 Return maximum segments alignment.
21166 (grub_elf64_size): Likewise.
21167 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
21168 Return maximum segments alignment.
21169 (grub_elf64_size): Likewise.
21170 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
21171 (grub_linux_claimmap_iterate): New function. Uses the
21172 "available" property in the "memory" node for memory allocation
21173 for kernel in the PowerPC loader.
9c4cf53b
MRA
21174 (grub_linux_load32): Correctly find linux entry point offset.
21175 (grub_linux_load64): Likewise.
21176
d2bf06bf
RM
211772010-11-07 Robert Millan <rmh@gnu.org>
21178
21179 On mips-yeeloong, build with -march=loongson2f when this flag is
21180 available (GCC >= 4.4).
21181 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
21182 `-march=mips3'.
21183 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
21184 or otherwise add -march=mips3.
21185
898c99a2
BC
211862010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
21187
87220a68
BC
21188 Suppress shell expansion on echo '*' and echo "*" like cases.
21189 Reported by: Jordan Uggla.
898c99a2
BC
21190
21191 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
21192 string arguments before shell expansion.
21193 * tests/grub_cmd_echo.in: New testcases.
21194
4f9b406a
RM
211952010-11-07 Robert Millan <rmh@gnu.org>
21196
21197 * conf/mips-qemu-mips.rmk: Remove stale file from previous
21198 transition.
21199
80c6d25e
VS
212002010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21201
21202 * grub-core/kern/emu/hostdisk.c
21203 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21204
4a1a0153
VS
212052010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21208 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21209 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21210
34706ddc
VS
212112010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21214
6972dea9
VS
212152010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21216
21217 * util/grub-install.in: Replace useless recomendation to pass
21218 --modules with a recomendation to report a bug.
21219
9c693bd6
VS
212202010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21221
21222 Properly register serial terminfo.
21223 Reported by: Jordan Uggla
21224
21225 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21226 const.
21227 (grub_serial_terminfo_output_template): Likewise.
21228 (grub_cmd_serial): Register "serial" with terminfo.
21229 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21230 grub_serial_terminfo_output.
21231
6c9e4c0c
RM
212322010-11-05 Robert Millan <rmh@gnu.org>
21233
21234 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21235 needed).
21236
b9b3839f
RM
212372010-11-05 Robert Millan <rmh@gnu.org>
21238
21239 On Yeeloong, pass machine type information to Linux.
21240
21241 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21242 (LOONGSON_MACHTYPE): New macro, set to
21243 "machtype=lemote-yeeloong-2f-8.9inches".
21244 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21245 additional argument to Linux.
21246
1a3aaff4
RM
212472010-11-04 Robert Millan <rmh@gnu.org>
21248
21249 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21250 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21251 (its SATA disks are detected as slaveless IDE master drives on
21252 kFreeBSD).
21253 Reported by Carsten Aulbert.
21254
a75f4f62
CW
212552010-11-02 Colin Watson <cjwatson@ubuntu.com>
21256
21257 * util/bin2h.c (main): Fix spelling error in generated output.
21258
33b4b0c6
GS
212592010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21260
21261 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21262
2b36fbf4
VS
212632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21266 vga= option is supplied.
21267
74aaf558
VS
212682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21269
21270 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21271 * util/grub.d/10_kfreebsd.in: Likewise.
21272 * util/grub.d/10_linux.in: Likewise.
21273 * util/grub.d/20_linux_xen.in: Likewise.
21274
6428dec3
VS
212752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21276
21277 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21278 argument as an argument to no-argument option.
21279
f8729d98
VS
212802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21281
21282 * util/grub.d/10_linux.in: Add missing load_video with explicit
21283 GRUB_GFXPAYLOAD_LINUX.
21284
89d68fa6
VS
212852010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21288
3a1197cd
VS
212892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21290
21291 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21292 elements with invlid index.
21293 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21294 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21295 members.
21296 * include/grub/raid.h (grub_raid_member): New struct.
21297 (grub_raid_array): Transform devices and start_sector into usage of
21298 grub_raid_member. All users updated
21299 (allocated_devs): New member.
21300
71574288
VS
213012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21304 is modified
21305
8d40ec65
BC
213062010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21307
21308 NetBSD build fix for getline function conflict from gnulib.
21309
21310 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21311 components that depend on gnulib headers.
21312 (libgrubmods.a): Renamed from earlier libgrub.a.
21313 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21314
95b9257e
VS
213152010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21316
21317 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21318 install rather than creating a broken install.
21319
26c53dc6
VS
213202010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 * util/grub-setup.c (argp): Remove misleading example of installing to
21323 a partition.
21324
4171b3c5
VS
213252010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21326
21327 * util/grub-setup.c (setup): Clarify the error message.
21328
18568d18
VS
213292010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21330
21331 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21332
4f6a2e21
VS
213332010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21334
21335 * grub-core/kern/emu/misc.c
21336 (grub_make_system_path_relative_to_its_root)
21337 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21338
213392010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21340
21341 * grub-core/kern/emu/misc.c
21342 (grub_make_system_path_relative_to_its_root): Revert r2882.
21343
e138c458
VS
213442010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21345
21346 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21347 useless field head. All users updated.
21348 (free_subchunk): Correct handling of IN_REGION subchunk.
21349
0cbcdf0e
CW
213502010-10-22 Colin Watson <cjwatson@ubuntu.com>
21351
21352 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21353 (Supported kernels): Likewise.
21354
b65ea155
GS
213552010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21356
21357 Make mktemp invocations portable.
21358
21359 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21360 exit if mktemp fails.
21361 * tests/grub_script_blockarg.in: Likewise.
21362 * tests/partmap_test.in: Likewise.
21363 * tests/util/grub-shell-tester.in: Likewise.
21364 * tests/util/grub-shell.in: Likewise.
21365 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21366 * Makefile.am: Likewise, and chain shell commands with `&&'
21367 instead of ';'.
21368 * util/grub-mkrescue.in: Use the same explicit template as above, and
21369 exit if mktemp fails.
21370
05f43cdd
BC
213712010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21372
21373 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21374 Linux kernel, reported by Dennis Schridde.
21375
800e6a9b
SJ
213762010-10-17 Szymon Janc <szymon@janc.net.pl>
21377
21378 * grub-core/normal/auth.c (grub_auth_check_authentication):
21379 Set-but-not-used variable removed.
21380
d82df574
VS
213812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21384 32-bit linux protocol.
21385
7bced458
VS
213862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21387
21388 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21389 cursor shape for sanity.
21390
5b027690
VS
213912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 * docs/grub.texi (Installation): Document buggy BIOS install.
21394
ba5f65cf
VS
213952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 * docs/grub.texi (Installation): Indent.
21398
fdf2ec9c
VS
213992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * util/grub-setup.c (setup): New parameter allow_floppy.
21402 (arguments): New member allow_floppy.
21403 (argp_parser): Handle --allow-floppy.
21404 (main): Pass allow_floppy.
21405 * util/grub-install.in: New option --allow-floppy passed though to
21406 grub-setup.
21407
861dfd4c
VS
214082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 * util/grub-install.in: Handle partitionless disks.
21411
f77a8c24
VS
214122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 * util/grub-setup.c (setup): Don't clean blocklists before readability
21415 verfification.
21416
27d9ee32
VS
214172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * docs/grub.texi (Installation): Document embedding zone. Remove
21420 obsolete grub-install example.
21421
6bdda8f8
SJ
214222010-10-16 Szymon Janc <szymon@janc.net.pl>
21423
21424 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21425 Set-but-not-used variable ifdef'ed.
21426 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21427 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21428 variable removed.
21429 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21430 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21431 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21432 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21433 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21434 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21435 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21436 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21437 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21438 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21439 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21440 Likewise.
21441
e19b016b
VS
214422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21445 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21446 enum value.
21447
6c8d3002
VS
214482010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21449
21450 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21451 synonym to _S5_. Needed for some DSDTs.
21452
c32b51c9
VS
214532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 Userspace ACPI parser debugging.
21456
21457 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21458 headers and add relevant defines. Don't include standard headers.
21459 (main) [GRUB_DSDT_TEST]: New function.
21460 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21461 Don't declare functions.
21462
fbfbeb39
VS
214632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 Remove dead grub_efi_mm_fini.
21466
21467 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21468 (ALLOCATED_PAGES_SIZE): Likewise.
21469 (MAX_ALLOCATED_PAGES): Likewise.
21470 (allocated_pages): Likewise.
21471 (grub_efi_allocate_pages): Don't record allocated pages.
21472 (grub_efi_free_pages): Likewise.
21473 (grub_efi_mm_init): Likewise.
21474 (grub_efi_mm_fini): Removed.
21475
65f7ed7c
VS
214762010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21479 (grub_efi_mm_init): Take into account the memory map size increase.
21480
24977b44
VS
214812010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21482
21483 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21484 (serial_hw_put): Wait based on real time rather than port reads. Don't
21485 roken ports.
21486 * include/grub/serial.h (grub_serial_port): New field broken.
21487
1eb01cd2
RM
214882010-10-16 Robert Millan <rmh@gnu.org>
21489
21490 * grub-core/kern/emu/misc.c
21491 (grub_make_system_path_relative_to_its_root): Fix premature return
21492 when processing non-root ZFS filesystems.
5f8b440b 21493 Reported by Sergio Talens-Oliag.
1eb01cd2 21494
2d5fed60
RM
214952010-10-15 Robert Millan <rmh@gnu.org>
21496
21497 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21498 guarantee compressed ones are processed first.
21499
d0f4c1ea
VS
215002010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21503 grub_efiemu_autocore.
21504
d87c681f
VS
215052010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21508 rather than 0x1b.
21509 (grub_console_getkey): Use correct jae opcode rather than ja.
21510
219b3564
RM
215112010-10-12 Robert Millan <rmh@gnu.org>
21512
21513 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21514 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21515 variable. All references updated.
21516
21517 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21518
20c6bb7e
VS
215192010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21520
21521 Correctly distinguish mdraid flavours.
21522
21523 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21524 (insert_array): New argument raid.
21525 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21526 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21527 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21528
74baff84
VS
215292010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21530
21531 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21532 handling of special keys.
21533
3ef068df 215342010-10-02 Aleš Nesrsta <starous@volny.cz>
21535
c7980ad9
VS
21536 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21537 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21538
a9455194 215392010-10-02 Aleš Nesrsta <starous@volny.cz>
21540
c7980ad9
VS
21541 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21542 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21543 users updated.
a9455194 21544 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21545 Use right endpoint when querying descriptor.
a9455194 21546
441cfe65
VS
215472010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21548
21549 Clear out 0x80 color bit on EFI.
21550 Tested by: decoder
21551 Reported by: decoder and meta tech.
21552
21553 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21554 (grub_console_setcolorstate): Clear out 0x80 bit.
21555 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21556 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21557 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21558
bf26bcc4
VS
215592010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21560
21561 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21562 Set to "auto".
21563
6e3c515d
VS
215642010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21567 mo_file after freeing.
21568
e6d983ba
VS
215692010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21572
74ccb5b5
VS
215732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21576 flags.
21577
17821956
VS
215782010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21579
21580 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21581 usage.
21582
ee74fa48
VS
215832010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21586
21587 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21588 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21589 and terminfo.h when needed.
21590 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21591 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21592 (terminfo): Enable only on terminfokernel.
21593 (extcmd): Likewise.
21594 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21595 * include/grub/lib/arg.h: Likewise.
21596 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21597 incorrect usage of ->.
21598
aa438e68
VS
215992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21600
21601 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21602 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21603
57994012
VS
216042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21605
21606 Fix coreboot compilation.
21607
21608 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21609 Take VBE info into account even if only text is supported.
21610 (fill_vbe_info): Take into account the case when only VGA text
21611 is supported.
21612 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21613 on coreboot, multiboot and qemu.
21614
2a406611
VS
216152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21618 debug messages.
21619 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21620
d33613fc
VS
216212010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21622
21623 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21624 parameters.
21625
44a1b432
VS
216262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21627
21628 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21629 if they were BSD-style.
21630
edde54e6
VS
216312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21632
21633 * grub-core/boot/i386/pc/lnxboot.S: Replace
21634 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21635 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21636
b65830fa
VS
216372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21638
21639 Write embedding zone using Reed-Solomon.
21640
21641 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21642 * grub-core/Makefile.am (rs_decoder.S): New target.
21643 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21644 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21645 (multiboot): Move to RS part.
21646 (post_reed_solomon): New label.
21647 (grub_boot_drive): Move to non-RS part since it's modified in memory
21648 on boot.
21649 Include rs_decoder.S.
21650 * grub-core/lib/reed_solomon.c: New file.
21651 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21652 New definition.
21653 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21654 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21655 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21656 * include/grub/partition.h (grub_partition_map): Change prototype of
21657 embed to allow returning additional sectors.
21658 * include/grub/reed_solomon.h: New file.
21659 * util/grub-setup.c (setup): Handle Reed-Solomon.
21660
0b4b227f
CW
216612010-09-28 Colin Watson <cjwatson@ubuntu.com>
21662
21663 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21664 i386 and x86-64 definedness tests.
21665
f772623b
YB
216662010-09-27 Yves Blusseau <blusseau@zetam.org>
21667
21668 Fix generation of kernel_syms.lst
21669
21670 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21671 ASM_PREFIX
21672
8e57a6ca
RM
216732010-09-26 Robert Millan <rmh@gnu.org>
21674
21675 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21676
21677 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21678 the pool is an array of devices, iterate through it and return the
21679 first device that passes a stat() test (instead of blindly returning
21680 the first one).
21681
f9130836
RM
216822010-09-26 Robert Millan <rmh@gnu.org>
21683
21684 Build fixes for GNU/kFreeBSD.
21685
21686 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21687 to programs that require ZFS conversion.
21688 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21689 kernels that don't have FLOPPY_MAJOR.
21690
96510faf
BC
216912010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21692
21693 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21694
449333eb
BC
216952010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21696
21697 Fix grub-emu build.
21698
21699 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21700 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21701 mdraid09 and mdraid1x.
21702
e1fd1939
CW
217032010-09-24 Colin Watson <cjwatson@ubuntu.com>
21704
21705 Re-enable grub-extras.
21706
21707 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21708 avoid confusing Automake. Run autogen only twice, once for the top
21709 level and once for grub-core. Add Makefile.util.def and
21710 Makefile.core.def from extra modules to the appropriate autogen
21711 invocations. If Makefile.common exists in an extra module, include
21712 it in both Makefile.util.am and grub-core/Makefile.core.am;
21713 similarly, include any Makefile.util.common file in Makefile.util.am
21714 and any Makefile.core.common file in grub-core/Makefile.core.am.
21715 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21716 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21717 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21718 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21719
21720 * gentpl.py (gvar_add): Turn GVARS into a set.
21721 (global_variable_initializers): Sort global variables on output.
21722 (vars_init): New function.
21723 (first_time): Likewise.
21724 (library): Ensure that non-global variable initialisations are
21725 emitted before the first time we emit code for a library block.
21726 Append to variables rather than setting them. Only emit
21727 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
21728 each conditional path.
21729 (program): installdir() emits an Autogen macro, so must be passed to
21730 var_add rather than gvar_add.
21731 (data): Likewise.
21732 (script): Likewise.
21733 (rules): New function, centralising handling for different target
21734 types. Set up Guile association lists for first_time and vars_init,
21735 and send most output to a diversion so that variable initialisations
21736 can be emitted first.
21737 (module_rules): Use new rules function.
21738 (kernel_rules): Likewise.
21739 (image_rules): Likewise.
21740 (library_rules): Likewise.
21741 (program_rules): Likewise.
21742 (script_rules): Likewise.
21743 (data_rules): Likewise.
21744
21745 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
21746
21747 * .bzrignore: Add contrib and grub-core/contrib. Remove
21748 grub-core/Makefile.gcry.am.
21749
1d12cf29
YB
217502010-09-24 Yves Blusseau <blusseau@zetam.org>
21751
21752 * grub-core/lib/LzFind.c: Add missing include.
21753 * grub-core/lib/LzmaEnc.c: Likewise.
21754 * grub-core/script/lexer.c: Likewise.
21755 * grub-core/script/yylex.l: Likewise.
21756 * util/grub-macho2img.c: Likewise.
21757 * util/grub-menulst2cfg.c: Likewise.
21758 * util/grub-mklayout.c: Likewise.
21759 * util/grub-mkpasswd-pbkdf2.c
21760 * util/grub-mkrelpath.c: Likewise.
21761 * util/resolve.c: Likewise.
21762
dd363028
BC
217632010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
21764
21765 * Makefile.util.def (example_unit_test): Add
21766 grub-core/gnulib/libgnu.a.
21767
f5a109e2
GS
217682010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
21769
21770 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
21771
6d0fa83c
VS
217722010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21773
21774 Support xz compression on yeeloong.
21775
21776 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
21777 * configure.ac: Check for LZMA.
21778 * grub-core/Makefile.core.def (xz_decompress): New target.
21779 (none_decompress): Likewise.
21780 * grub-core/boot/decompressor/minilib.c: New file.
21781 * grub-core/boot/decompressor/none.c: Likewise.
21782 * grub-core/boot/decompressor/xz.c: Likewise.
21783 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
21784 * grub-core/kern/mips/cache_flush.S: Likewise.
21785 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
21786 * grub-core/kern/mips/startup.S: Move first stage to ...
21787 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
21788 nomacro.
21789 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
21790 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
21791 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
21792 Allocate statically.
21793 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
21794 Allocate statically or use scratch. Don't check CRC32.
21795 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
21796 Allocate statically. Don't check CRC32.
21797 * include/grub/decompressor.h: New file.
21798 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
21799 Removed.
21800 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
21801 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
21802 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
21803 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
21804 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
21805 * util/grub-mkimage.c (grub_compression_t): New type.
21806 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
21807 (image_target_desc): New field default_compression.
21808 (image_targets): Adjust yeeloong targets.
21809 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
21810 (compress_kernel): New parameter comp.
21811 (generate_image): Likewise. Handle new compression case.
21812 (options): New option --compression
21813 (help): Likewise.
21814 (main): Handle new option.
21815
1b655af6
GS
218162010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
21817
21818 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
21819
8f03f0b5
CW
218202010-09-22 Colin Watson <cjwatson@ubuntu.com>
21821
21822 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21823 typo in __i386__ conditional.
21824
7835dfd3
VS
218252010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
21828 include.
21829
e255597e
VS
218302010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
21831
6d0fa83c 21832 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21833
21834 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21835 new tags as supported.
21836 (acpiv2_size): New function.
21837 (grub_multiboot_get_mbi_size): Take new tags into account.
21838 (grub_multiboot_make_mbi): Add new tags.
21839 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21840
6cc14051 218412010-09-21 Aleš Nesrsta <starous@volny.cz>
21842
21843 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21844 Added missing configuration of USB device.
21845
df7769d8
CW
218462010-09-21 Colin Watson <cjwatson@ubuntu.com>
21847
21848 * grub-core/normal/menu_entry.c (run): Make sure we always return
21849 a value.
21850
b031012d
CW
218512010-09-21 Colin Watson <cjwatson@ubuntu.com>
21852
21853 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21854 NumberOfPages is UINT64 according to the UEFI specification, not
21855 UINTN. Fix printf format.
21856
174de8f3
CW
218572010-09-21 Colin Watson <cjwatson@ubuntu.com>
21858
21859 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21860 `err' to grub_usb_err_t.
21861 Reported and tested by: KESHAV P.R.
21862
d7dbe923
CW
218632010-09-21 Colin Watson <cjwatson@ubuntu.com>
21864
21865 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21866 tpart non-const, so that we can assign to it. (Since this is a
21867 typedef, the constness refers to the pointer rather than what it
21868 points to.)
21869
8d5e2af3
CW
218702010-09-21 Colin Watson <cjwatson@ubuntu.com>
21871
21872 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21873 $(top_srcdir)/grub-core/gnulib as well as
21874 $(top_builddir)/grub-core/gnulib.
21875 Reported by: KESHAV P.R.
21876
5c527783
CW
218772010-09-21 Colin Watson <cjwatson@ubuntu.com>
21878
21879 * util/grub-install.in: Fix the bootloader ID option to be
21880 consistently --bootloader-id, not --bootloader_id.
21881 Reported by: KESHAV P.R.
21882
d309a16e
CW
218832010-09-21 Colin Watson <cjwatson@ubuntu.com>
21884
21885 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21886 check hash checksum." consistently translatable.
21887
b830cd16
YB
218882010-09-21 Yves Blusseau <blusseau@zetam.org>
21889
21890 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21891 $(top_builddir).
21892
c4fe27a8
CW
218932010-09-21 Colin Watson <cjwatson@ubuntu.com>
21894
21895 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21896 (GRUB_MOD_INIT): Register sha1sum command.
21897 (GRUB_MOD_FINI): Unregister sha1sum command.
21898
a4c1d277
YB
218992010-09-21 Yves Blusseau <blusseau@zetam.org>
21900
21901 Keep boot and grub directory names in sync with utils scripts
21902
21903 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21904 * config.h.in: Add previous macros.
21905 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21906 * util/grub-install.in: Use $bootdir and $grubdir variables.
21907
4eff79d2
CW
219082010-09-21 Colin Watson <cjwatson@ubuntu.com>
21909
21910 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21911 convert partition names to disk names if the new `convert' parameter
21912 is set.
21913 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21914 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21915 disk in its own right. This can happen with Xen disk images.
21916
934d7e44
YB
219172010-09-21 Yves Blusseau <blusseau@zetam.org>
21918
21919 * util/grub-editenv.c: Update strings to avoid warnings when generating
21920 grub.pot file.
21921 * util/grub-setup.c: Likewise.
934d7e44 21922
df3367cc
VS
219232010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 * configure.ac: Change version to 1.99~beta0.
21926
77a94e98
VS
219272010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21928
21929 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21930 Add BADRAM.
21931 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21932 Likewise.
21933 * include/multiboot.h: Resynced with specification.
21934 * include/multiboot2.h: Likewise.
21935
269004c1
CW
219362010-09-21 Colin Watson <cjwatson@ubuntu.com>
21937
21938 Fix po directory handling.
21939
21940 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21941 * grub-core/gnulib/Makefile.am: Import gettext module.
21942 * m4/gnulib-cache.m4: Likewise.
21943 * m4/gnulib-comp.m4: Likewise.
21944 * m4/gettext.m4: New file, from gnulib.
21945 * m4/glibc2.m4: Likewise.
21946 * m4/iconv.m4: Likewise.
21947 * m4/intdiv0.m4: Likewise.
21948 * m4/intl.m4: Likewise.
21949 * m4/intldir.m4: Likewise.
21950 * m4/intlmacosx.m4: Likewise.
21951 * m4/intmax.m4: Likewise.
21952 * m4/inttypes-pri.m4: Likewise.
21953 * m4/lcmessage.m4: Likewise.
21954 * m4/lib-ld.m4: Likewise.
21955 * m4/lib-link.m4: Likewise.
21956 * m4/lib-prefix.m4: Likewise.
21957 * m4/lock.m4: Likewise.
21958 * m4/nls.m4: Likewise.
21959 * m4/po.m4: Likewise.
21960 * m4/printf-posix.m4: Likewise.
21961 * m4/progtest.m4: Likewise.
21962 * m4/threadlib.m4: Likewise.
21963 * m4/uintmax_t.m4: Likewise.
21964 * m4/visibility.m4: Likewise.
21965 * po/Makefile.am: Remove.
21966 * po/Makefile.in.in: New file, from gettext.
21967 ($(DOMAIN).pot-update): Support POTFILES-shell.
21968 * po/Makevars: New file.
21969 * po/POTFILES-shell: Rename to ...
21970 * po/POTFILES-shell.in: ... this. Update.
21971 * po/POTFILES: Rename to ...
21972 * po/POTFILES.in: ... this. Update.
21973 * po/Rules-quot: New file, from gettext.
21974 * po/boldquot.sed: Likewise.
21975 * po/en@boldquot.header: Likewise.
21976 * po/en@quot.header: Likewise.
21977 * po/insert-header.sin: Likewise.
21978 * po/quot.sed: Likewise.
21979 * po/remove-potcdate.sin: Likewise.
21980
3e0fa5d0
VS
219812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21982
21983 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21984
ade9bd66
VS
219852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21986
21987 * util/grub.d/20_linux_xen.in: Use submenus.
21988
fc55cc4c
VS
219892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 Support submenus.
21992
21993 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21994 parameter submenu. All users updated.
21995 * grub-core/normal/main.c (free_menu): Rename to ...
21996 (grub_normal_free_menu): ... this. Made global.
21997 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21998 if requested.
21999 * grub-core/normal/menu_entry.c (screen): New field submenu.
22000 (make_screen): Set submenu.
22001 (run): Open new context if requested.
22002 * include/grub/menu.h (grub_menu_entry): New field submenu.
22003 * include/grub/normal.h (grub_normal_free_menu): New proto.
22004
600cedf7
VS
220052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 Menu entries extractor.
22008
22009 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22010 variants.
22011 (GRUB_MOD_INIT): Register new variants.
22012 (GRUB_MOD_FINI): Unregister new variants.
22013 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22014 into grub_cmd_legacy_source.
22015 (grub_cmd_legacy_source): Implement extractor variants.
22016 (GRUB_MOD_INIT): Register new variants.
22017 (GRUB_MOD_FINI): Unregister new variants.
22018 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22019 as an extractor.
22020 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22021 search as an extractor.
22022 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22023 test as an extractor.
22024 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22025 as an extractor.
22026 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22027 (grub_env_new_context): New function.
22028 (grub_env_context_open): Likewise.
22029 (grub_env_extractor_open): Likewise.
22030 (grub_env_extractor_close): Likewise.
22031 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22032 grub_extractor_level.
22033 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22034 * include/grub/env.h (grub_env_extractor_open): New proto.
22035 (grub_env_extractor_close): Likewise.
22036 * include/grub/normal.h (grub_extractor_level): New external variable.
22037
7bda3a87
VS
220382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22039
22040 Make cutmem accept a region specification.
22041 Suggested by: Samuel Thibault
22042
22043 * grub-core/mmap/mmap.c (parsemem): New function.
22044 (grub_cmd_cutmem): Handle new arguments.
22045
2ea57f88
VS
220462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22047
22048 New command cutmem.
22049
22050 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22051 (GRUB_MOD_INIT): Register new command.
22052 (GRUB_MOD_FINI): Unregister new command.
22053
74342e31
VS
220542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22055
22056 Support some annoying BSD and Minix subpartitions.
22057
22058 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22059 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22060 Properly handle concatenation.
22061 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22062 * grub-core/normal/completion.c (iterate_partition): Likewise.
22063 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22064 contain partition. All users updated.
22065 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22066 struct.
22067 (grub_openbsdlabel_partition_map): Likewise.
22068 (bsdlabel_partition_map_iterate): Rename to ..
22069 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22070 (bsdlabel_partition_map_iterate): New function.
22071 (netopenbsdlabel_partition_map_iterate): Likewise.
22072 (netbsdlabel_partition_map_iterate): Likewise.
22073 (openbsdlabel_partition_map_iterate): Likewise.
22074 (GRUB_MOD_INIT): Register new partmaps.
22075 (GRUB_MOD_FINI): Unregister new partmaps.
22076 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22077 (grub_partition_msdos_iterate): ... this. All users updated.
22078 Don't support embedding other than in a minix partition.
22079 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
22080 proto.
22081 * include/grub/partition.h (grub_partition): New field msdostype.
22082 * util/grub-install.in: Handle openbsd and netbsd types being in
22083 part_bsd module.
22084
1e8d555b
VS
220852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22086
22087 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
22088
22089 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22090 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22091 (mdraid09): ... this.
22092 (mdraid1x): New module.
22093 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22094 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22095
899d8af4
VS
220962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22097
22098 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22099 vsprintf.
22100
40901acd
CW
221012010-09-20 Colin Watson <cjwatson@ubuntu.com>
22102
22103 * grub-core/commands/efi/lsefimmap.c: Correct header.
22104 * NEWS: Update.
22105
dfe3b247
CW
221062010-09-20 Colin Watson <cjwatson@ubuntu.com>
22107
22108 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22109 as printf format strings; the translations might contain '%' which
22110 could cause a crash.
22111 (main): Likewise.
22112 * util/grub-fstest.c (argp_parser): Likewise.
22113 * util/grub-setup.c (argp_parser): Likewise.
22114 (main): Likewise.
22115
3286a4b4
VS
221162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Use argp in grub-fstest.
22119
22120 * util/grub-fstest.c: Don't include getopt.h.
22121 Include argp.h.
22122 (root): New variable.
22123 (args_count): Likewise.
22124 (nparm): Likewise.
22125 (num_disks): Likewise.
22126 (images): Likewise.
22127 (cmd): Likewise.
22128 (debug_str): Likewise.
22129 (args): Likewise.
22130 (options): Transformed to argp.
22131 (usage): Removed.
22132 (main): Split argument parsing into ...
22133 (argp_parser): ... this. Changed to argp format.
22134 (argp): New variable.
22135 (main): Use argp_parse.
22136
3dccbe4b
TG
221372010-09-20 Tristan Gingold <gingold@free.fr>
221382010-09-20 Robert Millan <rmh.grub@aybabtu.com>
221392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * grub-core/commands/efi/lsefimmap.c: New file.
22142 * grub-core/Makefile.core.def (lsefimmap): New module.
22143 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
22144
38c259a7
VS
221452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 Pause the execution (10s max) if any errors are displayed so the user
22148 has a chance to see them.
22149
22150 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
22151 (grub_print_error): Increment grub_err_printed_errors.
22152 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
22153 execution if any errors were displayed.
22154 (show_menu): Remove old code for pause.
22155 * grub-core/normal/menu_entry.c (run): Likewise.
22156 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
22157 users updated.
22158 (grub_normal_get_char_counter): Likewise.
22159 * include/grub/err.h (grub_err_printed_errors): New external variable.
22160 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
22161
f218b09c
VS
221622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22163
22164 Support multiboot VBE info.
22165
22166 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22167 Take VBE info into account.
22168 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
22169 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22170 Call fill_vbe_info when appropriate.
22171 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
22172 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
22173 as supported.
22174 (grub_multiboot_get_mbi_size): Take new tags into account.
22175 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
22176 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22177 Call fill_vbe_tag when appropriate.
22178 (grub_multiboot_make_mbi): Properly align tags.
22179 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
22180 function.
22181 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
22182 proto.
22183 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
22184
a9cc5438
VS
221852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22186
22187 Suport manual terminal geometry specification.
22188
22189 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
22190 Save state in grub_ofconsole_terminfo_output.
22191 (grub_ofconsole_term): Use grub_terminfo_getwh.
22192 (grub_ofconsole_getwh): Removed.
22193 * grub-core/term/serial.c (grub_serial_getwh): Removed.
22194 (grub_serial_term): Use grub_terminfo_getwh.
22195 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
22196 (options): New struct.
22197 (OPTION_*): New enum.
22198 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22199 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22200 width and height.
22201 (grub_terminfo_getwh): New proto.
22202 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22203
1a8fed20
VS
222042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22205
22206 Handle legacy "terminal" command.
22207
22208 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22209 and FLAG_TERMINAL.
22210 (legacy_commands): Add terminal and title.
22211 (grub_legacy_parse): Handle terminal. Simplify title handling.
22212
41e9c57d
VS
222132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22216 parameters overflow.
22217
61c874c5
CW
222182010-09-20 Colin Watson <cjwatson@ubuntu.com>
22219
22220 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22221 widthspec.h.
22222
22223 * docs/grub.texi (Shell-like scripting): Document `!'.
22224 (Network): Simplify using new i386-pc-pxe format. Mention
22225 grub-mknetdir.
22226
22227 * NEWS: Update.
22228
943682b4
CW
222292010-09-20 Colin Watson <cjwatson@ubuntu.com>
22230
22231 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22232 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22233 when needed.
22234
6d3d698d
CW
222352010-09-20 Colin Watson <cjwatson@ubuntu.com>
22236
22237 * grub-core/commands/efi/lsefisystab.c: Correct header.
22238 * grub-core/commands/efi/lssal.c: Likewise.
22239 * grub-core/commands/testload.c: Likewise.
22240
c982589f
CW
222412010-09-20 Colin Watson <cjwatson@ubuntu.com>
22242
22243 * util/grub-mkrescue.in: Add explicit root argument to --set to
22244 prevent the UUID being interpreted as an argument to --set (matches
22245 previous change to prepare_grub_to_access_device).
22246
a63c31b6
CW
222472010-09-20 Colin Watson <cjwatson@ubuntu.com>
22248
22249 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22250 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22251 the verbosity of later #ifs.
22252 (find_partition_start): Define this function on FreeBSD too.
22253 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22254 function.
22255 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22256 on FreeBSD.
22257
6439b8ee
YB
222582010-09-20 Yves Blusseau <blusseau@zetam.org>
22259
22260 * util/grub-editenv.c: Use argp instead of getopt.
22261
c5930ec8
YB
222622010-09-20 Yves Blusseau <blusseau@zetam.org>
22263
22264 * util/grub-setup.c: Use argp instead of getopt.
22265
15c69261
YB
222662010-09-20 Yves Blusseau <blusseau@zetam.org>
22267
22268 Use gnulib-tool to create gnulib source files.
22269
22270 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22271 grub-core/gnulib directories
22272 * .bzignore: Add **/.deps and autogenerated gnulib files
22273 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22274 of gnulib macros, add grub-core/gnulib/Makefile
22275 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22276 include m4 directory to aclocal.
22277 * Makefile.util.def: Remove direct compilation of gnulib source files
22278 and use the new grub-core/gnulib/libgnu.a.
22279 * build-aux/config.rpath: move config.rpath from top directory to
22280 build-aux
22281 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22282 in gnulib headers
22283 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22284 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22285 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22286 header.
22287 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22288 string.
22289
e511c9f5
YB
222902010-09-20 Yves Blusseau <blusseau@zetam.org>
22291
22292 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22293 grub-core/genmod.sh and grub-core/gensyminfo.sh
22294
c2dede05
BC
222952010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22296
22297 Add a test for echo command options.
22298
22299 * tests/grub_cmd_echo.in: New test.
22300 * Makefile.util.def: Rules for new test.
22301
c55f5018
SJ
223022010-09-20 Szymon Janc <szymon@janc.net.pl>
22303
22304 Remove crc.mod and move crc command to hashsum.mod.
22305 Remove lib/crc.c - users updated to use gcrypt implementation.
22306
22307 * grub-core/commands/crc.c: Removed.
22308 * grub-core/Makefile.core.def (crc): Module removed.
22309 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22310 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22311 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22312 * grub-core/lib/crc.c: Removed.
22313 * include/grub/lib/crc.h: Removed.
22314 * Makefile.util.def (crc): Remove lib/crc.c
22315 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22316 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22317 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22318 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22319 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22320 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22321
e0337366
VS
223222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22323
22324 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22325
742f9232
VS
223262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22327
22328 Split config.h for util and core.
22329
22330 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22331 (ADDR32): Likewise.
22332 (DATA32): Likewise.
22333 (BSS_START_SYMBOL): Likewise.
22334 (END_SYMBOL): Likewise.
22335 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22336 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22337 * config.h.in: New file.
22338 * configure.ac: Use config-util.h as config define file.
22339 Rename MACHINE into GRUB_MACHINE. All users updated.
22340 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22341 updated.
22342 (NESTED_FUNC_ATTR): Likewise.
22343 Substitue new variables.
22344 (COND_HAVE_ASM_USCORE): New conditional.
22345 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22346 (kernel_syms.lst): Use ASM_PREFIX.
22347 * grub-core/kern/emu/console.c: Include config-util.h.
22348 * grub-core/kern/emu/misc.c: Likewise.
22349 * grub-core/kern/emu/mm.c: Likewise.
22350 * include/grub/emu/misc.h: Likewise.
22351 * include/grub/libgcc.h: Likewise.
22352
39feb0e8
VS
223532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22354
22355 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22356 constants usage.
22357 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22358 Fix GRUB_TERM_KEY_* constants usage.
22359 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22360
9af6dac3
VS
223612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22364 print pointer.
22365 * grub-core/bus/usb/uhci.c: Remove empty define.
22366 (grub_uhci_check_transfer): Add missing cast.
22367 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22368 print pointer.
22369 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22370 PRIuGRUB_SIZE.
22371 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22372
d6d94820
VS
223732010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 * grub-core/Makefile.core.def (legacycfg): Add
22376 lib/i386/pc/vesa_modes_table.c on emu.
22377
3572f2b6
BC
223782010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22379
22380 Reduce number of temporary files generated by build system.
22381
22382 * grub-core/gencmdlist.sh: Removed.
22383 * grub-core/genfslist.sh: Removed.
22384 * grub-core/genhandlerlist.sh: Removed.
22385 * grub-core/genmodsrc.sh: Removed.
22386 * grub-core/genpartmaplist.sh: Removed.
22387 * grub-core/genparttoollist.sh: Removed.
22388 * grub-core/gentermiinallist.sh: Removed.
22389 * grub-core/genvideolist.sh: Removed.
22390
22391 * grub-core/genmod.sh.in: New file.
22392 * grub-core/gensyminfo.sh.in: New file.
22393
22394 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22395 * conf/Makefile.extra-dist: Update with new files.
22396 * gentpl.py: Remove rules related to unnecessary temporary files.
22397 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22398 and und-* files.
22399 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22400 genmod.sh scripts.
22401 * grub-core/bus/usb/uhci.c: Remove empty #define.
22402 * grub-core/genmoddep.awk: Updated with new syminfo format.
22403 * util/bash-completion.d/Makefile.am: Add config.log to
22404 CLEANFILES.
22405
c836b030
YB
224062010-09-19 Yves Blusseau <blusseau@zetam.org>
22407
22408 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22409
2f4e8053
BC
224102010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22411
22412 * util/grub-mkconfig.in: Check the config script for syntax errors
22413 before saving.
22414
75831c34
CW
224152010-09-19 Colin Watson <cjwatson@ubuntu.com>
224162010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22419 platforms.
22420 * util/grub-install.in: Add EFI and IEEE1275 support.
22421 * util/i386/efi/grub-install.in: Removed.
22422 * util/ieee1275/grub-install.in: Likewise.
22423
eaf41b25
VS
224242010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22425
22426 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22427 (grub_cmd_cmosclean): Likewise.
22428 (GRUB_MOD_INIT): Register command cmosclean.
22429 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22430 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22431
1a9130dd
CPE
224322010-09-18 Carles Pina i Estany <carles@pina.cat>
224332010-09-18 Aleš Nesrsta <starous@volny.cz>
224342010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 Add keyboard layouts support.
22437
22438 * Makefile.util.def (grub-mklayout): New file.
22439 (grub-kbdcomp): New script.
22440 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22441 Add keyboard_layouts.h.
22442 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22443 commands/boot.c on yeeloong.
22444 (keylayouts): New module.
22445 * grub-core/bus/usb/ohci.c
22446 * grub-core/bus/usb/uhci.c
22447 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22448 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22449 (attach_root_port): Likewise.
22450 (poll_nonroot_hub): Likewise.
22451 (grub_usb_poll_devices): Likewise.
22452 (detach_device): Close transfer.
22453 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22454 function.
22455 (grub_usb_bulk_setup_readwrite): Likewise.
22456 (grub_usb_bulk_finish_readwrite): Likewise.
22457 * grub-core/commands/keylayouts.c: New file.
22458 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22459 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22460 aliases.
22461 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22462 support scancode 2.
22463 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22464 * include/grub/keyboard_layouts.h: New file.
22465 * util/grub-mklayout.c: New file.
22466 * util/grub-kbdcomp.in: Likewise.
22467
a1d84a5e
VS
224682010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22469
22470 Unify memory types.
22471
22472 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22473 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22474 types.
22475 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22476 (grub_upper_mem): Likewise.
22477 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22478 * include/grub/memory.h (grub_memory_type_t): New enum.
22479 All users updated.
22480
9696382e
VS
224812010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22482
22483 * grub-core/Makefile.core.def (lsapm): New module.
22484 * grub-core/commands/i386/pc/lsapm.c: New file.
22485 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22486 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22487 Likewise.
22488 * include/grub/i386/pc/apm.h: New file.
22489 * include/multiboot.h (multiboot_apm_info): New struct.
22490
224912010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 GRUB-legacy configuration file support.
22494
22495 * Makefile.util.def (grub-menulst2cfg): New util.
22496 * docs/man/grub-menulst2cfg.h2m: New file.
22497 * grub-core/Makefile.core.def (legacycfg): New module.
22498 * grub-core/commands/legacycfg.c: New file.
22499 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22500 (grub_normal_add_menu_entry): ... this.
22501 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22502 (grub_normal_set_password): ...this.
22503 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22504 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22505 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22506 * grub-core/lib/legacy_parse.c: New file.
22507 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22508 * include/grub/i386/pc/vesa_modes_table.h: New file.
22509 * include/grub/legacy_parse.h: Likewise.
22510 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22511 * util/grub-menulst2cfg.c: New file.
22512
bf8d1338
CW
225132010-09-17 Colin Watson <cjwatson@ubuntu.com>
22514
22515 * grub-core/kern/emu/hostdisk.c
22516 (convert_system_partition_to_system_disk): Initialise node.
22517
9c0bad2e
CW
225182010-09-17 Colin Watson <cjwatson@ubuntu.com>
22519
22520 * grub-core/kern/emu/hostdisk.c
22521 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22522 leak.
22523 Reported and based on patch by: Modestas Vainius.
22524
a939d135
CW
225252010-09-17 Colin Watson <cjwatson@ubuntu.com>
22526
22527 Fix DM-RAID probing with recent versions of device-mapper udev
22528 rules.
22529
22530 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22531 canonicalise device paths under /dev/mapper/.
22532 (convert_system_partition_to_system_disk): Compare the
22533 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22534 path, since device nodes under /dev/mapper/ are often symlinks.
22535
0f7ee3c9
YB
225362010-09-17 Yves Blusseau <blusseau@zetam.org>
22537
22538 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22539
10854d0d
YB
225402010-09-16 Yves Blusseau <blusseau@zetam.org>
22541
22542 * configure.ac: Avoid some annoying error messages if freetype-config
22543 program is not found.
22544
108538d8
CW
225452010-09-16 Colin Watson <cjwatson@ubuntu.com>
22546
22547 Support RAID on virtio devices, and others.
22548
22549 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22550 Rename to ...
22551 [__MINGW32__] (grub_find_device): ... this.
22552 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22553 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22554 reasonable default if dir is NULL.
22555 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22556 ...
22557 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22558 (grub_guess_root_device): Update callers.
22559 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22560
22561 * util/raid.c (grub_util_getdiskname): Remove.
22562 (grub_util_raid_getmembers): Use grub_find_device rather than
22563 grub_util_getdiskname.
22564
e5bfc130
CW
225652010-09-16 Colin Watson <cjwatson@ubuntu.com>
22566
22567 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22568 needing to be compiled with serial support.
22569 (ls): Indicate that multiple files are accepted.
22570 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22571 indicate that multiple files are accepted.
22572
be458ae2
CW
225732010-09-16 Colin Watson <cjwatson@ubuntu.com>
22574
22575 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22576 libgrub_a_init.c, and util/bash-completion.d/grub.
22577
cb731b5e
VS
225782010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22579
22580 * util/grub-setup.c (setup): Fix incorrect container semantics.
22581
35139e8a
VS
225822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22583
22584 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22585 misusage.
22586 Reported by: J. Nick Terry
22587
e50fca4a
VS
225882010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22589
22590 Move embedding routines to partmap sources files.
22591
22592 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22593 [GRUB_UTIL]: New variable.
22594 (gpt_partition_map_iterate): Set part.parent.
22595 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22596 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22597 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22598 New function.
22599 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22600 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22601 (grub_partition_map) [GRUB_UTIL]: New field embed.
22602 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22603 (setup): Use ->embed.
22604
f00478b7
VS
226052010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22606
22607 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22608 function.
22609 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22610 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22611
2b94e3ff
YB
226122010-09-15 Yves Blusseau <blusseau@zetam.org>
22613
22614 Add function to get completions from usage.
22615
22616 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22617 completions from usage. Use LC_ALL=C to get options properly.
22618
2e04a006
VS
226192010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22620
22621 * grub-core/gnulib/basename-lgpl.c: Imported.
22622 * grub-core/gnulib/basename.c: Likewise.
22623 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22624 * grub-core/gnulib/dirname.c: Likewise.
22625 * grub-core/gnulib/dirname.h: Likewise.
22626 * grub-core/gnulib/stripslash.c: Likewise.
22627
5dcdf93a
VS
226282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22629
22630 * grub-core/gnulib/error.c: Resynced.
22631 * grub-core/gnulib/getopt.c: Likewise.
22632 * grub-core/gnulib/getopt_int.h: Likewise.
22633 * grub-core/gnulib/regex.h: Likewise.
22634 * grub-core/gnulib/regex_internal.c: Likewise.
22635 * grub-core/gnulib/regex_internal.h: Likewise.
22636
014f47b7
SJ
226372010-09-15 Szymon Janc <szymon@janc.net.pl>
22638
22639 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22640 CRC calculations and validity checks.
22641 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22642 calculations.
22643
dd521a4a
SJ
226442010-09-15 Szymon Janc <szymon@janc.net.pl>
22645
22646 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22647
79c4eeb9
VS
226482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22649
22650 Fix incorrect echo options handling.
22651 Reported by: Yves Blusseau.
22652
22653 * include/grub/command.h (grub_command_flags_t): New flags
22654 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22655 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22656 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22657
ed80f7d5
VS
226582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22659
22660 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22661 users updated.
22662 (GRUB_COMMAND_FLAG_MENU): Likewise.
22663 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22664 (GRUB_COMMAND_FLAG_TITLE): Removed.
22665 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22666 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22667 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22668 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22669 (grub_command_flags_t): New enum. All users updated.
22670
5fe7620a
SG
226712010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22672
22673 Fix solaris compilation.
22674
22675 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22676 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22677 (grub-emu-list): Likewise.
22678
545b752f
VS
226792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22680
22681 Remove deprecated root command.
22682
22683 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22684 updated.
22685
6c1a338c
VS
226862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22687
22688 * util/i386/pc/grub-setup.c: Merge this ...
22689 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22690 * util/grub-setup.c: ... into this.
22691 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22692 New struct.
22693
226942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22695
22696 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22697 possible.
22698
d2ea4551
VS
226992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22700
22701 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22702 allocate p.
22703
3c3b5040
VS
227042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22707 explicit root argument to set to prevent UUID to be interpreted as
22708 argument to set.
22709
b71c3fae
VS
227102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22711
22712 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22713
275433e6
VS
227142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22715
22716 Don't export grub_gate_a20.
22717
22718 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22719 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
22720 to ...
22721 (grub_gate_a20): ... this. All users updated.
22722 * include/grub/i386/pc/init.h: Removed. All users updated.
22723
a5dbb1f1
VS
227242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22725
22726 Create euro.pf2 which supports most European languages.
22727
22728 * Makefile.am (grubdata_DATA): Add euro.pf2.
22729 (euro.pf2): New target.
22730 (CLEANFILES): Add euro.pf2.
22731
62a747cb
VS
227322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22733
22734 * configure.ac: Disable emu-usb by default to prevent inadvertent
22735 device takeover.
22736
608e43b1
VS
227372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22738
22739 Disable usbserial on grub-emu since our libusb code isn't good enough
22740 yet.
22741
22742 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
22743 (usbserial_pl2303): Likewise.
22744 (usbserial_ftdi): Likewise.
22745
94564f81
VS
227462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22747
22748 * include/grub/disk.h (grub_disk): Remove has_partitions.
22749 All users updated.
22750 * disk/loopback.c (grub_loopback): Remove has_partitions.
22751 All users updated.
22752 (options): Remove partitions. All users updated.
22753 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
22754 * util/i386/pc/grub-setup.c (setup): copy partition table only when
22755 actual partition table is found.
22756
3352800b
VS
227572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22758
22759 Remove readability checks (too many false negatives).
22760
22761 * util/grub-install.in: Remove readability checks.
22762 * util/grub-mkconfig.in: Likewise.
22763 * util/grub.d/10_hurd.in: Likewise.
22764 * util/grub.d/10_kfreebsd.in: Likewise.
22765 * util/grub.d/10_linux.in: Likewise.
22766 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
22767 way.
22768
2419f17a
VS
227692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22770
22771 Enable acpi shutdown on all ACPI platforms.
22772
22773 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
22774 on coreboo, multiboot and EFI.
22775 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
22776 (grub_acpi_halt): Likewise.
22777 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
22778 (grub_cmd_halt): Don't call grub_acpi_halt directly.
22779 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
22780 * grub-core/lib/i386/halt.c (grub_halt)
22781 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
22782
0575c7c3
VS
227832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22784
22785 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
22786 context.
22787
54ac3cd1
VS
227882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22789
22790 * grub-core/video/efi_gop.c: Fix over-80-chars line.
22791 * grub-core/video/efi_uga.c: Likewise.
22792
b2a30ac5
VS
227932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22794
22795 Filter devaliases and never open same device twice.
22796
22797 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
22798 (last_ihandle): Likewise.
22799 (ofdisk_hash_ent): New member shortest.
22800 (ofdisk_hash_add): Add canonical path too.
22801 (scan): New function.
22802 (grub_ofdisk_iterate): Iterate over hashed entries.
22803 (compute_dev_path): Don't add :0.
22804 (grub_ofdisk_open): Don't really open the disk.
22805 (grub_ofdisk_close): Avoid closing unrelated disk.
22806 (grub_ofdisk_read): Implement reopen logic.
22807 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
22808 New function.
22809 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
22810 New proto.
22811
fb53b340
VS
228122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22813
22814 Fix sparc64.
22815
22816 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
22817 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
22818 right address. Add sparc64_ieee1275_ldflags.
22819 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
22820 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
22821 to grub_host_to_target_addr
22822 (load_image): Likewise.
22823
f452b040
VS
228242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22825
22826 * grub-core/normal/completion.c (complete_file): Handle device
22827 containing slash.
22828 Fix based on patch by Doug Nazar.
22829
9b5b2541
VS
228302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22831
22832 grub-mknetdir script.
22833
22834 * Makefile.util.def (grub-mknetdir): New module.
22835 * tests/util/grub-shell.in: Support boot=net
22836 * util/grub-mknetdir.in: New file.
22837
9d2be652
VS
228382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22839
22840 videoinfo on non-vbe.
22841
22842 * grub-core/Makefile.core.def (vbeinfo): Removed.
22843 (vbetest): Removed.
22844 (videoinfo): New module.
22845 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22846 * grub-core/commands/i386/pc/vbetest.c: Removed.
22847 * grub-core/commands/videoinfo.c: New file.
22848 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22849 specification.
22850 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22851 as vbetest.
22852 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22853 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22854 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22855 mode_number. New parameter mode. All users updated.
22856 (grub_video_gop_iterate): New function.
22857 (grub_video_efi_gop): New member iterate.
22858 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22859 (grub_vbe_set_video_mode): Remove setting useless fields.
22860 (vbe2videoinfo): New function.
22861 (grub_video_vbe_iterate): Likewise.
22862 (grub_video_vbe_setup): Use vbe2videoinfo.
22863 (grub_video_vbe_print_adapter_specific_info): New function.
22864 (grub_video_vbe_adapter): New fields iterate and
22865 print_adapter_specific_info.
22866 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22867 All users updated.
22868 (grub_video_mode_info): New field mode_number.
22869 (grub_video_adapter): New fields iterate and
22870 print_adapter_specific_info.
22871
179503f5
TG
228722010-09-13 Tristan Gingold <gingold@free.fr>
228732010-09-13 Robert Millan <rmh.grub@aybabtu.com>
228742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22875
22876 * grub-core/commands/efi/lsefisystab.c: New file.
22877 * grub-core/commands/efi/lssal.c: Likewise.
22878 * grub-core/Makefile.core.def (lsacpi): New module.
22879 (lsefisystab): Likewise.
22880 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22881 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22882 (grub_efi_sal_system_table): New struct.
22883 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22884 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22885 (grub_efi_sal_system_table_platform_features): Likewise.
22886 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22887 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22888 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22889 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22890
cf9827de
VS
228912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22892
22893 Support explicit user claim that a device is BIOS-visible.
22894
22895 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22896 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22897 * grub-core/kern/emu/hostdisk.c
22898 (convert_system_partition_to_system_disk): Support mdX.
22899 (find_system_device): New parameter add. All users updated.
22900 (grub_util_biosdisk_is_present): New function.
22901 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22902 proto.
22903
53f0eb1f
VS
229042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22905
22906 Search hints support.
22907
22908 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22909 All users updated.
22910
b23ffd70
YB
229112010-09-13 Yves Blusseau <blusseau@zetam.org>
22912
22913 Bash completion script for util commands
22914
22915 * Makefile.am: Add util/bash-completion.d directory
22916 * configure.ac: Likewise.
22917 * util/bash-completion.d/Makefile.am: New file.
22918 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22919
d547dc28
VS
229202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22923 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22924 Reported by: Yves Blusseau.
22925
2fc8ccb9
VS
229262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22927
22928 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22929 partition size and offset.
22930
d8a84076
VS
229312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22934
84fb3b3d
VS
229352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22936
22937 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22938
768ec2e2
VS
229392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22940
22941 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22942 (grub_xvasprintf): Likewise.
22943
4870900f
VS
229442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22945
22946 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22947
faca6bec
VS
229482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22949
22950 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22951 args ending with NULL.
22952
229532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22954
22955 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22956 pointer.
22957
3c70f225
SJ
229582010-09-11 Szymon Janc <szymon@janc.net.pl>
22959
22960 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22961
4df7996d
VS
229622010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22963
22964 Shutdown using ACPI.
22965
22966 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22967 * grub-core/commands/acpihalt.c: New file.
22968 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22969 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22970 (grub_acpi_halt): New proto.
22971 (GRUB_ACPI_SLP_EN): New const.
22972 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22973 (GRUB_ACPI_OPCODE_*): New enum.
22974 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22975
126b4c32
TG
229762010-09-11 Tristan Gingold <gingold@free.fr>
229772010-09-11 Robert Millan <rmh.grub@aybabtu.com>
229782010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22979
22980 * commands/lsacpi.c: New file.
22981 * grub-core/Makefile.core.def (lsacpi): New module.
22982 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22983 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22984 (grub_acpi_madt_entry_header): New struct.
22985 (grub_acpi_madt): Likewise.
22986 (grub_acpi_madt_entry_interrupt_override): Likewise.
22987 (grub_acpi_madt_entry_sapic): Likewise.
22988 (grub_acpi_madt_entry_lsapic): Likewise.
22989 (grub_acpi_madt_entry_platform_int_source): Likewise.
22990 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22991 (PRIuGRUB_UINT32_T): Likewise.
22992 (PRIxGRUB_UINT64_T): Likewise.
22993
1aa4fe88
VS
229942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 Implement loading palette on ieee1275_fb.
22997
22998 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22999 (have_setcolors): Likewise.
23000 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23001 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23002 (grub_video_ieee1275_set_palette): Implement.
23003
25761e13
VS
230042010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
230052010-09-11 Colin Watson <cjwatson@ubuntu.com>
23006
23007 * util/grub-install.in (grub_partition): New variable.
23008 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23009 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23010 Fixes a bug reported by Yves Blusseau.
23011
050abaea
VS
230122010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23013
23014 Fix emu on mipsel.
23015
23016 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23017 =grub_cpu_flush_cache on all mips and not only yeeloong.
23018 * configure.ac (COND_mips): New conditional.
23019 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23020 platforms.
23021 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23022 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23023 [GRUB_LINKER_HAVE_INIT]: New function.
23024 (grub_emu_post_init): Likewise.
23025 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23026 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23027 * include/grub/cache.h (_mips): Include mips/cache.h.
23028 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23029 LVM and RAID prototypes.
23030 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23031 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23032 function.
23033
5ed7d816
CW
230342010-09-10 Colin Watson <cjwatson@ubuntu.com>
23035
23036 * util/grub-install.in: Don't try to verify core.img until after
23037 running grub-mkimage to create it.
23038
90367e04
RM
230392010-09-10 Robert Millan <rmh@gnu.org>
23040
23041 * util/grub.d/10_hurd.in: Add misc readability checks.
23042 * util/grub.d/10_kfreebsd.in: Likewise.
23043 * util/grub.d/10_linux.in: Likewise.
23044
c452fa66
CW
230452010-09-10 Colin Watson <cjwatson@ubuntu.com>
23046
23047 * util/grub-install.in: ${imgext} won't be defined here until the
23048 install branch is merged. For the meantime, only verify core.img on
23049 i386-pc and sparc64-ieee1275 platforms.
23050
c38fe9f4
RM
230512010-09-10 Robert Millan <rmh@gnu.org>
23052
23053 Solaris support in grub_find_zpool_from_dir(). Thanks
23054 Seth Goldberg for referring to getextmntent() facility.
23055
23056 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23057 `sys/mkdev.h'.
23058 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23059 `<sys/mnttab.h>'.
23060 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23061 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23062 method for finding zpool name.
23063
905f7773
CW
230642010-09-10 Colin Watson <cjwatson@ubuntu.com>
23065
23066 grub-fstest needs the host and hostfs modules while other utilities
23067 actively require those modules to be absent, so grub-fstest needs
23068 its own initialisation and finalisation code.
23069
23070 * Makefile.am (grub_fstest.pp): New target.
23071 (grub_fstest_init.lst): Likewise.
23072 (grub_fstest_init.c): Likewise.
23073 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23074
fb90b546
RM
230752010-09-10 Robert Millan <rmh@gnu.org>
23076
23077 * configure.ac: Check for `struct statfs.f_fstypename' and
23078 `struct statfs.f_mntfromname'.
23079
23080 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
23081 kFreeBSD-specific code.
23082
66d4bea5
RM
230832010-09-10 Robert Millan <rmh@gnu.org>
23084
23085 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
23086 on ZFS. Now non-main filesystems are supported as / too.
23087
b6a690ee
CW
230882010-09-09 Colin Watson <cjwatson@ubuntu.com>
23089
23090 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23091 and grub-core/disk/host.c to ...
23092 (grub-fstest): ... here. Having the host disk implementation
23093 present confuses grub-probe and other utility programs.
23094
23095 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23096 when writing to a file, not when writing to stdout.
23097
8901b00c 230982010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23099
23100 * tests/partmap_test.in: New test for partitions.
23101 * Makefile.util.def: Rules for new test.
23102
7bf45fdd
RM
231032010-09-09 Robert Millan <rmh@gnu.org>
23104
23105 * util/grub-probe.c (probe): Fix a pair of unhandled error
23106 conditions.
23107
4dfbc574
RM
231082010-09-09 Robert Millan <rmh@gnu.org>
23109
23110 Basic Btrfs support (detection and UUID).
23111
23112 * grub-core/fs/btrfs.c: New file.
23113 * Makefile.util.def (library): Register btrfs.c.
23114 * grub-core/Makefile.core.def: Likewise.
23115
6b8e78ae
RM
231162010-09-08 Robert Millan <rmh@gnu.org>
23117
23118 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
23119 with (optional) parameters to specify device and relative path.
23120 * util/grub-install.in: Use is_path_readable_by_grub() to
23121 verify readability of a few critical files.
23122 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
23123 verify readability of grub.cfg.new.
23124
27f21a8b
VS
231252010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23126
23127 Split minix.mod into minix.mod and minix2.mod.
23128
23129 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
23130 * grub-core/Makefile.core.def (minix2): New module.
23131 * grub-core/fs/minix.c: Use definitions instead of runtime version
23132 checking.
23133 * grub-core/fs/minix2.c: New file.
23134
c0e53ea5
YB
231352010-09-08 Yves Blusseau <blusseau@zetam.org>
23136
23137 Add new --boot-directory option to replace --root-directory
23138
23139 * util/grub-install.in: Add new --boot-directory option
23140 * util/grub-reboot.in: Likewise.
23141 * util/grub-set-default.in: Likewise.
23142
b9fe6ea2
YB
231432010-09-08 Yves Blusseau <blusseau@zetam.org>
23144
23145 * util/grub-mkconfig.in: Use new variable.
23146
d87aedff
YB
231472010-09-08 Yves Blusseau <blusseau@zetam.org>
23148
23149 * configure.ac: Define some useful variables.
23150
e55e8495
VS
231512010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23154 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
23155 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
23156 Use terminfo and don't use cursor-on/cursor-off unless it's known
23157 to work.
23158 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
23159 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
23160
6fa6d675
CW
231612010-09-08 Colin Watson <cjwatson@ubuntu.com>
23162
23163 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
23164 starts with "(,", fill the drive containing the loaded image in
23165 between those two characters, but expect that a full partition
23166 specification including partition map names will follow.
23167
92f2aef0
RM
231682010-09-08 Robert Millan <rmh@gnu.org>
23169
23170 * configure.ac: Remove `--enable-grub-fstest' option.
23171 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
23172
23173 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
23174 `grub-fstest' instead of `grub-probe' for readability verification.
23175 * util/grub-probe.c (probe): Remove readability verification kludge.
23176
99fd620d
RM
231772010-09-08 Robert Millan <rmh@gnu.org>
23178
23179 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
23180 initializing `GRUB_FS'.
23181
058e30ac 231822010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
23183
23184 Not command (!) support to GRUB script.
23185
23186 * tests/grub_script_not.in: New test.
23187 * Makefile.util.def: Rules for new test.
23188
23189 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23190 ! command as a special case.
23191 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
23192
b61d05ed 231932010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23194
058e30ac 23195 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
23196 grub_free.
b61d05ed 23197
4d69c786 231982010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23199
23200 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23201
aa3119c4 232022010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23203
23204 * docs/grub.texi (Shell-like scripting): Documentation for break,
23205 continue, shift and return commands.
23206
db0f7e3d
VS
232072010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23208
23209 Rename CD-ROM to cd on BIOS.
23210
23211 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23212 "cd".
23213 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23214
88b87c93
VS
232152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23216
23217 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23218 * util/grub-probe.c (main): Likewise.
23219 * util/i386/pc/grub-setup.c (main): Likewise.
23220 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23221 Reported and debugged by: alexxy
23222
294f324d
VS
232232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23224
23225 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23226 diagnostic info.
23227
d7ee3441
JS
232282010-09-05 Jo Shields <directhex@apebox.org>
23229
23230 * util/grub.d/30_os-prober.in: Add missing classes.
23231
d7e06c1f
VS
232322010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23233
23234 * docs/grub.texi (Theme file format): Document new position format.
23235
fc157e53
VS
232362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23237
23238 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23239 a table. Use @code instead of @verbatim.
23240
506e9a1c
CB
232412010-09-05 Colin D Bennett <colin@gibibit.com>
23242
23243 Gfxmenu documentation.
23244
23245 * docs/grub.texi (Theme file format): New chapter.
23246
f0aff67c
SJ
232472010-09-05 Szymon Janc <szymon@janc.net.pl>
23248
23249 * grub-core/Makefile.core.def (xzio): New module.
23250 * grub-core/io/xzio.c: New file.
23251 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23252 * grub-core/lib/xzembed/xz_config.h: Likewise.
23253 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23254 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23255 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23256 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23257 * grub-core/lib/xzembed/xz_private.h: Likewise.
23258 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23259 * include/grub/file.h (grub_file_filter_id): New compression filter
23260 GRUB_FILE_FILTER_XZIO.
23261
82a85062
VS
232622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23265 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23266 size.
23267
3579415d
VS
232682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23269
23270 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23271 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23272
5124ae6d
VS
232732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 Uncompressed checksum support.
23276
23277 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23278 (check_list): New parameter uncompress.
23279 (grub_cmd_hashsum): Handle --uncompress.
23280
9aadb3d1
VS
232812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23282
23283 Reintroduce testload.
23284
23285 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23286 from here ...
23287 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23288 (GRUB_MOD_INIT): New function.
23289 (GRUB_MOD_FINI): Likewise.
23290 * grub-core/Makefile.core.def (testload): New module.
23291
a17792c3
SJ
232922010-09-05 Szymon Janc <szymon@janc.net.pl>
23293
23294 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23295 (uint8_t): New type.
23296 (uint16_t): Likewise.
23297 (uint32_t): Likewise.
23298 (uint64_t): Likewise.
23299
b81e40a3
SJ
233002010-09-05 Szymon Janc <szymon@janc.net.pl>
23301
23302 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23303
fc2ef117
VS
233042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23305
23306 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23307 Made static.
23308 (grub_gzfile_open): Removed. All users updated.
23309 (GRUB_MOD_INIT): New function.
23310 (GRUB_MOD_FINI): Likewise.
23311 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23312 (grub_file_filters_enabled): Likewise.
23313 (grub_file_open): Handle filters.
23314 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23315 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23316 * include/grub/file.h (grub_file_filter_id_t): New type.
23317 (grub_file_filter_t): Likewise.
23318 (grub_file_filters_all): New extern variable.
23319 (grub_file_filters_enabled): Likewise.
23320 (grub_file_filter_register): New inline function.
23321 (grub_file_filter_unregister): Likewise.
23322 (grub_file_filter_disable): Likewise.
23323 (grub_file_filter_disable_compression): Likewise.
23324 * include/grub/gzio.h: Removed.
23325
35ee15e0
BC
233262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23327
23328 Filename expansion support for wildcards in GRUB script.
23329
23330 * tests/grub_script_expansion.in: New test.
23331 * Makefile.util.def: Rule for new test.
23332
23333 * grub-core/commands/wildcard.c: New file, implements filename
23334 expansion support for GRUB script.
23335 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23336 * grub-core/script/argv.c: Cosmetic changes.
23337 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23338 Refactored to perform wildcard expansion on arguments.
23339 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23340 struct.
23341
23342 * tests/util/grub-shell.in: Fix quoting for read input.
23343
5f0c4aca
BC
233442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23345
23346 Support for updating environment variables with matched substrings
23347 of regexp.
23348
23349 * tests/grub_cmd_regexp.in: New test.
23350 * Makefile.util.def: Rule for new test.
23351
23352 * grub-core/commands/regexp.c: New option -s to update environment
23353 variables with regexp matches.
23354
3759a35f
SJ
233552010-09-04 Szymon Janc <szymon@janc.net.pl>
23356
23357 * include/grub/file.h (grub_file): New member not_easly_seekable.
23358 (grub_file_seekable): New inline function.
23359 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23360 easily seekable.
23361 (grub_gzio_open): Set not_easly_seekable.
23362 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23363 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23364
ed8c6dec
BC
233652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23366
23367 Support for options to appear multiple times on cmdline.
23368
23369 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23370 * grub-core/commands/extcmd.c: Support for repeatable option.
23371 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23372 repeatable option support.
23373
23374 Refactor menuentry into a regular command.
23375
23376 * grub-core/commands/menuentry.c: New file, menuentry command
23377 implementation.
23378 * grub-core/Makefile.core.def: Rule update for normal.mod.
23379 * grub-core/normal/main.c: Moved menuentry creation to
23380 grub-core/commands/menuentry.c.
23381 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23382 (grub_menu_execute_entry_real): Removed.
23383 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23384 function.
23385 (grub_script_execute_menuentry): Removed.
23386 * grub-core/script/parser.y (menuentry): Removed.
23387 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23388 * grub-core/script/yylex.l (menuentry): Removed.
23389 * include/grub/menu.h (grub_menu_init): New prototype.
23390 (grub_menu_fini): New prototype.
23391 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23392 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23393 (grub_script_execute_sourcecode): New prototype.
23394
dacd0cf0
BC
233952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23396
23397 "return" command for GRUB script functions.
23398
23399 * tests/grub_script_return.in: New test.
23400 * Makefile.util.def: Rules for new test.
23401
23402 * grub-core/script/execute.c (grub_script_return): New function.
23403 * grub-core/script/main.c: Register/unregister return commaond.
23404 * include/grub/script_sh.h (grub_script_return): New prototype.
23405
52e72f9d
BC
234062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23407
23408 "setparams" command to update positional parameters.
23409
23410 * tests/grub_script_setparams.in: New test.
23411 * Makefile.util.def: Rules for new test.
23412
23413 * grub-core/script/argv.c (grub_script_argv_make): New function.
23414 * grub-core/script/execute.c (replace_scope): New function.
23415 (grub_script_setparams): New function.
23416 * grub-core/script/lexer.c: Remove unused variables.
23417 * grub-core/script/main.c: Register/unregister setparams command.
23418 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23419 (grub_script_setparams): New prototype.
23420
25b60c91
BC
234212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23422
23423 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23424 grub_free order.
23425
37e7bf68
BC
234262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23427
23428 Support for passing block of commands as an argument to extcmds.
23429
23430 * Makefile.util.def: Rules for new test.
23431 * tests/grub_script_blockarg.in: New test.
23432 * grub-core/tests/test_blockarg.c: New file, block argument
23433 command used in the test.
23434
23435 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23436 (grub_register_extcmd_prio): New function prototype.
23437 (grub_extcmd_dispatcher): New function prototype.
23438 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23439 type.
23440 * include/grub/script_sh.h (struct grub_script): New members
23441 `children', `next_siblings' and `refcnt' for block arguments and
23442 reference counting.
23443 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23444 (grub_script_arg): New member `script' for block argument.
23445 (grub_script_argv): New member `script' for block argument.
23446 (grub_parser_param): New member `scripts' for block argument.
23447 (grub_script_mem_free): New extern function prototype.
23448 (grub_script_ref): New function prototype.
23449 (grub_script_unref): New function prototype.
23450
23451 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23452 extcmd form to support block arguments.
23453 * grub-core/script/argv.c: Block arguments support.
23454 * grub-core/script/execute.c: Likewise.
23455 * grub-core/script/lexer.c: Likewise.
23456 * grub-core/script/main.c: Likewise.
23457 * grub-core/script/script.c: Likewise.
23458 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23459 non-terminals.
23460
23461 * grub-core/commands/acpi.c: Update extcmd implementations with
23462 grub_extcmd_context_t.
23463 * grub-core/commands/cat.c: Likewise.
23464 * grub-core/commands/echo.c: Likewise.
23465 * grub-core/commands/extcmd.c: Likewise.
23466 * grub-core/commands/hashsum.c: Likewise.
23467 * grub-core/commands/hdparm.c: Likewise.
23468 * grub-core/commands/help.c: Likewise.
23469 * grub-core/commands/hexdump.c: Likewise.
23470 * grub-core/commands/i386/cpuid.c: Likewise.
23471 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23472 * grub-core/commands/i386/pc/halt.c: Likewise.
23473 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23474 * grub-core/commands/iorw.c: Likewise.
23475 * grub-core/commands/keystatus.c: Likewise.
23476 * grub-core/commands/loadenv.c: Likewise.
23477 * grub-core/commands/ls.c: Likewise.
23478 * grub-core/commands/lspci.c: Likewise.
23479 * grub-core/commands/memrw.c: Likewise.
23480 * grub-core/commands/probe.c: Likewise.
23481 * grub-core/commands/search_wrap.c: Likewise.
23482 * grub-core/commands/setpci.c: Likewise.
23483 * grub-core/commands/sleep.c: Likewise.
23484 * grub-core/disk/loopback.c: Likewise.
23485 * grub-core/hello/hello.c: Likewise.
23486 * grub-core/loader/i386/bsd.c: Likewise.
23487 * grub-core/loader/xnu.c: Likewise.
23488 * grub-core/term/gfxterm.c: Likewise.
23489 * grub-core/term/serial.c: Likewise.
23490 * grub-core/tests/lib/functional_test.c: Likewise.
23491
888d1500
BC
234922010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23493
23494 Multi-line quoted strings support.
23495
23496 * grub-core/script/lexer.c (append_newline): Removed.
23497 (grub_script_lexer_yywrap): Refactored.
23498 (grub_script_lexer_init): Refactored.
23499 * grub-core/script/yylex.l (yywrap): New function.
23500 (grub_lexer_resplit): New function.
23501 (grub_lexer_unput): New function.
23502 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23503 and resplit.
23504 * tests/grub_script_echo1.in: Added few more testcases.
23505
dda060dd
VS
235062010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23507
23508 * grub-core/kern/misc.c: Don't add abort alias in utils.
23509 Reported by: echoline.
23510
6556eba9
BC
235112010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23512
23513 Add missing files into "make dist" tarball for other platforms.
23514
23515 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23516 * conf/Makefile.common (dist_noinst_DATA): New variable.
23517 * conf/Makefile.extra-dist: Added missing make dist files.
23518 * grub-core/Makefile.core.def: Likewise.
23519
c8e7bf5f
VS
235202010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23521
23522 Compress grub_prefix.
23523
23524 * grub-core/boot/i386/pc/lnxboot.S: Use
23525 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23526 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23527 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23528 GRUB_MACHINE_PREFIX_END. All users updated.
23529 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23530 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23531 + 0x40.
23532 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23533 * util/grub-mkimage.c (image_target_desc): Change data_end to
23534 prefix_end. All users updated.
23535
a7c00cdb
VS
235362010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23537
23538 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23539 value.
23540 (grub_openbsd_boot): Likewise.
23541 (grub_netbsd_boot): Likewise.
23542 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23543 (grub_xnu_boot): Likewise.
23544
9f915872
VS
235452010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * configure.ac: Clean LIBS variable after tests.
23548
efa1bee7
CW
235492010-09-02 Colin Watson <cjwatson@ubuntu.com>
23550
23551 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23552
61d720e5
VS
235532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23554
23555 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23556 echo if libdevmapper will be used.
23557
ef8e0ec8
IT
235582010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23559
23560 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23561 constant for the same file.
23562
03e261d8
VS
235632010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23564
23565 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23566
c2a4eba6
CW
235672010-09-02 Colin Watson <cjwatson@ubuntu.com>
23568
23569 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23570 grub-core/*.pp.
23571
9056cbf3
CW
235722010-09-02 Colin Watson <cjwatson@ubuntu.com>
23573
23574 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23575 required by the boot protocol.
23576
23577 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23578 ebp and edi members.
23579 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23580 state.ebp and state.edi.
23581 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23582 %ebp and %edi according to grub_relocator32_ebp and
23583 grub_relocator32_edi respectively.
23584 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23585 and state.edi.
23586
529cc99a
VS
235872010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23588
23589 Add i386-pc-pxe image target.
23590
23591 * util/grub-mkimage.c (image_target_desc): New enum value
23592 IMAGE_I386_PC_PXE.
23593 (image_targets): New target i386-pc-pxe.
23594 (generate_image): Handle i386-pc-pxe image.
23595
9a093920
VS
235962010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23597
23598 Fix grub_pxe_scan.
23599
23600 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23601 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23602 All users updated.
23603 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23604 (grub_pxe_pxenv): Correct type.
23605
f9cefc4e
CW
236062010-09-01 Colin Watson <cjwatson@ubuntu.com>
23607
23608 * NEWS: Document most of the important changes since 1.98.
23609
4066f57f
CW
236102010-09-01 Colin Watson <cjwatson@ubuntu.com>
23611
23612 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23613 generated manual page) a little.
23614
da2891f9
CW
236152010-09-01 Colin Watson <cjwatson@ubuntu.com>
23616
23617 * docs/grub.texi: Add myself as an author.
23618
ad717fae
VS
236192010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23620
23621 * Makefile.util.def (libgrub.a): Add missing sunpc.
23622 Reported by: Seth Goldberg.
23623
eefe8abd
VS
236242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23625
23626 Interrupt wrapping and code simplifications.
23627
9494ef9a
VS
23628 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23629 x86_noieee1275 which are functionaly equivalent in this case.
23630 (grub-install): Make source on each platform explicit. Enable on
23631 all noemu.
23632 * gentpl.py (x86_efi_pc): Removed group.
23633 (x86_noefi): Likewise.
23634 (i386_noefi): Likewise.
23635 (x86_noieee1275): Likewise.
23636 (i386_noieee1275): Likewise.
23637 (i386_noefi_noieee1275): Likewise.
23638 (i386_pc_qemu_coreboot): Likewise.
23639 (i386_coreboot_multiboot): Likewise.
23640 (i386_pc_coreboot_multiboot_qemu): Likewise.
23641 (x86_noefi_mips): Likewise.
23642 (noieee1275): Likewise.
23643 (ieee1275_mips): Likewise.
23644 (noemu_noieee1275): Likewise.
23645 (cmos): New group.
23646 (usb): Likewise.
23647 (videoinkernel): Likewise.
23648 (videomodules): Likewise.
eefe8abd 23649 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23650 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23651 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23652 include/grub/loader.h, include/grub/msdos_partition.h,
23653 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23654 include/grub/machine/console.h, include/grub/machine/vga.h,
23655 include/grub/machine/vbe.h, include/grub/machine/init.h,
23656 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23657 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23658 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23659 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23660 * grub-core/Makefile.core.def (kernel): Explicit the source for
23661 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23662 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23663 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23664 Use videoinkernel tag.
23665 (usb): Enable on all usb.
23666 (usbserial_common): Likewise.
23667 (usbserial_pl2303): Likewise.
23668 (usbserial_ftdi): Likewise.
23669 (uhci): Enable on all x86.
23670 (ohci): Enable on all pci.
23671 (cmostest): Enable on all CMOS.
23672 (acpi): Include commands/acpi.c on all platforms.
23673 (halt): Add relevant lib/*/halt.c.
23674 (hdparm): Enable on all pci.
23675 (lspci): Likewise.
23676 (usbtest): Enable on all usb.
23677 (ata): Enable on all pci.
23678 (ata_pthru): Likewise.
23679 (usbms): Enable on all usb.
23680 (usb_keyboard): Likewise.
23681 (font): Use tag videomodules.
23682 (bufio): Likewise.
23683 (datetime): Use tag cmos. Enable on all noemu.
23684 (mmap): Use tags common and x86.
23685 (gfxterm): Use tag videomodules.
23686 (bitmap): Likewise.
23687 (bitmap_scale): Likewise.
23688 (video_fb): Likewise.
23689 (video): Likewise.
23690 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23691 adjust padding accordingly. All users updated.
23692 (grub_ohci_transaction): Fix bad format specification.
23693 (GRUB_MOD_INIT): Add asserts for struct size.
23694 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23695 (grub_alloc_td): Likewise.
23696 (grub_free_queue): Likewise.
23697 (grub_uhci_transfer): Likewise.
23698 (grub_uhci_transaction): Fix bad format specification.
23699 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23700 (grub_usb_bulk_readwrite): Likewise.
23701 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23702 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23703 Made static.
23704 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23705 Made static.
23706 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23707 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23708 Transformed into C.
23709 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23710 Moved from here ...
23711 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23712 ... here. Transformed into C. Made static.
23713 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23714 Moved from here ...
23715 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23716 ... here. Transformed into C. Made static.
23717 * grub-core/kern/i386/pc/startup.S
23718 (grub_biosdisk_check_int13_extensions): Moved from here ...
23719 * grub-core/disk/i386/pc/biosdisk.c
23720 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
23721 Made static.
23722 * grub-core/kern/i386/pc/startup.S
23723 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
23724 * grub-core/disk/i386/pc/biosdisk.c
23725 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
23726 Transformed into C. Made static.
23727 * grub-core/kern/i386/pc/startup.S
23728 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
23729 * grub-core/disk/i386/pc/biosdisk.c
23730 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
23731 Transformed into C. Made static.
23732 * grub-core/kern/i386/pc/startup.S
23733 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
23734 * grub-core/disk/i386/pc/biosdisk.c
23735 (grub_biosdisk_get_diskinfo_standard): ... here.
23736 Transformed into C. Made static.
23737 * grub-core/kern/i386/pc/startup.S
23738 (grub_biosdisk_get_num_floppies): Moved from here ...
23739 * grub-core/disk/i386/pc/biosdisk.c
23740 (grub_biosdisk_get_num_floppies): ... here.
23741 Transformed into C. Made static.
23742 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
23743 New function.
23744 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
23745 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
23746 Transformed into C. Made static.
23747 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
23748 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
23749 Transformed into C. Made static.
23750 * grub-core/kern/i386/ieee1275/init.c: Removed.
23751 * grub-core/kern/i386/misc.S: Likewise.
23752 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
23753 Splitted from here ...
23754 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
23755 Transformed into C. Made static. All users updated.
23756 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
23757 Transformed into C. Made static. All users updated.
23758 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
23759 Moved from here...
23760 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
23761 Transformed into C. Made static. All users updated.
23762 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
23763 Moved from here...
23764 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
23765 Transformed into C. Made static. All users updated.
23766 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
23767 Removed (replaced by C version).
23768 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
23769 Moved from here...
23770 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
23771 Transformed into C. Made static.
23772 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
23773 Moved from here...
23774 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
23775 ... here. Transformed into C.
23776 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
23777 Moved from here...
23778 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
23779 ... here. Transformed into C.
23780 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
23781 Moved from here...
23782 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
23783 ... here. Transformed into C. Made static.
23784 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
23785 Moved from here...
23786 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
23787 ... here. Transformed into C.
21ed554b
VS
23788 * grub-core/kern/i386/pc/startup.S
23789 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
23790 * grub-core/video/i386/pc/vbe.c
23791 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
23792 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
23793 Moved from here...
23794 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
23795 ... here. Transformed into C.
23796 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
23797 Moved from here...
23798 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
23799 ... here. Transformed into C.
23800 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
23801 Moved from here...
23802 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
23803 ... here. Transformed into C.
23804 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
23805 Moved from here...
23806 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
23807 ... here. Transformed into C.
23808 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
23809 Moved from here...
23810 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
23811 ... here. Transformed into C. Made static.
23812 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
23813 Moved from here...
23814 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
23815 ... here. Transformed into C. Made static.
23816 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
23817 Moved from here...
23818 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
23819 ... here. Transformed into C. Made static.
23820 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
23821 pxe_rm_entry as third argument.
23822 (grub_bios_interrupt): New function.
23823 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
23824 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
23825 of calling grub_stop.
23826 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
23827 * grub-core/lib/efi/halt.c (grub_halt): ...here.
23828 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
23829 * grub-core/lib/emu/halt.c (grub_halt): ... here.
23830 * grub-core/lib/i386/halt.c: Moved from here ...
23831 * grub-core/lib/i386/halt.c: ... here.
23832 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23833 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23834 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23835 grub_stop_floppy.
23836 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23837 * include/grub/i386/coreboot/init.h: Removed.
23838 * include/grub/i386/multiboot/init.h: Likewise.
23839 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23840 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23841 * include/grub/i386/pc/int.h: New file.
23842 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23843 (grub_pxe_scan): Removed.
23844 (grub_pxe_call): Update prototype.
23845 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23846 prototypes.
23847 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23848 * include/grub/i386/qemu/init.h: Removed.
23849 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23850 noreturn.
23851 (grub_halt): Likewise.
23852 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23853 (grub_reboot): Likewise.
23854 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23855 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23856 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23857
215dd471
RM
238582010-08-30 Robert Millan <rmh@gnu.org>
23859
23860 * NEWS: Document addition of ZFS support in `grub-install' and
23861 `grub-mkconfig'.
23862
ebd65b82
BC
238632010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23864
23865 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23866 dprintf output.
23867
11721d19
VS
238682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23869
23870 Remove leftover embedding of font objects.
23871
23872 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23873 * util/grub-install.in (font): Removed.
23874 * util/grub-mkimage.c (generate_image): Remove font support. All users
23875 updated.
23876
37837d4e
VS
238772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23878
23879 Remove leftover embedding of font objects.
23880
23881 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23882 * util/grub-install.in (font): Removed.
23883 * util/grub-mkimage.c (generate_image): Remove font support. All users
23884 updated.
23885
b4c1aae0
VS
238862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23887
23888 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23889 Reported by: Ian Turner
b4c1aae0 23890
8920a08d
VS
238912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23892
23893 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23894 timeout to avoid indefinite boot stalling.
23895
f21db033
VS
238962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23897
23898 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23899 (grub_env_write_color_highlight): Likewise.
23900
9a9de209
VS
239012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23902
23903 * grub-core/normal/term.c (print_more): Return to normal and not
23904 to standard state after printing "---MORE---".
23905
3dca01d7
VS
239062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23907
23908 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23909 Mask out the bit 0x80 since it has other meaning that specifiing color.
23910
0b986c40
VS
239112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23912
23913 New relocator. Allows for more kernel support and more straightforward
23914 loader writing.
23915
23916 * Makefile.am (BOOTTARGET): New variable.
23917 (QEMU32): Likewise.
23918 (linux.init.x86_64): New target.
23919 (linux.init.i386): Likewise.
23920 (multiboot.elf): Likewise.
23921 (kfreebsd.elf): Likewise.
23922 (kfreebsd.aout): Likewise.
23923 (pc-chainloader.elf): Likewise.
23924 (pc-chainloader.bin): Likewise.
23925 (ntldr.elf): Likewise.
23926 (ntldr.bin): Likewise.
23927 (multiboot2.elf): Likewise.
23928 (kfreebsd.init.x86_64): Likewise.
23929 (kfreebsd.init.i386): Likewise.
23930 (knetbsd.init.i386): Likewise.
23931 (kopenbsd.init.i386): Likewise.
23932 (knetbsd.init.x86_64): Likewise.
23933 (kopenbsd.init.x86_64): Likewise.
23934 (linux-initramfs.i386): Likewise.
23935 (linux-initramfs.x86_64): Likewise.
23936 (kfreebsd-mfsroot.i386.img): Likewise.
23937 (knetbsd.image.i386): Likewise.
23938 (kopenbsd.image.i386): Likewise.
23939 (kopenbsd.image.x86_64): Likewise.
23940 (knetbsd.miniroot-image.i386.img): Likewise.
23941 (kfreebsd-mfsroot.x86_64.img): Likewise.
23942 (knetbsd.image.x86_64): Likewise.
23943 (knetbsd.miniroot-image.x86_64.img): Likewise.
23944 (kfreebsd-mfsroot.i386.gz): Likewise.
23945 (bootcheck-kfreebsd-i386): Likewise.
23946 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23947 (bootcheck-kfreebsd-x86_64): Likewise.
23948 (knetbsd.miniroot-image.i386.gz): Likewise.
23949 (bootcheck-knetbsd-i386): Likewise.
23950 (bootcheck-kopenbsd-i386): Likewise.
23951 (bootcheck-kopenbsd-x86_64): Likewise.
23952 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23953 (bootcheck-knetbsd-x86_64): Likewise.
23954 (bootcheck-linux-i386): Likewise.
23955 (bootcheck-linux-x86_64): Likewise.
23956 (bootcheck-linux16-i386): Likewise.
23957 (bootcheck-linux16-x86_64): Likewise.
23958 (bootcheck-multiboot): Likewise.
23959 (bootcheck-multiboot2): Likewise.
23960 (bootcheck-kfreebsd-aout): Likewise.
23961 (bootcheck-pc-chainloader): Likewise.
23962 (bootcheck-ntldr): Likewise.
23963 (CLEANFILES): Add new targets.
23964 (BOOTCHECKS): New variable.
23965 (.PHONY): Add bootchecks.
23966 (SUCCESSFUL_BOOT_STRING): New variable.
23967 (BOOTCHECK_TIMEOUT): Likewise.
23968 (bootcheck): New target
23969 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23970 * configure.ac: Correct efiemu excuse.
23971 * docs/grub.texi (Supported kernels): New chapter.
23972 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23973 include/grub/mm_private.h. Simplify inclusion of
23974 include/grub/boot.h, include/grub/loader.h
23975 and include/grub/msdos_partition.h
23976 (KERNEL_HEADER_FILES) [i386_coreboot]:
23977 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23978 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23979 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23980 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23981 include/grub/machine/loader.h.
23982 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23983 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23984 extra_dist.
23985 (pci.mod): Enable on i386-multiboot.
23986 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23987 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23988 i386-qemu.
23989 (relocator.mod): Rewritten.
23990 (aout.mod): Enable on all x86.
23991 (bsd.mod): Likewise.
23992 (ntldr.mod): New module.
23993 (linux.mod): Use loader/i386/linux.c on all x86.
23994 (xnu.mod): Enable on all x86.
23995 (vga_text.mod): disable on EFI and QEMU.
23996 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23997 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23998 * grub-core/efiemu/loadcore.c: Likewise.
23999 * grub-core/efiemu/main.c: Likewise.
24000 (grub_efiemu_exit_boot_services): Removed.
24001 (grub_efiemu_finish_boot_services): Likewise.
24002 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24003 function.
24004 * grub-core/efiemu/i386/nocfgtables.c: New file.
24005 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24006 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24007 (grub_efi_finish_boot_services): Moved from here ...
24008 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24009 Fille finish memory map and related data.
24010 (finish_mmap_buf): New variable.
24011 (grub_efi_uintn_t finish_mmap_size): Likewise.
24012 (grub_efi_uintn_t finish_key): Likewise.
24013 (grub_efi_uintn_t finish_desc_size): Likewise.
24014 (grub_efi_uint32_t finish_desc_version): Likewise.
24015 (grub_efi_is_finished): Likewise.
24016 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24017 finished.
24018 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24019 (grub_elf64_phdr_iterate): Likewise.
24020 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24021 (grub_os_area_size): Likewise.
24022 (grub_machine_init): Don't reserve os area.
24023 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24024 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24025 * grub-core/kern/i386/loader.S: Removed.
24026 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24027 (grub_os_area_size): Likewise.
24028 (grub_machine_init): Don't reserve os area.
24029 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24030 Don't call grub_dl_unload_all.
24031 Don't include loader.S.
24032 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24033 Declare the memory after _end as available.
24034 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 24035 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 24036 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
24037 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24038 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24039 * include/grub/mm_private.h (grub_mm_header): ... here.
24040 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24041 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
24042 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24043 (grub_mm_region): ..here. Removed addr. Added pre_size.
24044 All users updated.
24045 * grub-core/kern/mm.c (base): Renamed to ...
24046 (grub_mm_base): ... this. Made global.
24047 (grub_real_malloc): Alloc from end of region.
24048 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24049 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24050 * grub-core/kern/powerpc/cache_flush.S: ... here.
24051 * grub-core/lib/efi/relocator.c: New file.
24052 * grub-core/lib/i386/relocator.c: Rewritten.
24053 * grub-core/lib/i386/relocator16.S: New file.
24054 * grub-core/lib/i386/relocator32.S: Likewise.
24055 * grub-core/lib/i386/relocator64.S: Likewise.
24056 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24057 * grub-core/lib/i386/relocator_common.S: New file.
24058 * grub-core/lib/ieee1275/relocator.c: Likewise.
24059 * grub-core/lib/mips/relocator.c: Rewritten.
24060 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24061 stylistic adjustments.
24062 * grub-core/lib/powerpc/relocator.c: New file.
24063 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24064 * grub-core/lib/relocator.c: Rewritten.
24065 * grub-core/lib/x86_64/relocator_asm.S: New file.
24066 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24067 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24068 (bsd_tag): New struct.
24069 (tags): New variable.
24070 (tags_last): Likewise.
24071 (netbsd_module): New struct.
24072 (netbsd_mods): New variable.
24073 (netbsd_mods_last): Likewise.
24074 (openbsd_opts): New parameter "serial".
24075 (OPENBSD_SERIAL_ARG): New definition.
24076 (netbsd_opts): New parameter "serial".
24077 (NETBSD_SERIAL_ARG): New definition.
24078 (grub_freebsd_add_meta): Reorganised into ...
24079 (grub_bsd_add_meta): ...this. All users updated.
24080 (grub_freebsd_add_mmap): Reorganised into ...
24081 (generate_e820_mmap): ...this...
24082 (grub_bsd_add_mmap): ...and this. All users updated.
24083 (grub_freebsd_list_modules): Use tags.
24084 (grub_netbsd_add_meta_module): New function.
24085 (grub_netbsd_list_modules): Likewise.
24086 (grub_freebsd_boot): Use relocator and finish EFI.
24087 (grub_openbsd_boot): Likewise.
24088 (grub_netbsd_setup_video): New function.
24089 (grub_netbsd_add_modules): Likewise.
24090 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24091 and finish EFI.
24092 (grub_bsd_unload): Unload tags.
24093 (grub_bsd_load_aout): Use relocator.
24094 (grub_bsd_elf32_size_hook): New function.
24095 (grub_bsd_elf32_hook): Use relocator.
24096 (grub_bsd_elf64_size_hook): New function.
24097 (grub_bsd_elf64_hook): Use relocator.
24098 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24099 (grub_bsd_load): Zero-out openbsd_ramdisk.
24100 (grub_bsd_load): Use relocator.
24101 (grub_cmd_openbsd): Support serial.
24102 (grub_cmd_netbsd): Support modules.
24103 (grub_cmd_freebsd_module): Use relocator.
24104 (grub_netbsd_module_load): New function.
24105 (grub_cmd_netbsd_module): Likewise.
24106 (grub_cmd_openbsd_ramdisk): Likewise.
24107 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24108 kopenbsd_ramdisk.
24109 (GRUB_MOD_FINI): Unregister new commands.
24110 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24111 (grub_freebsd_load_elfmodule_obj): Use relocator.
24112 (grub_freebsd_load_elfmodule): Likewise.
24113 (grub_freebsd_load_elf_meta): Likewise.
24114 (grub_netbsd_load_elf_meta): New function.
24115 (grub_openbsd_find_ramdisk): Likewise.
24116 * grub-core/loader/i386/bsd_helper.S: Removed.
24117 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
24118 * grub-core/loader/i386/bsd_trampoline.S: Removed.
24119 * grub-core/loader/i386/efi/linux.c: Likewise.
24120 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
24121 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
24122 (DEFAULT_VIDEO_MODE): Likewise.
24123 (real_mode_target): New variable.
24124 (prot_mode_target): Likewise.
24125 (initrd_mem_target): Likewise.
24126 (relocator): Likewise.
24127 (efi_mmap_buf): Likewise.
24128 (efi_mmap_size): Likewise.
24129 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
24130 (free_pages): Use relocator.
24131 (allocate_pages): Account for efi_mmap and use relocator. Return error.
24132 (grub_linux_setup_video): Return error.
24133 (grub_linux_trampoline_start): Removed.
24134 (grub_linux_trampoline_end): Likewise.
24135 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
24136 andd video parameters depending on firmware.
24137 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
24138 [GRUB_MACHINE_EFI]: Pass EFI parameters.
24139 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
24140 (grub_cmd_initrd): Use relocator.
24141 * grub-core/loader/i386/linux_trampoline.S: Removed.
24142 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
24143 (elf_sec_entsize): Likewise.
24144 (elf_sec_shstrndx): Likewise.
24145 (elf_sections): Likewise.
24146 (grub_multiboot_load): Use relocator.
24147 (grub_multiboot_get_mbi_size): Account for sections.
24148 (grub_multiboot_make_mbi): Use relocator and support sections.
24149 (grub_multiboot_add_elfsyms): New function.
24150 (grub_multiboot_free_mbi): Free sections.
24151 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
24152 (grub_linux_real_target): Likewise.
24153 (grub_linux_real_chunk): Likewise.
24154 (grub_linux16_prot_size): Likewise.
24155 (grub_linux16_boot): Use relocator.
24156 (grub_linux_unload): Unload relocator.
24157 (grub_cmd_linux): Use relocator.
24158 (grub_cmd_initrd): Likewise.
24159 * grub-core/loader/i386/pc/ntldr.c: New file.
24160 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
24161 Don't try to guess CPU frequency.
24162 (grub_xnu_set_video): Stretch bitmap.
24163 (grub_xnu_boot): Use relocator.
24164 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
24165 (grub_linux_unload): Free relocator.
24166 (grub_linux_load32): Use relocator.
24167 (grub_linux_load64): Likewise.
24168 (grub_cmd_initrd): Likewise.
24169 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
24170 (grub_multiboot_unload): Unload relocator.
24171 (grub_cmd_multiboot): Use relocator.
24172 (grub_cmd_module): Likewise.
24173 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
24174 Use relocator and support sections.
24175 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
24176 (elf_sec_entsize): Likewise.
24177 (elf_sec_shstrndx): Likewise.
24178 (elf_sections): Likewise.
24179 (grub_multiboot_load): Use relocator.
24180 (grub_multiboot_get_mbi_size): Account for sections.
24181 (grub_multiboot_make_mbi): Use relocator and support sections.
24182 (grub_multiboot_add_elfsyms): New function.
24183 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
24184 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
24185 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
24186 Prototype changed. All users updated.
24187 (grub_xnu_align_heap): Simplified.
24188 (grub_xnu_writetree_toheap): Likewise.
24189 (grub_xnu_unload): Unload relocator.
24190 (grub_cmd_xnu_kernel): Use relocator.
24191 (grub_cmd_xnu_kernel64): Likewise.
24192 (grub_xnu_register_memory): Simplified.
24193 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
24194 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
24195 EFI is finished.
24196 (grub_console_checkkey): Likewise.
24197 (grub_console_getkey): Likewise.
24198 (grub_console_getwh): Likewise.
24199 (grub_console_getxy): Likewise.
24200 (grub_console_gotoxy): Likewise.
24201 (grub_console_cls): Likewise.
24202 (grub_console_setcolorstate): Likewise.
24203 (grub_console_setcursor): Likewise.
24204 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24205 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24206 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24207 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24208 * grub-core/tests/boot/kernel-8086.S: Likewise.
24209 * grub-core/tests/boot/kernel-i386.S: Likewise.
24210 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24211 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24212 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24213 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24214 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24215 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24216 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24217 * grub-core/tests/boot/linux.cfg: Likewise.
24218 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24219 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24220 * grub-core/tests/boot/linux16.cfg: Likewise.
24221 * grub-core/tests/boot/multiboot.cfg: Likewise.
24222 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24223 * grub-core/tests/boot/ntldr.cfg: Likewise.
24224 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24225 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24226 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24227 New definition.
24228 * include/grub/dl.h (grub_dl_unload_all): Removed.
24229 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24230 (grub_efi_finish_boot_services): Change prototype.
24231 (grub_efi_is_finished): New variable.
24232 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24233 Changed prototype.
24234 (grub_efiemu_finish_boot_services): Removed.
24235 (grub_machine_efiemu_init_tables): New prototype.
24236 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24237 (grub_elf64_phdr_iterate): Likewise.
24238 * include/grub/i386/bsd.h: Include relocator.h.
24239 (freebsd_tag_header): New struct.
24240 (grub_openbsd_bios_mmap): Removed.
24241 (grub_unix_real_boot): Removed.
24242 (grub_freebsd_load_elfmodule32): Changed prototype.
24243 (grub_freebsd_load_elfmodule_obj64): Likewise.
24244 (grub_freebsd_load_elf_meta32): Likewise.
24245 (grub_freebsd_load_elf_meta64): Likewise.
24246 (grub_freebsd_add_meta): Removed.
24247 (grub_netbsd_load_elf_meta32): New prototype.
24248 (grub_netbsd_load_elf_meta64): Likewise.
24249 (grub_bsd_add_meta): Likewise.
24250 (grub_openbsd_ramdisk_descriptor): New struct.
24251 (grub_openbsd_find_ramdisk32): New prototype.
24252 (grub_openbsd_find_ramdisk64): Likewise.
24253 * include/grub/i386/coreboot/loader.h: Removed.
24254 * include/grub/i386/efi/loader.h: Likewise.
24255 * include/grub/i386/ieee1275/loader.h: Likewise.
24256 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24257 to grub_uint32_t.
24258 * include/grub/i386/loader.h: Removed.
24259 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24260 value.
24261 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24262 (grub_phys_addr_t): New type.
24263 (grub_vtop): New inline function.
24264 (grub_map_memory): Likewise.
24265 (grub_unmap_memory): Likewise.
24266 * include/grub/i386/multiboot/loader.h: Removed.
24267 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24268 (NETBSD_BTINFO_CONSOLE): New definition.
24269 (NETBSD_BTINFO_SYMTAB): Likewise.
24270 (NETBSD_BTINFO_MODULES): Likewise.
24271 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24272 (grub_netbsd_bootinfo): New struct.
24273 (grub_netbsd_btinfo_common): Use explicit bitsize.
24274 (grub_netbsd_btinfo_mmap_entry): Removed.
24275 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24276 (grub_netbsd_btinfo_bootdisk): New struct.
24277 (grub_netbsd_btinfo_symtab): Likewise.
24278 (grub_netbsd_btinfo_serial): Likewise.
24279 (grub_netbsd_btinfo_modules): Likewise.
24280 (grub_netbsd_btinfo_framebuf): Likewise.
24281 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24282 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24283 Likewise.
24284 (grub_openbsd_bootargs): Use explicit bitsize.
24285 (grub_openbsd_bootarg_console): New struct.
24286 (GRUB_OPENBSD_COM_MAJOR): New definition.
24287 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24288 * include/grub/i386/pc/efiemu.h: Removed.
24289 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24290 * include/grub/i386/qemu/loader.h: Removed.
24291 * include/grub/i386/relocator.h: Rewritten.
24292 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24293 * include/grub/mips/memory.h: New file.
24294 * include/grub/mips/multiboot.h: Rewritten.
24295 * include/grub/mips/relocator.h: Rewritten.
24296 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24297 (grub_vtop): New function.
24298 (grub_map_memory): Likewise.
24299 (grub_unmap_memory): Likewise.
24300 * include/grub/misc.h (ALIGN_DOWN): New definition.
24301 * include/grub/mm.h (grub_mm_check_real): New proto.
24302 (GRUB_MM_CHECK): New definition.
24303 * include/grub/mm_private.h: New file.
24304 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24305 (grub_multiboot_get_mbi_size): Removed.
24306 (grub_multiboot_make_mbi): Change prottype.
24307 (grub_multiboot_set_accepts_video): New proto.
24308 (grub_multiboot_add_elfsyms): Likewise.
24309 (grub_multiboot_payload_eip): New variable.
24310 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24311 New prototype.
24312 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24313 New definition.
24314 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24315 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24316 * include/grub/powerpc/ieee1275/loader.h: Removed.
24317 * include/grub/powerpc/memory.h: New file.
24318 * include/grub/powerpc/relocator.h: Likewise.
24319 * include/grub/relocator.h: Likewise.
24320 * include/grub/relocator_private.h: Likewise.
24321 * include/grub/sparc64/ieee1275/loader.h: Removed.
24322 * include/grub/x86_64/memory.h: New file.
24323 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24324 (grub_xnu_heap_malloc): Likewise.
24325 (grub_xnu_heap_real_start): Removed.
24326 (grub_xnu_heap_start): Likewise.
24327 (grub_xnu_relocator): New variable.
24328 (grub_xnu_heap_target_start): Likewise.
24329 * tests/util/grub-shell.in: Support non-pc.
24330 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24331
5303b85d
VS
243322010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24333
24334 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24335 on malloc error.
24336 (grub_bidi_logical_to_visual): Check that malloc succeded.
24337 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24338 puts.
24339 (grub_xputs_normal): Likewise.
24340
d768d159
VS
243412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24342
24343 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24344 extra_dist.
24345
243462010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24347
24348 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24349
5bf84df4
VS
243502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24351
24352 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24353
3626810e
VS
243542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24355
24356 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24357 dprintf.
24358
a7363f53
BC
243592010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24360
24361 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24362
902f75f6
VS
243632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24364
24365 * grub-core/normal/term.c (print_more): Fix a memory leak.
24366 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24367 (grub_xputs_normal): Likewise.
24368
3c707967
VS
243692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24370
24371 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24372 the begining of the string
24373
2053cc07
VS
243742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24375
24376 * grub-core/script/script.c (grub_script_parse): Free parsed on
24377 failure.
24378
46422ebf
VS
243792010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24380
24381 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24382 on failure.
24383
9e0fa3f6
VS
243842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24385
24386 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24387 return.
24388
3393cf16
VS
243892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24390
24391 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24392 (scroll_up): Fix a memory leak.
24393
b17540cb
VS
243942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24395
24396 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24397 errors.
24398
67140446
VS
243992010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24400
24401 Handle USB pendrives exposed as floppies.
24402
24403 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24404 floppy.
24405 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24406 Check for partitions on all devices.
24407
e35e46fc
VS
244082010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24411 (readkey): Likewise.
24412
d24c6190
BC
244132010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24414
24415 Multiple variable names support to "export" command.
24416
24417 * normal/context.c (grub_cmd_export): "export" command supports
24418 multiple variable names.
24419
04ddcc6a
ST
244202010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24421
24422 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24423 --target=drive output to Mach device name.
24424
0c8b61d8
BC
244252010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24426
24427 New Automake based build system for GRUB.
24428
24429 * ABOUT-NLS: New file.
24430 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24431 in Makefile.util.def file.
24432 * Makefile.util.def: New file. Autogen build definitions file for
24433 GRUB host utils.
24434 * conf/Makefile.common: New file. Common variables for GRUB host
24435 utils and target modules.
24436 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24437 * docs/Makefile.am: New file. Automake file for docs.
24438 * gentpl.py: New file. Python script to generate Autogen
24439 template.
24440 * grub-core/Makefile.am: New file. GRUB target modules' rules
24441 that doesn't fit in Makefile.core.def file.
24442 * grub-core/Makefile.core.def: New file. Autogen build
24443 definitions file for GRUB target modules.
24444 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24445 specific setjmp.S file.
24446 * po/Makefile.am: New file.
24447
24448 * .bzrignore: New ignores.
24449 * INSTALL: New requirements, without Ruby.
24450 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24451 * autogen.sh: Updated to invoke autogen as necessary.
24452 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24453 and defines for Automake conditionals.
24454 * geninit.sh: Refactoring.
24455
24456 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24457 necessary.
24458 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24459 New prototype.
24460
24461 * include/grub/test.h: Fix functional test modules' naming.
24462 * grub-core/tests/example_functional_test.c: Fix test module name.
24463
24464 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24465 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24466 * util/grub-editenv.c: Likewise.
24467 * util/grub-fstest.c: Likewise.
24468 * util/grub-mkdevicemap.c: Likewise.
24469 * util/grub-mkfont.c: Likewise.
24470 * util/grub-mkimage.c: Likewise.
24471 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24472 * util/grub-probe.c: Likewise.
24473 * util/grub-script-check.c: Likewise.
24474 * util/i386/pc/grub-setup.c: Likewise.
24475 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24476
24477 * tests/util/grub-shell.in: Fix override directory path.
24478 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24479 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24480
24481 * util/lvm.c: Update #includes.
24482 * util/raid.c: Likewise.
24483 * util/resolve.c: Likewise.
24484 * grub-core/bus/emu/pci.c: Likewise.
24485 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24486 * grub-core/lib/posix_wrap/string.h: Likewise.
24487 * grub-core/kern/emu/main.c: Likewise.
24488
24489 * grub-core/gensymlist.sh: New file. Script for generating kernel
24490 symbols file.
24491 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24492
24493 * grub-core/gentrigtables.c: Fix unused variable warnings.
24494
24495 * Makefile.in: Removed.
24496 * conf/any-emu.rmk: Removed.
24497 * conf/common.rmk: Removed.
24498 * conf/i386-coreboot.rmk: Removed.
24499 * conf/i386-efi.rmk: Removed.
24500 * conf/i386-ieee1275.rmk: Removed.
24501 * conf/i386-multiboot.rmk: Removed.
24502 * conf/i386-pc.rmk: Removed.
24503 * conf/i386-qemu.rmk: Removed.
24504 * conf/i386.rmk: Removed.
24505 * conf/mips-yeeloong.rmk: Removed.
24506 * conf/mips.rmk: Removed.
24507 * conf/powerpc-ieee1275.rmk: Removed.
24508 * conf/sparc64-ieee1275.rmk: Removed.
24509 * conf/tests.rmk: Removed.
24510 * conf/x86-efi.rmk: Removed.
24511 * conf/x86_64-efi.rmk: Removed.
24512 * gendistlist.sh: Removed.
24513 * geninitheader.sh: Removed.
24514 * genkernsyms.sh.in: Removed.
24515 * genmk.rb: Removed.
24516 * gensymlist.sh.in: Removed.
24517 * mkinstalldirs: Removed.
24518 * boot: Moved ...
24519 * grub-core/boot: ... to here.
24520 * bus: Moved ...
24521 * grub-core/bus: ... to here.
24522 * commands: Moved ...
24523 * grub-core/commands: ... to here.
24524 * disk: Moved ...
24525 * grub-core/disk: ... to here.
24526 * efiemu: Moved ...
24527 * grub-core/efiemu: ... to here.
24528 * font: Moved ...
24529 * grub-core/font: ... to here.
24530 * fs: Moved ...
24531 * grub-core/fs: ... to here.
24532 * gencmdlist.sh: Moved ...
24533 * grub-core/gencmdlist.sh: ... to here.
24534 * genemuinit.sh: Moved ...
24535 * grub-core/genemuinit.sh: ... to here.
24536 * genemuinitheader.sh: Moved ...
24537 * grub-core/genemuinitheader.sh: ... to here.
24538 * genfslist.sh: Moved ...
24539 * grub-core/genfslist.sh: ... to here.
24540 * genhandlerlist.sh: Moved ...
24541 * grub-core/genhandlerlist.sh: ... to here.
24542 * genmoddep.awk: Moved ...
24543 * grub-core/genmoddep.awk: ... to here.
24544 * genmodsrc.sh: Moved ...
24545 * grub-core/genmodsrc.sh: ... to here.
24546 * genpartmaplist.sh: Moved ...
24547 * grub-core/genpartmaplist.sh: ... to here.
24548 * genparttoollist.sh: Moved ...
24549 * grub-core/genparttoollist.sh: ... to here.
24550 * genterminallist.sh: Moved ...
24551 * grub-core/genterminallist.sh: ... to here.
24552 * gentrigtables.c: Moved ...
24553 * grub-core/gentrigtables.c: ... to here.
24554 * genvideolist.sh: Moved ...
24555 * grub-core/genvideolist.sh: ... to here.
24556 * gettext: Moved ...
24557 * grub-core/gettext: ... to here.
24558 * gfxmenu: Moved ...
24559 * grub-core/gfxmenu: ... to here.
24560 * gnulib: Moved ...
24561 * grub-core/gnulib: ... to here.
24562 * hello: Moved ...
24563 * grub-core/hello: ... to here.
24564 * hook: Moved ...
24565 * grub-core/hook: ... to here.
24566 * io: Moved ...
24567 * grub-core/io: ... to here.
24568 * kern: Moved ...
24569 * grub-core/kern: ... to here.
24570 * lib: Moved ...
24571 * grub-core/lib: ... to here.
24572 * loader: Moved ...
24573 * grub-core/loader: ... to here.
24574 * mmap: Moved ...
24575 * grub-core/mmap: ... to here.
24576 * normal: Moved ...
24577 * grub-core/normal: ... to here.
24578 * partmap: Moved ...
24579 * grub-core/partmap: ... to here.
24580 * parttool: Moved ...
24581 * grub-core/parttool: ... to here.
24582 * script: Moved ...
24583 * grub-core/script: ... to here.
24584 * term: Moved ...
24585 * grub-core/term: ... to here
24586 * tests/example_functional_test.c: Moved ...
24587 * grub-core/tests/example_functional_test.c: ... to here.
24588 * tests/lib/functional_test.c: Moved ...
24589 * grub-core/tests/lib/functional_test.c: ... to here.
24590 * tests/lib/test.c: Moved ...
24591 * grub-core/tests/lib/test.c: ... to here.
24592 * video: Moved ...
24593 * grub-core/video: ... to here.
24594
645586e6
BC
245952010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24596
24597 Replace --enable-grub-emu-modules with grub-emu-lite.
24598
24599 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24600 cache.S.
24601
24602 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24603 * kern/emu/full.c: New file. For grub-emu specific initialization.
24604 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24605 * kern/emu/main.c: Call initialization function grub_emu_init.
24606
24607 * Makefile.in: Include grub-emu-lite in install.
24608 * commands/parttool.c: Use grub_no_autoload to differentiate
24609 between grub-emu and grub-emu-lite.
24610 * include/grub/misc.h: New variable grub_no_autoload.
24611
24612 * conf/any-emu.rmk: New rules for grub-emu-lite.
24613 * configure.ac: Remove --enable-grub-emu-modules.
24614 * genmk.rb: Cleanup unnecessary rules.
24615 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24616
24617 * normal/main.c: Don't load list files on grub-emu-lite.
24618 * util/misc.c (grub_arch_sync_caches): Removed.
24619
f86a4030
CW
246202010-08-23 Colin Watson <cjwatson@ubuntu.com>
24621
24622 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24623 grub-mkimage rather than grub-mkelfimage.
24624 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24625
06776944
VS
246262010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24627
24628 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24629 a key after CapsLock or NumLock. It's just a qemu bug.
24630
df262419
VS
246312010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24632
24633 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24634 needed by libusb wrapper.
24635
b40ea81b
ST
246362010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24637
24638 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24639
dee50575
VS
246402010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24641
24642 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24643 --nounzip is passed.
24644
fb1d7b79
VS
246452010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24646
24647 USB hotunplugging and USB serial support.
24648
24649 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24650 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24651 (grub_uhci_transfer): Respect timeout and set *actual.
24652 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24653 non-standard length.
24654 (grub_usb_device_attach): Autoload modules.
24655 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24656 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24657 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24658 users updated.
24659 (grub_usb_add_hub): Fill nports and children.
24660 (attach_root_port): Receive hub instead of controller.
24661 All users updated. Fill hub->devices.
24662 (grub_usb_root_hub): Allocate hub->devices.
24663 (detach_device): New function.
24664 (poll_nonroot_hub): Fill children and detach devices.
24665 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24666 actual arguments. All users updated.
24667 (grub_usb_bulk_read_extended): New function.
24668 * bus/usb/serial/common.c: New file.
24669 * bus/usb/serial/ftdi.c: Likewise.
24670 * bus/usb/serial/pl2303.c: Likewise.
24671 * commands/terminal.c (handle_command): Support wildcard.
24672 * commands/usbtest.c: Output "Unknown" instead of empty string.
24673 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24674 (usbserial_common_mod_SOURCES): New variable.
24675 (usbserial_common_mod_CFLAGS): Likewise.
24676 (usbserial_common_mod_LDFLAGS): Likewise.
24677 (pkglib_MODULES): Add usbserial_pl2303.mod.
24678 (usbserial_pl2303_mod_SOURCES): New variable.
24679 (usbserial_pl2303_mod_CFLAGS): Likewise.
24680 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24681 (pkglib_MODULES): Add usbserial_ftdi.mod.
24682 (usbserial_ftdi_mod_SOURCES): New variable.
24683 (usbserial_ftdi_mod_CFLAGS): Likewise.
24684 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24685 (pkglib_MODULES): Add serial.mod.
24686 (serial_mod_SOURCES): New variable.
24687 (serial_mod_CFLAGS): Likewise.
24688 (serial_mod_LDFLAGS): Likewise.
24689 * conf/i386-pc.rmk: Likewise.
24690 * conf/mips-yeeloong.rmk: Likewise.
24691 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24692 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24693 * disk/usbms.c (first_available_slot): New variable.
24694 (grub_usbms_attach): Don't reuse free slots due to potential cache
24695 problems.
24696 * include/grub/serial.h: Moved to ..
24697 * include/grub/ns8250.h: ...this.
24698 * include/grub/serial.h: New file.
24699 * include/grub/term.h (grub_term_poll_usb): New variable.
24700 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24701 readkey. All users updated.
24702 (grub_terminfo_output_state): Pass term to put.
24703 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24704 (grub_usb_controller_dev): Add timeout and actual arguments to
24705 transfer. All users updated.
24706 (grub_usb_interface): New field detach_data.
24707 (grub_usb_device): New fields children and nports.
24708 (grub_usb_ep_type_t): New type.
24709 (grub_usb_get_ep_type): New function.
24710 (grub_usb_bulk_read_extended): Likewise.
24711 * include/grub/usbdesc.h (grub_usb_desc): New type.
24712 * include/grub/usbserial.h: New file.
24713 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24714 * kern/term.c (grub_term_poll_usb): New variable.
24715 (grub_getkey): Call grub_term_poll_usb if set.
24716 (grub_checkkey): Likewise.
24717 (grub_getkeystatus): Likewise.
24718 * term/serial.c: Moved controller-specific parts to ...
24719 * term/ns8250.c: ... here.
24720 * term/serial.c: Mostly rewritten.
24721 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
24722 according to spec.
24723
21a313de
RM
247242010-08-20 Robert Millan <rmh@gnu.org>
24725
24726 Make kFreeBSD code more generic to support ext2fs as root, ufs as
24727 a separate module and maybe other interesting combinations.
24728
24729 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
24730 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
24731 (kfreebsd_entry): Add generic filesystem module load routine.
24732 Map GRUB `ext2' to kFreeBSD `ext2fs'.
24733
63c734a6
CW
247342010-08-20 Colin Watson <cjwatson@ubuntu.com>
24735
24736 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
24737 "numcenter" (I misunderstood the purpose of this entry).
24738 * docs/grub.texi (sendkey): Likewise.
24739
c4d16542
CW
247402010-08-20 Colin Watson <cjwatson@ubuntu.com>
24741
24742 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
24743 status flag options; simply omitting the option is equivalent and
24744 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
24745 (keysym_table): Rename "num5numlock" to "numlock".
24746 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
24747 can uniformly say that only the last of multiple `sendkey'
24748 invocations has any effect.
24749 * docs/grub.texi (sendkey): New section.
24750
93541d66
CW
247512010-08-19 Colin Watson <cjwatson@ubuntu.com>
24752
24753 * commands/i386/pc/sendkey.c (options): Fix three typos.
24754
b4ece5e1
VS
247552010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
24756
24757 Implement sendkey support.
24758
24759 * commands/i386/pc/sendkey.c: New file.
24760 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
24761 (sendkey_mod_SOURCES): New variable.
24762 (sendkey_mod_CFLAGS): Likewise.
24763 (sendkey_mod_LDFLAGS): Likewise.
24764
51f1f5af
CW
247652010-08-18 Colin Watson <cjwatson@ubuntu.com>
24766
24767 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
24768 fix warnings from Autoconf.
24769
9da94e05
CW
247702010-08-18 Colin Watson <cjwatson@ubuntu.com>
24771
24772 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
24773 to avoid false positives with some assemblers that output things
24774 like "someprefix_func" as part of their output.
24775
729a0f2e
RM
247762010-08-15 Robert Millan <rmh@gnu.org>
24777
24778 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
24779 errors.
24780 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
24781 grub_get_libzfs_handle() errors.
24782
f3710e08
RM
247832010-08-14 Robert Millan <rmh@gnu.org>
24784
24785 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
24786 filesystem is not ZFS.
24787
7a3c13de
BC
247882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24789
24790 Fix for misspelled color names defaulting to black/black (bug
24791 reported by Doug Nazar)
24792
24793 * include/grub/normal.h (grub_parse_color_name_pair): Add return
24794 status to prototype.
24795 * normal/color.c (grub_parse_color_name_pair): Return failure
24796 status.
24797 (grub_env_write_color_normal): Ignore bad color names.
24798 (grub_env_write_color_highlight): Likewise.
24799 * normal/main.c (GRUB_MOD_INIT): Set default color names.
24800
ab8ba50d
BC
248012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24802
24803 "shift" command support to GRUB script.
24804
24805 * include/grub/script_sh.h (grub_script_shift): New prototype.
24806 * script/execute.c (grub_script_shift): New function.
24807 * script/main.c (grub_script_init): Register shift command.
24808 (grub_script_fini): Unregister shift command.
24809 * util/grub-script-check.c (grub_script_cmd_shift): New function.
24810
24811 * tests/grub_script_shift.in: New testcase.
24812 * conf/tests.rmk: Rules for new testcase.
24813
4d61999e
BC
248142010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24815
24816 "continue" command support to GRUB script.
24817
24818 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
24819 (grub_script_break): Continue support.
24820 * script/main.c (grub_script_init): Register continue command.
24821 (grub_script_fini): Unregister continue command.
24822
24823 * tests/grub_script_continue.in: New testcase.
24824 * conf/tests.rmk: Rules for new testcase.
24825
4df51e00
BC
248262010-08-12 BVK Chaitanya <bvk@dbook>
24827
24828 "break" command support to GRUB script.
24829
24830 * conf/common.rmk: Rule updates to grub-script-check.
24831 * include/grub/misc.h (grub_min): New function.
24832 * include/grub/script_sh.h (grub_script_init): New prototype.
24833 (grub_script_fini): New prototype.
24834 (grub_script_break): New prototype.
24835 * script/main.c (grub_script_init): New function.
24836 (grub_script_fini): New function.
24837 * script/execute.c (grub_script_break): New function.
24838 * normal/main.c: Calls to grub_script_{init,fini}.
24839 * util/grub-script-check.c (grub_script_break): New function.
24840
24841 * tests/grub_script_break.in: New testcase.
24842 * conf/tests.rmk: Rules for new test case.
24843
f12c8420
BC
248442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24845
24846 Function parameters support to GRUB script.
24847
24848 * script/yylex.l (VARIABLE): Regular expression update.
24849 * script/function.c (grub_script_function_call): Moved ...
24850 * script/execute.c (grub_script_function_call): ... to here.
24851 (grub_script_execute_arglist_to_argv): Removed.
24852 (grub_script_arglist_to_argv): New function.
24853 * script/argv.c: New file.
24854 (grub_script_argv_free): New function.
24855 (grub_script_argv_next): Likewise.
24856 (grub_script_argv_append): Likewise.
24857 (grub_script_argv_split_append): Likewise.
24858 * include/grub/script_sh.h (grub_script_argv): New struct.
24859 (grub_script_argv_free): New function.
24860 (grub_script_argv_next): Likewise.
24861 (grub_script_argv_append): Likewise.
24862 (grub_script_argv_split_append): Likewise.
24863
24864 * conf/common.rmk (normal.mod): New source script/argv.c.
24865
24866 * tests/grub_script_echo1.in: More tests.
24867 * tests/grub_script_vars1.in: Likewise.
24868 * tests/grub_script_functions.in: New test case.
24869 * conf/tests.rmk: Rules for new testcase.
24870
8022b748
BC
248712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24872
24873 Remove grub_script_cmdblock struct.
24874
24875 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24876 * script/parser.y: Likewise.
24877 * script/execute.c: Rename cmdblock suffix to cmdlist.
24878 * script/script.c: Likewise.
24879 * util/grub-script-check.c: Likewise.
24880
79a6ba61
YB
248812010-08-11 Yves Blusseau <blusseau@zetam.org>
24882
24883 * .bzrignore: add grub-macho2img
24884
d04b9414
VS
248852010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24886
24887 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24888
f947ab49
VS
248892010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24890
24891 Remove the dump of sm712 initialisation sequence.
24892
24893 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24894 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24895 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24896 (GRUB_VGA_CR_*): Added many registers.
24897 (GRUB_VGA_SR_*): Likewise.
24898 (GRUB_VGA_GR_*): Likewise.
24899 (grub_vga_write_arx): New function.
24900 (grub_video_hw_config): New struct.
24901 (grub_vga_set_geometry): New function.
24902 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24903 GRUB_PCI_CLASS_SUBCLASS_VGA.
24904 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24905 * video/sm712.c (grub_sm712_write_reg): New function
24906 (grub_sm712_read_reg): Likewise.
24907 (grub_sm712_sr_write): Likewise.
24908 (grub_sm712_gr_write): Likewise.
24909 (grub_sm712_cr_write): Likewise.
24910 (grub_sm712_write_arx): Likewise.
24911 (grub_sm712_cr_shadow_write): Likewise.
24912 (grub_sm712_write_dda_lookup): Likewise.
24913 (grub_video_sm712_setup): Initialise the video rather then
24914 blindly replay the dump.
24915 (main) [TEST]: Add a routine to be able to compile as standalone for
24916 tests.
24917 * video/sm712_init.c (sm712_init): Removed.
24918 (sm712_sr_seq1): New array.
24919 (sm712_sr_seq2): Likewise.
24920
f0206638
VS
249212010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * include/grub/vga.h: Add missing grub/pci.h include.
24924
2764da3b
YB
249252010-08-10 Yves Blusseau <blusseau@zetam.org>
24926
24927 * util/grub-macho2img.c (main): fix typo
24928
cf0c775e
VS
249292010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24930
24931 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24932 (grub_vga_gr_read): Likewise.
24933 (grub_vga_cr_write): Likewise.
24934 (grub_vga_cr_read): Likewise.
24935 (grub_vga_sr_write): Likewise.
24936 (grub_vga_sr_read): Likewise.
24937 (grub_vga_palette_read): Likewise.
24938 (grub_vga_palette_write): Likewise.
24939 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24940 (grub_sm712_sr_read): New function.
24941 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24942 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24943
07f360e9
RM
249442010-08-09 Robert Millan <rmh@gnu.org>
24945
24946 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24947 out unused variables on non-ZFS build.
24948
346c2072
RM
249492010-08-08 Robert Millan <rmh@gnu.org>
24950
24951 Fix path generation for sub-filesystems in ZFS.
24952
24953 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24954 missing slash.
24955
71175420
RM
249562010-08-08 Robert Millan <rmh@gnu.org>
24957
24958 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24959
0d8286f3
RM
249602010-08-08 Robert Millan <rmh@gnu.org>
24961
24962 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24963 exist, issue a proper error message (rely on `ls' for translated
24964 strings).
24965
55dd2924
RM
249662010-08-08 Robert Millan <rmh@gnu.org>
24967
24968 Fix grub-probe invocation.
24969
24970 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24971
d3dd9e80
RM
249722010-08-04 Robert Millan <rmh@gnu.org>
24973
24974 * configure.ac: Remove checks for getfsstat() and getmntany().
24975 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24976 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24977 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24978 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24979 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24980 function.
24981 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24982 via find_mount_point_from_dir() and getfsstat() / getmntany().
24983
0de22aa9
RM
249842010-08-04 Robert Millan <rmh@gnu.org>
24985
24986 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24987 (grub_find_zpool_from_mount_point): Merge into ...
24988 (grub_find_zpool_from_dir): ... this.
24989 * kern/emu/misc.c: Likewise.
24990
24991 * kern/emu/misc.c
24992 (grub_make_system_path_relative_to_its_root): Replace
24993 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24994 with grub_find_zpool_from_dir().
24995 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24996
62858144
RM
249972010-08-04 Robert Millan <rmh@gnu.org>
24998
24999 Support OpenSolaris in ZFS device resolution.
25000
25001 * configure.ac: Check for getmntany().
25002 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25003 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25004 support.
25005
9dd6fd50
RM
250062010-08-03 Robert Millan <rmh@gnu.org>
25007
25008 Fix grub-emu build.
25009
25010 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25011 * include/grub/emu/misc.h: ... here.
25012
25013 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25014 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25015
25016 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25017 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25018 (grub_get_libzfs_handle): Move to ...
25019 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25020 (grub_get_libzfs_handle): ... here.
25021
c9f7ff97
BC
250222010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25023
25024 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25025 as command name case.
25026
a870a783
CW
250272010-08-02 Colin Watson <cjwatson@ubuntu.com>
25028
25029 * disk/raid.c (insert_array): Select unique numbers for named arrays
25030 as well, for use as keys in the disk cache.
25031
c7db243b
RM
250322010-08-01 Robert Millan <rmh@gnu.org>
25033
25034 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25035 kFreeBSD device name, except on ZFS where the filesystem label is
25036 used.
25037 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25038 `/boot/zfs/zpool.cache'.
25039 Set mountfrom kernel variable using ${kfreebsd_device}.
25040
f7abdefb
RM
250412010-08-01 Robert Millan <rmh@gnu.org>
25042
25043 Make it even harder to use uninitialized `libzfs_handle' (and
25044 make the interface a bit simpler).
25045
25046 * include/grub/util/misc.h (grub_util_init_libzfs)
25047 (libzfs_handle): Remove.
25048 (grub_get_libzfs_handle): New prototype.
25049
25050 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25051 attribute.
25052 (grub_util_init_libzfs): Remove.
25053 (grub_get_libzfs_handle): New function.
25054
25055 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25056 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25057 accessing `libzfs_handle' directly.
25058
c882acc0
RM
250592010-08-01 Robert Millan <rmh@gnu.org>
25060
25061 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25062 (grub_find_zpool_from_mount_point): New function prototypes.
25063
25064 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25065 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25066
25067 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25068 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25069 `static' attribute.
25070
25071 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25072 finding zpool from mount point into ...
25073 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25074
25075 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25076 requested path is part of a ZFS pool, use
25077 grub_find_zpool_from_mount_point() to detect its filesystem name,
25078 and generate a path with `/fsname@path' syntax.
25079
8bfe31d8
CW
250802010-08-01 Colin Watson <cjwatson@ubuntu.com>
25081
25082 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
25083 (void) rather than () so that this is a proper prototype.
25084
553df63d
VS
250852010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25086
25087 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
25088
8687cf07
VS
250892010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25090
25091 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25092 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25093
ea9be8ea
CW
250942010-08-01 Colin Watson <cjwatson@ubuntu.com>
25095
25096 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25097
6eea041a
CW
250982010-08-01 Colin Watson <cjwatson@ubuntu.com>
25099
25100 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25101
2cfb45df
CW
251022010-08-01 Colin Watson <cjwatson@ubuntu.com>
25103
25104 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25105 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25106 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25107 disable gfxpayload.
25108 (Shell-like scripting): Add real content.
25109 (Serial terminal): Suggest `terminal_input serial; terminal_output
25110 serial' rather than putting the two commands on separate lines,
25111 since console input will be inoperative after the first command.
25112 (menuentry): Document --class, --users, and --hotkey options.
25113 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
25114 Vladimir Serbinenko).
25115
7decd202
VS
251162010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
251172010-08-01 Colin Watson <cjwatson@ubuntu.com>
25118
25119 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
25120
c882acc0
RM
251212010-08-01 Robert Millan <rmh@gnu.org>
25122
25123 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25124 (grub_find_zpool_from_mount_point): New function prototypes.
25125
25126 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25127 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25128
25129 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25130 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25131 `static' attribute.
25132
25133 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25134 finding zpool from mount point into ...
25135 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25136
25137 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25138 requested path is part of a ZFS pool, use
25139 grub_find_zpool_from_mount_point() to detect its filesystem name,
25140 and generate a path with `/fsname@path' syntax.
25141
deb0caa3
RM
251422010-08-01 Robert Millan <rmh@gnu.org>
25143
25144 Prevent accidental use of uninitialized libzfs_handle.
25145
25146 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
25147 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
25148 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
25149
ce04ef47
CW
251502010-08-01 Colin Watson <cjwatson@ubuntu.com>
25151
25152 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
25153 util/grub.d/10_linux.in). Fixes Debian bug #591093.
25154
ebf53056
RM
251552010-08-01 Robert Millan <rmh@gnu.org>
25156
25157 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 25158
3710bb6b
RM
251592010-07-31 Robert Millan <rmh@gnu.org>
25160
25161 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
25162
8072efeb
RM
251632010-07-31 Robert Millan <rmh@gnu.org>
25164
25165 * kern/emu/misc.c: Add missing license header.
25166
3169f4c7
RM
251672010-07-31 Robert Millan <rmh@gnu.org>
25168
25169 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
25170
25171 * include/grub/util/libnvpair.h: Include `<config.h>'.
25172 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
25173 declaring libnvpair prototypes ourselves.
25174 * include/grub/util/libzfs.h: Include `<config.h>'.
25175 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
25176 declaring libzfs prototypes ourselves.
25177
25178 (libzfs_handle): Moved to ...
25179 * include/grub/util/misc.h (libzfs_handle): ... here.
25180 Include `<grub/util/libzfs.h>'.
25181
c9a00aee
RM
251822010-07-30 Robert Millan <rmh@gnu.org>
25183
25184 * include/grub/emu/misc.h: Add missing license header.
25185
a184f9c8
RM
251862010-07-30 Robert Millan <rmh@gnu.org>
25187
25188 Enable `grub-probe -t device' resolution on ZFS.
25189
25190 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25191 * include/grub/util/libnvpair.h: New file.
25192 * include/grub/util/libzfs.h: New file.
25193
25194 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
25195 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
25196 `<grub/util/libnvpair.h>'.
25197 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
25198
25199 (find_mount_point_from_dir): New static function.
25200 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25201 function.
25202 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25203 find_root_device_from_libzfs() before ressorting to find_root_device().
25204
25205 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25206 prototype.
25207 * util/misc.c: Include `<grub/util/libzfs.h>'.
25208 (grub_util_init_libzfs): New function.
25209 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25210 [HAVE_LIBZFS] (fini_libzfs): New static function.
25211 (grub_util_init_libzfs): New function.
25212 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25213
f7790cdd
RM
252142010-07-30 Robert Millan <rmh@gnu.org>
25215
25216 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25217 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25218 `warn_unused_result' attribute.
25219 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25220 (grub_xasprintf, grub_xvasprintf): Likewise.
25221 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25222
0806b63c
RM
252232010-07-29 Robert Millan <rmh@gnu.org>
25224
25225 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25226 (probe): Handle `PRINT_FS_LABEL'.
25227 (main): Handle `-t fs_label'.
25228
9f841f5c
RM
252292010-07-29 Robert Millan <rmh@gnu.org>
25230
25231 * configure.ac: Remove grub-mkisofs checks.
25232
46371121
VS
252332010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25234
25235 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25236 Reported by: Lennart Sorensen.
25237
252382010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25239
25240 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25241 prior to terminal_input/terminal_output separation. It's been over 1.5
25242 years and those versions weren't widely deployed.
25243
a9600892
CW
252442010-07-22 Colin Watson <cjwatson@ubuntu.com>
25245
25246 * disk/raid.c (insert_array): Don't count named arrays when looking
25247 for unused array numbers.
697e053c 25248 Reported and tested by: Michael Guntsche.
a9600892 25249
c03507df
CW
252502010-07-20 Colin Watson <cjwatson@ubuntu.com>
25251
25252 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25253 implementation of this so that grub-emu links again, with a note
25254 that this should support hotplugging in the future.
25255
b26f1c11
CW
252562010-07-20 Colin Watson <cjwatson@ubuntu.com>
25257
25258 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25259
efc9d7f1
CW
252602010-07-20 Colin Watson <cjwatson@ubuntu.com>
25261
25262 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25263 handle on failure.
25264 (grub_loopback_close): Remove empty function.
25265 (grub_loopback_dev): Remove close method.
25266
dd8ff5c9
CW
252672010-07-20 Colin Watson <cjwatson@ubuntu.com>
25268
25269 Disable EFI cursor when the EFI console becomes inactive.
25270
25271 * term/efi/console.c (grub_efi_console_init): New function.
25272 (grub_efi_console_fini): New function.
25273 (grub_console_term_output): Register init and fini methods.
25274
5e3bec67
VS
252752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25276
25277 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25278 sh script.
25279
afaec079
VS
252802010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25281
25282 * disk/loopback.c (grub_loopback): Replace filename with file.
25283 (delete_loopback): Handle new semantics.
25284 (grub_cmd_loopback): Likewise.
25285 (grub_loopback_iterate): Likewise.
25286 (grub_loopback_close): Likewise.
25287
a6a11f3c
VS
252882010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25289
25290 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25291 with -p "".
25292 Reported by: Tito Keitel.
25293
64a638b0
VS
252942010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25295
25296 * docs/grub.texi (Naming convention): Document new naming convention.
25297
ab8ba957
VS
252982010-07-20 Vadim Solomin <vadic052@gmail.com>
252992010-07-20 Colin Watson <cjwatson@ubuntu.com>
25300
25301 Generate device.map in something closer to the old ordering.
25302
25303 * util/deviceiter.c (struct device): New declaration.
25304 (compare_file_names): Rename to ...
25305 (compare_devices): ... this. Sort by kernel name in preference to
25306 the stable by-id name, but keep the latter as a fallback comparison.
25307 Update header comment.
25308 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25309 of `struct device' rather than of plain file names.
25310
a29d6a4b
TF
253112010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25312
25313 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25314 on i386.
25315
39d824e8
VS
253162010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25317
25318 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25319 hardcoding size.
25320 (setv1table): Likewise.
25321
f058276b
FZ
253222010-07-20 Colin Watson <cjwatson@ubuntu.com>
25323
25324 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25325 removing the homehost if present.
25326 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25327 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25328 removing the homehost if present.
25329 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25330 if possible.
25331 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25332
25333 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25334 parameter. Set its pointer target to 0.
25335 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25336 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25337 `data_offset' value from the superblock for 1.x metadata.
25338 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25339 data on the device.
25340 (insert_array): Record the start sector of data on the device.
25341 (grub_raid_register): Pass start_sector parameters to
25342 grub_raid_list->detect and insert_array.
25343 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25344 member.
25345 (struct grub_raid): Add start_sector parameter to `detect'.
25346
25347 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25348 __attribute__ ((packed)), leaving a comment.
25349 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25350 (grub_mdraid_detect_09): ... here and ...
25351 (grub_mdraid_detect_1x): ... here.
25352
253532010-07-20 Peter Henn <peter.henn@web.de>
25354
25355 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25356 chunk size and disk size, which are already given as sector counts
25357 as distinct from the 0.90 units. Fetch the correct device number
25358 from the role table instead of using the table index.
25359
253602010-07-20 Felix Zielcke <fzielcke@z-51.de>
25361
25362 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25363 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25364 (WriteMostly1): New macro.
25365 Set array->name to NULL for metadata format 0.90. Add support for
25366 metadata 1.x. Fix some comments.
25367 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25368 few comments.
25369 * util/getroot.c (grub_util_get_grub_dev): Add support for
25370 /dev/md/name style devices.
25371
4b761da9
CW
253722010-07-20 Colin Watson <cjwatson@ubuntu.com>
25373
25374 * .bzrignore: Ignore 20_linux_xen.
25375
5771289a
CW
253762010-07-17 Colin Watson <cjwatson@ubuntu.com>
25377
25378 * util/import_unicode.py: Remove unnecessary imports.
25379
5dab68df
AN
253802010-07-17 Aleš Nesrsta <starous@volny.cz>
25381
25382 Hotplugging and USB hub support.
25383
25384 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25385 (grub_ohci): Likewise.
25386 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25387 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25388 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25389 (GRUB_OHCI_CTRL_EDS): Likewise.
25390 (GRUB_OHCI_BULK_EDS): Likewise.
25391 (GRUB_OHCI_TDS): Likewise.
25392 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25393 (grub_ohci_ed_phys2virt): New function.
25394 (grub_ohci_virt_to_phys): Likewise.
25395 (grub_ohci_td_phys2virt): Likewise.
25396 (grub_ohci_td_virt2phys): Likewise.
25397 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25398 attachment.
25399 (grub_ohci_find_ed): New function.
25400 (grub_ohci_alloc_td): Likewise.
25401 (grub_ohci_free_td): Likewise.
25402 (grub_ohci_free_tds): Likewise.
25403 (grub_ohci_transfer): Use previously allocated memory.
25404 (grub_ohci_portstatus): Reset status changed bit.
25405 (grub_ohci_detect_dev): Supply status changed.
25406 (grub_ohci_fini_hw): Free memory.
25407 (grub_ohci_restore_hw): Reallocate memory.
25408 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25409 Reset status change.
25410 (grub_uhci_detect_dev): Supply status_change.
25411 * bus/usb/usb.c (attach_hooks): New var.
25412 (grub_usb_device_attach): New function.
25413 (grub_usb_register_attach_hook_class): Likewise.
25414 (grub_usb_unregister_attach_hook_class): Likewise.
25415 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25416 (grub_usb_add_hub): Reset connection changed bit.
25417 (attach_root_port): New function.
25418 (grub_usb_root_hub): Likewise.
25419 (poll_nonroot_hub): Likewise.
25420 (grub_usb_poll_devices): Likewise.
25421 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25422 * disk/usbms.c (grub_usbms_open): Use device hooks.
25423 (grub_usbms_iterate) :Poll devices.
25424 (grub_usbms_finddevs): Split into ...
25425 (grub_usbms_attach): ... this ...
25426 (grub_usbms_attach): ... and this.
25427 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25428 in detect_dev.
25429 (grub_usb_interface): New fields attached and detach_hook.
25430 (grub_usb_attach_hook_class): New type.
25431 (grub_usb_attach_desc): New struct.
25432 (grub_usb_register_attach_hook_class): New function.
25433 (grub_usb_unregister_attach_hook_class): Likewise.
25434 (grub_usb_poll_devices): Likewise.
25435 (grub_usb_device_attach): Likewise.
25436 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25437 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25438
3222efaf
VS
254392010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25440
25441 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25442 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25443 delta determination style. Works with most NetBSD partitions too.
25444
139b714a
VS
254452010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25446
25447 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25448 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25449
986aad56
VS
254502010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25451
25452 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25453
99be513c
AB
254542010-07-14 Anton Blanchard <anton@samba.org>
25455
25456 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25457 ET_DYN files.
25458
18075f62
GS
254592010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25460
25461 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25462
8d9a5b15
GS
254632010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25464
25465 * kern/partition.c (grub_partition_check_containment): New function to
25466 check that a partition is physically contained in a parent. Since
25467 offsets are relative (and non-negative), this reduces to checking that
25468 the partition ends before its parent.
25469 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25470 (grub_partition_iterate): Likewise.
25471 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25472 comments.
25473 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25474 partitions that start before their parent, and add debug printfs.
25475
19563c25
CW
254762010-07-13 Colin Watson <cjwatson@ubuntu.com>
25477
25478 * Makefile.in (.SUFFIX): Spell correctly, as ...
25479 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25480 bare module name without `.mod', e.g. `test') tried to invoke a
25481 Modula-2 compiler.
25482
1a1f1e67
CW
254832010-07-13 Colin Watson <cjwatson@ubuntu.com>
25484
25485 * README: Point to the Info manual.
25486
811b0dca
JS
254872010-07-13 Jiro SEKIBA <jir@unicus.jp>
25488
25489 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25490 2nd superblock position from partition size.
25491
e4f4eafc
CW
254922010-07-10 Colin Watson <cjwatson@ubuntu.com>
25493
25494 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25495 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25496 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25497 outputs.
25498
4274c30f
VS
254992010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25500
25501 Restructure SCSI .id handling.
25502 Reported and tested by: Aleš Nesrsta.
25503
25504 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25505 (grub_atapi_dev): Changed .name to "ata". New field .id.
25506 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25507 (grub_usbms_dev): New field .id.
25508 * disk/scsi.c (grub_scsi_iterate): Generate name.
25509 (grub_scsi_open): Parse name.
25510 * include/grub/scsi.h (grub_make_scsi_id): New function.
25511 (grub_scsi_dev): Change iterate and open to number instead of naming
25512 busses. All users updated.
25513 (grub_scsi): Remove name. Add .bus.
25514
5bc24388
VS
255152010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25516
25517 * commands/help.c (grub_cmd_help): Fix a typo.
25518
249975ba
VS
255192010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25520
25521 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25522 Reported and tested by: Colin Watson.
25523
3eaac1a1
VS
255242010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25525
25526 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25527 in this context.
25528
becce1b1
VS
255292010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25530
25531 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25532
f7bf0918
CW
255332010-07-07 Colin Watson <cjwatson@ubuntu.com>
25534
25535 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25536 indentation.
25537
0b0f9620
CW
255382010-07-06 Colin Watson <cjwatson@ubuntu.com>
25539
25540 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25541 and disk/raid6_recover.c.
25542 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25543 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25544
1e545469
CW
255452010-07-06 Colin Watson <cjwatson@ubuntu.com>
25546
25547 * term/gfxterm.c (repaint_schedulded): Rename to ...
25548 (repaint_scheduled): ... this. Update all callers.
25549 (repaint_was_schedulded): Rename to ...
25550 (repaint_was_scheduled): ... this. Update all callers.
25551
5357687a
CW
255522010-07-06 Colin Watson <cjwatson@ubuntu.com>
25553
25554 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25555 which we expect to be handled by upper layers.
25556
29d7e783
BC
255572010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25558
25559 * bus/usb/usbhub.c: #include time.h header.
25560
37582066
CW
255612010-07-06 Colin Watson <cjwatson@ubuntu.com>
25562
25563 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25564 entry_name also for entries without stat blocks (e.g. ".."); fixes
25565 corruption of the first entry in a directory.
25566
c8c06953
CW
255672010-07-06 Colin Watson <cjwatson@ubuntu.com>
25568
25569 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25570 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25571 doesn't work otherwise.
25572
e75056f1
CW
255732010-07-05 Colin Watson <cjwatson@ubuntu.com>
25574
25575 * docs/grub.texi (Features): Update list of supported file systems.
25576 (GNU/Linux): Update for GRUB 2.
25577 (Serial terminal): Remove mention of --disable-serial, which was a
25578 GRUB Legacy configure option. Update instructions to use
25579 `terminal_input' and `terminal_output' rather than `terminal'.
25580 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25581 configuration' and `Installing GRUB using grub-install'.
25582 (Menu entry editor): Update for GRUB 2.
25583 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25584 Document new -a, -u, and -v options.
25585 (initrd): New section.
25586 (initrd16): New section.
25587 (linux): New section.
25588 (linux16): New section.
25589 (search): The `var' argument to `--set' is optional.
25590 (GRUB only offers a rescue shell): Go into a little more detail on
25591 drive ordering.
25592
5cf69151
CW
255932010-07-05 Colin Watson <cjwatson@ubuntu.com>
25594
25595 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25596
e3f90044
CW
255972010-07-05 Colin Watson <cjwatson@ubuntu.com>
25598
25599 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25600 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25601
38d8f4f3
CW
256022010-07-05 Colin Watson <cjwatson@ubuntu.com>
25603
25604 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25605 install_prefix, in line with install_dos_part and install_bsd_part.
25606 Add new prefix variable, which is copied to install_prefix after
25607 comparing core.img in memory with the one read from disk in the
25608 no-embedding case, and use that rather than overwriting
25609 install_prefix immediately when installing to a partition.
25610 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25611 Bicakci.
25612
57ebd41e
GS
256132010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25614
25615 * configure.ac: Avoid == in test command, it's not portable.
25616 * util/grub.d/30_os-prober.in: Likewise.
25617
cb7f64b2
CW
256182010-07-04 Colin Watson <cjwatson@ubuntu.com>
25619
25620 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25621
6b654bb0
GS
256222010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25623
25624 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25625 multiple (top-level) partmaps.
25626
72a2026d
VS
256272010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25628
25629 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25630 Reported by: Tino Keitel.
72a2026d 25631
df3eb88f
VS
256322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25633
25634 Bidi and diacritics support.
25635
25636 * Makefile.in (widthspec.bin): New target.
25637 (widthspec.h): Likewise.
25638 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25639 * autogen.sh: Generate unidata.c.
25640 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25641 * commands/ls.c (grub_ls_list_devices): Likewise.
25642 (grub_ls_list_files): Likewise.
25643 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25644 (grub_mini_cmd_lsmod): Likewise.
25645 * commands/read.c: Likewise.
25646 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25647 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25648 * lib/arg.c (grub_arg_show_help): Likewise.
25649 * lib/crypto.c (grub_password_get): Likewise.
25650 * normal/auth.c (grub_username_get): Likewise.
25651 * normal/misc.c (grub_normal_print_device_info): Likewise.
25652 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25653 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25654 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25655 (normal/charset.c_DEPENDENCIES): New variable.
25656 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25657 (pkglib_MODULES): Remove charset.mod.
25658 (charset_mod_SOURCES): Removed.
25659 (charset_mod_CFLAGS): Likewise.
25660 (charset_mod_LDFLAGS): Likewise.
25661 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25662 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25663 and term/tparm.c.
25664 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25665 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25666 (kernel_img_HEADERS): Add terminfo.h.
25667 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25668 Fill ->font. Reverse ascii bitmaps.
25669 (grub_font_get_xheight): New function.
25670 * font/font.c (grub_font_get_string_width): Moved from here ...
25671 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25672 * font/font.c (grub_font_draw_string): Moved from here ...
25673 * gfxmenu/font.c (grub_font_draw_string): ... here.
25674 * font/font.c (grub_font_dup_glyph): New function.
25675 (grub_font_blit_glyph): Likewise.
25676 (grub_font_blit_glyph_mirror): Likewise.
25677 (blit_comb): Likewise.
25678 (grub_font_construct_dry_run): Likewise.
25679 (grub_font_get_constructed_device_width): Likewise.
25680 (grub_font_construct_glyph): Likewise.
25681 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25682 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25683 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25684 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25685 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25686 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25687 (grub_font_get_xheight): New proto.
25688 (grub_font_get_constructed_device_width): Likewise.
25689 (grub_font_construct_glyph): Likewise.
25690 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25691 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25692 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25693 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25694 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25695 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25696 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25697 (grub_console_getcharwidth): Likewise.
25698 * include/grub/misc.h (grub_xputs): New proto.
25699 (grub_puts): Inlined.
25700 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25701 (grub_normal_get_line_counter): Removed.
25702 (grub_install_newline_hook): Likewise.
25703 (grub_normal_get_char_counter): New proto.
25704 (grub_normal_reset_more): Likewise.
25705 (grub_xputs_normal): Likewise.
25706 * include/grub/powerpc/ieee1275/console.h: Removed.
25707 * include/grub/sparc64/ieee1275/console.h: Likewise.
25708 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25709 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25710 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25711 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25712 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25713 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25714 (grub_term_input): Pass reference to self. All users updated.
25715 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25716 Pass reference to self. New fields normal_color, highlight_color and
25717 data. All users updated.
25718 (grub_putchar): Removed.
25719 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
25720 (grub_unicode_estimate_width): New function.
25721 (grub_term_getcharwidth): Add defaults.
25722 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
25723 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
25724 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
25725 (grub_cls): Remove EXPORT_FUNC.
25726 (grub_setcolorstate): Inline.
25727 (grub_newline_hook): Removed.
25728 * include/grub/terminfo.h: Rewritten. All users updated.
25729 * include/grub/unicode.h: New file.
25730 * include/grub/video.h (grub_video_signed_rect): New type.
25731 * kern/emu/console.c (grub_console_highlight_color): Removed.
25732 (grub_console_normal_color): Likewise.
25733 (grub_console_standard_color): Made static.
25734 (grub_ncurses_putchar): Remove mapping.
25735 (grub_ncurses_getcharwidth): Removed.
25736 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25737 (grub_ncurses_setcolor): Removed.
25738 (grub_ncurses_getcolor): Likewise.
25739 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
25740 (grub_console_putchar): ... this.
25741 (grub_console_putchar): Handle argument difference.
25742 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
25743 console_init_early and console_init_lately.
25744 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
25745 * kern/misc.c (grub_puts): Removed.
25746 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
25747 (grub_vsnprintf_real): Remove str = NULL support.
25748 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
25749 * normal/charset.c (grub_utf8_to_ucs4): ... here.
25750 * kern/term.c (grub_putcode): Renamed to ...
25751 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
25752 (grub_putchar): Removed.
25753 (grub_xputs_dumb): New function.
25754 (grub_xputs): New variable.
25755 * lib/charset.c: Move from here ...
25756 * normal/charset.c: ... to here.
25757 (grub_ucs4_to_utf8): New function.
25758 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
25759 (join_types): New variable.
25760 (unpack_join): New function.
25761 (bidi_types): New variable.
25762 (unpack_bidi): New function.
25763 (get_bidi_type): Likewise.
25764 (get_join_type): Likewise.
25765 (is_mirrored): Likewise.
25766 (grub_unicode_get_comb_type): Likewise.
25767 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
25768 (is_type_after): Likewise.
25769 (grub_unicode_aglomerate_comb): Likewise.
25770 (bidi_line_wrap): Likewise.
25771 (grub_bidi_line_logical_to_visual): Likewise.
25772 (grub_bidi_logical_to_visual): Likewise.
25773 (grub_unicode_mirror_code): Likewise.
25774 (grub_unicode_shape_code): Likewise.
25775 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
25776 Don't use grub_putchar.
25777 * normal/main.c (grub_normal_init_page): Use grub_putcode.
25778 (grub_normal_reader_init): Likewise.
25779 (grub_xputs_saved): New variable.
25780 (GRUB_MOD_INIT): Set grub_xputs.
25781 (GRUB_MOD_FINI): Restore grub_xputs.
25782 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
25783 (menu_init): Avoid printing gfxmenu error.
25784 (show_menu): Use grub_normal_get_char_counter.
25785 * normal/menu_entry.c (update_screen): Fix out-of-array.
25786 (complete): Avoid NULL dereferencing.
25787 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
25788 * normal/menu_text.c (print_spaces): Removed.
25789 (grub_print_ucs4): Likewise.
25790 (grub_print_message_indented): Use grub_print_ucs4.
25791 (print_message): Use grub_putcode.
25792 (print_entry): Hanlde diacritics.
25793 * normal/term.c (term_state): New type.
25794 (grub_more_lines): Removed.
25795 (term_states): New variable.
25796 (grub_normal_line_counter): Renamed to ..
25797 (grub_normal_char_counter): ...this. All users updated.
25798 (grub_normal_get_line_counter): Renamed to ...
25799 (grub_normal_get_char_counter): ... this.
25800 (grub_normal_reset_more): New function.
25801 (process_newline): Removed.
25802 (print_more): New function.
25803 (grub_install_newline_hook): Removed.
25804 (map_code): New function.
25805 (grub_puts_terminal): Use grub_print_ucs4.
25806 (putglyph): New function.
25807 (putcode_real): Likewise.
25808 (grub_putcode): Use putcode_real.
25809 (get_maxwidth): New function.
25810 (get_startwidth): Likewise.
25811 (print_ucs4_terminal): Likewise.
25812 (find_term_state): Likewise.
25813 (put_glyphs_terminal): Likewise.
25814 (print_backlog): Likewise.
25815 (print_ucs4_real): Likewise.
25816 (grub_print_ucs4): Likewise.
25817 (grub_xputs_normal): Likewise.
25818 * term/efi/console.c (grub_console_putchar): Output diacritics.
25819 (grub_console_getcharwidth): Removed.
25820 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25821 * term/gfxterm.c (clear_char): Free chars.
25822 (scroll_up): Avoid leaking memory.
25823 (grub_gfxterm_putchar): Support diacritics.
25824 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
25825 * term/i386/pc/console.c (grub_console_term_output): Declare as
25826 GRUB_TERM_CODE_TYPE_VGA.
25827 * term/i386/pc/vga.c (grub_vga_term): Declare as
25828 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
25829 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
25830 GRUB_TERM_CODE_TYPE_VGA.
25831 * term/i386/vga_common.c (map_char): Removed.
25832 (grub_console_putchar): Likewise.
25833 (grub_console_getcharwidth): Likewise.
25834 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25835 (colors): Reordered to match terminfo.
25836 (grub_ofconsole_normal_color): Removed.
25837 (grub_ofconsole_writeesc): Likewise.
25838 (grub_ofconsole_highlight_color): Likewise.
25839 (grub_ofconsole_getcharwidth): Likewise.
25840 (grub_ofconsole_setcolorstate): Likewise.
25841 (grub_ofconsole_setcolor): Likewise.
25842 (grub_ofconsole_getcolor): Likewise.
25843 (grub_ofconsole_readkey): Renamed to ...
25844 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25845 key.
25846 (grub_ofconsole_checkkey): Removed.
25847 (grub_ofconsole_getkey): Likewise.
25848 (grub_ofconsole_getxy): Likewise.
25849 (grub_ofconsole_gotoxy): Likewise.
25850 (grub_ofconsole_cls): Likewise.
25851 (grub_ofconsole_refresh): Likewise.
25852 (grub_ofconsole_terminfo_input): New struct.
25853 (grub_ofconsole_terminfo_output): Likewise.
25854 (grub_ofconsole_term_input): Use terminfo.
25855 (grub_ofconsole_term_output): Likewise.
25856 (grub_console_init): Split into ...
25857 (grub_console_init_early): ...this and ...
25858 (grub_console_init_lately): ...this. Use terminfo.
25859 (grub_ofconsole_putchar): Renamed to ...
25860 (put): ... this. Remove mapping.
25861 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25862 * term/serial.c: Simplify using terminfo.
25863 (xpos): Removed.
25864 (ypos): Likewise.
25865 (keep_track): Likewise.
25866 (registered): Likewise.
25867 (input_buf): Likewise.
25868 (npending): Likewise.
25869 (serial_translate_key_sequence): Likewise.
25870 (fill_input_buf): Likewise.
25871 (grub_serial_checkkey): Likewise.
25872 (grub_serial_getkey): Likewise.
25873 (grub_serial_getxy): Likewise.
25874 (grub_serial_gotoxy): Likewise.
25875 (grub_serial_putchar): Likewise.
25876 (grub_serial_cls): Likewise.
25877 (grub_serial_setcolorstate): Likewise.
25878 (grub_serial_setcursor): Likewise.
25879 (serial_hw_init): Use serial_hw_fetch.
25880 (grub_serial_terminfo_input): New variable.
25881 (grub_serial_terminfo_output): Likewise.
25882 (grub_serial_term_input): Use terminfo.
25883 (grub_serial_term_output): Likewise.
25884 * term/terminfo.c (putstr): Use put.
25885 (grub_terminfo_all_free): New function
25886 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25887 (grub_terminfo_output_register): New function.
25888 (grub_terminfo_output_unregister): Likewise.
25889 (grub_terminfo_getxy): Likewise.
25890 (grub_terminfo_readkey): Likewise.
25891 (grub_terminfo_checkkey): Likewise.
25892 (grub_terminfo_getkey): Likewise.
25893 (grub_terminfo_input_init): Likewise.
25894 (print_terminfo): Likewise.
25895 (grub_cmd_terminfo): Handle encoding.
25896 (grub_terminfo_gotoxy): Track position.
25897 (grub_terminfo_cls): Likewise.
25898 (grub_terminfo_putchar): Likewise.
25899 (grub_terminfo_setcolorstate): Handle colors
25900 (grub_terminfo_cursor_on): This ...
25901 (grub_terminfo_cursor_off): ... and this merged into ...
25902 (grub_terminfo_setcursor): ... this.
25903 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25904 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25905 * unicode/BidiMirroring.txt: Likewise.
25906 * unicode/UnicodeData.txt: Likewise.
25907 * unicode/COPYING: Likewise.
25908 * util/grub-editenv.c (grub_putchar): Removed.
25909 (grub_xputs_real): New function.
25910 (grub_xputs): New variable.
25911 * util/grub-fstest.c (grub_putchar): Removed.
25912 (grub_xputs_real): New function.
25913 (grub_xputs): New variable.
25914 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25915 (grub_xputs_real): New function.
25916 (grub_xputs): New variable.
25917 * util/grub-probe.c (grub_putchar): Removed.
25918 (grub_xputs_real): New function.
25919 (grub_xputs): New variable.
25920 * util/grub-script-check.c (grub_putchar): Removed.
25921 (grub_xputs_real): New function.
25922 (grub_xputs): New variable.
25923 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25924 (grub_xputs_real): New function.
25925 (grub_xputs): New variable.
25926 * util/import_unicode.py: New file.
25927 * util/grub-mkfont.c (ft_errmsgs): New array.
25928 (grub_glyph_info): Make bitmap a pointer.
25929 (file_formats): New type WIDTH_SPEC.
25930 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25931 (options): Add width-spec.
25932 (help): Likewise.
25933 (add_char): Renamed to ...
25934 (add_glyph): ... this.
25935 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25936 (glyph_replace): New type.
25937 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25938 (add_char): New function.
25939 (add_subst): Likewise.
25940 (process_cursive): Likewise.
25941 (add_font): Handle GSUB.
25942 (write_font_width_spec): New function.
25943 (main): Sort glyphs.
25944 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25945 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25946 * kern/term.c (grub_cls): Moved from here...
25947 * normal/term.c (grub_cls): ... here.
25948
50f0bcda
CW
259492010-07-02 Colin Watson <cjwatson@ubuntu.com>
25950
25951 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25952 suitable for using within the format argument of printf when
25953 converting grub_size_t.
25954 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25955 "x" to convert grub_size_t arguments.
25956
40372103
VS
259572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25958
25959 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25960 too long captions.
25961 (list_get_minimal_size): Take selection box into account.
25962
942a10c7
VS
259632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25964
25965 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25966 NULL font.
25967
2bdb2892
CW
259682010-07-02 Colin Watson <cjwatson@ubuntu.com>
25969
25970 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25971 devices when iterating over /dev/disk/by-id; they will be handled
25972 later if appropriate, which they aren't always (e.g. LVM).
25973
e03ed6c1
CW
259742010-07-02 Colin Watson <cjwatson@ubuntu.com>
25975
25976 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25977 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25978 fails.
25979 (grub_halt): Likewise.
25980 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25981 reset-all fails.
25982 (grub_halt): Don't return, even if all of shut-down, power-off, and
25983 poweroff fail.
25984
47695765
CW
259852010-07-02 Colin Watson <cjwatson@ubuntu.com>
25986
25987 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25988 arguments, not three.
25989
507736c8
CW
259902010-07-02 Colin Watson <cjwatson@ubuntu.com>
25991
25992 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25993 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25994 LVM-on-RAID is handled correctly.
25995
e3c8cd37
CW
259962010-07-02 Colin Watson <cjwatson@ubuntu.com>
25997
25998 * docs/grub.texi (Changes from GRUB Legacy): New section.
25999 (Future): Fix typo.
26000
8d4a2fec
CW
260012010-07-02 Colin Watson <cjwatson@ubuntu.com>
26002
26003 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26004 grub.d/README accidentally ends up executable for one reason or
26005 another. Ignore it.
26006
1c4827be
VS
260072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26010 (gpt_partition_map_iterate): Support non-512B sectors.
26011
d9a0c941
VS
260122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26013
26014 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26015 Tested by: Seth Goldberg.
26016
48f27e87
VS
260172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26018
26019 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26020 Properly align mbi.
26021 Reported by: Seth Goldberg.
26022
b0c4f956
VS
260232010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26024
26025 * util/grub-mkrescue.in: Avoid module duplication.
26026
105a2e8c
SF
260272010-07-01 Sean Finney <seanius@seanius.net>
26028
26029 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26030
5944958c
SF
260312010-07-01 Sean Finney <seanius@seanius.net>
26032
26033 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26034
260352010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26036
26037 * disk/lvm.c (grub_lvm_checkvalue): New function.
26038 (grub_lvm_check_flag): Likewise.
26039
b79889ba
RM
260402010-07-01 Robert Millan <rmh@gnu.org>
26041
26042 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26043 Support 'p' as partition separator on kernel of FreeBSD (used
26044 with GPT labels).
26045 (grub_util_biosdisk_get_grub_dev): Likewise.
26046
ec1d04f1
VS
260472010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26048
26049 Yeeloong firmware port.
26050
26051 * boot/mips/yeeloong/fwstart.S: New file.
26052 * bus/cs5536.c (gpiodump): New const.
26053 (set_io_space): New function.
26054 (set_iod): Likewise.
26055 (set_p2d): Likewise.
26056 (grub_cs5536_init_geode): Likewise.
26057 * commands/mips/yeeloong/lsspd.c: New file.
26058 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26059 (serial_mod_SOURCES): New variable.
26060 (serial_mod_CFLAGS): Likewise.
26061 (serial_mod_LDFLAGS): Likewise.
26062 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26063 term/terminfo.c and term/tparm.c.
26064 (pkglib_IMAGES): Add fwstart.img.
26065 (fwstart_img_SOURCES): New variable.
26066 (fwstart_img_CFLAGS): Likewise.
26067 (fwstart_img_ASFLAGS): Likewise.
26068 (fwstart_img_LDFLAGS): Likewise.
26069 (fwstart_img_FORMAT): Likewise.
26070 (pkglib_MODULES): Add lsspd.mod.
26071 (lsspd_mod_SOURCES): New variable.
26072 (lsspd_mod_CFLAGS): Likewise.
26073 (lsspd_mod_LDFLAGS): Likewise.
26074 (pkglib_MODULES): Add halt.mod.
26075 (halt_mod_SOURCES): New variable.
26076 (halt_mod_CFLAGS): Likewise.
26077 (halt_mod_LDFLAGS): Likewise.
26078 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
26079 (serial_mod_SOURCES): Removed.
26080 (serial_mod_CFLAGS): Likewise.
26081 (serial_mod_LDFLAGS): Likewise.
26082 * disk/ata.c (check_device): New function.
26083 (grub_ata_device_initialize): Use check_device.
26084 (grub_ata_iterate): Recheck devices.
26085 (grub_ata_open): Likewise.
26086 (grub_atapi_iterate): Likewise.
26087 (grub_atapi_open): Likewise.
26088 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26089 (GRUB_ATA_CH1_PORT1): Likewise.
26090 (GRUB_ATA_CH0_PORT2): Likewise.
26091 (GRUB_ATA_CH1_PORT2): Likewise.
26092 * include/grub/mips/loongson.h: New file.
26093 * include/grub/mips/yeeloong/ec.h: Likewise.
26094 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26095 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26096 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26097 * include/grub/misc.h (grub_halt): Declare as noreturn.
26098 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26099 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26100 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26101 (UART_ENABLE_DTRRTS): Likewise.
26102 (UART_ENABLE_MODEM): Removed.
26103 (UART_ENABLE_OUT2): New const.
26104 * include/grub/term.h (grub_term_register_input_active): New function.
26105 (grub_term_register_output_active): Likewise.
26106 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26107 argument.
26108 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26109 (init_pci): New function.
26110 (grub_machine_init): Execute platform init when firmware. Init serial.
26111 (grub_halt): Implement.
26112 (grub_exit): Likewise.
26113 (grub_reboot): Likewise.
26114 * term/serial.c (serial_hw_init): Update macros.
26115 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
26116 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
26117 (image_targets): New target mipsel-yeeloong-flash.
26118 (generate_image): Support IMAGE_YEELOONG_FLASH.
26119 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
26120 (grub_video_sm712_setup): Init card.
26121 (grub_video_sm712_set_palette): Removed.
26122 * video/sm712_init.c: New file.
26123
ff4a70d2
CW
261242010-06-30 Colin Watson <cjwatson@ubuntu.com>
26125
26126 * Makefile.in (install-local): Temporarily prepend $(builddir) to
26127 PATH when running help2man and then run it on the unadorned
26128 executable names, rather than passing $(builddir)/* paths to
26129 help2man. This avoids the build directory ending up in generated
26130 manual pages.
26131
1246efeb
CW
261322010-06-29 Colin Watson <cjwatson@ubuntu.com>
26133
26134 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
26135 to avoid accidents when debugging with 'sh -x'.
26136 * util/grub-mkrescue.in: Likewise.
26137 * util/grub.d/00_header.in: Likewise.
26138 * util/grub.d/10_hurd.in: Likewise.
26139 * util/grub.d/10_kfreebsd.in: Likewise.
26140 * util/grub.d/10_linux.in: Likewise.
26141 * util/grub.d/10_netbsd.in: Likewise.
26142 * util/grub.d/10_windows.in: Likewise.
26143 * util/grub.d/20_linux_xen.in: Likewise.
26144 * util/grub.d/30_os-prober.in: Likewise.
26145 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26146
1ba9b889
CW
261472010-06-29 Colin Watson <cjwatson@ubuntu.com>
26148
26149 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
26150 last character in the buffer.
26151 Reported by: Vladimir Serbinenko.
26152
dccaf99d
RM
261532010-06-29 Robert Millan <rmh@gnu.org>
26154
26155 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
26156 (Command-line and menu entry commands): Document `badram' command.
26157
d500ed12
RM
261582010-06-28 Robert Millan <rmh@gnu.org>
26159
26160 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
26161 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
26162 command using ${GRUB_BADRAM} as parameter.
26163
20bc84a6
CW
261642010-06-28 Colin Watson <cjwatson@ubuntu.com>
26165
26166 * docs/grub.texi (Device map): New section.
26167 (Themes): New section (stub).
26168 * Makefile.in (docs/grub.info): The info documentation now builds
26169 without errors. Make sure it stays that way.
26170
4045dee1
VS
261712010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26172
26173 Use normal parser for menu entries.
26174 Reported by: Thomas Frauendorfer
26175
26176 * include/grub/parser.h (grub_parser_execute): Don't export.
26177 * normal/menu.c (grub_menu_execute_entry_real): New function.
26178 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
26179
bca58c7b
CW
261802010-06-28 Colin Watson <cjwatson@ubuntu.com>
26181
26182 * docs/grub.texi (Embedded configuration): New section (replacing
26183 old "Preset Menu" stub).
26184 (Images): New section.
26185 (configfile): Note that any menu entries defined in `file' are shown
26186 immediately.
26187
dec53e63
JT
261882010-06-28 Josh Triplett <josh@joshtriplett.org>
26189
26190 * mmap/i386/pc/mmap_helper.S: Set CF on return.
26191
c06e40f7
CW
261922010-06-28 Colin Watson <cjwatson@ubuntu.com>
26193
26194 * util/grub-install.in: Add --debug-image= option.
26195
cb88052b
CW
261962010-06-28 Colin Watson <cjwatson@ubuntu.com>
26197
26198 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26199 possible on Linux.
26200
26201 * util/deviceiter.c (check_device): Rename to ...
26202 (check_device_readable_unique): ... this. Update all callers.
26203 Maintain and check a list of which devices (by canonicalized name)
26204 have already been seen.
26205 (clear_seen_devices): New function.
26206 (compare_file_names) [__linux__]: New function.
26207 (grub_util_iterate_devices): Clear the list of seen devices on exit
26208 and (just in case) on entry.
26209 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26210 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26211 seen-devices list, superseded by general code in check_device.
26212
bbe34652
CW
262132010-06-28 Colin Watson <cjwatson@ubuntu.com>
26214
26215 * commands/cat.c (options): New variable.
26216 (grub_cmd_cat): Parse options. If the --dos option is given, print
26217 DOS-style "\r\n" line endings as simple newlines (Debian bug
26218 #586358).
26219 (GRUB_MOD_INIT): Use extcmd.
26220 (GRUB_MOD_FINI): Likewise.
26221 * docs/grub.texi (cat): Document --dos.
26222
412e09f3
VS
262232010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26224
26225 XEN with Linux grub-mkconfig support.
26226
26227 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26228 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26229 GRUB_CMDLINE_XEN_DEFAULT.
26230 * util/grub.d/20_linux_xen.in: New file.
26231
53f3ef38 262322010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
26233
26234 Initialise VGA video on qemu ourselves.
26235
26236 * boot/i386/qemu/boot.S: Don't call 0xc000.
26237 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26238 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26239 (kernel_img_HEADERS): Add pci.h.
26240 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26241 * configure.ac: Force unifont on qemu and yeeloong.
26242 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26243 (grub_vga_palette_write): Use correct register.
26244 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26245 Call grub_qemu_init_cirrus.
26246 * kern/i386/qemu/init.c: New file.
26247 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26248
26249 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26250
c75be4fb
PR
262512010-06-26 Pavel Roskin <proski@gnu.org>
26252
26253 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26254 13.
26255
d8034603
CW
262562010-06-26 Colin Watson <cjwatson@ubuntu.com>
26257
26258 * docs/grub.texi (Simple configuration): Explain that
26259 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26260 set to `true' to disable their respective recovery entries, not
26261 merely set.
26262
3fa06487
CW
262632010-06-26 Colin Watson <cjwatson@ubuntu.com>
26264
26265 Make the `source' command slightly faster.
26266
26267 * normal/main.c (grub_normal_execute): Don't re-read list files when
26268 nested.
26269
e9b29642
CW
262702010-06-23 Colin Watson <cjwatson@ubuntu.com>
26271
26272 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26273 field position and mask size to red fields from mode_info, not
26274 green.
26275 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26276 Remove redundant tag->common.framebuffer_type assignment.
26277 Reported by: Seth Goldberg.
26278
e726542f
CW
262792010-06-23 Colin Watson <cjwatson@ubuntu.com>
26280
26281 Sync up other versions of the Linux loader with Robert Millan's
26282 change of 2010-01-09, "Make loader output a bit more user-friendly".
26283
26284 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26285 grub_dprintf().
26286 (grub_cmd_linux): Likewise.
26287 (grub_cmd_initrd): Likewise.
26288 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26289 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26290
d6e98a17
CW
262912010-06-21 Colin Watson <cjwatson@ubuntu.com>
26292
26293 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26294 larger than MEMORY_MAP_SIZE.
26295
14d3f08e
BC
262962010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26297
26298 Fix parallel build.
26299
26300 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26301 dependency.
26302 * script/parser.y: #include grub_script.tab.h header.
26303
4f9613a3
VS
263042010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 Support >3GiB and <16MiB RAM in i386-qemu.
26307
26308 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26309 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26310 (grub_lower_mem): Removed.
26311 (grub_upper_mem): Likewise.
26312 (mem_size): Made static.
26313 (above_4g): New variable.
26314 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26315 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26316 support.
26317
05e51879
VS
263182010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26319
26320 Cirrus 5446 and Bochs video cards support.
26321
26322 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26323 video_bochs.mod
26324 (video_cirrus_mod_SOURCES): New variable.
26325 (video_cirrus_mod_CFLAGS): Likewise.
26326 (video_cirrus_mod_LDFLAGS): Likewise.
26327 (video_bochs_mod_SOURCES): Likewise.
26328 (video_bochs_mod_CFLAGS): Likewise.
26329 (video_bochs_mod_LDFLAGS): Likewise.
26330 * include/grub/vga.h: New file.
26331 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26332 (grub_video_fb_set_page_t): New type.
26333 (grub_video_fb_setup): New prototype.
26334 (grub_video_fb_swap_buffers): Likewise.
26335 (grub_video_fb_get_info_and_fini): Likewise.
26336 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26337 (CRTC_DATA_PORT): Likewise.
26338 (CRTC_CURSOR): Likewise.
26339 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26340 (CRTC_CURSOR_ADDR_LOW): Likewise.
26341 (CRTC_CURSOR_DISABLE): Likewise.
26342 (update_cursor): Use grub_vga_cr_write.
26343 (grub_vga_text_setcursor): Likewise.
26344 * video/bochs.c: New file.
26345 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26346 (palette): Likewise.
26347 (palette_size): Likewise.
26348 (framebuffer): New variable.
26349 (grub_video_fb_init): Use 'framebuffer'.
26350 (grub_video_fb_fini): Likewise.
26351 (grub_video_fb_get_info): Likewise.
26352 (grub_video_fb_get_palette): Likewise.
26353 (grub_video_fb_set_palette): Likewise.
26354 (grub_video_fb_set_viewport): Likewise.
26355 (grub_video_fb_get_viewport): Likewise.
26356 (grub_video_fb_map_color): Likewise.
26357 (grub_video_fb_map_rgb): Likewise.
26358 (grub_video_fb_map_rgba): Likewise.
26359 (grub_video_fb_unmap_color): Likewise.
26360 (grub_video_fb_unmap_color_int): Likewise.
26361 (grub_video_fb_fill_rect): Likewise.
26362 (grub_video_fb_blit_bitmap): Likewise.
26363 (grub_video_fb_blit_render_target): Likewise.
26364 (grub_video_fb_scroll): Likewise.
26365 (grub_video_fb_create_render_target): Likewise.
26366 (grub_video_fb_doublebuf_blit_init): Likewise.
26367 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26368 (doublebuf_pageflipping_update_screen): New function.
26369 (doublebuf_pageflipping_init): Likewise.
26370 (grub_video_fb_setup): Likewise.
26371 (grub_video_fb_swap_buffers): Likewise.
26372 (grub_video_fb_get_info_and_fini): Likewise.
26373 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26374 All users updated.
26375 (doublebuf_pageflipping_commit): Restructured into ...
26376 (doublebuf_pageflipping_set_page): ... this.
26377 (doublebuf_pageflipping_update_screen): Removed.
26378 (doublebuf_pageflipping_init): Likewise.
26379 (double_buffering_init): Likewise.
26380 (grub_video_vbe_setup): Use grub_video_fb_setup.
26381 (grub_video_vbe_swap_buffers): Removed.
26382 (grub_video_vbe_set_active_render_target): Likewise.
26383 (grub_video_vbe_get_active_render_target): Likewise.
26384 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26385 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26386 grub_video_fb_set_active_render_target and
26387 grub_video_fb_get_active_render_target.
26388 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26389 (SEQUENCER_DATA_PORT): Likewise.
26390 (MAP_MASK_REGISTER): Likewise.
26391 (CRTC_ADDR_PORT): Likewise.
26392 (CRTC_DATA_PORT): Likewise.
26393 (START_ADDR_HIGH_REGISTER): Likewise.
26394 (START_ADDR_LOW_REGISTER): Likewise.
26395 (GRAPHICS_ADDR_PORT): Likewise.
26396 (GRAPHICS_DATA_PORT): Likewise.
26397 (READ_MAP_REGISTER): Likewise.
26398 (INPUT_STATUS1_REGISTER): Likewise.
26399 (INPUT_STATUS1_VERTR_BIT): Likewise.
26400 (get_map_mask): Use grub_vga_sr_read.
26401 (set_map_mask): Use grub_vga_sr_write.
26402 (set_read_map): Use grub_vga_gr_write.
26403 (set_start_address): Use grub_vga_cr_write.
26404 * video/sm712.c (framebuffer): Remove leftover fields.
26405
4321c64a
CW
264062010-06-20 Colin Watson <cjwatson@ubuntu.com>
26407
26408 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26409 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26410 instead. Replace the gfxterm backend check with a check that
26411 ${GRUB_PREFIX}/video.lst is non-empty.
26412 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26413 again.
26414 (load_video): New generated function. Call it before loading
26415 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26416 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26417 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26418 * docs/grub.texi (Simple configuration): Document
26419 GRUB_VIDEO_BACKEND.
26420
264212010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26422
26423 Use video functions in linux and xnu loaders.
26424
26425 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26426 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26427 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26428 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26429 loader/i386/pc/linux.c.
26430 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26431 (find_line_len): Removed.
26432 (find_framebuf): Likewise.
26433 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26434 * loader/i386/efi/xnu.c: Removed.
26435 * loader/i386/pc/xnu.c: Moved from here...
26436 * loader/i386/xnu.c: ...here.
26437
26438 Enable priorities in video drivers.
26439
26440 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26441 (grub_video_adapter): New field prio.
26442 (grub_video_register): Respect prio when inserting.
26443 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26444 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26445 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26446 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26447 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26448 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26449 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26450
26451 Fix SDL driver ID.
26452
26453 * include/grub/video.h (grub_video_driver_id_t): New value
26454 GRUB_VIDEO_DRIVER_SDL.
26455 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26456
7d24e434
CW
264572010-06-17 Colin Watson <cjwatson@ubuntu.com>
26458
26459 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26460 argument to printf.
26461 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26462
c88a83f6
CW
264632010-06-17 Colin Watson <cjwatson@ubuntu.com>
26464
26465 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26466 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26467
094dfb69
CW
264682010-06-17 Colin Watson <cjwatson@ubuntu.com>
26469
26470 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26471 directly, and recommend grub-install instead.
26472 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26473
2164da6b
CW
264742010-06-17 Colin Watson <cjwatson@ubuntu.com>
26475
26476 Fix i386-pc prefix handling with nested partitions (Debian bug
26477 #585068). Note that the case where the core image is booted using
26478 multiboot and relocated from its original location still requires
26479 more work.
26480
26481 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26482 with "(,", fill the boot drive in between those two characters, but
26483 expect that a full partition specification including partition map
26484 names will follow.
26485 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26486 specified, write a prefix without the drive name but including a
26487 full partition specification.
26488
044e2e60
CW
264892010-06-16 Colin Watson <cjwatson@ubuntu.com>
26490
26491 * util/grub-mkconfig.in: Ignore non-option arguments, for
26492 compatibility with older versions (before 2010-06-12) which did the
26493 same. In particular, this makes it easier to ship an update-grub
26494 wrapper which is compatible with that used with GRUB Legacy (Debian
26495 bug #586056).
26496
5591324f
GS
264972010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26498
26499 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26500 for manual page generation.
26501
662e24d5
GS
265022010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26503
26504 * po/POTFILES: Remove leftover commands/handler.c.
26505
8d70754e
CW
265062010-06-14 Colin Watson <cjwatson@ubuntu.com>
26507
26508 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26509 left this script non-functional.
26510
41160e2e
CW
265112010-06-14 Colin Watson <cjwatson@ubuntu.com>
26512
26513 * docs/man/grub-emu.h2m: New file.
26514
b5309cc1
CW
265152010-06-13 Colin Watson <cjwatson@ubuntu.com>
26516
26517 * docs/grub.texi (Commands): Document reduced command set in rescue
26518 mode.
26519 (cpuid): New section.
26520
fcb2d090
GS
265212010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26522
26523 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26524 new partition naming style.
26525 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26526
96e5c556
BC
265272010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26528
26529 Add "-o grub.iso" like cmdline options support.
26530
26531 * util/grub-install.in: Improve cmdline option parsing.
26532 * util/grub-mkconfig.in: Likewise.
26533 * util/grub-mkrescue.in: Likewise.
26534 * util/grub-reboot.in: Likewise.
26535 * util/grub-set-default.in: Likewise.
26536 * util/i386/efi/grub-install.in: Likewise.
26537 * util/ieee1275/grub-install.in: Likewise.
26538 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26539
c16be99b
CW
265402010-06-12 Colin Watson <cjwatson@ubuntu.com>
26541
26542 * .bzrignore: Ignore 41_custom.
26543
ce08a9fb
TS
265442010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26545
26546 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26547
7beac90c
CW
265482010-06-12 Colin Watson <cjwatson@ubuntu.com>
26549
26550 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26551 prototype declarations.
26552
26553 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26554 generating fs, partmap, and video lists.
26555 * include/grub/fs.h (grub_fs_register): Omit prototype if
26556 GRUB_LST_GENERATOR is defined.
26557 * include/grub/partition.h (grub_partition_map_register): Likewise.
26558 * include/grub/video.h (grub_video_register): Likewise.
26559
1c8f0f8d
JM
265602010-06-12 Javier Martín <lordhabbit@gmail.com>
26561
26562 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26563
a6085973
TS
265642010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26565
26566 * util/grub-mkrescue.in: Support --xorriso argument.
26567
25c56d29
VS
265682010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26571 Suggested by: Thomas Schmitt.
26572
e03e4b24
VS
265732010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26574
26575 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26576 Suggested by: Thomas Schmitt.
26577
57711df6
VS
265782010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26579
26580 custom.cfg support.
26581
26582 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26583 * util/grub.d/41_custom.in: New file.
26584
ee62c427
CW
265852010-06-12 Colin Watson <cjwatson@ubuntu.com>
26586
26587 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26588 been merged back into normal.
26589
283af07a
CW
265902010-06-11 Colin Watson <cjwatson@ubuntu.com>
26591
26592 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26593 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26594
56a0d956
CW
265952010-06-11 Colin Watson <cjwatson@ubuntu.com>
26596
26597 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26598 when generating manual pages.
26599 * docs/man/grub-bin2h.h2m: New file.
26600 * docs/man/grub-editenv.h2m: New file.
26601 * docs/man/grub-fstest.h2m: New file.
26602 * docs/man/grub-install.h2m: New file.
26603 * docs/man/grub-macho2img.h2m: New file.
26604 * docs/man/grub-mkconfig.h2m: New file.
26605 * docs/man/grub-mkdevicemap.h2m: New file.
26606 * docs/man/grub-mkfont.h2m: New file.
26607 * docs/man/grub-mkimage.h2m: New file.
26608 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26609 * docs/man/grub-mkrelpath.h2m: New file.
26610 * docs/man/grub-mkrescue.h2m: New file.
26611 * docs/man/grub-ofpathname.h2m: New file.
26612 * docs/man/grub-pe2elf.h2m: New file.
26613 * docs/man/grub-probe.h2m: New file.
26614 * docs/man/grub-reboot.h2m: New file.
26615 * docs/man/grub-script-check.h2m: New file.
26616 * docs/man/grub-set-default.h2m: New file.
26617 * docs/man/grub-setup.h2m: New file.
26618
3a37e322
VS
266192010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26620
26621 Use FOR_* macros instead of *_iterate whenever possible.
26622
26623 * commands/handler.c: Removed.
26624 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26625 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26626 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26627 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26628 (grub_probe_SOURCES): Remove kern/parser.c.
26629 (util/grub-script-check.c_DEPENDENCIES): Removed.
26630 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26631 and grub_script_check_init.c.
26632 (grub_script_check_init.lst): Removed.
26633 (grub_script_check_init.h): Likewise.
26634 (grub_script_check_init.c): Likewise.
26635 (pkglib_MODULES): Remove handler.mod and sh.mod.
26636 (handler_mod_SOURCES): Removed.
26637 (handler_mod_CFLAGS): Likewise.
26638 (handler_mod_LDFLAGS): Likewise.
26639 (normal_mod_SOURCES): Remove normal/handler.c.
26640 Add script/main.c, script/script.c, script/execute.c,
26641 script/function.c, script/lexer.c, grub_script.tab.c
26642 and grub_script.yy.c.
26643 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26644 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26645 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26646 (grub_setup_SOURCES): Remove kern/parser.c.
26647 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26648 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26649 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26650 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26651 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26652 (grub_setup_SOURCES): Remove kern/parser.c.
26653 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26654 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26655 * include/grub/command.h (grub_command_iterate): Removed.
26656 (FOR_COMMANDS): New macro.
26657 * include/grub/dl.h (grub_dl): New member next.
26658 (grub_dl_iterate): Removed.
26659 (grub_dl_head): New variable declaration.
26660 (FOR_DL_MODULES): New macro.
26661 * include/grub/fs.h: Include list.h.
26662 (grub_fs): Make next first element.
26663 (grub_fs_list): New variable declaration.
26664 (grub_fs_register): Make inline.
26665 (grub_fs_unregister): Likewise.
26666 (grub_fs_iterate): Removed.
26667 (FOR_FILESYSTEMS): New macro.
26668 * include/grub/handler.h: Removed.
26669 * include/grub/list.h (grub_list_hook_t): Removed.
26670 (grub_list_test_t): Likewise.
26671 (grub_list_pop): Likewise.
26672 (grub_list_iterate): Likewise.
26673 (grub_list_insert): Likewise.
26674 (FOR_LIST_ELEMENTS): New macro.
26675 * include/grub/parser.h (grub_parser_class): Removed.
26676 (grub_parser_register): Likewise.
26677 (grub_parser_unregister): Likewise.
26678 (grub_parser_get_current): Likewise.
26679 (grub_parser_set_current): Likewise.
26680 (grub_register_rescue_parser): Likewise.
26681 (grub_rescue_parse_line): New function.
26682 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26683 * include/grub/script_sh.h (grub_script_function_list): New variable
26684 declaration.
26685 (FOR_SCRIPT_FUNCTIONS): New macro.
26686 (grub_script_function_iterate): Removed.
26687 (grub_normal_parse_line): New prototype.
26688 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26689 (FOR_DISABLED_TERM_INPUTS): Likewise.
26690 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26691 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26692 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26693 element.
26694 (grub_video_register): Inline.
26695 (grub_video_unregister): Likewise.
26696 (grub_video_adapter_list): New variable declaration.
26697 (grub_video_iterate): Removed.
26698 (FOR_VIDEO_ADAPTERS): New macro.
26699 * kern/dl.c (grub_dl_list): Removed. All users updated.
26700 (grub_dl_iterate): Removed.
26701 * kern/fs.c (grub_fs_list): Make global.
26702 (grub_fs_register): Removed.
26703 (grub_fs_unregister): Likewise.
26704 (grub_fs_iterate): Likewise.
26705 * kern/handler.c: Removed.
26706 * kern/list.c (grub_list_pop): Removed.
26707 (grub_list_iterate): Likewise.
26708 (grub_list_insert): Likewise.
26709 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26710 (grub_prio_list_insert): Don't use grub_list_insert.
26711 * kern/main.c (grub_register_rescue_parser): Don't call
26712 grub_register_rescue_parser.
26713 * kern/parser.c (grub_parser_class): Removed.
26714 (grub_parser_execute): Use grub_rescue_parse_line.
26715 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26716 (grub_rescue_parser): Removed.
26717 (grub_register_rescue_parser): Likewise.
26718 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26719 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
26720 (grub_auth_check_authentication): Likewise.
26721 * normal/completion.c (iterate_command): Removed.
26722 (grub_normal_do_completion): Use FOR_COMMANDS.
26723 * normal/handler.c: Removed.
26724 * normal/main.c (read_config_file): Remove parser changing.
26725 (grub_normal_execute): Don't call read_handler_list.
26726 (grub_normal_read_line_real): Statically allocate prompt.
26727 (grub_cmdline_run): Use grub_normal_parse_line.
26728 (GRUB_MOD_FINI): Don't call free_handler_list.
26729 * normal/menu_entry.c (run): Likewise.
26730 * script/function.c (grub_script_function_list): Make global.
26731 (grub_script_function_iterate): Removed.
26732 * script/main.c (grub_normal_parse_line): Make global.
26733 (grub_sh_parser): Removed.
26734 (GRUB_MOD_INIT): Likewise.
26735 (GRUB_MOD_FINI): Likewise.
26736 * tests/lib/functional_test.c (grub_functional_test): Use
26737 FOR_LIST_ELEMENTS.
26738 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
26739 (grub_test_run): Use FOR_LIST_ELEMENTS.
26740 * tests/lib/unit_test.c (main): Likewise.
26741 * util/deviceiter.c (grub_util_iterate_devices): Don't use
26742 grub_list_pop.
26743 * util/grub-fstest.c (grub_term_input_class): Removed.
26744 (grub_term_output_class): Likewise.
26745 * util/grub-probe.c: Likewise.
26746 * util/i386/pc/grub-setup.c: Likewise.
26747 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26748 * util/grub-script-check.c (main): Don't call grub_init_all and
26749 grub_fini_all.
26750 * video/video.c (grub_video_adapter_list): Make global.
26751 (grub_video_register): Removed.
26752 (grub_video_unregister): Likewise.
26753 (grub_video_iterate): Likewise.
26754
6289c3a7
VS
267552010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
26756
26757 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
26758 reported by Henrique Ferreiro.
26759
91460247
RM
267602010-06-09 Robert Millan <rmh@gnu.org>
26761
26762 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
26763 ones, when both are available.
26764
0ea7c4f9
GS
267652010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26766
26767 Make --version uniform and avoid hard-coded program name.
26768
26769 * util/grub-mkimage.c (main): Use `program_name' instead of
26770 hard-coded string.
26771 * util/i386/pc/grub-setup.c (main): Likewise.
26772 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
26773 * util/grub-install.in: Save the basename of $0 in $self, and use the
26774 latter in informational messages. Use the same format for --version
26775 as the binary programs.
26776 * util/grub-mkconfig.in: Likewise.
26777 * util/grub-mkrescue.in: Likewise.
26778 * util/grub-reboot.in: Likewise.
26779 * util/grub-set-default.in: Likewise.
26780 * util/i386/efi/grub-install.in: Likewise.
26781 * util/ieee1275/grub-install.in: Likewise.
26782 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26783
e8a6f3b6
GS
267842010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26785
26786 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
26787 embedding area. Use <= instead of == when checking for non-emptiness.
26788
f4d095d7
GS
267892010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
26790
26791 * configure.ac: Add `.' to the directories searched for unifont.
26792
50e532ca
CW
267932010-06-08 Colin Watson <cjwatson@ubuntu.com>
26794
26795 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
26796 grub_script.yy.h.
26797
d39f3dec
CW
267982010-06-08 Colin Watson <cjwatson@ubuntu.com>
26799
26800 * docs/grub.texi (History): Expand to cover GRUB 2.
26801 (Serial terminal): Refer to `terminal_input' and `terminal_output'
26802 commands, not `terminal'.
26803 (serial): Likewise.
26804 (terminal_input): New section.
26805 (terminal_output): New section.
26806 (uppermem): New section (stub).
26807 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
26808
6ef0ddb4
CW
268092010-06-08 Colin Watson <cjwatson@ubuntu.com>
26810
26811 * docs/grub.texi (Security): Menu entries are unrestricted by
26812 default, not restricted to superusers as I had previously thought.
26813 Reword to account for this.
26814
e0f4c438
CW
268152010-06-07 Colin Watson <cjwatson@ubuntu.com>
26816
26817 * kern/emu/misc.c (device_mapper_null_log): New function.
26818 (grub_device_mapper_supported): New function.
26819 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
26820 prototype.
26821 * kern/emu/hostdisk.c (find_partition_start): Check whether
26822 device-mapper is supported before trying to use it.
26823 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
26824
da908200
CW
268252010-06-07 Colin Watson <cjwatson@ubuntu.com>
26826
26827 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
26828 (File name syntax): Likewise.
26829 (help): --all is no longer supported in GRUB 2. Be more precise
26830 about pattern matching.
26831
fb55c3ac
CW
268322010-06-07 Colin Watson <cjwatson@ubuntu.com>
26833
26834 * normal/completion.c (grub_normal_do_completion): When completing
26835 arguments to "set" and the current word contains an equals sign,
26836 skip to after the equals sign before starting completion.
26837
258c2573
CW
268382010-06-07 Colin Watson <cjwatson@ubuntu.com>
26839
26840 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26841
ee75515e
CW
268422010-06-07 Colin Watson <cjwatson@ubuntu.com>
26843
26844 * docs/grub.texi (Network): New section.
26845 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26846 `(nd)' as in GRUB Legacy.
26847 (pxe_unload): New section.
26848
a6a700aa
CW
268492010-06-07 Colin Watson <cjwatson@ubuntu.com>
26850
26851 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26852 in the rescue shell, so recommend using `set' instead. Thanks,
26853 Jordan Uggla.
26854
4003dd38
CW
268552010-06-07 Colin Watson <cjwatson@ubuntu.com>
26856
26857 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26858 (password): New section.
26859 (password_pbkdf2): New section.
26860 (search): New section.
26861 (Security): New section.
26862 (Troubleshooting): New section, currently very incomplete.
26863 (Invoking grub-mkpasswd-pbkdf2): New section.
26864 (Internals): New section, currently very incomplete.
26865
e1cbcc40
CW
268662010-06-07 Colin Watson <cjwatson@ubuntu.com>
26867
26868 * util/grub.d/00_header.in: Add some more quoting (of
26869 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26870 work again.
26871 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26872
db8fa1ad
CW
268732010-06-07 Colin Watson <cjwatson@ubuntu.com>
26874
26875 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26876 to `count', fixing variable shadowing that broke the -c option.
26877
268782010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26879
26880 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26881 in case they contain spaces.
26882
f28a9212
CW
268832010-06-04 Colin Watson <cjwatson@ubuntu.com>
26884
26885 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26886 "part_" to partmap module names, in line with grub-install.
26887 Reported by: Jindřich Makovička (Debian bug #584426).
26888
9cdfe32f
CW
268892010-06-04 Colin Watson <cjwatson@ubuntu.com>
26890
26891 * util/grub-mkimage.c: Make target-related error messages slightly
26892 more helpful; -O talks about "format". Explicitly point to the use
26893 of -O if no target is specified.
26894 Reported by: Didier Raboud (Debian bug #584415).
26895
795b593a
CW
268962010-06-03 Colin Watson <cjwatson@ubuntu.com>
26897
26898 * INSTALL: Document several build requirements for optional features
26899 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26900
9d9b5833
GS
269012010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26902
26903 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26904 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26905 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26906
0819fec8
CW
269072010-06-02 Colin Watson <cjwatson@ubuntu.com>
26908
26909 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26910 Thanks to Jordan Uggla for spotting this.
26911
49396b4f
VS
269122010-06-02 Aleš Nesrsta <starous@volny.cz>
26913
26914 Finally make USB usable.
26915
26916 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26917 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26918 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26919 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26920 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26921 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26922 (GRUB_OHCI_FSMPS): Likewise.
26923 (GRUB_OHCI_PERIODIC_START): Likewise.
26924 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26925 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26926 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26927 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26928 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26929 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26930 (grub_ohci_transaction): Likewise.
26931 (grub_ohci_transfer): Improve condition detection algorithms.
26932 Handle toggle property. Program the transactions correctly.
26933 Improve error handling. Various important fixups.
26934 (grub_ohci_portstatus): Put register writes in right order.
26935 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26936 (grub_uhci_transfer): Don't show "failed" message on success.
26937 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26938 array.
26939 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26940 determine its size.
26941 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26942 before initialization is completed. Use IN direction for empty
26943 transfers. Use last_trans and compute toggle.
26944 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26945 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26946 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26947 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26948 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26949 (grub_usb_device): Increase toggle to 256.
26950 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26951 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26952 GRUB_USBMS_SUBCLASS_SFF8070.
26953 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26954 (grub_scsi_inquiry): New member page and alloc_length.
26955 (grub_scsi_request_sense): New structure.
26956 (grub_scsi_request_sense_data): Likewise.
26957 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26958 control.
26959 * disk/scsi.c (grub_scsi_request_sense): New function.
26960 (grub_scsi_test_unit_ready): Likewise.
26961 (grub_scsi_inquiry): Fill new fields.
26962 (grub_scsi_read_capacity): Likewise.
26963 (grub_scsi_read10): Add request sense at the end.
26964 (grub_scsi_read12): Likewise.
26965 (grub_scsi_write10): Likewise.
26966 (grub_scsi_write12): Likewise.
26967 (grub_scsi_open): Add Test Unit Ready.
26968 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26969 Support additional subclasses. Con't clear halt yet. Activate the
26970 proper config. Calculate LUNs correctly.
26971 (grub_usbms_transfer): Various important fixups.
26972
269732010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26974
26975 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26976 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26977 (grub_ohci_fini_hw): New function.
26978 (grub_ohci_restore_hw): Likewise.
26979 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26980 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26981 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26982
269832010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26984
26985 Dedicated DMA allocations.
26986
26987 * bus/pci.c (grub_memalign_dma32): New function
26988 (grub_dma_free): Likewise.
26989 (grub_dma_get_virt): Likewise.
26990 (grub_dma_get_phys): Likewise.
26991 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26992 (grub_ohci_pci_iter): Use dma32_alloc.
26993 (grub_ohci_transfer): Likewise.
26994 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26995 (grub_usb_bulk_readwrite): Likewise.
26996 * include/grub/pci.h: Add declarations.
26997
269982010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26999
27000 CS5536 support.
27001
27002 * bus/cs5536.c: New file.
27003 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27004 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27005 (cs5536_mod_SOURCES): New variable.
27006 (cs5536_mod_CFLAGS): Likewise.
27007 (cs5536_mod_LDFLAGS): Likewise.
27008 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27009 machine/pci.h.
27010 (kernel_img_SOURCES): Add bus/cs5536.c.
27011 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27012 usb_keyboard.mod.
27013 (usb_mod_SOURCES): New variable.
27014 (usb_mod_CFLAGS): New variable.
27015 (usb_mod_LDFLAGS): New variable.
27016 (usbtest_mod_SOURCES): New variable.
27017 (usbtest_mod_CFLAGS): New variable.
27018 (usbtest_mod_LDFLAGS): New variable.
27019 (ohci_mod_SOURCES): New variable.
27020 (ohci_mod_CFLAGS): New variable.
27021 (ohci_mod_LDFLAGS): New variable.
27022 (usbms_mod_SOURCES): New variable.
27023 (usbms_mod_CFLAGS): New variable.
27024 (usbms_mod_LDFLAGS): New variable.
27025 (usb_keyboard_mod_SOURCES): New variable.
27026 (usb_keyboard_mod_CFLAGS): New variable.
27027 (usb_keyboard_mod_LDFLAGS): New variable.
27028 * include/grub/smbus.h: New file.
27029 * include/grub/cs5536.h: New file.
27030
0b35b2a9
CW
270312010-06-02 Colin Watson <cjwatson@ubuntu.com>
27032
27033 * util/grub.d/00_header.in: Add safety check to make sure that
27034 ${locale_dir} exists before trying to probe it.
27035
ca0afd5b
CW
270362010-06-02 Colin Watson <cjwatson@ubuntu.com>
27037
27038 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27039 per the GNU Coding Standards; this is now too obscure to be worth
27040 documenting.
27041 (QNX): Likewise.
27042 (chainloader): Remove cross-reference to `SCO UnixWare'.
27043
1c41aa78
CW
270442010-06-02 Colin Watson <cjwatson@ubuntu.com>
27045
27046 * docs/grub.texi (Chain-loading): New section.
27047 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27048 adjusted for GRUB 2.
27049 (SCO UnixWare): Likewise.
27050 (QNX): Likewise.
27051 (chainloader): Add reference to `Block list syntax'.
27052 (drivemap): New section.
27053 (parttool): New section.
27054
bb8ea0f5
CW
270552010-06-02 Colin Watson <cjwatson@ubuntu.com>
27056
27057 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27058 the grub shell'.
27059 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27060 (Installing GRUB using grub-install): Remove reference to the grub
27061 shell; mention `grub-mkimage' and `grub-setup' instead.
27062 (Invoking grub-install): Likewise.
27063 (Interface): Add reference to `Menu entry editor'.
27064 (serial): Remove `--device' option.
27065
288dd6ed
CW
270662010-06-02 Colin Watson <cjwatson@ubuntu.com>
27067
27068 * docs/grub.texi (Configuration): New section, documenting
27069 configuration file generation using grub-mkconfig. I've left a slot
27070 for documenting the full shell scripting format but have not yet
27071 started on writing that up.
27072 (Invoking grub-mkconfig): New section.
27073
34c9f0e9
CW
270742010-06-02 Colin Watson <cjwatson@ubuntu.com>
27075
27076 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27077 (GNU GRUB manual): Likewise.
27078 (General commands): Update description of `terminfo' for GRUB 2.
27079
9121567e
CW
270802010-06-02 Colin Watson <cjwatson@ubuntu.com>
27081
27082 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
27083 (GRUB_MOD_INIT): Fix capitalisation.
27084 * docs/grub.texi (Command-line and menu entry commands): Document
27085 gettext and gptsync commands.
27086
ab631611
CW
270872010-06-02 Colin Watson <cjwatson@ubuntu.com>
27088
27089 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27090 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27091
bde4a9ac
CW
270922010-06-01 Colin Watson <cjwatson@ubuntu.com>
27093
27094 Add btrfs probing support, currently only in the single-device case.
27095
27096 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27097 function.
27098 (grub_guess_root_device): Call find_root_device_from_mountinfo
27099 before looking in /dev.
27100
b1d17e10
VS
271012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27102
27103 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27104 GRUB_DISK_SIZE_UNKNOWN.
27105 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27106
dfbfe004
JS
271072010-05-31 Jiro SEKIBA <jir@unicus.jp>
27108
27109 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27110 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27111 corrupted or not synced properly.
27112
c2ffc8e9
VS
271132010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27114
27115 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
27116 Reported by: Seth Goldberg.
27117
56293166
VS
271182010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27119
27120 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
27121 addition of dest.
27122 Reported by: Seth Goldberg.
27123
7620e7de
VS
271242010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27125
27126 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
27127 Reported by: Seth Goldberg.
27128
c837af3f
VS
271292010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27130
27131 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
27132 64-bit address as signed on MIPS.
27133
c7c75cf4
CW
271342010-05-28 Colin Watson <cjwatson@ubuntu.com>
27135
27136 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
27137 to the empty string.
27138
fa4b8490
BC
271392010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
27140
27141 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
27142
27143 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
27144 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
27145 * kern/misc.c (__enable_execute_stack): Disable on
27146 GRUB_MACHINE_EMU.
27147
a33075b9
CW
271482010-05-28 Colin Watson <cjwatson@ubuntu.com>
27149
27150 Make grub-probe work with symbolic links under /dev/mapper as well
27151 as with real block devices. The Linux world seems to be (at best)
27152 in transition here, and GRUB shouldn't get caught in the middle.
27153
27154 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
27155 /dev/mapper.
27156
d8708134
CW
271572010-05-27 Colin Watson <cjwatson@ubuntu.com>
27158
27159 * util/grub-script-check.c (main): Ensure defined behaviour on empty
27160 input files (in which case exit zero).
27161
db2102a0
CW
271622010-05-27 Colin Watson <cjwatson@ubuntu.com>
27163
27164 * kern/emu/misc.c (canonicalize_file_name): realpath can still
27165 return NULL for various reasons even if it has a maximum-length
27166 buffer: for example, there might be a symlink loop, or the path
27167 might exceed PATH_MAX. If this happens, return NULL.
27168
5fdba519
RM
271692010-05-27 Robert Millan <rmh@gnu.org>
27170
27171 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
27172 partmap module to handle cross-partmap setups.
27173 Reported by Orestes Mas. Gràcies!
27174
d1d368e4
CW
271752010-05-27 Colin Watson <cjwatson@ubuntu.com>
27176
27177 * util/grub-mkrescue.in: Initialise override_dir rather than
27178 assuming that it's unset or empty in the environment.
27179
95ac3c73
GS
271802010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
27181
27182 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
27183 variable index into p_index to suppress a warning with -Wshadow.
27184
7d8c0213
BC
271852010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
27186
27187 * INSTALL: Added flex >= 2.5.35 requirement.
27188
db4d5813
VS
271892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27190
27191 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
27192
f24f4300
VS
271932010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27194
27195 cmostest support.
27196
27197 * commands/i386/cmostest.c: New file.
27198 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27199 (cmostest_mod_SOURCES): New variable.
27200 (cmostest_mod_CFLAGS): Likewise.
27201 (cmostest_mod_LDFLAGS): Likewise.
27202 * conf/i386-pc.rmk: Likewise.
27203 * docs/grub.texi (Vendor power-on keys): New section.
27204 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27205 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27206 and GRUB_BUTTON_CMOS_ADDRESS.
27207 * util/grub.d/00_header.in: Handle powering-on by separate button.
27208
ad603f61
VS
272092010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27210
27211 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27212 Removed drawing_scrollbar argument. All users updated
27213 Fixes #29792.
27214 Reported by Jo Shields
27215
3ecb080a
VS
272162010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27217
27218 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27219 buffer since gfxterm handles double repaint.
27220
5f2316c1
VS
272212010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27222
27223 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27224 * term/gfxterm.c (real_scroll): Likewise.
27225
9a25f885
VS
272262010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27227
27228 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27229 before calling BIOS.
27230
39fbb79a
VS
272312010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27232
27233 * include/grub/i18n.h: Always enable grub_gettext.
27234
228cfa97
VS
272352010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27236
27237 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27238 partition naming style.
27239
21717c8f
CW
272402010-05-21 Colin Watson <cjwatson@ubuntu.com>
27241
27242 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27243 not the first option.
27244
c0f48e65
CW
272452010-05-20 Colin Watson <cjwatson@ubuntu.com>
27246
27247 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27248
96779aec
CW
272492010-05-20 Colin Watson <cjwatson@ubuntu.com>
27250
27251 * util/misc.c: Move inclusion of <limits.h> to ...
27252 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27253
fa9d256e
GS
272542010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27255
27256 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27257 Fix merge error in NetBSD code.
27258 (find_partition_start) [__NetBSD__]: Likewise.
27259
123b7a85
BC
272602010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27261
27262 Fix grub-mkrescue usage unit testing.
27263
27264 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27265
74276c0d
CF
272662010-05-18 Christian Franke <franke@computer.org>
27267
27268 * util/grub.d/10_windows.in: Use path names instead of
27269 drive letters to prevent warning from Cygwin 1.7.
27270 Add drivemap command to menuentry if needed.
27271
c4f7b523
ST
272722010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27273
27274 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27275 gnumach and gnumach.gz.
27276
95b97950
VS
272772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27278
27279 * include/grub/i18n.h (gettext): Inline instead of using #define.
27280 (grub_gettext): Likewise.
27281 (_): Likewise.
27282
01b8d2d7
VS
272832010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27284
27285 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27286 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27287 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27288 (main): Add a slash after pkglibdirroot.
27289
654e1d1e
VS
272902010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 * util/grub-install.in: Add missing "in" keyword.
27293
26966aeb
VS
272942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27295
27296 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27297 Reported by: Seth Goldberg.
27298
75006747
VS
272992010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27300
27301 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27302
74cbf5bd
CW
273032010-05-18 Colin Watson <cjwatson@ubuntu.com>
27304
27305 * configure.ac: Check for Linux device-mapper support.
27306
27307 * util/hostdisk.c (device_is_mapped): New function.
27308 (find_partition_start): New function, partly broken out from
27309 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27310 device-mapper support added.
27311 (linux_find_partition): Use find_partition_start.
27312 (convert_system_partition_to_system_disk): Add `st' argument.
27313 Support Linux /dev/mapper/* devices if device-mapper support is
27314 available; only DM-RAID devices are understood at present.
27315 (find_system_device): Add `st' argument. Pass it to
27316 convert_system_partition_to_system_disk.
27317 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27318 find_system_device and convert_system_partition_to_system_disk. Use
27319 find_partition_start.
27320
27321 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27322 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27323 * util/deviceiter.c [__linux__]: Define MINOR.
27324 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27325 * util/mkdevicemap.c (grub_putchar): New function.
27326 (grub_getkey): New function.
27327 (grub_refresh): New function.
27328 (main): Set debug=all if -v -v is used.
27329
355b51e9
CW
273302010-05-18 Colin Watson <cjwatson@ubuntu.com>
27331
27332 Fix build with non-GNU libcs.
27333
27334 * util/misc.c (canonicalize_file_name): Move to ...
27335 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27336 grub_make_system_path_relative_to_its_root.
27337
7fb5c25f
CW
273382010-05-18 Colin Watson <cjwatson@ubuntu.com>
27339
27340 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27341 we handle finding grub-mkimage. Default to finding grub-mkimage in
27342 ${bindir} with program_transform_name applied, and provide a
27343 --grub-mkimage option to override this.
27344
1d3293d6
VS
273452010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27346
27347 Remove grub-mkisofs.
27348
27349 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27350 (grub_mkisofs_SOURCES): Removed.
27351 (grub_mkisofs_CFLAGS): Removed.
27352 * util/mkisofs/defaults.h: Removed.
27353 * util/mkisofs/eltorito.c: Likewise.
27354 * util/mkisofs/exclude.h: Likewise.
27355 * util/mkisofs/hash.c: Likewise.
27356 * util/mkisofs/include/: Likewise.
27357 * util/mkisofs/include/fctldefs.h: Likewise.
27358 * util/mkisofs/include/mconfig.h: Likewise.
27359 * util/mkisofs/include/prototyp.h: Likewise.
27360 * util/mkisofs/include/statdefs.h: Likewise.
27361 * util/mkisofs/iso9660.h: Likewise.
27362 * util/mkisofs/joliet.c: Likewise.
27363 * util/mkisofs/match.c: Likewise.
27364 * util/mkisofs/match.h: Likewise.
27365 * util/mkisofs/mkisofs.c: Likewise.
27366 * util/mkisofs/mkisofs.h: Likewise.
27367 * util/mkisofs/msdos_partition.h: Likewise.
27368 * util/mkisofs/multi.c: Likewise.
27369 * util/mkisofs/name.c: Likewise.
27370 * util/mkisofs/rock.c: Likewise.
27371 * util/mkisofs/tree.c: Likewise.
27372 * util/mkisofs/write.c: Likewise.
27373
5dde9afe
VS
273742010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27375
27376 Unify grub-mkimage accross platforms.
27377
27378 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27379 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27380 (grub_mkelfimage_SOURCES): Removed.
27381 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27382 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27383 (bin_UTILITIES): Add grub-mkimage.
27384 (grub_mkimage_SOURCES): New variable.
27385 (kernel_img_HEADERS): Remove machine/kernel.h.
27386 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27387 (pkglib_PROGRAMS): Add kernel.img.
27388 (kernel_img_HEADERS): Add machine/kernel.h.
27389 (kernel_img_FORMAT): Removed.
27390 (bin_UTILITIES): Remove grub-mkimage.
27391 (grub_mkimage_SOURCES): Removed.
27392 (grub_mkimage_CFLAGS): Likewise.
27393 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27394 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27395 (pkglib_PROGRAMS): Add kernel.img.
27396 (bin_UTILITIES): Remove grub-mkimage.
27397 (grub_mkimage_SOURCES): Removed.
27398 (grub_mkimage_CFLAGS): Likewise.
27399 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27400 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27401 (pkglib_PROGRAMS): Add kernel.img.
27402 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27403 (pkglib_PROGRAMS): Add kernel.img.
27404 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27405 (grub_mkimage_SOURCES): Removed.
27406 (grub_mkimage_CFLAGS): Likewise.
27407 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27408 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27409 (pkglib_PROGRAMS): Add kernel.img.
27410 (bin_UTILITIES): Remove grub-mkimage.
27411 (grub_mkimage_SOURCES): Removed.
27412 (grub_mkimage_CFLAGS): Likewise.
27413 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27414 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27415 (grub_mkimage_SOURCES): Removed.
27416 (grub_mkimage_CFLAGS): Likewise.
27417 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27418 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27419 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27420 (grub_pe32_optional_header): ... this.
27421 (grub_pe64_optional_header): ... and this. All users updated.
27422 (GRUB_PE32_PE32_MAGIC): Split into ..
27423 (GRUB_PE32_PE32_MAGIC): .. this.
27424 (GRUB_PE32_PE64_MAGIC): .. and this.
27425 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27426 * include/grub/elf.h (PT_GNU_STACK): New definition.
27427 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27428 * include/grub/i386/efi/kernel.h: Likewise.
27429 * include/grub/i386/kernel.h: Likewise.
27430 * include/grub/i386/pc/kernel.h: Likewise.
27431 * include/grub/i386/qemu/boot.h: Likewise.
27432 * include/grub/mips/kernel.h: Likewise.
27433 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27434 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27435 * include/grub/powerpc/kernel.h: Likewise.
27436 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27437 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27438 * include/grub/sparc64/kernel.h: Likewise.
27439 * include/grub/x86_64/efi/kernel.h: Likewise.
27440 * include/grub/x86_64/kernel.h: Likewise.
27441 * include/grub/offsets.h: New file.
27442 * include/grub/kernel.h (grub_module_info): Split into ...
27443 (grub_module_info32): ... this.
27444 (grub_module_info64): ... and this.
27445 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27446 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27447 (grub_boot_blocklist): Moved from here ...
27448 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27449 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27450 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27451 * include/grub/types.h (grub_target_to_host16): Removed.
27452 (grub_target_to_host32): Likewise.
27453 (grub_target_to_host64): Likewise.
27454 (grub_host_to_target16): Likewise.
27455 (grub_host_to_target32): Likewise.
27456 (grub_host_to_target64): Likewise.
27457 (grub_host_to_target_addr): Likewise.
27458
27459 Support grub-mkrescue for efi, coreboot and qemu.
27460
27461 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27462 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27463 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27464 * util/grub-mkrawimage.c: Moved from here ...
27465 * util/grub-mkimage.c: ... here. All users updated.
27466 (ALIGN_ADDR): Use image_target.
27467 (TARGET_NO_FIELD): New const.
27468 (image_target_desc): New type.
27469 (image_targets): New array.
27470 (grub_target_to_host64): Use image_target.
27471 (grub_target_to_host32): Likewise.
27472 (grub_target_to_host16): Likewise.
27473 (grub_host_to_target64): Likewise.
27474 (grub_host_to_target32): Likewise.
27475 (grub_host_to_target16): Likewise.
27476 (grub_host_to_target_addr): Likewise.
27477 (generate_image): Handle multiimage.
27478 (main): Require -O parameter. All users updated.
27479 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27480 util/efi/grub-mkimage.c
27481 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27482 New option --rom-directory.
27483 Use xorriso.
27484 * util/i386/efi/grub-mkimage.c: Removed.
27485 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27486 (grub_target_to_host32): Likewise.
27487 (grub_target_to_host64): Likewise.
27488 (grub_host_to_target16): Likewise.
27489 (grub_host_to_target32): Likewise.
27490 (grub_host_to_target64): Likewise.
27491 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27492 (grub_target_to_host32): Likewise.
27493 (grub_target_to_host64): Likewise.
27494 (grub_host_to_target16): Likewise.
27495 (grub_host_to_target32): Likewise.
27496 (grub_host_to_target64): Likewise.
27497
f4fc97d0
BC
274982010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27499
27500 Source tree is reorganized for emu build.
27501
27502 * include/grub/util/console.h: Move from here...
27503 * include/grub/emu/console.h: ...to here.
27504 * include/grub/util/getroot.h: Move from here...
27505 * include/grub/emu/getroot.h: ...to here.
27506 * include/grub/util/hostdisk.h: Move from here...
27507 * include/grub/emu/hostdisk.h: ...to here.
27508 * util/console.c: Move from here...
27509 * kern/emu/console.c: ...to here.
27510 * util/getroot.c: Move from here...
27511 * kern/emu/getroot.c: ...to here.
27512 * util/grub-emu.c: Move from here...
27513 * kern/emu/main.c: ...to here.
27514 * util/hostdisk.c: Move from here...
27515 * kern/emu/hostdisk.c: ...to here.
27516 * util/hostfs.c: Move from here...
27517 * kern/emu/hostfs.c: ...to here.
27518 * util/mm.c: Move from here...
27519 * kern/emu/mm.c: ...to here.
27520 * util/pci.c: Move from here...
27521 * bus/emu/pci.c: ...to here.
27522 * util/sdl.c: Move from here...
27523 * video/emu/sdl.c: ...to here.
27524 * util/time.c: Move from here...
27525 * kern/emu/time.c: ...to here.
27526 * util/usb.c: Move from here...
27527 * bus/usb/emu/usb.c: ...to here.
27528
27529 * include/grub/emu/misc.h: New header for grub-emu functions.
27530 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27531
27532 * conf/any-emu.rmk: Rule updates for above renames.
27533 * conf/common.rmk: Likewise.
27534 * conf/i386-pc.rmk: Likewise.
27535 * conf/i386-qemu.rmk: Likewise.
27536 * conf/mips.rmk: Likewise.
27537 * conf/sparc64-ieee1275.rmk: Likewise.
27538 * conf/x86-efi.rmk: Likewise.
27539
27540 * disk/lvm.h: #include updates for above renames.
27541 * util/grub-mkrelpath.c: Likewise.
27542 * util/grub-probe.c: Likewise.
27543 * util/i386/pc/grub-setup.c: Likewise.
27544 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27545 * kern/emu/console.c: Likewise.
27546 * kern/emu/getroot.c: Likewise.
27547 * kern/emu/hostdisk.c: Likewise.
27548 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27549
27550 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27551 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27552 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27553 * util/misc.c: Remove grub-emu functions.
27554
cced9145
VS
275552010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27556
27557 Fix gfxmenu crash.
27558 Reported by: Thorsten Grützmacher.
27559
27560 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27561 timeout hook.
27562 (circprog_set_property): Register and unregister timeout hook.
27563 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27564 (label_destroy): Free template. and unregister hook.
27565 (label_set_state): New function.
27566 (label_set_property): Handle templates and hooks.
27567 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27568 timeout hook.
27569 (progress_bar_set_property): Register and unregister timeout hook.
27570 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27571 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27572 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27573 (update_timeout_visit): Removed.
27574 (update_timeouts): New function.
27575 (redraw_timeouts): Likewise.
27576 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27577 (grub_gfxmenu_clear_timeout): Likewise.
27578 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27579 (grub_gfxmenu_timeout_notify): Likewise.
27580 (grub_gfxmenu_timeout_notifications): New external variable.
27581 (grub_gfxmenu_timeout_register): New function.
27582 (grub_gfxmenu_timeout_unregister): Likewise.
27583
c6e5caab
VS
275842010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27585
27586 Transform (broken) vga terminal into (working) vga video driver.
27587
27588 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27589 video/i386/pc/vga.c.
27590 * include/grub/video.h (grub_video_driver_id):
27591 Add GRUB_VIDEO_DRIVER_VGA.
27592 * term/i386/pc/vga.c: Renamed to ...
27593 * video/i386/pc/vga.c: ...this
27594 (DEBUG_VGA): Removed.
27595 (CHAR_WIDTH): Likewise.
27596 (CHAR_HEIGHT): Likewise.
27597 (TEXT_WIDTH): Likewise.
27598 (TEXT_HEIGHT): Likewise.
27599 (DEFAULT_FG_COLOR): Likewise.
27600 (DEFAULT_BG_COLOR): Likewise.
27601 (colored_char): Likewise.
27602 (xpos): Likewise.
27603 (ypos): Likewise.
27604 (cursor_state): Likewise.
27605 (fg_color): Likewise.
27606 (bg_color): Likewise.
27607 (text_buf): Likewise.
27608 (page): Likewise.
27609 (font): Likewise.
27610 (framebuffer): New variable.
27611 (set_read_map): Disabled.
27612 (setup): New variable.
27613 (is_target): Likewise.
27614 (grub_vga_mod_init): Likewise.
27615 (grub_vga_mod_fini): Likewise.
27616 (check_vga_mem): Likewise.
27617 (write_char): Likewise.
27618 (write_cursor): Likewise.
27619 (scroll_up): Likewise.
27620 (grub_vga_putchar): Likewise.
27621 (grub_vga_getcharwidth): Likewise.
27622 (grub_vga_getwh): Likewise.
27623 (grub_vga_getxy): Likewise.
27624 (grub_vga_gotoxy): Likewise.
27625 (grub_vga_cls): Likewise.
27626 (grub_vga_setcolorstate): Likewise.
27627 (grub_vga_setcursor): Likewise.
27628 (grub_video_vga_init): New function.
27629 (grub_video_vga_setup): Likewise.
27630 (grub_video_vga_fini): Likewise.
27631 (update_target): Likewise.
27632 (grub_video_vga_blit_bitmap): Likewise.
27633 (grub_video_vga_blit_render_target): Likewise.
27634 (grub_video_vga_set_active_render_target): Likewise.
27635 (grub_video_vga_get_active_render_target): Likewise.
27636 (grub_video_vga_swap_buffers): Likewise.
27637 (grub_video_vga_set_palette): Likewise.
27638 (grub_video_vga_get_info_and_fini): Likewise.
27639 (grub_vga_term): Removed.
27640 (grub_video_vga_adapter): New variable.
27641 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27642 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27643
2bf61a98
VS
276442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27645
27646 * video/readers/jpeg.c: Indented.
27647
09ddcd11
VS
276482010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27649
27650 Various jpeg cleanups.
27651
27652 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27653 (grub_jpeg_decode_quan_table): Use sizeof.
27654 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27655
e5507505
PH
276562010-05-05 Peter Hurley <No e-mail available> (tiny change)
27657
27658 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27659 tables. Ignore non-last ac bit.
27660 (grub_jpeg_decode_quan_table): Likewise.
27661
7e720a9b
VS
276622010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27663
27664 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27665 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27666 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27667 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27668 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27669 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27670
a7fc080b
VS
276712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27672
27673 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27674 error.
27675
2bf6012d
VS
276762010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27677
27678 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27679
265d68cd
VS
276802010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27681
27682 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27683 condition.
27684
276852010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27686
27687 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27688 part.
27689
265d68cd 276902010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27691
27692 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27693 pointers.
27694
265d68cd 276952010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27696
27697 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27698
d1b61374
CF
276992010-05-01 Christian Franke <franke@computer.org>
27700
27701 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27702 Remove broken Cygwin path conversion.
27703 * util/misc.c: [__CYGWIN__] Add include and define.
27704 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27705 for Cygwin 1.7.
27706 (make_system_path_relative_to_its_root): Simplify loop, replace early
27707 return by break.
27708 [__CYGWIN__] Add conversion to win32 path.
27709 Include "/" case in trailing slash removal.
27710
3558c6e9
VS
277112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27712
27713 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27714 Reported by: Seth Goldberg
27715
f5f3ff93
VS
277162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27717
27718 * commands/help.c (grub_cmd_help): Fix a typo.
27719 Reported by: Seth Goldberg
27720
d8b5cd40
VS
277212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27722
27723 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
27724 name and add N_.
27725 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
27726 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
27727 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
27728 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
27729 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
27730 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
27731 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27732 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27733 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27734 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27735 * normal/context.c (GRUB_MOD_INIT): Likewise.
27736 * normal/main.c (GRUB_MOD_INIT): Likewise.
27737 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27738 * term/serial.c (GRUB_MOD_INIT): Likewise.
27739 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27740
88c14915
VS
277412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27742
27743 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
27744 extra == 0.
27745
165134bc
VS
277462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27747
27748 * commands/iorw.c: New file.
27749 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
27750 (iorw_mod_SOURCES): New variable.
27751 (iorw_mod_CFLAGS): Likewise.
27752 (iorw_mod_LDFLAGS): Likewise.
27753
c5ac9b32
VS
277542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27755
27756 Hotkey support
27757
27758 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
27759 * normal/main.c (hotkey_aliases): New variable.
27760 (grub_normal_add_menu_entry): Parse "--hotkey".
27761 * normal/menu_text.c (run_menu): Handle hotkeys.
27762
ce60689c
VS
277632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27764
27765 * kern/i386/coreboot/init.c (grub_machine_init): Call
27766 grub_machine_mmap_init on qemu.
27767
0359d006
VS
277682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27769
27770 * boot/i386/qemu/boot.S: Add a missing .code16.
27771
7819a456
VS
277722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27773
27774 Use LBIO on coreboot.
27775
27776 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
27777 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
27778 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
27779 New declaration.
27780 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
27781 grub_machine_mmap_init on coreboot.
27782 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
27783 GRUB_LINUXBIOS_MEMBER_LINK.
27784 (grub_machine_mmap_iterate): Fix declaration.
27785 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
27786
7210dca9
VS
277872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27788
27789 Split coreboot and multiboot ports.
27790
27791 * conf/i386-multiboot.rmk: New file.
27792 * configure.ac: Add multiboot port.
27793 * include/grub/i386/multiboot/boot.h: New file.
27794 * include/grub/i386/multiboot/console.h: Likewise.
27795 * include/grub/i386/multiboot/init.h: Likewise.
27796 * include/grub/i386/multiboot/kernel.h: Likewise.
27797 * include/grub/i386/multiboot/loader.h: Likewise.
27798 * include/grub/i386/multiboot/memory.h: Likewise.
27799 * include/grub/i386/multiboot/serial.h: Likewise.
27800 * include/grub/i386/multiboot/time.h: Likewise.
27801 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
27802 * loader/multiboot.c: Likewise.
27803 * loader/multiboot_mbi2.c: Likewise.
27804 * util/grub-mkrescue.in: Generate multiboot rescue.
27805
6f8aaf68
VS
278062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27807
3080f7a7
VS
27808 * kern/parser.c (grub_parser_execute): Cope with read-only config.
27809
278102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27811
27812 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
27813
27814 * commands/terminal.c (abstract_terminal): New struct.
27815 (handle_command): New function. Based on grub_cmd_terminal_input.
27816 (grub_cmd_terminal_input): Use handle_command.
27817 (grub_cmd_terminal_output): Use handle_command.
27818
a8ebb841
BC
278192010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
27820
27821 Fix comment handling.
27822
27823 * tests/grub_script_comments.in: New testcase.
27824 * conf/tests.rmk: Rules for new testcase.
27825 * script/yylex.l: Updated flex rules.
27826
bb06ba08
ST
278272010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
27828
27829 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
27830 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
27831 if argc is 1.
bb06ba08 27832
cc9d2425
VS
278332010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27834
27835 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27836 autogen issues.
27837
460d8402
CF
278382010-04-26 Christian Franke <franke@computer.org>
27839
27840 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27841 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27842 (grub_get_prefix): Remove function.
27843 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27844 make_system_path_relative_to_its_root ().
27845 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27846
553c01f9
CF
278472010-04-24 Christian Franke <franke@computer.org>
27848
27849 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27850 (kernel_img_LDFLAGS): Remove -static-libgcc.
27851
2aec1692
CF
278522010-04-24 Christian Franke <franke@computer.org>
27853
27854 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27855 and CHECK_END_SYMBOL if grub-emu is built.
27856 Unset TARGET_OBJ2ELF if grub-emu is built
27857 without module support.
27858
f67dc308
JS
278592010-04-24 Jiro SEKIBA <jir@unicus.jp>
27860
27861 Nilfs2 support.
27862
27863 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27864 (grub_fstest_SOURCES): Likewise.
27865 (pkglib_MODULES): Add nilfs2.mod.
27866 (nilfs2_mod_SOURCES): New variable.
27867 (nilfs2_mod_CFLAGS): Likewise.
27868 (nilfs2_mod_LDFLAGS): Likewise.
27869 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27870 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27871 * fs/nilfs2.c: New file.
27872
4ba8d354
VS
278732010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27874
27875 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27876 is not supported.
27877
0d2c20c6
GS
278782010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27879
27880 Add grub-mkconfig support for NetBSD.
27881
27882 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27883 * util/grub-mkconfig.in: export new NetBSD specific variables.
27884 * po/POTFILES-shell: added 10_netbsd.in.
27885 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27886
bc4a2d83
BC
278872010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27888
27889 Fix emu build with grub-emu-pci and grub-emu-modules.
27890
27891 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27892 functions.
27893 * include/grub/libpciaccess.h: New file.
27894 * conf/any-emu.rmk: Update kernel headers for emu build.
27895
f48c87aa
VS
278962010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27897
27898 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27899
18959385
VS
279002010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27901
27902 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27903
0037de3f
VS
279042010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27905
27906 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27907 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27908 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27909 util/ieee1275/ofpath.c.
27910 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27911 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27912 * include/grub/sparc64/ieee1275/boot.h
27913 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27914 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27915 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27916 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27917 const char *.
27918 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27919 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27920 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27921 install.
27922
38e55e90
GS
279232010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27924
27925 * util/grub-mkconfig.in: Corrected two == equality tests.
27926 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27927 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27928 expect a number appended to it.
27929 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27930 expects a number appended to it.
27931
a9e6ff28
VS
279322010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27933
27934 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27935
0b830b8f
VS
279362010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27937
27938 * util/hostdisk.c (make_device_name): Change to new partition naming.
27939
0973daeb
VS
279402010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27941
27942 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27943
460d8402 279442010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27945
27946 * Makefile.in: Add missing localedir setting.
27947
0b456309
CW
279482010-04-14 Colin Watson <cjwatson@ubuntu.com>
27949
27950 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27951 mistake in r2156. Noticed by Anthony Fok.
27952
27953 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27954 @localedir@.
27955 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27956
08f46d62
BC
279572010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27958
27959 Fix a spurious, uninitialized variable warning.
27960
27961 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27962 Initialize variable, shdr.
27963 (grub_freebsd_load_elfmodule): Likewise.
27964 (grub_freebsd_load_elf_meta): Likewise.
27965
8c4a72d4
BC
279662010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27967
27968 Fix for escaped dollar in double quoted strings.
27969
27970 * script/yylex.l: Updated flex rules.
27971 * conf/tests.rmk: Rule for new testcase.
27972 * tests/grub_script_dollar.in: New testcase.
27973
ce44826e
CPE
279742010-04-13 Carles Pina i Estany <carles@pina.cat>
279752010-04-13 Colin Watson <cjwatson@ubuntu.com>
27976
27977 Enclose all translated strings in grub.cfg in single quotes, and
27978 escape them appropriately (Ubuntu bug #552921).
27979
27980 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27981 * util/grub.d/10_hurd.in: Use it.
27982 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27983 * util/grub.d/10_linux.in (linux_entry): Likewise.
27984
4b0cd8f8
VS
279852010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27986
27987 Fix cygwin compilation.
27988
27989 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27990 * include/grub/misc.h (__register_frame_info)
27991 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27992 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27993 * kern/misc.c (__register_frame_info)
27994 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27995 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27996
01fcf061
VS
279972010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27998
27999 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28000
5d04b11e
VS
280012010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28002
28003 Unify libgcc processing.
28004
28005 * Makefile.in (kernel_img_LDFLAGS): New variable.
28006 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28007 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28008 overwriting.
28009 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28010 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28011 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28012 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28013 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28014 overwriting. Remove -lgcc and -static-libgcc
28015 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28016 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28017 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28018 (kernel_img_LDFLAGS): Append instead of overwriting.
28019 Remove -lgcc and -static-libgcc
28020 * conf/sparc64-ieee1275.rmk: Likewise.
28021 * include/grub/powerpc/libgcc.h: Move to ...
28022 * include/grub/libgcc.h: .. this.
28023 * include/grub/libgcc.h: Don't export most of the function on x86.
28024 (__bswapsi2): New export.
28025 (__bswapdi2): Likewise.
28026 * include/grub/mips/libgcc.h: Removed.
28027 * include/grub/sparc64/libgcc.h: Likewise.
28028
b7f3ac29
VS
280292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28030
28031 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28032 disk_info_msg (conflicts with gettexting into languages with cases).
28033
2c7031b1
GS
280342010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28035
28036 Add grub-probe support for NetBSD.
28037
28038 * util/getroot.c (find_root_device): Convert block device to
28039 character device on NetBSD.
28040 * util/probe.c (probe): Require character device on NetBSD.
28041 * util/hostdisk.c: NetBSD specific headers.
28042 (configure_device_driver): new function to tune device driver
28043 parameters (currently only for NetBSD floppy driver).
28044 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28045 via disklabel ioctl).
28046 (open_device): call configure_device_driver on NetBSD.
28047 (convert_system_partition_to_system_disk): NetBSD specific code.
28048 (device_is_wholedisk): Likewise.
28049 (grub_util_biosdisk_get_grub_dev): Likewise.
28050 (make_device_name): Fixed a typo in bsd_part_str.
28051 * configure.ac: check for opendisk() and getrawpartition() on
28052 NetBSD and set LIBUTIL.
28053 * Makefile.in: add LIBUTIL to LIBS.
28054
f516290c
BC
280552010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28056
28057 Documentation fix.
28058
28059 * util/grub-script-check.c: Better help message.
28060
d8dcc0df
BC
280612010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28062
28063 Fix FreeBSD build.
28064
28065 * configure.ac: Flex version check.
28066 * conf/common.rmk: Add -Wno-error to sh.mod.
28067 * script/yylex.l: Remove all #pragma.
28068
6734334a
VS
280692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28070
28071 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28072 prototype.
28073 Reported by: Seth Goldberg.
28074
daea6abd
VS
280752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28076
28077 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
28078 Rename "module" to "module2".
28079 Reported by: Seth Goldberg.
28080
f2fd9d2b
VS
280812010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28082
28083 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
28084 EXPORT_FUNC.
28085 Reported by: Seth Goldberg.
28086
be124579
VS
280872010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28088
28089 * lib/posix_wrap/locale.h: Add missing file.
28090 Reported by: Seth Goldberg.
28091
ef5da797
VS
280922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28093
28094 grub-emu module load support.
28095
28096 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28097 NO_DYNAMIC_MODULES switched to this.
28098 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28099 (CFLAGS): Likewise.
28100 * conf/any-emu.rmk: Generate symlist.
28101 (kernel_img_HEADERS): Add util/datetime.h.
28102 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28103 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28104 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28105 kern/$(target_cpu)/cache.S.
28106 * configure.ac (grub-emu-modules): New option.
28107 * genmk.rb: Handle multiple source lists.
28108 * include/grub/sdl.h: New file.
28109 * include/grub/libusb.h: Likewise.
28110 * util/grub-emu.c (main): Hanle (host) root.
28111 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28112 GRUB_ERR_UNKNOWN_DEVICE.
28113 * util/misc.c: Move mm functions to ...
28114 * util/mm.c: ... here. All users updated.
28115
47822096
VS
281162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28117
28118 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
28119 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
28120 missing files.
28121 (maintainer-clean): Remove libgcrypt-grub.
28122
5d7e7445
VS
281232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28124
28125 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
28126
25f4e252
EC
281272010-04-09 EFI Coder <eficoder@hotmail.com>
28128
28129 * normal/menu_text.c (print_message): Clean up the message and show
28130 the Fn information when on EFI
28131 * term/efi/console.c (grub_console_checkkey): Add F4 support.
28132
027de555
VS
281332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28134
28135 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
28136 All users updated.
28137 * normal/crypto.c (read_crypto_list): Likewise.
28138 * normal/dyncmd.c (read_command_list): Likewise.
28139 * normal/term.c (read_terminal_list): Likewise.
28140 * normal/main.c (read_lists): Use explicit prefix.
28141 (read_lists_hook): Use read_lists.
28142 (grub_normal_execute): Likewise.
28143
47779711
VS
281442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28145
28146 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
28147 Reported by: Thomas Schmitt.
28148 Add -no-emul-boot to grub-mkisofs parameters.
28149
1118c32e
VS
281502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28151
28152 * font/font.c: Indented.
28153
7d652447
BC
281542010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28155
28156 Elif support to GRUB script (by Deepak Vankadaru).
28157
28158 * tests/grub_script_if.in: New testcase.
28159 * conf/tests.rmk: Rule for new testcase.
28160 * script/parser.y: Grammar rules for elif.
28161
34bb22df
BC
281622010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28163
28164 While and until loops support to GRUB script.
28165
28166 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
28167 (grub_script_create_cmdwhile): New function prototype.
28168 (grub_script_execute_cmdwhile): New function prototype.
28169 * script/execute.c (grub_script_execute_cmdwhile): New function.
28170 * script/parser.y (command): New commands.
28171 (whilecmd): New grammar rule.
28172 (untilcmd): New grammar rule.
28173 * script/script.c (grub_script_create_cmdwhile): New function.
28174 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
28175 function.
28176
28177 * tests/grub_script_while1.in: New testcase.
28178 * conf/tests.rmk: Rule for new testcase.
28179
e215d8e0
VS
281802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
28183 as *.jpg.
28184
d7c43ba1
MV
281852010-04-09 Mario Vazquez <mariovazq@gmail.com>
28186
28187 GRUB_BACKGROUND support.
28188
28189 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
28190 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
28191
d64795c0
VS
281922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28193
28194 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 28195 Idea by: Mario Vazquez
d64795c0
VS
28196
28197 * util/grub.d/00_header.in: Load pf2 and image modules.
28198
f267f83a
VS
281992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28200
28201 grub-mkconfig multiple terminal support.
28202
28203 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28204 * util/grub.d/00_header.in: Likewise.
28205
b7841ceb
VS
282062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28207
28208 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28209 we use cd $(srcdir).
28210
df60998c
CW
282112010-04-08 Colin Watson <cjwatson@ubuntu.com>
28212
28213 * util/grub.d/10_linux.in: Only use the first word of
28214 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28215 spaces in GRUB_DISTRIBUTOR.
28216 * util/grub.d/10_kfreebsd.in: Likewise.
28217 * util/grub.d/10_hurd.in: Likewise.
28218
fa09c82e
BC
282192010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28220
14e18ae3 28221 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
28222
28223 * tests/util/grub-shell.in: Remove -serial stdio option.
28224
daf892b3
BC
282252010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28226
28227 POSIX header file wrappers.
28228
28229 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28230 equivalents.
28231 * lib/posix_wrap/ctype.h: Likewise.
28232 * lib/posix_wrap/errno.h: Likewise.
28233 * lib/posix_wrap/langinfo.h: Likewise.
28234 * lib/posix_wrap/limits.h: Likewise.
28235 * lib/posix_wrap/localcharset.h: Likewise.
28236 * lib/posix_wrap/stdint.h: Likewise.
28237 * lib/posix_wrap/stdio.h: Likewise.
28238 * lib/posix_wrap/stdlib.h: Likewise.
28239 * lib/posix_wrap/string.h: Likewise.
28240 * lib/posix_wrap/sys/types.h: Likewise.
28241 * lib/posix_wrap/unistd.h: Likewise.
28242 * lib/posix_wrap/wchar.h: Likewise.
28243 * lib/posix_wrap/wctype.h: Likewise.
28244 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28245 (grub_script.yy.h): Likewise.
28246 * script/yylex.l: Remove POSIX emulation #defines.
28247 * Makefile.in (POSIX_CFLAGS): New variable.
28248 (GNULIB_UTIL_CFLAGS): Likewise.
28249
28250 Regexp support.
28251
28252 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28253 (regexp_mod_SOURCES): New variable.
28254 (regexp_mod_CFLAGS): Likewise.
28255 (regexp_mod_LDFLAGS): Likewise.
28256 * commands/regexp.c: New file.
28257 * gnulib/regcomp.c: New file. Imported from gnulib.
28258 * gnulib/regex.c: Likewise.
28259 * gnulib/regex_internal.c: Likewise.
28260 * gnulib/regex_internal.h: Likewise.
28261 * gnulib/regexec.c: Likewise.
28262 * gnulib/regex.h: Likewise.
28263
974ac4f7
VS
282642010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28265
28266 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28267 unsupported video mode types.
28268
2622c3ff
VS
282692010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28270
28271 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28272
064cb524
VS
282732010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28274
28275 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28276 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28277
a8c3b552
VS
282782010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28279
28280 Remove unused grub_vga_get_font.
28281
28282 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28283 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28284
187bbe3d
GS
282852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28286
28287 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28288 * include/grub/misc.h: Likewise.
28289
b9396631
GS
282902010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28291
28292 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28293 for which failure is fatal.
28294
50479feb
GS
282952010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28296
28297 * util/grub-install.in: Use mkdir -p to create grub directory.
28298 * util/i386/efi/grub-install.in: Likewise.
28299 * util/ieee1275/grub-install.in: Likewise.
28300
b1654fdf
GS
283012010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28302
28303 * Makefile.in (LEX): new variable.
28304
bd5a6415
GS
283052010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28306
28307 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28308 `=' and added double quotes on operands of this equality test.
28309
3db3a82b
VS
283102010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 * Makefile.in (uninstall): Remove a leftover debug echo.
28313 Reported by: Grégoire Sutre
28314
38023412
VS
283152010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28316
28317 MIPS multiboot2 support.
28318
28319 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28320 (multiboot2_mod_SOURCES): New variable.
28321 (multiboot2_mod_CFLAGS): Likewise.
28322 (multiboot2_mod_LDFLAGS): Likewise.
28323 (multiboot2_mod_ASFLAGS): Likewise.
28324 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28325 definition.
28326 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28327 (MULTIBOOT_MBI_REGISTER): Likewise.
28328 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28329 (MULTIBOOT_ELF32_MACHINE): Likewise.
28330 (MULTIBOOT_ELF64_MACHINE): Likewise.
28331 * include/grub/mips/multiboot.h: New file.
28332 * include/grub/video.h (grub_video_driver_id): New type
28333 GRUB_VIDEO_DRIVER_SM712.
28334 (grub_video_get_info_and_fini): Export.
28335 (grub_video_get_palette): Likewise.
28336 (grub_video_get_driver_id): Likewise.
28337 * include/multiboot2.h: Resynced with spec.
28338 * loader/i386/multiboot.c: Moved from here ...
28339 * loader/multiboot.c: ... here. All users updated.
28340 (grub_multiboot_boot): Use platform-specific macros.
28341 * loader/i386/multiboot_elfxx.c: Moved from here ...
28342 * loader/multiboot_elfxx.c: ... here. All users updated.
28343 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28344 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28345 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28346
47674667
VS
283472010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28348
28349 Import gnulib argp module.
28350
28351 * gnulib/argp-ba.c: New file.
28352 * gnulib/argp-eexst.c: Likewise.
28353 * gnulib/argp-fmtstream.c: Likewise.
28354 * gnulib/argp-fmtstream.h: Likewise.
28355 * gnulib/argp-fs-xinl.c: Likewise.
28356 * gnulib/argp-help.c: Likewise.
28357 * gnulib/argp-namefrob.h: Likewise.
28358 * gnulib/argp-parse.c: Likewise.
28359 * gnulib/argp-pin.c: Likewise.
28360 * gnulib/argp-pv.c: Likewise.
28361 * gnulib/argp-pvh.c: Likewise.
28362 * gnulib/argp-version-etc.c: Likewise.
28363 * gnulib/argp-version-etc.h: Likewise.
28364 * gnulib/argp-xinl.c: Likewise.
28365 * gnulib/argp.h: Likewise.
28366
495442ed
VS
283672010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28368
28369 * kern/device.c (grub_device_iterate): Clear errors after failed
28370 opening device.
28371
f9fd65df
VS
283722010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28373
28374 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28375 returned by firmware.
28376
af09641e
VS
283772010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28378
28379 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28380 compilation on coreboot and qemu
28381
016883a5
VS
283822010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28383
28384 * include/multiboot2.h: Resync with spec.
28385
f97e1f7d
VS
283862010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28387
28388 Multiboot2 tag support
28389
28390 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28391 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28392 Remove loader/multiboot_loader.c.
28393 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28394 (grub_multiboot2_real_boot): Likewise.
28395 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28396 (grub_get_multiboot_mmap_count): New proto.
28397 (grub_fill_multiboot_mmap): Likewise.
28398 (grub_multiboot_set_video_mode): Likewise.
28399 (grub_multiboot_set_console): Likewise.
28400 (grub_multiboot_load): Likewise.
28401 (grub_multiboot_load_elf): Likewise.
28402 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28403 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28404 * include/multiboot.h: Resynced with specification.
28405 * include/multiboot2.h: Resynced with specification.
28406 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28407 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28408 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28409 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28410 users updated.
28411 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28412 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28413 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28414 Removed.
28415 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28416 Moved from here...
28417 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28418 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28419 Moved from here...
28420 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28421 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28422 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28423 All users updated.
28424 * loader/i386/multiboot_mbi2.c: New file.
28425
3506b90b
VS
284262010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 Resync with gnulib.
28429
28430 * Makefile.in (GNULIB_CFLAGS): New variable.
28431 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28432 (grub_script_check_CFLAGS): New variable.
28433 * gnulib/alloca.h: Resync with gnulib.
28434 * gnulib/error.c: Likewise.
28435 * gnulib/error.h: Likewise.
28436 * gnulib/fnmatch.c: Likewise.
28437 * gnulib/fnmatch_loop.c: Likewise.
28438 * gnulib/getdelim.c: Likewise.
28439 * gnulib/getline.c: Likewise.
28440 * gnulib/getopt.c: Likewise.
28441 * gnulib/getopt1.c: Likewise.
28442 * gnulib/getopt_int.h: Likewise.
28443 * gnulib/gettext.h: Likewise.
28444 * gnulib/progname.c: Likewise.
28445 * gnulib/progname.h: Likewise.
28446
394a3120
GS
284472010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28448
28449 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28450 which is the case with --disabled-nls.
28451
28452 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28453 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28454 * util/misc.c: Likewise.
28455 * util/mkisofs/mkisofs.c: Likewise.
28456 * util/mkisofs/mkisofs.h: Likewise.
28457
969d1c78
VS
284582010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28459
28460 Simplify Apple CC support.
28461
28462 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28463 Add 0 byte at the end not to have a symbol with empty target.
28464 * mmap/i386/pc/mmap_helper.S: Likewise.
28465 * genmk.rb: Ignore errors 2030 and 2050.
28466 * kern/i386/pc/startup.S: Use LOCAL when possible.
28467
8d2977bb
BC
284682010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28469
28470 Testcase and the fix for final semicolon on cmdline.
28471
28472 * tests/grub_script_final_semicolon.in: New testcase.
28473 * conf/tests.rmk: Rules for the new testcase.
28474 * script/parser.y: Grammar fix.
28475
a7bd6915
BC
284762010-03-26 BVK Chaitanya <bvk@localhost>
28477
28478 Blank lines testcase for GRUB script.
28479
28480 * tests/grub_script_blanklines.in: New testcase.
28481 * conf/tests.rmk: Rules for the new testcase.
28482
e4ff6628
VS
284832010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28484
28485 Don't use __FILE__.
28486
28487 * genmk.rb: Add -DGRUB_FILE to all C targets.
28488 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28489 * include/grub/list.h: Likewise.
28490 * include/grub/misc.h: Likewise.
28491 * include/grub/mm.h: Likewise.
28492 * include/grub/test.h: Likewise.
28493 * kern/mm.c: Likewise.
28494 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28495
6a5cf6b6
VS
284962010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28497
28498 Sunpc partitions support.
28499
28500 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28501 (grub_fstest_SOURCES): Likewise.
28502 (pkglib_MODULES): Add part_sunpc.mod.
28503 (part_sunpc_mod_SOURCES): New variable.
28504 (part_sunpc_mod_CFLAGS): Likewise.
28505 (part_sunpc_mod_LDFLAGS): Likewise.
28506 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28507 * partmap/sunpc.c: New file.
28508
746d9045
BC
285092010-03-26 BVK Chaitanya <bvk@localhost>
28510
28511 For loop support to GRUB script.
28512
28513 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28514 (grub_script_create_cmdfor): New function prototype.
28515 (grub_script_execute_cmdfor): New function prototype.
28516 * script/execute.c (grub_script_execute_cmdfor): New function.
28517 * script/parser.y (command): New for command.
28518 (forcmd): New grammar rule.
28519 * script/script.c (grub_script_create_cmdfor): New function.
28520 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28521 function.
28522 * tests/grub_script_for1.in: New testcase.
28523 * conf/tests.rmk: Rules for new testcase.
28524
18486b18
VS
285252010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28526
28527 Nested partitions
28528
28529 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28530 'partition' is NULL, grub_partition_get_start already does that.
28531 * commands/loadenv.c (check_blocklists): Likewise.
28532 (write_blocklists): Likewise.
28533 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28534 (grub_fstest_SOURCES): Likewise.
28535 (pkglib_MODULES): Add part_bsd.mod.
28536 (part_bsd_mod_SOURCES): New variable.
28537 (part_bsd_mod_CFLAGS): Likewise.
28538 (part_bsd_mod_LDFLAGS): Likewise.
28539 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28540 (grub_emu_SOURCES): Likewise.
28541 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28542 * include/grub/bsdlabel.h: New file.
28543 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28544 'get_name'.
28545 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28546 (grub_partition_map_list): New variable.
28547 (grub_partition_map_register): Inline.
28548 (grub_partition_map_unregister): Likewise.
28549 (FOR_PARTITION_MAPS): New macro.
28550 (grub_partition_map_iterate): Removed.
28551 (grub_partition_get_start): Handle nested partitions.
28552 * include/grub/msdos_partition.h: Remove bsd-related entries.
28553 (grub_pc_partition): Remove.
28554 * kern/disk.c (grub_disk_close): Free partition data.
28555 (grub_disk_adjust_range): Handle nested partitions.
28556 * kern/partition.c (grub_partition_map_probe): New function.
28557 (grub_partition_probe): Parse name to number, handle subpartitions.
28558 (get_partmap): New function.
28559 (grub_partition_iterate): Handle subpartitions.
28560 (grub_partition_get_name): Likewise.
28561 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28562 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28563 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28564 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28565 Set 'number'.
28566 (acorn_partition_map_probe): Remove.
28567 (acorn_partition_map_get_name): Likewise.
28568 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28569 Set 'number'.
28570 Set 'index' to 0 since there can be only one partition entry per sector.
28571 (amiga_partition_map_probe): Remove.
28572 (amiga_partition_map_get_name): Likewise.
28573 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28574 Set 'number'.
28575 Set 'offset' and 'index' to real positions of partitions.
28576 (apple_partition_map_probe): Remove.
28577 (apple_partition_map_get_name): Likewise.
28578 * partmap/bsdlabel.c: New file.
28579 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28580 Set 'number'.
28581 Allocate 'data' so it can be correctly freed.
28582 Set 'index' to offset inside sector.
28583 (gpt_partition_map_probe): Remove.
28584 (gpt_partition_map_get_name): Likewise.
28585 * partmap/msdos.c (grub_partition_parse): Remove.
28586 (pc_partition_map_iterate): Don't force raw access.
28587 Set 'number'.
28588 Make 'ext_offset' a local variable.
28589 (pc_partition_map_probe): Remove.
28590 (pc_partition_map_get_name): Remove.
28591 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28592 Set 'number'.
28593 (sun_partition_map_probe): Remove.
28594 (sun_partition_map_get_name): Likewise.
28595 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28596 (grub_pcpart_type): Likewise.
28597 * util/hostdisk.c (open_device): Handle new numbering scheme.
28598 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28599 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28600 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28601 * util/grub-install.in: Insert all subpartition modules.
28602 * util/ieee1275/grub-install.in: Likewise.
28603
a3940f88
AG
286042010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28605
28606 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28607 grammar.
28608
21b99926 286092010-03-24 Colin Watson <cjwatson@ubuntu.com>
28610
28611 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28612
bed1d352
CW
286132010-03-21 Colin Watson <cjwatson@ubuntu.com>
28614
28615 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28616 match where 'make install' puts them.
28617 * util/i386/efi/grub-install.in: Likewise.
28618
c9f58427
CW
286192010-03-19 Colin Watson <cjwatson@ubuntu.com>
28620
28621 * .bzrignore: Add gentrigtables, grub-script-check,
28622 grub_script_check_init.c, grub_script_check_init.h, and
28623 trigtables.c.
28624
f84afb27
VS
286252010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28626
28627 * kern/parser.c: Indented.
28628
ed0e3d30
VS
286292010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28630
28631 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28632
0ea81d98
VS
286332010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28634
28635 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28636 alpha_mask_size == 0 case.
28637
0cdc2a09
BC
286382010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28639
28640 GRUB shell lexer and parser improvements.
28641
28642 * conf/any-emu.rmk: Build rule updates.
28643 * conf/common.rmk: Likewise.
28644 * conf/i386-coreboot.rmk: Likewise.
28645 * conf/i386-efi.rmk: Likewise.
28646 * conf/i386-ieee1275.rmk: Likewise.
28647 * conf/i386-pc.rmk: Likewise.
28648 * conf/powerpc-ieee1275.rmk: Likewise.
28649 * conf/x86_64-efi.rmk: Likewise.
28650
28651 * configure.ac: Configure check for flex.
28652
28653 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28654 types.
28655 (grub_lexer_param): Struct member updates.
28656 (grub_parser_param): Likewise.
28657 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28658 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28659 (grub_script_lexer_init): Prototype update.
28660 (grub_script_lexer_record_start): Likewise.
28661 (grub_script_lexer_record_stop): Likewise.
28662 (grub_script_lexer_yywrap): New function prototype.
28663 (grub_script_lexer_fini): Likewise.
28664 (grub_script_execute_argument_to_string): Removed by...
28665 (grub_script_execute_argument_to_argv): ...better version.
28666
28667 * script/execute.c (ROUND_UPTO): New macro.
28668 (grub_script_execute_cmdline): Out of memory fixes.
28669 (grub_script_execute_menuentry): Likewise.
28670 (grub_script_execute_argument_to_string): Removed. Update all
28671 users by...
28672 (grub_script_execute_argument_to_argv): ...better version.
28673 * script/function.c (grub_script_function_create): Use
28674 grub_script_execute_argument_to_argv instead of
28675 grub_script_execute_argument_to_string.
28676
28677 * script/lexer.c (check_varstate): Removed.
28678 (check_textstate): Removed.
28679 (grub_script_lexer_record_start): Likewise.
28680 (grub_script_lexer_record_stop): Likewise.
28681 (recordchar): Replaced with...
28682 (grub_script_lexer_record): ...new function.
28683 (nextchar): Removed.
28684 (grub_script_lexer_init): Rewritten.
28685 (grub_script_yylex): Rewritten.
28686 (append_newline): New function.
28687 (grub_script_lexer_yywrap): New function.
28688 (grub_script_lexer_fini): New function.
28689 (grub_script_yyerror): Sets error flag.
28690
28691 * script/yylex.l: New file.
28692 (grub_lexer_yyfree): Wrapper for flex yyffre.
28693 (grub_lexer_yyalloc): Likewise.
28694 (grub_lexer_yyrealloc): Likewise.
28695 * script/parser.y: Refactored.
28696
28697 * script/script.c (grub_script_arg_add): Out of memory fixes.
28698 (grub_script_add_arglist): Likewise.
28699 (grub_script_create_cmdline): Likewise.
28700 (grub_script_create_cmdmenu): Likewise.
28701 (grub_script_add_cmd): Likewise.
28702 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28703 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28704 unnecessary code.
28705
28706 * tests/grub_script_echo1.in: New testcase.
28707 * tests/grub_script_vars1.in: New testcase.
28708 * tests/grub_script_echo_keywords.in: New testcase.
28709
1d63a066
VS
287102010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28711
28712 Remove some redundancy in build system.
28713
28714 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28715 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28716 (TARGET_LDFLAGS): Add -nostdlib.
28717 (TARGET_IMG_LDFLAGS): Likewise.
28718 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28719 anything since mmap isn't available.
28720 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
28721 Add util/time.c.
28722 (pkglib_MODULES): Remove reboot.mod.
28723 (reboot_mod_SOURCES): Removed.
28724 (reboot_mod_CFLAGS): Likewise.
28725 (reboot_mod_LDFLAGS): Likewise.
28726 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
28727 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
28728 (DEFSYMFILES): Add kernel_syms.lst.
28729 (kernel_img_HEADERS): Add common headers.
28730 (symlist.c): New target.
28731 (kernel_syms.lst): Likewise.
28732 (pkglib_MODULES): Add memdisk.mod.
28733 (memdisk_mod_SOURCES): New variable.
28734 (memdisk_mod_CFLAGS): Likewise.
28735 (memdisk_mod_LDFLAGS): Likewise.
28736 (pkglib_MODULES): Add reboot.mod.
28737 (reboot_mod_SOURCES): New variable.
28738 (reboot_mod_CFLAGS): Likewise.
28739 (reboot_mod_LDFLAGS): Likewise.
28740 (pkglib_MODULES): Add date.mod.
28741 (date_mod_SOURCES): New variable.
28742 (date_mod_CFLAGS): Likewise.
28743 (date_mod_LDFLAGS): Likewise.
28744 (pkglib_MODULES): Add datehook.mod.
28745 (datehook_mod_SOURCES): New variable.
28746 (datehook_mod_CFLAGS): Likewise.
28747 (datehook_mod_LDFLAGS): Likewise.
28748 (pkglib_MODULES): Add lsmmap.mod.
28749 (lsmmap_mod_SOURCES): New variable.
28750 (lsmmap_mod_CFLAGS): Likewise.
28751 (lsmmap_mod_LDFLAGS): Likewise.
28752 (pkglib_MODULES): Add boot.mod.
28753 (boot_mod_SOURCES): New variable.
28754 (boot_mod_CFLAGS): Likewise.
28755 (boot_mod_LDFLAGS): Likewise.
28756 * conf/i386-coreboot.rmk: Removed redundant parts.
28757 * conf/i386-ieee1275.rmk: Likewise.
28758 * conf/i386-pc.rmk: Likewise.
28759 * conf/mips-yeeloong.rmk: Likewise.
28760 * conf/mips.rmk: Likewise.
28761 * conf/powerpc-ieee1275.rmk: Likewise.
28762 * conf/sparc64-ieee1275.rmk: Likewise.
28763 * conf/x86_64-efi.rmk: Likewise.
28764 * conf/i386-coreboot.rmk: Moved qemu parts ..
28765 * conf/i386-qemu.rmk: ... here
28766 * conf/i386-efi.rmk: Moved common parts to...
28767 * conf/x86-efi.rmk: ... here.
28768 * conf/i386.rmk: Added modules common to all x86 variants.
28769 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
28770 * disk/memdisk.c: Remove grub/machine/kernel.h.
28771 * gensymlist.sh.in: Include symbol.h.
28772 * hook/datehook.c: Correct module name.
28773 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
28774 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
28775 * include/grub/i386/efi/serial.h: New file.
28776 * include/grub/x86_64/efi/serial.h: Likewise.
28777 * util/time.c: Likewise.
28778 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
28779
463ac55f
CK
287802010-03-14 Colin King <colin.king@ubuntu.com>
287812010-03-14 Colin Watson <cjwatson@ubuntu.com>
28782
28783 Shrink the pre-partition-table part of boot.img by eight bytes.
28784
28785 * boot/i386/pc/boot.S (ERR): New macro.
28786 (chs_mode): Use ERR.
28787 (geometry_error): Likewise.
28788 (hd_probe_error): Remove. This is only used once, so we wrwite
28789 it inline instead.
28790 (read_error): Instead of printing read_error_string, just set up
28791 %si and fall through to ...
28792 (error_message): ... this new function, also used by ERR.
28793
08e46ede
CW
287942010-03-14 Colin Watson <cjwatson@ubuntu.com>
28795
28796 Speed up consecutive hostdisk operations on the same device.
28797
28798 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
28799 (grub_util_biosdisk_open): Initialise disk->data.
28800 (struct linux_partition_cache): New structure.
28801 (linux_find_partition): Cache partition start positions; these are
28802 expensive to compute on every read and write.
28803 (open_device): Cache open file descriptor in disk->data, so that we
28804 don't have to reopen it and flush the buffer cache for consecutive
28805 operations on the same device.
28806 (grub_util_biosdisk_close): New function.
28807 (grub_util_biosdisk_dev): Set `close' member.
28808
28809 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
28810 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
28811 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28812 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
28813 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
28814
4a6d2d06
VS
288152010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28816
28817 Compile parts of grub-emu as modules.
28818
28819 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
28820 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
28821 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
28822 (all-local): Add $(GRUB_EMU).
28823 (install-local): Install $(GRUB_EMU).
28824 (uninstall): Uninstall $(GRUB_EMU).
28825 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
28826 * kern/dl.c: Likewise.
28827 * commands/sleep.c: Not include machine/time.h.
28828 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
28829 (COMMON_CFLAGS): Likewise.
28830 (sbin_UTILITIES): Remove grub-emu.
28831 (grub_emu_SOURCES): Removed.
28832 (kernel_img_RELOCATABLE): New variable.
28833 (pkglib_PROGRAMS): Add kernel.img.
28834 (kernel_img_SOURCES): New variable
28835 (kernel_img_CFLAGS): Likewise.
28836 (kernel_img_LDFLAGS): Likewise.
28837 (TARGET_NO_STRIP): Likewise.
28838 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28839 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28840 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28841 (grub-emu): New target.
28842 (GRUB_EMU): New variable.
28843 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28844 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28845 * loader/xnu.c: Likewise.
28846 * include/grub/pci.h: Likewise.
28847 * genemuinit.sh: New file.
28848 * genemuinitheader.sh: Likewise.
28849 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28850 Support TARGET_NO_DYNAMIC_MODULES.
28851 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28852 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28853 * disk/loopback.c: Likewise.
28854 * font/font_cmd.c: Likewise.
28855 * partmap/acorn.c: Likewise.
28856 * partmap/amiga.c: Likewise.
28857 * partmap/apple.c: Likewise.
28858 * partmap/gpt.c: Likewise.
28859 * partmap/msdos.c: Likewise.
28860 * partmap/sun.c: Likewise.
28861 * parttool/msdospart.c: Likewise.
28862 * term/gfxterm.c: Likewise.
28863 * video/bitmap.c: Likewise.
28864 * video/readers/jpeg.c: Likewise.
28865 * video/readers/png.c: Likewise.
28866 * video/readers/tga.c: Likewise.
28867 * video/video.c: Likewise.
28868 * util/grub-emu.c (read_command_list): Removed.
28869 (main): Don't call util_init_nls.
28870 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28871 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28872
91fdd2ed
VS
288732010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28874
28875 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28876 date.mod, datehook.mod.
28877 (datetime_mod_SOURCES): New variable.
28878 (datetime_mod_CFLAGS): Likewise.
28879 (datetime_mod_LDFLAGS): Likewise.
28880 (date_mod_SOURCES): Likewise.
28881 (date_mod_CFLAGS): Likewise.
28882 (date_mod_LDFLAGS): Likewise.
28883 (datehook_mod_SOURCES): Likewise.
28884 (datehook_mod_CFLAGS): Likewise.
28885 (datehook_mod_LDFLAGS): Likewise.
28886 * conf/sparc64-ieee1275.rmk: Likewise.
28887 * lib/ieee1275/datetime.c: New file.
28888
873ccae6
VS
288892010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28890
28891 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28892 (ieee1275_fb_mod_SOURCES): New variable.
28893 (ieee1275_fb_mod_CFLAGS): Likewise.
28894 (ieee1275_fb_mod_LDFLAGS): Likewise.
28895 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28896 New proto.
28897 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28898 (HEAP_MAX_ADDR): Likewise.
28899 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28900 type.
28901 Correct stop condition.
28902 (grub_ieee1275_devices_iterate): New function.
28903 * video/ieee1275.c: New file.
28904
601c97c0
VS
289052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28906
28907 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28908
28909 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28910 as scratch.
28911 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28912 SCRATCH_PAD_DISKBOOT as scratch.
28913 (bootit): Pass Openfirmware pointer in %o4.
28914 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28915 of 0x200000.
28916 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28917 with util/grub-mkrawimage.c.
28918 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28919 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28920 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28921 (grub_aout_load) [GRUB_UTIL]: Likewise.
28922 * include/grub/kernel.h (grub_modules_get_end): New proto.
28923 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28924 (SCRATCH_PAD_BOOT): New definition.
28925 (SCRATCH_PAD_DISKBOOT): Likewise.
28926 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28927 * include/grub/sparc64/ieee1275/ieee1275.h
28928 (grub_ieee1275_original_stack): New variable
28929 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28930 New definition
28931 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28932 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28933 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28934 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28935 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28936 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28937 (grub_platform_image_format_t): New type.
28938 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28939 * kern/main.c (grub_modules_get_end)
28940 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28941 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28942 (codestart): Switch stacks.
28943 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28944 variable.
28945 (grub_heap_init): Use grub_modules_get_end.
28946 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28947 stack.
28948 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28949 (main): Likewise.
28950 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28951
d68b491e
TG
289522010-03-14 Thorsten Glaser <tg@mirbsd.org>
28953
28954 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28955
4e02ed50
MK
289562010-03-08 Matt Kraai <kraai@ftbfs.org>
28957
28958 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28959 bug #559005).
28960
1f15fc1e
VS
289612010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28962
28963 * genmoddep.awk: Output all missing symbols and not only first.
28964
fce5d8ff
VS
289652010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28966
28967 * NEWS: Put the date of 1.98 release.
28968
d1e8a02f
VS
289692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28970
28971 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28972 ft2build.h.
28973
696fd607
VS
289742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28975
28976 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28977 completition in the middle of string.
28978
33e2e6f3
VS
289792010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28980
28981 * util/grub-mkrescue.in: Use mktemp with explicit template.
28982
b1f6d291
VS
289832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28984
28985 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28986
2ac227c7
VS
289872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28988
28989 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28990 right pointer.
28991
8f9a632b
VS
289922010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28993
28994 Fix FreeBSD compilation.
28995
28996 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28997 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28998
60b03859
VS
289992010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29000
29001 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29002
48a5a769
VS
290032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29004
29005 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29006
3ab4bd77
VS
290072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29008
29009 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29010
d116e0d8
RM
290112010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29012
29013 Support relative image path in theme file.
29014
29015 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29016 (image_set_property): Handle theme_dir and relative path.
29017
c7ef54aa
VS
290182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29019
29020 * configure.ac: Alias amd64 to x86_64.
29021
fcee14ed
VS
290222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29023
29024 * NEWS: mention multiboot on EFI.
29025
d0780363
VS
290262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29027
29028 * kern/main.c (grub_load_modules): Handle errors from init functions of
29029 embeded modules.
29030
41168ea4
VS
290312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29032
29033 * normal/autofs.c (autoload_fs_module): Handle errors.
29034
b54d93ac
VS
290352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29036
29037 Disable linux.mod on qemu-mips since it's not functional and leads
29038 to compilation failure.
29039
29040 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29041 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29042 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29043 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29044 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29045 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29046 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29047 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29048 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29049 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29050 Reported by: BVK Chaitanya
29051
fc8345da
JU
290522010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29053
29054 * INSTALL: Add gettext as a dependency and add qemu to a new section
29055 "Prerequisites for make-check".
29056
4760f979
CF
290572010-03-04 Christian Franke <franke@computer.org>
29058
29059 * util/grub-pe2elf.c: Add missing include "progname.h".
29060
f209b5b2
VS
290612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29062
29063 * normal/crypto.c (read_crypto_list): Fix a typo.
29064 Reported by: Seth Goldberg.
29065
b4b7be98
VS
290662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29067
29068 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 29069 Reported by: Seth Goldberg.
b4b7be98 29070
c0ee0385
VS
290712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29072
29073 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29074 ascii.bitmaps.
29075
a8efbf64
VS
290762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29077
29078 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 29079 Reported by: Seth Goldberg.
a8efbf64 29080
08dcd913
VS
290812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29082
29083 * util/i386/efi/grub-install.in: Copy gettext files.
29084
c4d0b332
VS
290852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29086
29087 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
29088
c6f2fe52
VS
290892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29090
29091 Wait for user entry basing on presence of output rather than on errors.
29092
29093 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29094 (grub_install_newline_hook): Likewise.
29095 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29096 * normal/menu.c (show_menu): Check line_counter to determine presence
29097 of output.
29098 * normal/term.c (grub_normal_line_counter): New variable.
29099 (grub_normal_get_line_counter): New function.
29100 (grub_install_newline_hook): Likewise.
29101
5382b1e4
VS
291022010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29103
29104 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29105
5519963b
VS
291062010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29107
29108 * configure.ac: Update version to 1.98.
29109
72b28631
VS
291102010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29111
29112 * util/grub.d/10_linux.in (linux_entry): Don't default to
29113 gfxpayload=keep if Linux doesn't support video handover.
29114
c140a180
VS
291152010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
29116
29117 Don't compile video modules on yeeloong since video subsystem is part
29118 of kernel.
29119
29120 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
29121 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
29122 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
29123 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
29124 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
29125 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
29126 * include/grub/bitmap_scale.h: Likewise.
29127 * include/grub/bufio.h: Likewise.
29128 * include/grub/font.h: Likewise.
29129 * include/grub/gfxterm.h: Likewise.
29130 * include/grub/video.h: Likewise.
29131 * include/grub/vbe.h: Don't include video_fb.h.
29132 * video/i386/pc/vbe.c: Include video_fb.h.
29133 * commands/i386/pc/vbetest.c: Include video.h.
29134
a0ca21c2
CW
291352010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
29136
29137 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
29138 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
29139 default entry if GRUB_SAVEDEFAULT=true. This allows using
29140 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
29141 saving a new default on every boot.
29142
4a8a763c
VS
291432010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29144
29145 * normal/crypto.c (read_crypto_list): Fix a memory leak.
29146 * normal/term.c (read_terminal_list): Likewise.
29147 * normal/main.c (grub_normal_init_page): Likewise.
29148 (grub_normal_read_line_real): Likewise.
29149
607ffde2
VS
291502010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29151
29152 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
29153 memory leak.
29154 Reported by: Seth Goldberg.
29155
2b8fa975
CW
291562010-02-24 Joey Korkames <joey+lists@kidfixit.com>
29157
29158 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
29159 duplicate declaration of `start'.
29160
618307dd
VS
291612010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29162
29163 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
29164 filename.
29165 Reported by: Georgy Buranov
29166
7dd05b96 291672010-02-20 Carles Pina i Estany <carles@pina.cat>
29168
29169 * util/grub-mkrawimage.c (usage): Change string formatting to
29170 improve gettext.
29171
d1484a42
MRA
291722010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
29173
29174 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
29175 backspace keys.
29176
42b1d186
VS
291772010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29178
29179 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
29180 Reported by: Michael Suchanek.
29181
291822010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
29183
29184 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
29185 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
29186
d9f31a41
VS
291872010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
29188
29189 Remove any reference to non-free fonts.
29190
29191 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
29192 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
29193 uses non-free components.
29194 * font/font.c (grub_font_get_name): Remove example name.
29195 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
29196 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
29197 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
29198 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29199
2793c71e
GB
292002010-02-16 Georgy Buranov <gburanov@gmail.com>
29201
29202 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29203
402e3779
VS
292042010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29205
29206 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29207 Double divisor.
29208 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29209 features.
29210 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29211
0dd1e0dd
VS
292122010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29213
29214 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29215
6fa7cfce
ST
292162010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29217
29218 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29219 * docs/grub.texi (Command-line and menu entry commands): Document play
29220 command.
29221
37c8483b
ST
292222010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29223
29224 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29225 parse arguments as inline tempo and notes. Move code for playing notes
29226 to...
29227 (play): ... new function.
29228
14da0fb7
ST
292292010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29230
29231 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29232 grub_uint16_t instead of short.
29233 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29234 disk from little endian to cpu endianness.
29235
04459e70
ST
292362010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29237
29238 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29239 GRUB_TICKS_PER_SECOND instead of 120.
29240
a0876943
VS
292412010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29242
29243 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29244 escape sequence after \e.
29245
e29f95dc
VS
292462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29247
29248 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29249 non-ASCII characters.
29250
d27859b2
VS
292512010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29252
29253 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29254 set root in single quotes to prevent \, from being unescaped.
29255
bc028f2f
VS
292562010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29257
29258 Prevent unknown commands from stopping menuentry execution.
29259
29260 * script/execute.c (grub_script_execute_cmdline): Print error after
29261 unknown command.
29262
095f5f82
VS
292632010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29264
29265 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29266 Reported by: Pavel Pisa.
29267
8c717950
VS
292682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29269
29270 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29271
904935c3
VS
292722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29273
29274 Merge grub_ieee1275_map_physical into grub_map and rename to
29275 grub_ieee1275_map
29276
29277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29278 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29279 Remove.
29280 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29281 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29282 necessary.
29283 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29284
5b59a4e3
VS
292852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29286
29287 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29288 opening and not after.
29289
69e137e8
VS
292902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29291
29292 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29293 constants.
29294
2c0fcc36
VS
292952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29296
29297 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29298 (alloc_phys): Use ALIGN_UP instead of align_addr.
29299
8c6052ce
VS
293002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29301
29302 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29303
17cec782
VS
293042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29305
29306 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29307
e0128bbd
VS
293082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29309
29310 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29311 verbose dprintf.
29312
ca62070b
VS
293132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29314
29315 Fix over-4GiB seek on sparc64.
29316
29317 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29318 Replace pos_i and pos_lo with pos. All users updated.
29319 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29320 New constant.
29321 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29322 Likewise.
29323 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29324 and pos_lo.
29325
bdca2607
VS
293262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29327
29328 * util/grub-mkrawimage.c (main): Call set_program_name.
29329
da278c4d
VS
293302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29331
29332 Properly align 64-bit targets.
29333
29334 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29335 (generate_image): Use ALIGN_ADDR.
29336
b274d734
VS
293372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29338
29339 Properly create cross-endian images.
29340
29341 * include/grub/types.h (grub_host_to_target_addr): New macro
29342 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29343
82da2062
VS
293442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29345
29346 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29347
7cae4377
VS
293482010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29349
29350 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29351
29352 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29353 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29354 (grub_linux_boot): Divide by 64K when on VESA.
29355
65a533e7
VS
293562010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29357
29358 Support GRUB_GFXPAYLOAD_LINUX.
29359
29360 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29361 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29362
dd01d397
VS
293632010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29364
29365 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29366 to show messages instead of discarding them.
29367 Process errors after executing command and not before. Keep old method
29368 too as precaution.
29369
660960d6
VS
293702010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29371
29372 * configure.ac: Check for ft2build.h.
29373
62509f04
VS
293742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29375
29376 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29377
473df63d
VS
293782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29379
29380 * genkernsyms.sh.in: Use TARGET_CC.
29381
c98d2a13
CW
293822010-02-07 Colin Watson <cjwatson@ubuntu.com>
29383
29384 * NEWS: Update.
29385
6e14234c
VS
293862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29387
29388 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29389 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29390 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29391
b255e9cf
YB
293922010-02-07 Yves Blusseau <blusseau@zetam.org>
29393
6e14234c 29394 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29395
98e6959d
VS
293962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29397
29398 Fix warnings in grub-emu when compiling with maximum warning options.
29399
29400 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29401 (grub_arch_modules_addr): Return 0 and not NULL.
29402 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29403 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29404 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29405 of disk to dsk to avoid shadowing.
74e4934e
VS
29406 (find_free_slot): Fix prototype.
29407 * util/getroot.c (grub_util_is_dmraid): Make static.
29408 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29409 Add missing prototype.
29410 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29411
74e31b5c
VS
294122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29413
29414 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29415 appropriately.
29416
6b2ad14b
VS
294172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29418
29419 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29420 code out.
29421
8f891adc
VS
294222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29423
29424 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29425 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29426 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29427 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29428 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29429 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29430
74b45184
VS
294312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29432
29433 * include/grub/err.h (grub_err_printf): Don't export.
29434
a4bced77
VS
294352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29436
29437 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29438
007d0695
VS
294392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29440
29441 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29442 * kern/misc.c (grub_gettext_dummy): Make static.
29443
b6c0d9c2
VS
294442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29445
29446 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29447 by non-valid ones.
29448 * kern/term.c (grub_putchar): Likewise.
29449
f51a90d0
VS
294502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29451
29452 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29453 buggy hook call and memory leak.
29454
6846cec5
VS
294552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29456
29457 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29458
468d69fe
VS
294592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29460
29461 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29462
51906b8c
VS
294632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29464
29465 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29466 modevar.
29467 Return grub_errno on allocation error.
29468
09706ce5
VS
294692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29470
29471 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29472
911df80c
YB
294732010-02-06 Yves Blusseau <blusseau@zetam.org>
29474
29475 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29476 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29477
3746a6bc
VS
294782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29479
29480 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29481 non-pxe disk.
29482 (grub_pxefs_open): Likewise.
29483
09706ce5
VS
294842010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29485
29486 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29487 * util/grub.d/10_kfreebsd.in: Likewise.
29488 * util/grub.d/10_linux.in: Likewise.
29489
7cc192d9
VS
294902010-02-06 Colin D Bennett <colin@gibibit.com>
29491
29492 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29493 (gfxmenu_mod_SOURCES): New variable.
29494 (gfxmenu_mod_CFLAGS): Likewise.
29495 (gfxmenu_mod_LDFLAGS): Likewise.
29496 * include/grub/term.h (grub_term_set_current_output): Declare
29497 argument as const.
29498 * docs/gfxmenu-theme-example.txt: New file.
29499 * gfxmenu/gfxmenu.c: Likewise.
29500 * gfxmenu/gui_box.c: Likewise.
29501 * gfxmenu/gui_canvas.c: Likewise.
29502 * gfxmenu/gui_circular_progress.c: Likewise.
29503 * gfxmenu/gui_image.c: Likewise.
29504 * gfxmenu/gui_label.c: Likewise.
29505 * gfxmenu/gui_list.c: Likewise.
29506 * gfxmenu/gui_progress_bar.c: Likewise.
29507 * gfxmenu/gui_string_util.c: Likewise.
29508 * gfxmenu/gui_util.c: Likewise.
29509 * gfxmenu/icon_manager.c: Likewise.
29510 * gfxmenu/model.c: Likewise.
29511 * gfxmenu/named_colors.c: Likewise.
29512 * gfxmenu/theme_loader.c: Likewise.
29513 * gfxmenu/view.c: Likewise.
29514 * gfxmenu/widget-box.c: Likewise.
29515 * include/grub/gfxmenu_model.h: Likewise.
29516 * include/grub/gfxmenu_view.h: Likewise.
29517 * include/grub/gfxwidgets.h: Likewise.
29518 * include/grub/gui.h: Likewise.
29519 * include/grub/gui_string_util.h: Likewise.
29520 * include/grub/icon_manager.h: Likewise.
29521
295222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29523
29524 Agglomerate scrolling in gfxterm.
29525
29526 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29527 (grub_virtual_screen_setup): Initialise 'total_screen'.
29528 (write_char): Split to ...
29529 (paint_char): ... this ...
29530 (write_char): ... and this.
29531 (paint_char): Handle delayed scrolling.
29532 (draw_cursor): Likewise.
29533 (scroll_up): Split to ...
29534 (real_scroll): ... this ...
29535 (scroll_up): ... and this.
29536 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29537 characters.
29538 (grub_gfxterm_refresh): Call real_scroll.
29539
295402010-02-06 Colin D Bennett <colin@gibibit.com>
29541
29542 * include/grub/misc.h (grub_iscntrl): New inline function.
29543 (grub_isalnum): Likewise.
29544 (grub_strtol): Likewise.
29545
295462010-02-06 Colin D Bennett <colin@gibibit.com>
29547
29548 * normal/menu_text.c (get_entry_number): Move from here ...
29549 * normal/menu.c (get_entry_number): ... moved here.
29550 * include/grub/menu.h (grub_menu_get_default_entry_index):
29551 New prototype.
29552 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29553 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29554 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29555 (grub_menu_viewer_should_return): Likewise.
29556 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29557 * normal/menu_text.c (run_menu): Enable menu switching.
29558 * normal/menu_viewer.c (should_return): New variable.
29559 (menu_viewer_changed): Likewise.
29560 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29561 (grub_menu_viewer_should_return): New function.
29562 (menuviewer_write_hook): Likewise.
29563 (grub_menu_viewer_init): Likewise.
29564
295652010-02-06 Colin D Bennet <colin@gibibit.com>
295662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29567
29568 Support for gfxterm in a window.
29569
29570 * include/grub/gfxterm.h: New file.
29571 * include/grub/video.h (struct grub_video_rect): New declaration.
29572 (grub_video_rect_t): Likewise.
29573 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29574 (refcount): New variable.
29575 (render_target): Likewise.
29576 (window): Likewise.
29577 (repaint_callback): Likewise.
29578 (grub_virtual_screen_setup): Use 'render_target'.
29579 (init_window): New function.
29580 (grub_gfxterm_init_window): Likewise.
29581 (grub_gfxterm_init): Check reference counter.
29582 Use init_window.
29583 (destroy_window): New function.
29584 (grub_gfxterm_destroy_window): Likewise.
29585 (grub_gfxterm_fini): Check reference counter.
29586 Use destroy_window.
29587 (redraw_screen_rect): Restore viewport.
29588 Use 'render_target' and 'window'.
29589 Call 'repaint_callback'.
29590 (write_char): Use 'render_target'.
29591 (draw_cursor): Likewise.
29592 (scroll_up): Restore viewport.
29593 Use 'render_target' and 'window'.
29594 Call 'repaint_callback'.
29595 (grub_gfxterm_cls): Likewise.
29596 (grub_gfxterm_refresh): Use 'window'.
29597 (grub_gfxterm_set_repaint_callback): New function.
29598 (grub_gfxterm_background_image_cmd): Use 'window'.
29599 (grub_gfxterm_get_term): New function.
29600 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29601
296022010-02-06 Colin D Bennett <colin@gibibit.com>
29603
29604 Bitmap scaling support.
29605
29606 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29607 (bitmap_scale_mod_SOURCES): New variable.
29608 (bitmap_scale_mod_CFLAGS): Likewise.
29609 (bitmap_scale_mod_LDFLAGS): Likewise.
29610 * include/grub/bitmap_scale.h: New file.
29611 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29612 (background_image_cmd_options): New variable.
29613 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29614 (cmd): Rename and change type to ...
29615 (background_image_cmd_handle): ... this. All users updated.
29616 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29617 * video/bitmap_scale.c: New file.
29618
296192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29620
29621 SDL support.
29622
29623 * Makefile.in (LIBSDL): New variable.
29624 (enable_grub_emu_sdl): Likewise.
29625 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29626 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29627 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29628 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29629 * util/sdl.c: New file.
29630
296312010-02-06 Colin D Bennett <colin@gibibit.com>
296322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29633
29634 Double buffering support.
29635
29636 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29637 * include/grub/video.h: Update comment.
29638 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29639 New type.
29640 (grub_video_fb_doublebuf_blit_init): New prototype.
29641 * term/gfxterm.c (scroll_up): Support double buffering.
29642 (grub_gfxterm_refresh): Likewise.
29643 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29644 (grub_video_fb_doublebuf_blit_init): Likewise.
29645 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29646 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29647 'displayed_page', 'render_page' and 'update_screen'.
29648 (grub_video_vbe_fini): Free offscreen buffer.
29649 (doublebuf_pageflipping_commit): New function.
29650 (doublebuf_pageflipping_update_screen): Likewise.
29651 (doublebuf_pageflipping_init): Likewise.
29652 (double_buffering_init): Likewise.
29653 (grub_video_vbe_setup): Enable doublebuffering.
29654 (grub_video_vbe_swap_buffers): Implement.
29655 (grub_video_vbe_set_active_render_target): Handle double buffering.
29656 (grub_video_vbe_get_active_render_target): Likewise.
29657 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29658 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29659 (grub_video_vbe_enable_double_buffering): Likewise.
29660 (grub_video_vbe_swap_buffers): Use update_screen.
29661 (grub_video_set_mode): Use double buffering.
29662
296632010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29664
29665 * maintainance/gentrigtables.py: Remove.
29666 * lib/trig.c: Likewise.
29667
29668 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29669
29670 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29671 `trigtables.c'.
29672 (trigtables.c): New rule.
29673 (gentrigtables): Likewise.
29674 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29675
296762010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29677
29678 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29679 integer constants.
29680
296812010-02-06 Colin D Bennet <colin@gibibit.com>
29682
29683 Trigonometry support.
29684
29685 * include/grub/trig.h: New file.
29686 * lib/trig.c: Likewise.
29687 * maintainance/gentrigtables.py: Likewise.
29688 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29689 (trig_mod_SOURCES): New variable.
29690 (trig_mod_CFLAGS): Likewise.
29691 (trig_mod_LDFLAGS): Likewise.
29692
5562834e
VS
296932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29694
29695 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29696 disk devices.
29697
4f8528fc
VS
296982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29699
29700 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29701 error.
29702
2b4068e9
VS
297032010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29704
29705 * util/hostdisk.c (open_device): Don't use partition device when reading
29706 before the partition.
29707 (grub_util_biosdisk_read): Don't read from partition and before the
29708 partition in single operation.
29709 (grub_util_biosdisk_write): Don't write to partition and before the
29710 partition in single operation.
29711
399f6e4d
TL
297122010-02-03 Torsten Landschoff <torsten@debian.org>
29713
29714 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29715 last sectors.
29716
996649b0
VS
297172010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29718
29719 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
29720 CDROM reads.
29721 (grub_biosdisk_write): Refuse to write to CDROM.
29722
3b205d4d
VS
297232010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29724
29725 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
29726
61e89d9d
VS
297272010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
29728
29729 * font/font.c (find_glyph): Check that bmp_idx is available before
29730 using it.
29731 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
29732 with (font == NULL).
29733
bf7fcba2
CS
297342010-01-28 Christian Schmitt <chris@ilovelinux.de>
29735
29736 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
29737
f45d2663
BC
297382010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
29739
29740 * include/grub/script_sh.h (sourcecode): Add const qualifier.
29741 * util/grub-script-check.c (getline): Fix empty lines case.
29742
ec1444e6
RM
297432010-01-28 Robert Millan <rmh.grub@aybabtu.com>
29744
29745 * Makefile.in (check): Exit with fail status when one of the tests
29746 fails.
29747 * tests/example_functional_test.c (example_test): Fix reversed assert.
29748 * tests/example_unit_test.c (example_test): Likewise.
29749
2e1cb9bb
CW
297502010-01-28 Colin Watson <cjwatson@ubuntu.com>
29751
29752 * util/grub.d/10_linux.in: This script does not use any of the
29753 contents of gettext.sh, only the external command `gettext', so stop
29754 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
29755 the same prefix as GRUB.)
29756 * util/grub.d/10_kfreebsd.in: Likewise.
29757
63533ab0
VS
297582010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29759
29760 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
29761 of the line.
29762
989e1f93
VS
297632010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29764
29765 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29766 last sectors.
29767
e709ebe2
VS
297682010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
29769
29770 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
29771 having a 4KiB and not 32KiB buffer size.
29772
27dea7ed
RM
297732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29774
29775 * util/hostfs.c: Include `<errno.h>'.
29776 (grub_hostfs_read): Handle errors from fseeko() and fread().
29777
67667b9c
RM
297782010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29779
29780 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
29781 loop when using read hooks on files whose size isn't sector-aligned.
29782
c294d9d8
RM
297832010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29784
29785 Remove unused parameter.
29786
29787 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
29788 (grub_iso9660_open): Remove initialization of `data->length'.
29789
af75a9f1
RM
297902010-01-27 Robert Millan <rmh.grub@aybabtu.com>
29791
29792 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
29793 memleak conditions.
29794
254e2ce5 297952010-01-27 Carles Pina i Estany <carles@pina.cat>
29796
29797 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
29798 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
29799
b510928c 298002010-01-26 Carles Pina i Estany <carles@pina.cat>
29801
29802 * util/bin2h.c (usage): Fix warning (space after backslash).
29803
aa2f9dd2 298042010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 29805
29806 * font/font.c: Include `grub/fontformat.h.
29807 Remove font file format constants.
29808 (grub_font_load): Use the new macros.
29809 * include/grub/fontformat.h: New file.
29810 * util/grub-mkfont.c: Include `grub/fontformat.c'.
29811 (write_font_pf2): Use the new macros.
29812
94e7e712
RM
298132010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29814
29815 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
29816 does.
29817
3973a59a
RM
298182010-01-26 Robert Millan <rmh.grub@aybabtu.com>
29819
29820 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
29821
29822 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
29823 (_start): Macroify `0x7F'.
29824
29825 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
29826 (make_install_device): Use "(pxe)" as fallback prefix when booting
29827 via PXE.
29828
42e0cba3
GS
298292010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
29830
29831 * configure.ac: Reset LIBS after check for libgcc symbols.
29832
847effd8
CW
298332010-01-25 Colin Watson <cjwatson@ubuntu.com>
29834
29835 * util/hostdisk.c (open_device): Add trailing newline to debug
29836 message.
29837
ea4a7e35
GS
298382010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29839
29840 * configure.ac: Check for `limits.h'.
29841 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29842
67951a53
RM
298432010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29844
29845 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29846 capitalize error strings.
29847
c273d4ce
ST
298482010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29849
29850 * util/grub.d/10_hurd.in: Add a recovery mode.
29851
69be5b74
VS
298522010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29853
29854 * configure.ac: Check for libgcc symbols with -nostdlib.
29855
fc9e5810
BC
298562010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29857
29858 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29859
4b358c0a
VS
298602010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29861
29862 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29863 stack since heap may be unavailable at that point.
29864 (grub_ofconsole_gotoxy): Likewise.
29865
454fcd1c
VS
298662010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29867
29868 * configure.ac: Check for _restgpr_14_x.
29869 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29870 and _savegpr_* prototypes.
29871
566863ca
RM
298722010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29873
29874 Use generic grub_reboot() for i386-efi.
29875
29876 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29877 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29878 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29879
bf86e59a
VS
298802010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29881
29882 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29883 presence of "prefix" variable as it breaks when normal.mod is
29884 embedded.
29885
d645e0f8
VS
298862010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29887
29888 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29889 stack since heap is unavailable at that point.
29890
f9ab2e25
VS
298912010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29892
29893 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29894 (grub_freebsd_bootinfo): Rewritten.
29895 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29896
01fc7054
VS
298972010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29898
29899 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29900
caab4fd6
RM
299012010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29902
29903 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29904 domain now.
29905
67eb1427
FZ
299062010-01-20 Felix Zielcke <fzielcke@z-51.de>
29907
29908 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29909 around for handling "/" to the correct fix. Fix a memory leak. Use
29910 xstrdup instead of strdup.
29911
a9ed4ff3
VS
299122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29913
29914 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29915
299162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29917
29918 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29919
29920 * font/font.c (struct grub_font): New member 'bmp_idx'.
29921 (font_init): Initialise 'bmp_idx'.
29922 (load_font_index): Fill 'bmp_idx'.
29923 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29924
48209f4f
VS
299252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29926
29927 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29928 unnecessary calls.
29929
9f0a4bb7
VS
299302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29931
29932 Move context handling out of the kernel.
29933
29934 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29935 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29936 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29937 * conf/i386-efi.rmk: Likewise.
29938 * conf/i386-ieee1275.rmk: Likewise.
29939 * conf/i386-pc.rmk: Likewise.
29940 * conf/powerpc-ieee1275.rmk: Likewise.
29941 * conf/sparc64-ieee1275.rmk: Likewise.
29942 * conf/x86_64-efi.rmk: Likewise.
29943 * include/grub/env.h: Include grub/menu.h.
29944 (grub_env_var_type): Removed.
29945 (grub_env_var): Replaced field 'type' with 'global'.
29946 (grub_env_find): New prototype.
29947 (grub_env_context_open): Remove EXPORT_FUNC.
29948 (grub_env_context_close): Likewise.
29949 (grub_env_export): Likewise.
29950 (grub_env_set_data_slot): Removed.
29951 (grub_env_get_data_slot): Likewise.
29952 (grub_env_unset_data_slot): Likewise.
29953 (grub_env_unset_menu): New prototype.
29954 (grub_env_set_menu): Likewise.
29955 (grub_env_get_menu): Likewise.
29956 * include/grub/env_private.h: New file.
29957 * include/grub/normal.h (grub_context_init): New prototype.
29958 (grub_context_fini): Likewise.
29959 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29960 * normal/context.c (grub_cmd_export): ... to here.
29961 * kern/env.c: Include env_private.h.
29962 (HASHSZ): Moved to include/grub/env_private.h.
29963 (grub_env_context): Likewise.
29964 (grub_env_sorted_var): Likewise.
29965 (current_context): Renamed from this ...
29966 (grub_current_context): ...to this. 'static' removed. All users updated.
29967 (grub_env_find): Removed 'static'.
29968 (grub_env_context_open): Moved to normal/context.c.
29969 (grub_env_context_close): Likewise.
29970 (grub_env_export): Likewise.
29971 (mangle_data_slot_name): Removed.
29972 (grub_env_set_data_slot): Likewise.
29973 (grub_env_get_data_slot): Likewise.
29974 (grub_env_unset_data_slot): Likewise.
29975 * kern/main.c (grub_set_root_dev): Don't export root.
29976 It will be done later.
29977 (grub_main): Don't export prefix.
29978 It will be done later.
29979 * normal/context.c: New file.
29980 * normal/main.c (free_menu): Use grub_env_unset_menu.
29981 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29982 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29983 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29984 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29985
8dd35b8c
VS
299862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29987
29988 setpci support.
29989
29990 * commands/setpci.c: New file.
29991 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29992 (setpci_mod_SOURCES): New variable.
29993 (setpci_mod_CFLAGS): Likewise.
29994 (setpci_mod_LDFLAGS): Likewise.
29995
449193d5
VS
299962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29997
29998 Byte-addressable PCI configuration space.
29999
30000 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30001 dword address.
30002 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30003 GRUB_PCI_REG_CACHELINE.
30004 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30005 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30006 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30007 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30008 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30009 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30010 grub_pci_make_address.
30011 (lock_rom_area): Likewise.
30012 * commands/lspci.c (grub_lspci_iter): Use macroses
30013 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30014 of grub_pci_make_address.
30015 * disk/ata.c (grub_ata_pciinit): Likewise.
30016 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30017 (GRUB_PCI_REG_VENDOR): Likewise.
30018 (GRUB_PCI_REG_DEVICE): Likewise.
30019 (GRUB_PCI_REG_COMMAND): Likewise.
30020 (GRUB_PCI_REG_STATUS): Likewise.
30021 (GRUB_PCI_REG_REVISION): Likewise.
30022 (GRUB_PCI_REG_CLASS): Likewise.
30023 (GRUB_PCI_REG_CACHELINE): Likewise.
30024 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30025 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30026 (GRUB_PCI_REG_BIST): Likewise.
30027 (GRUB_PCI_REG_ADDRESSES): Likewise.
30028 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30029 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30030 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30031 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30032 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30033 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30034 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30035 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30036 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30037 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30038 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30039 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30040 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30041 (GRUB_PCI_REG_MIN_GNT): Likewise.
30042 (GRUB_PCI_REG_MAX_LAT): Likewise.
30043 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30044 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30045 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 30046 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
30047 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30048 space.
30049
96d73208
RM
300502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30051
30052 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30053 can be reliably determined to be supported.
30054
d4484482
RM
300552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30056
30057 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30058 that VESA is supported.
30059 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30060 supported.
30061
00308ecf
VS
300622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30063
30064 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30065
f66924a4
RM
300662010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30067
30068 * util/misc.c (make_system_path_relative_to_its_root): Work around
30069 special-casing of "/", as previous incarnation of this routine did.
30070
cbca0ada
VS
300712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30072
30073 Fix any-emu compilation.
30074
30075 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30076 * grub_bin2h_SOURCES: New variable.
30077
34a66d99
RM
300782010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30079
30080 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
30081
94fabf58
RM
300822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30083
30084 * util/grub.d/00_header.in: Fix handling of locale_dir.
30085
02cf98ca
VS
300862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30087
30088 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30089 as possible unifont location (Gentoo).
30090 Reported by: Alexander Brüning
30091
327dbcd7
VS
300922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30093
30094 Don't try to generate lists for kernel.img.
30095
30096 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30097 (pkglib_MODULES): Remove kernel.img.
30098 (kernel_img_EXPORTS): Removed.
30099 (kernel_img_RELOCATABLE): New variable.
30100 * conf/x86_64-efi.rmk: Likewise.
30101 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30102
ca467290
VS
301032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30104
30105 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30106 grub_xasprintf or grub_snprintf.
30107 (grub_vsprintf): Likewise.
30108 (grub_snprintf): New proto.
30109 (grub_vsnprintf): Likewise.
30110 (grub_xasprintf): Likewise.
30111 (grub_xvasprintf): Likewise.
30112 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
30113 (grub_sprintf): Removed.
30114 (grub_vsnprintf): New function.
30115 (grub_snprintf): Likewise.
30116 (grub_xvasprintf): Likewise.
30117 (grub_xasprintf): Likewise.
30118 (grub_vsprintf): Renamed to ...
30119 (grub_vsnprintf_real): ...this. New argument max_len.
30120
aca655fd
BC
301212010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
30122
30123 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
30124 fix grub-script-check warning.
30125
7ee92c32
VS
301262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30127
30128 * include/grub/font.h (grub_font_load): Fix prototype.
30129
f80927ca
VS
301302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30131
30132 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
30133
119c50ea
VS
301342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30135
30136 * include/grub/x86_64/at_keyboard.h: New file.
30137
47d5f3c1
VS
301382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30139
30140 * loader/mips/linux.c: Include missing grub/i18n.h.
30141
55ff5266
RM
301422009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30143
30144 * normal/menu.c (notify_execution_failure): Clarify error message.
30145
c893cc87
RM
301462009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30147
30148 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
30149 return value (and revert all return statements). Update users.
30150
917dd370
CW
301512010-01-20 Dan Merillat <debian@dan.merillat.org>
30152
30153 * kern/device.c (grub_device_iterate): Allocate new part_ent
30154 structure based on sizeof (*p) rather than sizeof (p->next), to
30155 account for structure padding.
30156
30157 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
30158 disk is NULL, which might happen for LVM physical volumes with no
30159 LVM signature.
30160
d4a4ee57
RM
301612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30162
30163 * loader/mips/linux.c (grub_cmd_initrd)
30164 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
30165
301662009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30167
30168 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
30169 (grub_video_video_init, grub_video_bitmap_init)
30170 (grub_font_manager_init, grub_term_gfxterm_init)
30171 (grub_at_keyboard_init): New extern declarations.
30172 (grub_machine_init): Initialize gfxterm and at_keyboard.
30173
30174 * kern/main.c (grub_main): Revert grub_printf delay kludge.
30175
30176 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
30177 `gfxterm.mod' into core image.
30178
30179 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30180 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30181 (kernel_img_FORMAT): Copy to ...
30182
30183 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30184 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30185 (kernel_img_FORMAT): ... here, and ...
30186
30187 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30188 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30189 (kernel_img_FORMAT): ... here.
30190
30191 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
30192 and input (at_keyboard) terminals in kernel.
30193 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
30194
30195 (pkglib_MODULES): Remove `pci.mod'.
30196 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
30197 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
30198 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30199 (at_keyboard_mod_LDFLAGS): Remove variables.
30200
302012010-01-11 Felix Zielcke <fzielcke@z-51.de>
30202
30203 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30204
302052009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30206
30207 * include/grub/mips/libgcc.h: Only export symbols for functions
30208 that libgcc provides.
30209
302102009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30211
30212 MIPS support.
30213
30214 * bus/bonito.c: New file.
30215 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30216 GRUB_PCI_NUM_DEVICES.
30217 * term/i386/pc/serial.c: Move to ...
30218 * term/serial.c: ... here. All users updated.
30219 * util/i386/pc/grub-mkimage.c: Move to ...
30220 * util/grub-mkrawimage.c: ... here. All users updated.
30221 * term/i386/pc/at_keyboard.c: Move to ...
30222 * term/at_keyboard.c: ... here. All users updated.
30223 * conf/mips-qemu-mips.rmk: New file.
30224 * conf/mips-yeeloong.rmk: Likewise.
30225 * conf/mips.rmk: Likewise.
30226 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30227 mipsel-qemu-mips.
30228 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30229 to port addresses.
30230 (grub_ata_pciinit): Support CS5536.
30231 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30232 * font/font_cmd.c (loadfont_command): Open file before passing it to
30233 grub_font_load.
30234 (pseudo_file_read): New function.
30235 (pseudo_file_close): Likewise.
30236 (pseudo_fs): New structure.
30237 (load_font_module): New function.
30238 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30239 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30240 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30241 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30242 * include/grub/i386/at_keyboard.h: Split into ...
30243 * include/grub/at_keyboard.h: ... this ...
30244 * include/grub/i386/at_keyboard.h: ... and this.
30245 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30246 New prototype.
30247 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30248 updated.
30249 (grub_elf64_size): Likewise.
30250 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30251 filename.
30252 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30253 * include/grub/i386/coreboot/serial.h: Rewritten.
30254 * include/grub/i386/ieee1275/serial.h: Include
30255 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30256 * include/grub/i386/pc/serial.h: Moved from here ...
30257 * include/grub/serial.h: ... to here. All users updated.
30258 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30259 (GRUB_PCI_NUM_BUS): Likewise.
30260 (GRUB_PCI_NUM_DEVICES): Likewise.
30261 (grub_pci_device_map_range): Add missing volatile keyword.
30262 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30263 * include/grub/mips/at_keyboard.h: New file.
30264 * include/grub/mips/cache.h: Likewise.
30265 * include/grub/mips/io.h: Likewise.
30266 * include/grub/mips/kernel.h: Likewise.
30267 * include/grub/mips/libgcc.h: Likewise.
30268 * include/grub/mips/pci.h: Likewise.
30269 * include/grub/mips/qemu-mips/boot.h: Likewise.
30270 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30271 * include/grub/mips/qemu-mips/loader.h: Likewise.
30272 * include/grub/mips/qemu-mips/memory.h: Likewise.
30273 * include/grub/mips/qemu-mips/serial.h: Likewise.
30274 * include/grub/mips/qemu-mips/time.h: Likewise.
30275 * include/grub/mips/relocator.h: Likewise.
30276 * include/grub/mips/time.h: Likewise.
30277 * include/grub/mips/types.h: Likewise.
30278 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30279 * include/grub/mips/yeeloong/boot.h: Likewise.
30280 * include/grub/mips/yeeloong/kernel.h: Likewise.
30281 * include/grub/mips/yeeloong/loader.h: Likewise.
30282 * include/grub/mips/yeeloong/memory.h: Likewise.
30283 * include/grub/mips/yeeloong/pci.h: Likewise.
30284 * include/grub/mips/yeeloong/serial.h: Likewise.
30285 * include/grub/mips/yeeloong/time.h: Likewise.
30286 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30287 * kern/elf.c (grub_elf32_size): New parameter. All users
30288 updated.
30289 (grub_elf64_size): Likewise.
30290 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30291 Load modules before saying "Welcome to GRUB!".
30292 Call grub_refresh after saying "Welcome to GRUB!".
30293 * kern/mips/cache.S: New file.
30294 * kern/mips/cache_flush.S: Likewise.
30295 * kern/mips/dl.c: Likewise.
30296 * kern/mips/init.c: Likewise.
30297 * kern/mips/qemu-mips/init.c: Likewise.
30298 * kern/mips/startup.S: Likewise.
30299 * kern/mips/yeeloong/init.c: Likewise.
30300 * kern/term.c (grub_putcode): Handle NULL terminal.
30301 (grub_getcharwidth): Likewise.
30302 (grub_getkey): Likewise.
30303 (grub_checkkey): Likewise.
30304 (grub_getkeystatus): Likewise.
30305 (grub_getxy): Likewise.
30306 (grub_getwh): Likewise.
30307 (grub_gotoxy): Likewise.
30308 (grub_cls): Likewise.
30309 (grub_setcolorstate): Likewise.
30310 (grub_setcolor): Likewise.
30311 (grub_getcolor): Likewise.
30312 (grub_refresh): Likewise.
30313 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30314 (write_jump): Add hatch nop.
30315 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30316 * lib/mips/setjmp.S: New file.
30317 * loader/mips/linux.c: Likewise.
30318 * term/i386/pc/at_keyboard.c: Move from here ...
30319 * term/at_keyboard.c: ... to here.
30320 * term/i386/pc/serial.c: Moved from here ...
30321 * term/serial.c: ... to here. All users updated.
30322 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30323 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30324 (serial_translate_key_sequence): Avoid deadlock.
30325 (grub_serial_getkey): Handle backspace.
30326 (grub_serial_putchar): Fix newline handling.
30327 * util/i386/pc/grub-mkimage.c: Move from here ...
30328 * util/grub-mkrawimage.c: ... to here. All users updated.
30329 (generate_image): New parameters 'font_path' and 'format'.
30330 Support embedding font.
30331 Use grub_host_to_target* instead of grub_cpu_to_le*.
30332 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30333 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30334 (options): New option "--font".
30335 (usage): Likewise.
30336 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30337 (main): Handle "--font".
30338 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30339 (grub_virtual_screen_setup): Set bg_color_display.
30340 (redraw_screen_rect): Use bg_color_display instead of incorrect
30341 bg_color.
30342 (grub_gfxterm_cls): Likewise.
30343 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30344 Support embedding config file.
30345 (add_segments): Likewise.
30346 (options): New option "--config".
30347 (main): Handle "--config".
30348 * video/sm712.c: New file.
30349
25c2b5b3
RM
303502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30351
30352 Fix parallel builds.
30353
30354 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30355 font.c depend on ascii.h).
30356
303572010-01-12 Carles Pina i Estany <carles@pina.cat>
30358
30359 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30360
303612010-01-11 Carles Pina i Estany <carles@pina.cat>
30362
30363 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30364 By default: disabled.
30365 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30366 parameter.
30367
303682010-01-10 Carles Pina i Estany <carles@pina.cat>
30369
30370 * font/font.c: Update copyright years.
30371 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30372
303732010-01-10 Carles Pina i Estany <carles@pina.cat>
30374
30375 * font/font.c: Include `ascii.h'.
30376 (ASCII_BITMAP_SIZE): New macro.
30377 (ascii_font_glyph): Define.
30378 (ascii_glyph_lookup): New function.
30379 (grub_font_get_string_width): Change comment. If glyph not found, use
30380 ascii_glyph_lookup.
30381 (grub_font_get_glyph_with_fallback): If glyph not available returns
30382 ascii_glyph_lookup.
30383 * util/grub-mkfont.c (file_formats): New enum.
30384 (options): Add `ascii-bitmaps' new option.
30385 (usage): Add `asii-bitmaps' new option.
30386 (write_font_ascii_bitmap): New function.
30387 (write_font): Rename to ...
30388 (write_font_p2): ... this. Remove print_glyphs call.
30389 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30390 used. Call print_glyphs.
30391 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30392
303932010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30394
30395 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30396 (grub_bin2h_SOURCES): New variable.
30397 * util/bin2h.c: New file.
30398
915fc1b8
VS
303992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30400
30401 * include/multiboot.h: Resynced with spec.
30402 * include/multiboot2.h: Likewise.
30403 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30404 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30405
9444b678
RM
304062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30407
30408 * include/grub/term.h (grub_term_register_input,
30409 grub_term_register_output): Check return of terminal init()
30410 routines, and abort if errors are raised.
30411
30412 * commands/terminal.c: Update copyright year.
30413
cba98e8d
RM
304142010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30415
30416 * commands/terminal.c (grub_cmd_terminal_input)
30417 (grub_cmd_terminal_output): Check return of terminal init()
30418 routines, and abort if errors are raised.
30419
6f7db5d6
VS
304202010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30421
30422 * include/grub/i386/bsd.h: Fix include pathes.
30423
262bff8d
VS
304242010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30425
30426 Add missing *BSD copyright headers.
30427
30428 * include/grub/aout.h: Add BSD licence.
30429 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30430 * include/grub/i386/freebsd_linker.h: ... here,
30431 * include/grub/i386/freebsd_reboot.h: ... here,
30432 * include/grub/i386/netbsd_bootinfo.h: ... here,
30433 * include/grub/i386/netbsd_reboot.h: ... here,
30434 * include/grub/i386/openbsd_bootarg.h: ... here,
30435 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30436 licence to each file.
30437
b2cab848
RM
304382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30439
30440 * acinclude.m4: Remove `nop' assembly instruction; it's not
30441 implemented by all architectures.
30442
2cb6be4b
RM
304432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30444
30445 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30446 ELILO. This is no longer necessary.
30447
a2eaee15
BC
304482010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30449
30450 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30451
30452 * util/grub-script-check.c: grub-script-check tool.
30453 * conf/common.rmk: Make rules for grub-script-check.
30454
88d17012
RM
304552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30456
30457 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30458 spotting it back in 2008. Shame on me for forgetting he did.
30459
30460 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30461
8040619d
RM
304622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30463
30464 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30465 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30466 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30467 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30468 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30469 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30470
a0c2a0f6
RM
304712010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30472
30473 * include/grub/test.h: Add license header.
30474 * tests/example_functional_test.c: Likewise.
30475 * tests/example_unit_test.c: Likewise.
30476 * tests/lib/functional_test.c: Likewise.
30477 * tests/lib/test.c: Likewise.
30478 * tests/lib/unit_test.c: Likewise.
30479
b0b13907
VS
304802010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30481
30482 Use flag-based instead of hook-based video mode selection and "auto"
30483 keyword.
30484
30485 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30486 (grub_video_set_mode): Changed prototype. All users updated.
30487 (grub_video_check_mode_flag): New inline function.
30488 * video/video.c (parse_modespec): New function.
30489 (grub_video_set_mode): Parse flags and keywords.
30490
ea379330 304912010-01-17 Carles Pina i Estany <carles@pina.cat>
30492
30493 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30494 fprintf call.
30495
e15c215e
FZ
304962010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30497
30498 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30499
409ae1c9 305002010-01-16 Carles Pina i Estany <carles@pina.cat>
30501
30502 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30503 string.
30504 * util/grub-emu.c (usage): Likewise.
30505 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30506 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30507 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30508 * util/i386/pc/grub-setup.c (usage): Likewise.
30509
70a14d3d 305102010-01-16 Carles Pina i Estany <carles@pina.cat>
30511
30512 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30513 the message.
30514 (grub_util_info): Likewise.
30515 (grub_util_error): Likewise.
30516 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30517 and/or new lines in `grub_util_warna', `grub_util_info',
30518 `grub_util_error' calls.
30519 * util/getroot.c: Likewise.
30520 * util/grub-editenv.c: Likewise.
30521 * util/grub-emu.c: Likewise.
30522 * util/grub-fstest.c: Likewise.
30523 * util/grub-mkdevicemap.c: Likewise.
30524 * util/grub-mkfont.c: Likewise.
30525 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30526 * util/grub-mkrelpath.c: Likewise.
30527 * util/grub-pe2elf.c: Likewise.
30528 * util/grub-probe.c: Likewise.
30529 * util/hostdisk.c: Likewise.
30530 * util/i386/efi/grub-mkimage.c: Likewise.
30531 * util/i386/pc/grub-mkimage.c: Likewise.
30532 * util/i386/pc/grub-setup.c: Likewise.
30533 * util/ieee1275/ofpath.c: Likewise.
30534 * util/mkisofs/eltorito.c: Likewise.
30535 * util/mkisofs/rock.c: Likewise.
30536 * util/mkisofs/write.c: Likewise.
30537 * util/raid.c: Likewise.
30538 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30539 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30540
a0b766fc
VS
305412010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30542
30543 Enable multiboot on non-pc.
30544
30545 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30546 multiboot.mod and multiboot2.mod to ...
30547 * conf/i386.rmk (pkglib_MODULES): ... here.
30548 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30549 Moved to ...
30550 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30551 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30552 Moved to ...
30553 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30554 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30555 Moved to ...
30556 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30557 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30558 Moved to ...
30559 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30560 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30561 relocator.mod.
30562 (ata_mod_SOURCES): Removed.
30563 (ata_mod_CFLAGS): Likewise.
30564 (ata_mod_LDFLAGS): Likewise.
30565 (relocator_mod_SOURCES): Removed.
30566 (relocator_mod_CFLAGS): Likewise.
30567 (relocator_mod_ASFLAGS): Likewise.
30568 (relocator_mod_LDFLAGS): Likewise.
30569 Include i386.mk.
30570 * include/grub/x86_64/multiboot.h: New file.
30571 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30572 Terminate EFI.
30573
884ade56
VS
305742010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30575
30576 Video multiboot support.
30577
30578 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30579 New prototype.
30580 * include/multiboot.h: Resynced with multiboot specification.
30581 * include/multiboot2.h: Likewise.
30582 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30583 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30584 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30585 (HAS_VGA_TEXT): Likewise.
30586 (accepts_video): New variable.
30587 (grub_multiboot_set_accepts_video): New function.
30588 (grub_multiboot_get_mbi_size): Account for video structures.
30589 (set_video_mode): New function.
30590 (retrieve_video_parameters): Likewise.
30591 (grub_multiboot_make_mbi): Fill video fields.
30592
0d90e8a6
VS
305932010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30594
30595 Video driver ids.
30596
30597 * include/grub/video.h (grub_video_driver_id): New type.
30598 (grub_video_adapter): New member 'id'. All users updated.
30599 (grub_video_get_driver_id): New proto.
30600 * video/video.c (grub_video_get_driver_id): New function.
30601
5c71db1b 306022010-01-14 Carles Pina i Estany <carles@pina.cat>
30603
30604 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30605 `var=val'.
30606
cca15b52 306072010-01-14 Carles Pina i Estany <carles@pina.cat>
30608
30609 * normal/cmdline.c (print_completion): Gettextizze.
30610
c586fbb2 306112001-01-14 Carles Pina i Estany <carles@pina.cat>
30612
30613 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30614
ba2f6848 306152010-01-14 Carles Pina i Estany <carles@pina.cat>
30616
30617 * gettext/gettext.c (grub_gettext_translate): Push and pop
30618 grub_errno.
30619 (grub_gettext_delete_list): Change comment style.
30620 * kern/err.c (grub_error): Gettextizze.
30621 (grub_fatal): Gettextizze.
30622
0a46429a
RM
306232010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30624
30625 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30626 (grub_linux16_real_boot): ... this.
30627 * kern/i386/loader.S: Likewise.
30628 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30629 (grub_linux16_boot): New function. Switches to text mode and calls
30630 grub_linux16_real_boot().
30631
30632 * loader/i386/bsd.c: Include `<grub/video.h>'.
30633 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30634 text mode before calling grub_unix_real_boot().
30635
30636 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30637 (grub_multiboot_boot): Switch to text mode before calling
30638 grub_relocator32_boot().
30639
30640 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30641 (grub_chainloader_boot): Switch to text mode before calling
30642 grub_chainloader_real_boot().
30643
d6f93a66
RM
306442010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
306452010-01-05 Colin Watson <cjwatson@ubuntu.com>
30646
30647 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30648 non-empty value.
30649
306502010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
306512010-01-05 Colin Watson <cjwatson@ubuntu.com>
30652
30653 * util/grub.d/00_header.in: Define a "savedefault" function for use
30654 in menu entries.
30655 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30656
306572010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
306582010-01-05 Colin Watson <cjwatson@ubuntu.com>
30659
30660 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30661 saved_entry if boot_once is unset.
30662 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30663 previous saved entry (i.e. grub-reboot).
30664
306652009-12-08 Colin Watson <cjwatson@ubuntu.com>
30666
30667 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30668
306692009-12-08 Colin Watson <cjwatson@ubuntu.com>
30670
30671 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30672 `var=val'.
30673 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30674
306752009-12-08 Colin Watson <cjwatson@ubuntu.com>
30676
30677 * util/grub-reboot.in: Fix --version output.
30678 * util/grub-set-default.in: Likewise.
30679
306802009-12-08 Colin Watson <cjwatson@ubuntu.com>
30681
30682 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30683 blocks.
30684
306852009-12-08 Colin Watson <cjwatson@ubuntu.com>
30686
30687 * util/grub.d/00_header.in: Quote the value assigned to `default',
30688 in case it contains spaces.
30689
306902009-12-08 Colin Watson <cjwatson@ubuntu.com>
30691
30692 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30693 `save_default_entry' call from the macosx case to the linux case.
30694
306952009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
306962009-10-25 Colin Watson <cjwatson@ubuntu.com>
30697
30698 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30699 in `chosen' environment variable.
30700 * normal/menu_text.c (get_entry_number): Check if the variable
30701 matches the title of a menu entry.
30702 (run_menu): Pass menu to get_entry_number.
30703
30704 * util/grub-reboot.in: New file.
30705 * util/grub-set-default.in: New file.
30706 * conf/common.rmk (grub-reboot): New utility.
30707 (grub-set-default): New utility.
30708
30709 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30710 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30711 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30712 move it to `saved_entry' for the next boot. Load environment on
30713 initialisation.
30714 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30715 * util/grub.d/10_hurd.in: Likewise.
30716 * util/grub.d/10_linux.in (linux_entry): Likewise.
30717 * util/grub.d/10_windows.in: Likewise.
30718 * util/grub.d/30_os-prober.in: Likewise.
30719
30720 * util/grub-install.in: Create environment block.
30721 * util/i386/efi/grub-install.in: Likewise.
30722 * util/ieee1275/grub-install.in: Likewise.
30723 * util/sparc64/ieee1275/grub-install.in: Likewise.
30724
0934d184
BC
307252010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
30726
30727 Unit testing framework for GRUB.
30728
30729 * Makefile.in: Test framework build rules for 'make check'.
30730 * conf/tests.rmk: Build rules for individual tests and framework.
30731
30732 * include/grub/test.h: Header file for whitebox tests.
30733 * tests/lib/functional_test.c: Framework support for whitebox
30734 functional tests.
30735 * tests/lib/test.c: Common whitebox testing code for unit and
30736 functional tests.
30737 * tests/lib/unit_test.c: Framework support for whitebox unit
30738 tests.
30739
30740 * tests/util/grub-shell-tester.in: Support utility for grub-script
30741 tests.
30742 * tests/util/grub-shell.in: Utility to execute grub-script
30743 commands in a Qemu instance.
30744
30745 * tests/example_functional_test.c: Example whitebox functional
30746 test.
30747 * tests/example_grub_script_test.in: Example grub-script test.
30748 * tests/example_scripted_test.in: Example scripted test.
30749 * tests/example_unit_test.c: Example whitebox unit test.
30750
9c4ffeeb
VS
307512010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
30752
30753 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
30754 Add loader/i386/multiboot_mbi.c.
30755 (multiboot2_mod_SOURCES): Likewise.
30756 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
30757 (multiboot2_mod_SOURCES): Likewise.
30758 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
30759 (grub_multiboot_make_mbi): Likewise.
30760 (grub_multiboot_free_mbi): Likewise.
30761 (grub_multiboot_init_mbi): Likewise.
30762 (grub_multiboot_add_module): Likewise.
30763 (grub_multiboot_set_bootdev): Likewise.
30764 * loader/i386/multiboot.c (mbi): Removed.
30765 (mbi_dest): Likewise.
30766 (alloc_mbi): New variable.
30767 (grub_multiboot_payload_size): Removed. All users updated.
30768 (grub_multiboot_pure_size): New variable.
30769 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
30770 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
30771 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
30772 (grub_fill_multiboot_mmap): Likewise.
30773 (grub_multiboot_get_bootdev): Likewise.
30774 (grub_multiboot): Use multiboot_mbi functions.
30775 * loader/i386/multiboot_mbi.c: New file.
30776
17383dfe
VS
307772010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30778
30779 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
30780 it would result in module crash.
30781
c1f28820
VS
307822010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
30783
30784 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
30785 (grub_ofconsole_getwh): Split to ...
30786 (grub_ofconsole_getwh): ... this.
30787 (grub_ofconsole_dimensions): ...and this.
30788 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
30789
58655a16
RM
307902010-01-13 Robert Millan <rmh.grub@aybabtu.com>
30791
30792 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
30793
10891398
VS
307942010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30795
30796 * loader/i386/pc/multiboot2.c: Removed stalled file.
30797
0b8a223c
VS
307982010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
30799
30800 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
30801 Reported by: Grégoire Sutre
30802
92ab12b0
RM
308032010-01-11 Robert Millan <rmh.grub@aybabtu.com>
30804
30805 * util/misc.c (canonicalize_file_name): New function.
30806 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
30807 instead of realpath().
30808
a788afb6
CW
308092010-01-11 Colin Watson <cjwatson@ubuntu.com>
30810
30811 * util/grub-install.in (usage): Clarify meaning of --root-directory,
30812 and make it clearer that it's optional. Based on confusion
30813 witnessed on IRC.
30814
ffa8e3d2
VS
308152010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30816
30817 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
30818 in premature implicit newline.
30819
e9060a9d
VS
308202010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
30821
30822 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
30823 which resulted in garbled command line at the end of screen.
30824
f0d0c0b7
RM
308252010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30826
30827 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
30828 initialization with similar approach as with other Linux loaders.
30829
0e60bae7
RM
308302010-01-10 Robert Millan <rmh.grub@aybabtu.com>
30831
30832 Fix i386-ieee1275 build.
30833
30834 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30835 and grub_term_height() for video_{width,height} initialization.
30836
308372010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30838
30839 Fix grub-emu build.
30840
30841 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30842
cdb3f378
RM
308432010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
308442010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30845
30846 Support for multiple terminals.
30847
30848 * Makefile.in (pkglib_DATA): terminal.lst.
30849 (terminal.lst): New target.
30850 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30851 (GRUB_MOD_INIT(handler)): Likewise.
30852 (GRUB_MOD_FINI(handler)): Likewise.
30853 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30854 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30855 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30856 (grub_cmd_sleep): Use grub_term_save_pos.
30857 * commands/terminal.c: New file.
30858 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30859 commands/terminal.c and lib/charset.c.
30860 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30861 (pkglib_MODULES): Add terminal.mod.
30862 (terminal_mod_SOURCES): New variable.
30863 (terminal_mod_CFLAGS): Likewise.
30864 (terminal_mod_LDFLAGS): Likewise.
30865 * genhandlerlist.sh: Don't handle terminals.
30866 * genmk.rb: Generate terminal-*.lst.
30867 * genterminallist.sh: New file.
30868 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30869 (grub_is_valid_utf8): Likewise.
30870 (grub_utf8_to_ucs4_alloc): Likewise.
30871 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30872 (grub_menu_register_viewer): Changed argument.
30873 (grub_menu_try_text): New proto.
30874 (grub_gfxmenu_try_hook): New declaration.
30875 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30876 (grub_menu_init_page): Additional argument term.
30877 (grub_normal_init_page): Likewise.
30878 (grub_cmdline_get): Arguments simplified.
30879 (grub_utf8_to_ucs4_alloc): Removed.
30880 (grub_print_ucs4): Additional argument term.
30881 (grub_getstringwidth): Likewise.
30882 (grub_print_message_indented): Likewise.
30883 (grub_menu_text_register_instances): New proto.
30884 (grub_show_menu): Likewise.
30885 (read_terminal_list): Likewise.
30886 (grub_set_more): Likewise.
30887 * include/grub/parser.h: Include handler.h.
30888 * include/grub/reader.h: Rewritten.
30889 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30890 (GRUB_TERM_WIDTH): Changed to function.
30891 (GRUB_TERM_HEIGHT): Likewise.
30892 (GRUB_TERM_BORDER_WIDTH): Likewise.
30893 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30894 (GRUB_TERM_NUM_ENTRIES): Likewise.
30895 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30896 (GRUB_TERM_CURSOR_X): Likewise.
30897 (grub_term_input_class): Likewise.
30898 (grub_term_output_class): Likewise.
30899 (grub_term_outputs_disabled): New declaration.
30900 (grub_term_inputs_disabled): Likewise.
30901 (grub_term_outputs): Likewise.
30902 (grub_term_inputs): Likewise.
30903 (grub_term_register_input): Rewritten.
30904 (grub_term_register_output): Likewise.
30905 (grub_term_unregister_input): Likewise.
30906 (grub_term_unregister_output): Likewise.
30907 (FOR_ACTIVE_TERM_INPUTS): New macro.
30908 (FOR_DISABLED_TERM_INPUTS): Likewise.
30909 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30910 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30911 * include/grub/terminfo.h: Add oterm argument to all protypes.
30912 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30913 Use grub_rescue_run.
30914 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30915 All users updated.
30916 * kern/reader.c: Removed. All users updated.
30917 * kern/rescue_reader.c (grub_rescue_init): Removed.
30918 (grub_rescue_reader): Likewise.
30919 (grub_register_rescue_reader): Likewise.
30920 (grub_rescue_run): New function based on kern/reader.c.
30921 * kern/term.c: Adapted for multiterm.
30922 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30923 (grub_is_valid_utf8): Likewise.
30924 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30925 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30926 right terminal.
30927 * loader/i386/linux.c (grub_linux_boot): Likewise.
30928 * normal/auth.c (grub_username_get): New function.
30929 (grub_auth_check_authentication): Use grub_username_get.
30930 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30931 * normal/color.c: Adapt for multiterm.
30932 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30933 (grub_normal_init_page): Additional argument term.
30934 (read_lists): Call read_terminal_lists.
30935 (grub_enter_normal_mode): Call grub_cmdline_run.
30936 Handle grub_normal_exit_level.
30937 (grub_cmd_normal): Make reentrant.
30938 (grub_cmd_normal_exit): New function.
30939 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30940 * normal/menu.c: Adapt for multiterm.
30941 * normal/menu_entry.c: Likewise.
30942 * normal/menu_text.c: Likewise.
30943 * normal/menu_viewer.c: Removed. All users updated.
30944 * normal/term.c: New file.
30945 * util/console.c: Change order of includes to workaround a bug in
30946 ncurses headers.
30947 * term/terminfo.c: New argument oterm on all exported functions.
30948 All users updated.
30949 * util/grub-editenv.c (grub_term_input_class): Removed.
30950 (grub_term_output_class): Likewise.
30951
1a064917
RM
309522010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30953
30954 Make loader output a bit more user-friendly.
30955
30956 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30957 is being loaded. Likewise for the Hurd.
30958
30959 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30960 that kernel of FreeBSD ${version} is being loaded.
30961
30962 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30963 grub_dprintf().
30964 (grub_cmd_initrd): Likewise.
30965 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30966 that Linux ${version} is being loaded. Likewise for initrd.
30967
5ce0a83a 309682010-01-09 Carles Pina i Estany <carles@pina.cat>
30969
30970 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30971
809bbfeb 309722010-01-08 Carles Pina i Estany <carles@pina.cat>
30973
30974 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30975 (GRUB_MOD_INIT): Gettextizze.
30976 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30977 (GRUB_MOD_INIT): Gettextizze.
30978 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30979 (grub_cmd_linux): Capitalise Linux.
30980 (GRUB_MOD_INIT): Gettextizze.
30981 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30982 (grub_cmd_linux): Capitalise Linux.
30983 (GRUB_MOD_INIT): Gettextizze.
30984 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30985 (grub_cmd_linux): Capitalise Linux.
30986 (GRUB_MOD_INIT): Gettextizze.
30987 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30988 (GRUB_MOD_INIT): Gettextizze.
30989 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30990 (grub_cmd_linux): Capitalise Linux.
30991 (GRUB_MOD_INIT): Gettextizze.
30992 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30993 (grub_cpu_xnu_init): Gettextizze.
30994 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30995 (GRUB_MOD_INIT): Gettextizze.
30996 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30997 (GRUB_MOD_INIT): Gettextizze.
30998 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30999 (grub_linux_load64): Capitalise Linux.
31000 (GRUB_MOD_INIT): Gettextizze.
31001 * loader/xnu.c: Include `<grub/i18n.h>'.
31002 (GRUB_MOD_INIT): Gettextizze.
31003 * po/POTFILES: Add `loader/efi/appleloader.c',
31004 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31005 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31006 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31007 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31008 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31009 and `loader/xnu.c'.
31010
b394b2ca
RM
310112010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31012
31013 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31014
310152010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
31016
31017 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31018 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31019 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31020
bc8b32b3
RM
310212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31022
31023 Reset Multiboot 2 support. New loader implements the draft in
31024 /branches/multiboot2 and shares as much code as possible with the
31025 production Multiboot 1 implementation.
31026
31027 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
31028 * loader/multiboot2.c: Likewise.
31029 * loader/i386/multiboot_helper.S: Likewise.
31030 * include/multiboot2.h: Replace with latest version from the draft
31031 in /branches/multiboot2.
31032
31033 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31034 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31035 and `loader/multiboot2.c'.
31036 (pkglib_MODULES): Add `multiboot2.mod'.
31037 (multiboot2_mod_SOURCES): New variable.
31038 (multiboot2_mod_LDFLAGS): Likewise.
31039 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31040
31041 * conf/i386-pc.rmk: Likewise.
31042
31043 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31044 (multiboot_mod_SOURCES): Remove variable.
31045 (multiboot_mod_LDFLAGS): Likewise.
31046 (multiboot_mod_CFLAGS): Likewise.
31047
31048 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31049 `<multiboot2.h>' instead of `<multiboot.h>'.
31050 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31051 (MULTIBOOT_HEADER_MAGIC): New macros.
31052
31053 * loader/multiboot_loader.c (module_version_status): Remove variable.
31054 (find_multi_boot2_header): Remove function.
31055 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31056 logic. Always check for the Multiboot version we're compiling for.
31057 (grub_cmd_module_loader): Likewise.
31058 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31059 command instead of `multiboot'.
31060
5d2c52b8
RM
310612010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31062
31063 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31064 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31065 all users.
31066
53108d92
RM
310672010-01-07 Robert Millan <rmh.grub@aybabtu.com>
310682010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31069
31070 Fix breakage introduced with previous commit.
31071
31072 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31073 commands.
31074 * normal/handler.c (read_handler_list): Revert part of previous commit
31075 affecting this file.
31076 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31077 (grub_normal_execute): ... here.
31078
e2e936b2
RM
310792010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31080
31081 Merge prefix-redefinition-fix branch.
31082
31083 * normal/autofs.c (read_fs_list): Make function capable of being
31084 run multiple times, gracefuly replacing the previous data
31085 structures.
31086 * normal/dyncmd.c (read_command_list): Likewise.
31087 * normal/handler.c (read_handler_list): Likewise.
31088 * normal/main.c (read_lists): New function. Calls all the
31089 list reading functions.
31090 (grub_normal_execute): Use read_lists() instead of calling all
31091 list reading functions explicitly. Register read_lists() as a
31092 variable hook attached to ${prefix}.
31093
607a3701
VS
310942010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31095
31096 Merge crypto branch.
31097
31098 * Makefile.in (pkglib_DATA): Add crypto.lst.
31099 (crypto.lst): New target.
31100 * commands/hashsum.c: New file.
31101 * commands/password.c (check_password): Use grub_crypto_memcmp.
31102 * commands/password_pbkdf2.c: New file.
31103 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31104 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31105 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31106 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31107 -I$(srcdir)/lib/libgcrypt_wrap.
31108 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31109 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31110 password_pbkdf2.mod.
31111 (crypto_mod_SOURCES): New variable.
31112 (crypto_mod_CFLAGS): Likewise.
31113 (crypto_mod_LDFLAGS): Likewise.
31114 (hashsum_mod_SOURCES): New variable.
31115 (hashsum_mod_CFLAGS): Likewise.
31116 (hashsum_mod_LDFLAGS): Likewise.
31117 (pbkdf2_mod_SOURCES): New variable.
31118 (pbkdf2_mod_CFLAGS): Likewise.
31119 (pbkdf2_mod_LDFLAGS): Likewise.
31120 (password_pbkdf2_mod_SOURCES): New variable.
31121 (password_pbkdf2_mod_CFLAGS): Likewise.
31122 (password_pbkdf2_mod_LDFLAGS): Likewise.
31123 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
31124 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
31125 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
31126 Include conf/gcry.rmk.
31127 * include/grub/auth.h: Rewritten.
31128 * include/grub/crypto.h: New file.
31129 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
31130 * include/grub/normal.h (read_crypto_list): New prototype.
31131 * lib/crypto.c: New file.
31132 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
31133 * lib/pbkdf2.c: Likewise.
31134 * normal/auth.c (grub_auth_strcmp): Removed.
31135 (grub_iswordseparator): Likewise.
31136 (grub_auth_strword): Likewise.
31137 (is_authenticated): Use grub_strword.
31138 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
31139 and grub_strword. Pass entered password to authentication callback.
31140 * normal/crypto.c: New file.
31141 * normal/main.c: Call read_crypto_list.
31142 * util/grub-mkpasswd-pbkdf2.c: New file.
31143 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
31144
42841caa
VS
311452010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
31146
31147 Fix descent and ascent calculation.
31148
31149 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
31150 (options): New option "asce".
31151 (usage): Likewise.
31152 (add_char): Ignore invalid glyphs for descent calculation.
31153 Calculate ascent from actual content.
31154 (print_glyphs): Use 'asce'.
31155 (write_font): Likewise. Allow ascent override.
31156 (main): Handle "asce" option.
31157
e7730de7 311582010-01-06 Carles Pina i Estany <carles@pina.cat>
31159
31160 * kern/err.c: Include `<grub/i18n.h>'.
31161 (grub_print_error): Add full stop. Gettextizze.
31162 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
31163 (grub_bsd_load_elf): Capitalise ELF.
31164 (grub_cmd_freebsd_loadenv): Add `s' in error string.
31165 (grub_cmd_freebsd_module): Likewise.
31166 (grub_cmd_freebsd_module_elf): Likewise.
31167 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
31168
40e3a41f 311692010-01-06 Carles Pina i Estany <carles@pina.cat>
31170
31171 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
31172 * commands/search_file.c (HELP_MESSAGE): New macro.
31173 * commands/search_label.c (HELP_MESSAGE): Likewise.
31174 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
31175 * po/POTFILES: Add `commands/search_file.c',
31176 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
31177 `commands/search.c'.
31178
83507e68
RM
311792010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31180
31181 * config.rpath: Update from Gnulib.
31182
465c787b
YB
311832010-01-05 Yves Blusseau <blusseau@zetam.org>
31184
31185 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
31186
6581dd3a
YB
311872010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
31188
31189 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
31190
3bff18c5
CW
311912010-01-05 Colin Watson <cjwatson@ubuntu.com>
31192
31193 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
31194 arguments to fread so that we get a return value in bytes, rather
31195 than something that will normally be rounded down to 0.
31196 Adjust error handling to avoid producing garbage when size_t is not
31197 the same size as long long.
31198
a1368118
CW
311992010-01-05 Colin Watson <cjwatson@ubuntu.com>
31200
31201 * util/mkisofs/write.c (padblock_write): Check return value of
31202 fread.
31203
7c302978
RM
312042010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31205
31206 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31207 floppy images now.
31208
31209 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31210
e33ace06
RM
312112010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31212
31213 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31214 instead of manual alignment.
31215 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31216 verbose). Avoid attempts to read past end of the device
31217 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31218 but GRUB_DISK_CACHE_SIZE may exceed that).
31219
4b856776
RM
312202010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31221
31222 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31223 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31224 it to upper layer.
31225
52c2d97f
VS
312262010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31227
31228 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31229 New constant.
31230 (grub_efi_piwg_device_path): New structure
31231 (grub_efi_piwg_device_path_t): New type.
31232 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31233 (devpath_1): Transform to a structure. All users updated.
31234 (devpath_2): Likewise.
31235 (devpath_3): Likewise.
31236 (devpath_4): Likewise.
31237 (devpath_5): Likewise.
31238
98ff6a54
VS
312392010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31240
31241 * loader/efi/appleloader.c: Restored. Update all users.
31242
3a73dcb6
RM
312432010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31244
31245 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31246
31247 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31248 (struct boot_blocklist): Move from here ...
31249 * include/grub/i386/pc/boot.h [ASM_FILE]
31250 (struct grub_boot_blocklist): ... to here. Update all users.
31251 (setup): Only initialize `start' member of `first_block'
31252 structure. Add assert() calls to verify the other members.
31253
31254 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31255 (generate_image): Fix broken blocklist length initialization.
31256 Add assert() call to verify blocklist `segment' field.
31257
ab0eeb0c
RM
312582010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31259
31260 * loader/efi/appleloader.c: Remove. Update all users.
31261
58bc8bd5
RM
312622010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31263
31264 * boot/i386/pc/boot.S: Update copyright year.
31265 * boot/i386/pc/cdboot.S: Likewise.
31266 * boot/i386/pc/diskboot.S: Likewise.
31267 * boot/i386/pc/lnxboot.S: Likewise.
31268 * boot/i386/pc/pxeboot.S: Likewise.
31269 * bus/pci.c: Likewise.
31270 * commands/cmp.c: Likewise.
31271 * commands/help.c: Likewise.
31272 * commands/hexdump.c: Likewise.
31273 * commands/i386/pc/halt.c: Likewise.
31274 * commands/i386/pc/play.c: Likewise.
31275 * commands/i386/pc/vbeinfo.c: Likewise.
31276 * commands/ls.c: Likewise.
31277 * commands/test.c: Likewise.
31278 * disk/dmraid_nvidia.c: Likewise.
31279 * disk/i386/pc/biosdisk.c: Likewise.
31280 * disk/ieee1275/nand.c: Likewise.
31281 * disk/ieee1275/ofdisk.c: Likewise.
31282 * disk/lvm.c: Likewise.
31283 * disk/raid.c: Likewise.
31284 * disk/raid6_recover.c: Likewise.
31285 * disk/scsi.c: Likewise.
31286 * fs/affs.c: Likewise.
31287 * fs/cpio.c: Likewise.
31288 * fs/ext2.c: Likewise.
31289 * fs/hfs.c: Likewise.
31290 * fs/iso9660.c: Likewise.
31291 * fs/ntfs.c: Likewise.
31292 * fs/sfs.c: Likewise.
31293 * fs/udf.c: Likewise.
31294 * fs/ufs.c: Likewise.
31295 * fs/xfs.c: Likewise.
31296 * gencmdlist.sh: Likewise.
31297 * genmk.rb: Likewise.
31298 * include/grub/disk.h: Likewise.
31299 * include/grub/efi/api.h: Likewise.
31300 * include/grub/efi/efi.h: Likewise.
31301 * include/grub/efi/pe32.h: Likewise.
31302 * include/grub/elf.h: Likewise.
31303 * include/grub/fs.h: Likewise.
31304 * include/grub/i386/at_keyboard.h: Likewise.
31305 * include/grub/i386/pc/memory.h: Likewise.
31306 * include/grub/i386/pc/vbe.h: Likewise.
31307 * include/grub/i386/pci.h: Likewise.
31308 * include/grub/i386/tsc.h: Likewise.
31309 * include/grub/ieee1275/ieee1275.h: Likewise.
31310 * include/grub/ntfs.h: Likewise.
31311 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31312 * include/grub/sparc64/libgcc.h: Likewise.
31313 * include/grub/symbol.h: Likewise.
31314 * include/grub/types.h: Likewise.
31315 * include/multiboot2.h: Likewise.
31316 * io/gzio.c: Likewise.
31317 * kern/device.c: Likewise.
31318 * kern/disk.c: Likewise.
31319 * kern/efi/efi.c: Likewise.
31320 * kern/efi/mm.c: Likewise.
31321 * kern/elf.c: Likewise.
31322 * kern/file.c: Likewise.
31323 * kern/i386/dl.c: Likewise.
31324 * kern/i386/pc/init.c: Likewise.
31325 * kern/i386/pc/startup.S: Likewise.
31326 * kern/ieee1275/ieee1275.c: Likewise.
31327 * kern/ieee1275/init.c: Likewise.
31328 * kern/main.c: Likewise.
31329 * kern/mm.c: Likewise.
31330 * kern/powerpc/dl.c: Likewise.
31331 * kern/sparc64/dl.c: Likewise.
31332 * kern/x86_64/dl.c: Likewise.
31333 * lib/hexdump.c: Likewise.
31334 * loader/efi/appleloader.c: Likewise.
31335 * loader/i386/ieee1275/linux.c: Likewise.
31336 * loader/i386/pc/chainloader.c: Likewise.
31337 * loader/i386/pc/linux.c: Likewise.
31338 * loader/i386/pc/multiboot2.c: Likewise.
31339 * loader/ieee1275/multiboot2.c: Likewise.
31340 * loader/multiboot2.c: Likewise.
31341 * loader/multiboot_loader.c: Likewise.
31342 * loader/powerpc/ieee1275/linux.c: Likewise.
31343 * normal/completion.c: Likewise.
31344 * normal/menu_entry.c: Likewise.
31345 * partmap/apple.c: Likewise.
31346 * util/grub.d/10_hurd.in: Likewise.
31347 * util/hostfs.c: Likewise.
31348 * video/readers/png.c: Likewise.
31349
e2d70b5c
CW
313502010-01-03 Colin Watson <cjwatson@ubuntu.com>
31351
31352 * include/grub/misc.h (GNUC_PREREQ): New macro.
31353 (ATTRIBUTE_ERROR): New macro.
31354 * include/grub/list.h (grub_bad_type_cast_real): Use
31355 ATTRIBUTE_ERROR.
31356
a173283f 313572010-01-03 Carles Pina i Estany <carles@pina.cat>
31358
31359 * normal/menu_text.c (print_message): Change messages.
31360
7fa7ff74 313612010-01-03 Carles Pina i Estany <carles@pina.cat>
31362
31363 * normal/menu_entry.c (store_completion): Gettextizze.
31364
136d24f6 313652010-01-03 Carles Pina i Estany <carles@pina.cat>
31366
31367 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31368
f936862e 313692010-01-03 Carles Pina i Estany <carles@pina.cat>
31370
31371 * po/POTFILES: Sort correctly.
31372
29c44ad1 313732010-01-03 Carles Pina i Estany <carles@pina.cat>
31374
31375 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31376 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31377 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31378 full stop.
31379 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31380 summary. Gettextizze the strings.
31381 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31382 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31383 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31384 full stop.
31385 (GRUB_MOD_INIT): Remove command name from summary.
31386 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31387 summary.
31388 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31389 * term/i386/pc/serial.c (options): Add full stops.
31390 (GRUB_MOD_INIT): Remove command name from the summary.
31391
77a79592 313922010-01-03 Carles Pina i Estany <carles@pina.cat>
31393
31394 * commands/acpi.c: Gettextizze help strings and/or options. Include
31395 `grub/i18n.h' if needed.
31396 * commands/blocklist.c: Likewise.
31397 * commands/boot.c: Likewise.
31398 * commands/cat.c: Likewise.
31399 * commands/cmp.c: Likewise.
31400 * commands/configfile.c: Likewise.
31401 * commands/crc.c: Likewise.
31402 * commands/date.c: Likewise.
31403 * commands/echo.c: Likewise.
31404 * commands/efi/fixvideo.c: Likewise.
31405 * commands/efi/loadbios.c: Likewise.
31406 * commands/gptsync.c: Likewise.
31407 * commands/halt.c: Likewise.
31408 * commands/handler.c: Likewise.
31409 * commands/hdparm.c: Likewise.
31410 * commands/hexdump.c: Likewise.
31411 * commands/i386/cpuid.c: Likewise.
31412 * commands/i386/pc/drivemap.c: Likewise.
31413 * commands/i386/pc/halt.c: Likewise.
31414 * commands/i386/pc/pxecmd.c: Likewise.
31415 * commands/i386/pc/vbeinfo.c: Likewise.
31416 * commands/i386/pc/vbetest.c: Likewise.
31417 * commands/ieee1275/suspend.c: Likewise.
31418 * commands/keystatus.c: Likewise.
31419 * commands/loadenv.c: Likewise.
31420 * commands/ls.c: Likewise.
31421 * commands/lsmmap.c: Likewise.
31422 * commands/lspci.c: Likewise.
31423 * commands/memrw.c: Likewise.
31424 * commands/minicmd.c: Likewise.
31425 * commands/parttool.c: Likewise.
31426 * commands/password.c: Likewise.
31427 * commands/probe.c: Likewise.
31428 * commands/read.c: Likewise.
31429 * commands/reboot.c: Likewise.
31430 * commands/search.c: Likewise.
31431 * commands/sleep.c: Likewise.
31432 * commands/test.c: Likewise.
31433 * commands/true.c: Likewise.
31434 * commands/usbtest.c: Likewise.
31435 * commands/videotest.c: Likewise.
31436 * commands/xnu_uuid.c: Likewise.
31437 * disk/loopback.c: Likewise.
31438 * hello/hello.c: Likewise.
31439 * loader/i386/bsd.c: Likewise.
31440 * term/i386/pc/serial.c: Likewise.
31441 * po/POTFILES: Add new files.
31442
da8d5c53
CW
314432010-01-02 Colin Watson <cjwatson@ubuntu.com>
31444
31445 * term/i386/pc/at_keyboard.c
31446 (keyboard_controller_wait_untill_ready): Rename to ...
31447 (keyboard_controller_wait_until_ready): ... this. Update all users.
31448
33937904 314492010-01-01 Carles Pina i Estany <carles@pina.cat>
31450
31451 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31452 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31453 string using string width.
31454 * normal/menu_text.c (grub_print_message_indented): Use
31455 grub_print_spaces and not print_spaces.
31456 (print_timeout): Likewise.
31457 (print_spaces): Move to...
31458 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31459
3fd3b8d8
RM
314602010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31461
31462 Import from Gnulib.
31463
31464 * gnulib/getdelim.c: New file.
31465 * gnulib/getline.c: Likewise.
31466
33433555
VS
314672009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31468
31469 * include/grub/list.h (grub_assert_fail): Removed.
31470 (grub_bad_type_cast_real): New function.
31471 (grub_bad_type_cast): New macro.
31472 (GRUB_AS_LIST): Use grub_bad_type_cast.
31473 (GRUB_AS_LIST_P): Likewise.
e44721e8 31474 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31475 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31476 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31477 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31478 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31479
f5a51306
VS
314802009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31481
31482 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31483 Fix syntax error.
31484
90d1e879
RM
314852009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31486
31487 * configure.ac: Check for TARGET_CFLAGS initialization before we
31488 initialize it ourselves (sigh).
31489 Move a few modifications to TARGET_CFLAGS to be unconditional
31490 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31491 eh_frame)
31492
31493 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31494 * term/i386/pc/at_keyboard.c
31495 (keyboard_controller_wait_untill_ready): Likewise.
31496 (keyboard_controller_led): Rename `led_status' paramter to avoid
31497 name conflict.
31498
465b5a81 314992009-12-28 Carles Pina i Estany <carles@pina.cat>
31500
31501 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31502 quotes.
31503
c181849b
VS
315042009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31505
31506 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31507
9c8739a4
VS
315082009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31509
31510 * normal/menu_text.c (grub_print_message_indented): Prevent
31511 past-the-end-of-array dereference.
31512
3e74249c
VS
315132009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31514
31515 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31516 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31517
64fd18ed 315182009-12-27 Carles Pina i Estany <carles@pina.cat>
31519
31520 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31521 * normal/main.c (grub_normal_read_line): Remove a space from the
31522 default prompt.
31523
714af9b9 315242009-12-27 Carles Pina i Estany <carles@pina.cat>
31525
31526 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31527 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31528 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31529 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31530 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31531 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31532 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31533
82f3e412 315342009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31535
31536 * video/readers/jpeg.c (cmd): Declare.
31537 (grub_cmd_jpegtest): Use `grub_command_t' type.
31538 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31539 Assign to `cmd'.
31540 (GRUB_MOD_FINI): Use `cmd' to unregister.
31541 * video/readers/png.c (cmd): Declare.
31542 (grub_cmd_pngtest): Use `grub_command_t' type.
31543 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31544 Assign to `cmd'.
31545 (GRUB_MOD_FINI): Use `cmd' to unregister.
31546 * video/readers/tga.c (cmd): Declare.
31547 (grub_cmd_tgatest): Use `grub_command_t' type.
31548 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31549 Assign to `cmd'.
31550 (GRUB_MOD_FINI): Use `cmd' to unregister.
31551
82f3e412 315522009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31553
31554 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31555 stops.
31556 * kern/corecmd.c (grub_register_core_commands): Likewise.
31557 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31558 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31559 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31560 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31561 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31562 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31563 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31564 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31565 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31566 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31567 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31568 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31569 * normal/handler.c (insert_handler): Likewise.
31570 * normal/main.c (GRUB_MOD_INIT): Likewise.
31571 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31572
fdcdbb66 315732009-12-26 Carles Pina i Estany <carles@pina.cat>
31574
31575 * commands/help.c (grub_cmd_help): Print the command name before the
31576 summary.
31577 (GRUB_MOD_INIT): Remove command name from the summary.
31578 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31579 string as summary.
fdcdbb66 31580 * lib/arg.c (find_long): Print the command name before the summary.
31581 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31582 summary.
31583 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31584 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31585 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31586 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31587 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31588 * commands/date.c (GRUB_MOD_INIT): Likewise.
31589 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31590 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31591 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31592 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31593 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31594 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31595 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31596 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31597 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31598 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31599 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31600 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31601 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31602 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31603 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31604 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31605 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31606 * commands/password.c (GRUB_MOD_INIT): Likewise.
31607 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31608 * commands/read.c (GRUB_MOD_INIT): Likewise.
31609 * commands/search.c (GRUB_MOD_INIT): Likewise.
31610 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31611 * commands/test.c (GRUB_MOD_INIT): Likewise.
31612 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31613 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31614 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31615 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31616 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31617 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31618 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31619 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31620 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31621 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31622 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31623 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31624 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31625 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31626
9c288be2
VS
316272009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31628
31629 Use search command for preliminar UUID search.
31630
31631 * commands/search.c: Split into ...
31632 * commands/search_wrap.c: ...this
31633 * commands/search.c: ...and this.
31634 * commands/search_file.c: New file.
31635 * commands/search_label.c: New file.
31636 * commands/search_uuid.c: New file.
31637 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31638 Add commands/search_wrap.c, commands/search_file.c,
31639 commands/search_label.c and commands/search_uuid.c.
31640 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31641 (search_mod_SOURCES): Set to commands/search_wrap.c.
31642 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31643 search_label.mod.
31644 (search_fs_file_mod_SOURCES): New variable.
31645 (search_fs_file_mod_CFLAGS): Likewise.
31646 (search_fs_file_mod_LDFLAGS): Likewise.
31647 (search_label_mod_SOURCES): Likewise.
31648 (search_label_mod_CFLAGS): Likewise.
31649 (search_label_mod_LDFLAGS): Likewise.
31650 (search_fs_uuid_mod_SOURCES): New variable.
31651 (search_fs_uuid_mod_CFLAGS): Likewise.
31652 (search_fs_uuid_mod_LDFLAGS): Likewise.
31653 (fs_file_mod_SOURCES): Removed.
31654 (fs_file_mod_CFLAGS): Likewise.
31655 (fs_file_mod_LDFLAGS): Likewise.
31656 (fs_uuid_mod_SOURCES): Removed.
31657 (fs_uuid_mod_CFLAGS): Likewise.
31658 (fs_uuid_mod_LDFLAGS): Likewise.
31659 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31660 Set to util/grub-install.in.
31661 * disk/fs_file.c: Removed.
31662 * disk/fs_uuid.c: Likewise.
31663 * include/grub/search.h: New file.
31664 * util/grub-install.in: Handle sparc64.
31665 Create and use load.cfg.
31666 * util/sparc64/ieee1275/grub-install.in: Removed.
31667
db943399
VS
316682009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31669
31670 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31671 Ignore return status if CF is cleared.
31672 (grub_biosdisk_get_diskinfo_standard): Likewise.
31673
3fdae612
RM
316742009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31675
31676 * term/i386/pc/at_keyboard.c
31677 (keyboard_controller_wait_untill_ready): New function.
31678 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31679 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31680 for keyboard polling, rather than duplicate the same loop. This
31681 saves a few bytes in code size.
31682
7ebaa2b4
VS
316832009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31684
31685 Support for (pxe[:server[:gateway]]) syntax and
31686 use environment variable for PXE.
31687
31688 * commands/i386/pc/pxecmd.c (options): Removed.
31689 (print_ip): Removed.
31690 (grub_cmd_pxe): Removed
31691 (grub_cmd_pxe_unload): New function.
31692 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31693 (grub_pxe_your_ip): Made static.
31694 (grub_pxe_default_server_ip): Likewise.
31695 (grub_pxe_default_gateway_ip): Likewise.
31696 (grub_pxe_blksize): Likewise.
31697 (parse_ip): New function.
31698 (grub_pxe_open): Support server and gateway specification.
31699 (grub_pxe_close): Free disk->data.
31700 (grub_pxefs_open): Use disk->data.
31701 (grub_pxefs_read): Likewise.
31702 (grub_env_write_readonly): New function.
31703 (set_mac_env): Likewise.
31704 (set_env_limn_ro): Likewise.
31705 (parse_dhcp_vendor): Likewise.
31706 (grub_pxe_detect): Set the environment variables.
31707 (set_ip_env): New function.
31708 (write_ip_env): Likewise.
31709 (grub_env_write_pxe_default_server): Likewise.
31710 (grub_env_write_pxe_default_gateway): Likewise.
31711 (grub_env_write_pxe_blocksize): Likewise.
31712 (GRUB_MOD_INIT(pxe)): Set environment variables.
31713 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31714 (grub_pxe_mac_addr_t): ... this. All users updated.
31715 (grub_pxe_your_ip): Removed.
31716 (grub_pxe_server_ip): Likewise.
31717 (grub_pxe_gateway_ip): Likewise.
31718 (grub_pxe_blksize): Likewise.
31719
ec5f98ab 317202009-12-25 Carles Pina i Estany <carles@pina.cat>
31721
31722 * commands/help.c: Include `<grub/i18n.h>'.
31723 (grub_cmd_help): Gettextizze.
31724 (GRUB_MOD_INIT): Likewise.
31725 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
31726 (GRUB_MOD_INIT): Gettextizze.
31727 * commands/search.c: Include `<grub/i18n.h>'.
31728 (options): Gettextizze.
31729 (GRUB_MOD_INIT): Gettextizze.
31730 * lib/arg.c: Include `<grub/i18n.h>'.
31731 (help_options): Gettextizze.
31732 (find_long): Likewise.
31733 (grub_arg_show_help): Likewise.
31734 * normal/dyncmd.c: Include `<grub/i18n.h>'.
31735 (read_command_list): Gettextizze.
31736 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 31737 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 31738
22815526
RM
317392009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31740
31741 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
31742 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
31743 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
31744 (led_status): New variable.
31745 (keyboard_controller_led): New function.
31746 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
31747 update led status for caps lock, num lock and scroll lock.
31748
0ad46fd7
FZ
317492009-12-25 Felix Zielcke <fzielcke@z-51.de>
31750
31751 * util/hostdisk.c (open_device): Fix a comment.
31752
d0e158c2
RM
317532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31754
31755 * util/grub-install.in (host_os): New variable.
31756 * util/i386/efi/grub-install.in (host_os): Likewise.
31757
401c0ad6
RM
317582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31759
31760 * util/mkisofs/write.c (padblock_write): Abort when given an
31761 excedingly large embed image, instead of silently truncating it.
31762
d14d3370
RM
317632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31764
31765 * include/multiboot.h: Indentation fixes.
31766
eeed10b4
RM
317672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31768
31769 * include/multiboot.h (struct multiboot_aout_symbol_table)
31770 (struct multiboot_elf_section_header_table): New structure
31771 declarations (stolen from GRUB Legacy).
31772 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
31773 table information.
31774
31775 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
31776 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
31777 type aliases.
31778
681c70ab
RM
317792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31780
31781 * include/multiboot.h: Make comments src2texi-friendly.
31782
e4d47d8d
RM
317832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31784
31785 For consistency with [multiboot]/docs/boot.S.
31786
31787 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
31788 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
31789 (MULTIBOOT_MAGIC2): Rename from this ...
31790 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
31791
a0b70bda
RM
317922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
31793
31794 * include/multiboot.h: Remove `<grub/types.h>'.
31795 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
31796 types. Update all users.
31797
61ba42be 317982009-12-25 Carles Pina i Estany <carles@pina.cat>
31799
31800 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
31801 `couldn't' and `can not' by `cannot'.
31802 * commands/i386/pc/drivemap.c: Likewise.
31803 * disk/ata.c: Likewise.
31804 * disk/ieee1275/nand.c: Likewise.
31805 * fs/affs.c: Likewise.
31806 * fs/fat.c: Likewise.
31807 * fs/hfs.c: Likewise.
31808 * fs/hfsplus.c: Likewise.
31809 * fs/iso9660.c: Likewise.
31810 * fs/jfs.c: Likewise.
31811 * fs/minix.c: Likewise.
31812 * fs/reiserfs.c: Likewise.
31813 * fs/sfs.c: Likewise.
31814 * fs/udf.c: Likewise.
31815 * fs/ufs.c: Likewise.
31816 * fs/xfs.c: Likewise.
31817 * loader/powerpc/ieee1275/linux.c: Likewise.
31818 * loader/sparc64/ieee1275/linux.c: Likewise.
31819 * util/grub-probe.c: Likewise.
31820 * util/misc.c: Likewise.
31821
7fd0baee 318222009-12-24 Carles Pina i Estany <carles@pina.cat>
31823
31824 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
31825 grub_errno calls.
31826 * commands/acpi.c: Likewise.
31827 * commands/blocklist.c: Likewise.
31828 * commands/efi/loadbios.c: Likewise.
31829 * commands/i386/pc/drivemap.c: Likewise.
31830 * commands/loadenv.c: Likewise.
31831 * commands/memrw.c: Likewise.
31832 * commands/password.c: Likewise.
31833 * commands/videotest.c: Likewise.
31834 * disk/ata.c: Likewise.
31835 * disk/ata_pthru.c: Likewise.
31836 * disk/dmraid_nvidia.c: Likewise.
31837 * disk/ieee1275/nand.c: Likewise.
31838 * disk/ieee1275/ofdisk.c: Likewise.
31839 * disk/loopback.c: Likewise.
31840 * disk/lvm.c: Likewise.
31841 * disk/mdraid_linux.c: Likewise.
31842 * disk/raid.c: Likewise.
31843 * disk/raid6_recover.c: Likewise.
31844 * disk/scsi.c: Likewise.
31845 * efiemu/main.c: Likewise.
31846 * efiemu/mm.c: Likewise.
31847 * efiemu/pnvram.c: Likewise.
31848 * efiemu/symbols.c: Likewise.
31849 * font/font.c: Likewise.
31850 * fs/cpio.c: Likewise.
31851 * fs/hfsplus.c: Likewise.
31852 * fs/iso9660.c: Likewise.
31853 * fs/jfs.c: Likewise.
31854 * fs/minix.c: Likewise.
31855 * fs/ntfs.c: Likewise.
31856 * fs/ntfscomp.c: Likewise.
31857 * fs/reiserfs.c: Likewise.
31858 * fs/ufs.c: Likewise.
31859 * fs/xfs.c: Likewise.
31860 * gettext/gettext.c: Likewise.
31861 * include/grub/auth.h: Likewise.
31862 * kern/elf.c: Likewise.
31863 * kern/file.c: Likewise.
31864 * kern/ieee1275/init.c: Likewise.
31865 * kern/ieee1275/mmap.c: Likewise.
31866 * kern/ieee1275/openfw.c: Likewise.
31867 * kern/powerpc/dl.c: Likewise.
31868 * kern/sparc64/dl.c: Likewise.
31869 * lib/arg.c: Likewise.
31870 * loader/i386/bsd.c: Likewise.
31871 * loader/i386/bsdXX.c: Likewise.
31872 * loader/i386/efi/linux.c: Likewise.
31873 * loader/i386/efi/xnu.c: Likewise.
31874 * loader/i386/ieee1275/linux.c: Likewise.
31875 * loader/i386/linux.c: Likewise.
31876 * loader/i386/multiboot.c: Likewise.
31877 * loader/i386/pc/linux.c: Likewise.
31878 * loader/i386/pc/multiboot2.c: Likewise.
31879 * loader/i386/xnu.c: Likewise.
31880 * loader/ieee1275/multiboot2.c: Likewise.
31881 * loader/macho.c: Likewise.
31882 * loader/machoXX.c: Likewise.
31883 * loader/multiboot2.c: Likewise.
31884 * loader/multiboot_loader.c: Likewise.
31885 * loader/powerpc/ieee1275/linux.c: Likewise.
31886 * loader/sparc64/ieee1275/linux.c: Likewise.
31887 * loader/xnu.c: Likewise.
31888 * loader/xnu_resume.c: Likewise.
31889 * mmap/i386/pc/mmap.c: Likewise.
31890 * normal/menu_viewer.c: Likewise.
31891 * partmap/acorn.c: Likewise.
31892 * partmap/amiga.c: Likewise.
31893 * partmap/apple.c: Likewise.
31894 * script/lexer.c: Likewise.
31895 * term/gfxterm.c: Likewise.
31896 * term/i386/pc/serial.c: Likewise.
31897 * term/i386/pc/vga.c: Likewise.
31898 * term/ieee1275/ofconsole.c: Likewise.
31899 * term/terminfo.c: Likewise.
31900 * video/bitmap.c: Likewise.
31901 * video/efi_gop.c: Likewise.
31902 * video/efi_uga.c: Likewise.
31903 * video/fb/video_fb.c: Likewise.
31904 * video/i386/pc/vbe.c: Likewise.
31905 * video/readers/tga.c: Likewise.
31906 * video/video.c: Likewise.
31907
0ad46fd7 319082009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31909
31910 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31911 * commands/lspci.c: Likewise.
31912 * commands/probe.c: Likewise.
31913 * commands/xnu_uuid.c: Likewise.
31914 * conf/i386-coreboot.rmk: Likewise.
31915 * conf/i386-efi.rmk: Likewise.
31916 * conf/i386-ieee1275.rmk: Likewise.
31917 * conf/i386-pc.rmk: Likewise.
31918 * conf/powerpc-ieee1275.rmk: Likewise.
31919 * conf/sparc64-ieee1275.rmk: Likewise.
31920 * conf/x86_64-efi.rmk: Likewise.
31921 * fs/i386/pc/pxe.c: Likewise.
31922 * gettext/gettext.c: Likewise.
31923 * include/grub/efi/graphics_output.h: Likewise.
31924 * include/grub/i386/pc/memory.h: Likewise.
31925 * kern/env.c: Likewise.
31926 * kern/i386/qemu/startup.S: Likewise.
31927 * lib/i386/pc/biosnum.c: Likewise.
31928 * lib/i386/relocator.c: Likewise.
31929 * lib/i386/relocator_asm.S: Likewise.
31930 * lib/relocator.c: Likewise.
31931 * loader/i386/bsd.c: Likewise.
31932 * loader/i386/multiboot.c: Likewise.
31933 * loader/i386/pc/chainloader.c: Likewise.
31934 * loader/i386/xnu.c: Likewise.
31935 * loader/xnu.c: Likewise.
31936 * normal/main.c: Likewise.
31937 * normal/menu_text.c: Likewise.
31938 * util/getroot.c: Likewise.
31939 * util/grub-mkconfig_lib.in: Likewise.
31940 * util/grub.d/00_header.in: Likewise.
31941 * util/i386/pc/grub-mkimage.c: Likewise.
31942 * util/mkisofs/eltorito.c: Likewise.
31943 * util/mkisofs/exclude.h: Likewise.
31944 * util/mkisofs/hash.c: Likewise.
31945 * util/mkisofs/iso9660.h: Likewise.
31946 * util/mkisofs/joliet.c: Likewise.
31947 * util/mkisofs/mkisofs.c: Likewise.
31948 * util/mkisofs/mkisofs.h: Likewise.
31949 * util/mkisofs/multi.c: Likewise.
31950 * util/mkisofs/name.c: Likewise.
31951 * util/mkisofs/rock.c: Likewise.
31952 * util/mkisofs/tree.c: Likewise.
31953 * util/mkisofs/write.c: Likewise.
31954 * video/efi_gop.c: Likewise.
31955
009ec743
VS
319562009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31957
31958 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31959 size counting.
31960
0ad46fd7 319612009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31962
31963 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31964 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31965
d3d30ea0
VS
319662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31967
31968 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31969 (GRUB_MOD_INIT(memrw)): Update help line.
31970
a34f5c70
VS
319712009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31972
31973 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31974 Use grub_extcmd_t. All users updated.
31975 (options): New variable.
31976 (grub_cmd_read): Restructure for readability. Support "-v" option.
31977 (grub_cmd_write): Restructure for readability.
31978
0ad46fd7 319792009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31980
31981 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31982
0ad46fd7 319832009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31984
31985 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31986 with the actual contents of the correspondending make variable.
31987 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31988 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31989 specifying `*.lst' and `efiemu??.o'
31990
0ad46fd7 319912009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31992
31993 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31994 after function name.
31995 Noticed by Rene Engelhard <rene@debian.org>.
31996
dc77a799
VS
319972009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31998
31999 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32000 (options): New variable.
32001 (iospace): Likewise.
32002 (grub_lspci_iter): List IO spaces if "-i" was given.
32003 (grub_cmd_lspci): Parse options.
32004 (GRUB_MOD_INIT(lspci)): Use extcmd.
32005 (GRUB_MOD_FINI(lspci)): Likewise.
32006
0ad46fd7 320072009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
32008
32009 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32010 `function' keyword.
32011 Patch by Tony Mancill <tmancill@debian.org>.
32012
b5d5993b
VS
320132009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32014
32015 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32016 (grub_uhci_portstatus): Likewise.
32017 (grub_uhci_portstatus): Add necessary delay.
11d18281 32018 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 32019
941903f2 320202009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 32021
941903f2 32022 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32023 (GRUB_MOD_INIT): Likewise.
32024 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 32025 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32026 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 32027 * commands/efi/loadbios.c (enable_rom_area): Likewise.
32028 (enable_rom_area): Likewise.
32029 (GRUB_MOD_INIT): Likewise.
32030 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32031 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32032 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32033 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32034 * commands/hexdump.c (options): Likewise.
32035 * commands/i386/cpuid.c (options): Likewise.
32036 (GRUB_MOD_INIT): Likewise.
32037 * commands/i386/pc/drivemap.c (options): Likewise.
32038 (GRUB_MOD_INIT): Likewise.
32039 * commands/i386/pc/halt (options): Likewise.
32040 (GRUB_MOD_INIT): Likewise.
32041 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32042 * commands/i386/pc/pxecmd.c (options): Likewise.
32043 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32044 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32045 * commands/keystatus.c (options): Likewise.
32046 (GRUB_MOD_INIT): Likewise.
32047 * commands/loadenv.c (options): Likewise.
32048 * commands/ls.c (options): Likewise.
32049 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32050 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32051 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32052 * commands/parttool.c (helpmsg): Likewise.
32053 * commands/probe.c (options): Likewise.
32054 * commands/read.c (GRUB_MOD_INIT): Likewise.
32055 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32056 * commands/search.c (options): Likewise.
32057 * commands/sleep.c (options): Likewise.
32058 * commands/test.c (GRUB_MOD_INIT): Likewise.
32059 * commands/true.c (GRUB_MOD_INIT): Likewise.
32060 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32061 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32062 * lib/arg.c (help_options): Likewise.
e9bbb4e7 32063 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32064 `$(XGETTEXT)'.
98a50553 32065 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 32066
0ad46fd7 320672009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 32068
ef3c2c3a 32069 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
32070 instead of specifying them explicit.
32071
7922f68b
RM
320722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32073
32074 * NEWS: Add grub-probe support for GNU/Hurd.
32075
537ce47f
RM
320762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32077
32078 * NEWS: gettext was added after 1.97.
32079
9b214e3a
RM
320802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32081
32082 * util/mkisofs/msdos_partition.h: New file (based on
32083 include/grub/msdos_partition.h).
32084 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
32085 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
32086 (ld_options, main): Recognize --protective-msdos-label.
32087 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
32088 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32089 (padblock_write): If `use_protective_msdos_label' is set, patch a
32090 protective DOS-style label in the output image.
32091
32092 * util/grub-mkrescue.in: Use --protective-msdos-label.
32093
e9309813
RM
320942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32095
32096 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32097 boot.
32098
0ae56929
RM
320992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32100
32101 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32102 variables.
32103 (ld_options, main): Recognize `--embedded-boot'.
32104 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32105 declarations.
32106 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32107 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32108 (padblock_write): Likewise. Rewrite to support embedded boot image.
32109
32110 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32111 for BIOS-based disk boot instead of only ElTorito.
32112
b15937b1
RM
321132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32114
32115 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
32116 build (not needed for bootstrap).
32117
52cc3ce0
RM
321182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32119
32120 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
32121 from i386-pc build (not needed for bootstrap).
32122 Rewrite a pair of strings.
32123
36f5ff04
RM
321242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
32127
973c6c85 321282009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
32129
32130 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
32131
05d21547
AB
321322009-12-21 Andreas Born <futur.andy@googlemail.com>
32133
32134 * kern/env.c (grub_env_context_open): Mark exported variable for
32135 reexport.
32136
0175d51f
AB
321372009-12-21 Andreas Born <futur.andy@googlemail.com>
32138
32139 * kern/env.c (grub_env_export): Create nonexistent variables before
32140 exporting.
32141
7f39d92f 321422009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 32143
7f39d92f 32144 * include/grub/auth.h: Include `<grub/i18n.h>'.
32145 (GRUB_GET_PASSWORD): Gettextizze string.
32146 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
32147 menu_text.c.
32148 (grub_utf8_to_ucs4_alloc): Fix indentation.
32149 (grub_print_ucs4): Likewise.
32150 (grub_getstringwidth): Likewise.
32151 (print_message_indented): New declaration.
32152 * normal/auth.c: Include `<grub/i18n.h>'.
32153 (grub_auth_check_authentication): Gettexttize string.
32154 * normal/cmdline.c: Include `<grub/i18n.h>'.
32155 (grub_cmdline_get): Gettextizze.
32156 * normal/color.c: Include `<grub/i18n.h>'.
32157 (grub_parse_color_name_pair): Gettexttize strings.
32158 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
32159 string (use `print_message_indented').
32160 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
32161 `include/grub/normal.h'.
32162 (print_message_indented): Renamed to ...
32163 (grub_print_message_indented): ... this. Remove `static' qualifer (now
32164 used in normal/main.c).
32165 (print_message): Use `grub_print_message_indented' instead of
32166 `print_message_indented'.
32167 (print_timeout): Likewise.
32168 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
32169 (grub_normal_print_device_info): Gettexttize strings.
32170 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
32171
3041d898
VS
321722009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32173
32174 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
32175 of arguments. Return number of tokens and not arguments. All users
32176 updated.
32177
de15bf8e
VS
321782009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32179
32180 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
32181 non-MSDOS paritions.
32182
e0a6ca52
VS
321832009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
32184
32185 * include/grub/types.h (UNUSED): Removed since it conflicts with
32186 NetBSD headers. All users changed to direct __attribute__ ((unused)).
32187 Reported by Grégoire Sutre.
32188
b99518d1 321892009-12-19 Carles Pina i Estany <carles@pina.cat>
32190
32191 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
32192 (grub_print_ucs4_alloc): Likewise.
32193 (grub_getstringwidth): Likewise.
32194 * normal/main.c (grub_normal_init_page): Gettextize version string.
32195 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
32196 (getstringwidth): Renamed to ...
32197 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
32198 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32199 (grub_print_ucs4): Remove `static' qualifer (now used in
32200 normal/main.c).
32201 * po/POTFILES: Add normal/main.c.
32202
bfd5e52b 322032009-12-19 Carles Pina i Estany <carles@pina.cat>
32204
32205 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32206 (print_message_indented): Add `margin_left' and `margin_right'
32207 parameters.
32208 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32209 strings.
32210 (print_timeout): Use `print_message_indented' to print the message.
32211 Deletes `second_stage' parameter.
32212 (run_menu): Update `print_timeout' calls.
32213
5a1ad2b9
VS
322142009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32215
32216 Fix console palette on OpenFirmware.
32217
32218 * term/ieee1275/ofconsole.c (MAX): Removed.
32219 (colors): Redone based on VGA palette.
32220 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32221 colors are supported.
32222 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32223
b045f00a
VS
322242009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32225
32226 Fix potential EfiEmu double prepare.
32227
32228 * efiemu/main.c (prepared): New variable
32229 (grub_efiemu_unload): Set prepare to '0'.
32230 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32231
32232 set_virtual_address_map support.
32233
32234 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32235 prototype.
32236 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32237 prototype.
32238 (grub_efiemu_crc32): Likewise.
32239 (grub_efiemu_crc64): Likewise.
32240 (grub_efiemu_set_virtual_address_map): Likewise.
32241 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32242 New definition.
32243 (grub_autoefi_set_virtual_address_map): Likewise.
32244 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32245 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32246 Restructure flow to accomodate it.
32247 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32248 (grub_efiemu_crc): Recompute CRC32.
32249 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32250 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32251 * efiemu/symbols.c (relocated_handle): New variable.
32252 (grub_efiemu_free_syms): Free relocated_handle.
32253 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32254 (grub_efiemu_write_sym_markers): New function.
32255 (grub_efiemu_set_virtual_address_map): Likewise.
32256
32257 Newer XNU parameters.
32258
32259 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32260 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32261 (grub_xnu_fill_devicetree): New prototype.
32262 (grub_xnu_heap_real_start): New variable.
32263 * loader/xnu.c (get_name_ptr): New function.
32264 (grub_xnu_load_driver): Fill namelen and name.
32265
32266 64-bit xnu support.
32267
32268 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32269 and 'loader/macho64.c'.
32270 * conf/i386-pc.rmk: Likewise.
32271 * conf/x86_64-efi.rmk: Likewise.
32272 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32273 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32274 * include/grub/macho.h (grub_macho_segment64): New structure.
32275 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32276 (grub_macho_size32): ... to this.
32277 (grub_macho32_get_entry_point): Renamed from ...
32278 (grub_macho_get_entry_point32): ... to this.
32279 (grub_macho_contains_macho64): New prototype.
32280 (grub_macho_size64): Likewise.
32281 (grub_macho_get_entry_point64): Likewise.
32282 (grub_macho32_load): Renamed from ...
32283 (grub_macho_load32): ... to this.
32284 (grub_macho32_filesize): Renamed from ...
32285 (grub_macho_filesize32): ... to this.
32286 (grub_macho32_readfile): Renamed from ...
32287 (grub_macho_readfile32): ... to this.
32288 (grub_macho_filesize64): New prototype.
32289 (grub_macho_readfile64): Likewise.
32290 (grub_macho_parse32): Likewise.
32291 (grub_macho_parse64): Likewise.
32292 * loader/macho.c: Split into ...
32293 * loader/machoXX.c: ... and this. Replace 32 with XX.
32294 * loader/macho32.c: New file.
32295 * loader/macho64.c: Likewise.
32296 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32297 (grub_cmd_xnu_kernel): Make 32-bit only.
32298 (grub_cmd_xnu_kernel64): New function.
32299 (grub_xnu_load_driver): Support Mach-O 64.
32300 (grub_cmd_xnu_mkext): Likewise.
32301 * util/grub.d/30_os-prober.in (osx_entry): New function.
32302 Generate entries for 64-bit boot too.
32303
32304 Eliminate ad-hoc tree format in XNU and EfiEmu.
32305
32306 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32307 * efiemu/pnvram.c: Rewritten to use environment variables.
32308 All users updated.
32309
32310 Inline utf16_to_utf8.
32311
32312 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32313 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32314 All users updated.
32315 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32316
32317 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32318 * commands/usbtest.c (grub_usb_get_string): ... move here.
32319 (usb_print_str): Fix error handling.
32320 * include/grub/usb.h (grub_usb_get_string): Remove.
32321
32322 UTF-8 to UTF-16 transformation.
32323
32324 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32325 (charset_mod_SOURCES): New variable.
32326 (charset_mod_CFLAGS): Likewise.
32327 (charset_mod_LDFLAGS): Likewise.
32328 * include/grub/utf.h: New file.
32329 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32330
32331 Support for device properties.
32332
32333 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32334 (grub_xnu_devprop_device_header): Likewise.
32335 (grub_xnu_devprop_device_descriptor): Likewise.
32336 (grub_xnu_devprop_add_device): New prototype.
32337 (grub_xnu_devprop_remove_device): Likewise.
32338 (grub_xnu_devprop_remove_property): Likewise.
32339 (grub_xnu_devprop_add_property_utf8): Likewise.
32340 (grub_xnu_devprop_add_property_utf16): Likewise.
32341 (grub_cpu_xnu_init): Likewise.
32342 (grub_cpu_xnu_fini): Likewise.
32343 (grub_cpu_xnu_unload): Likewise.
32344 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32345 (property_descriptor): Likewise.
32346 (devices): New variable.
32347 (grub_xnu_devprop_remove_property): New function.
32348 (grub_xnu_devprop_add_device): Likewise.
32349 (grub_xnu_devprop_remove_device): Likewise.
32350 (grub_xnu_devprop_add_property): Likewise.
32351 (grub_xnu_devprop_add_property_utf8): Likewise.
32352 (grub_xnu_devprop_add_property_utf16): Likewise.
32353 (hextoval): Likewise.
32354 (grub_cpu_xnu_fill_devprop): Likewise.
32355 (grub_cmd_devprop_load): Likewise.
32356 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32357 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32358 (cmd_devprop_load): New variable.
32359 (grub_cpu_xnu_init): New function.
32360 (grub_cpu_xnu_fini): Likewise.
32361 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32362 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32363 (grub_cmd_xnu_devtree): Likewise.
32364 (hextoval): New function.
32365 (unescape): Likewise.
32366 (grub_xnu_fill_devicetree): Likewise.
32367
32368 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32369 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32370
0945f181
VS
323712009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32372
32373 Workaround for broken ATI VBE.
32374
32375 * video/i386/pc/vbe.c (last_set_mode): New variable.
32376 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32377 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32378 (grub_video_vbe_setup): Don't check for reserved flag.
32379
0ad46fd7 323802009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32381
32382 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32383 the `find' command.
32384
c179ebe4
VS
323852009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32386
32387 UUID support for HFS.
32388
32389 * fs/hfs.c (grub_hfs_uuid): New function.
32390 (grub_hfs_fs): New value .uuid.
32391 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32392
0ad46fd7 323932009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32394
32395 Fix a segfault with parsing unknown long options.
32396
32397 * util/grub-mkrelpath.c (options): Zero terminate it.
32398
c4a3e41a
CPE
323992009-12-13 Carles Pina i Estany <carles@pina.cat>
32400
32401 * include/grub/misc.h (grub_puts): New declaration.
32402 (grub_puts_): Likewise.
a22008a6 32403 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32404 (grub_puts_): Likewise.
32405
2e8a7602
RM
324062009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32407
32408 * util/grub-probe.c (probe): Improve error message.
32409
b50b77b9
RM
324102009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32411
32412 * loader/i386/multiboot_elfxx.c
32413 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32414 initialization.
32415
324162009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32417
32418 Relocator framework
32419
32420 * loader/i386/xnu_helper.S: Removed. All users updated.
32421 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32422 (relocator_mod_SOURCES): New variable.
32423 (relocator_mod_CFLAGS): Likewise.
32424 (relocator_mod_LDFLAGS): Likewise.
32425 (relocator_mod_ASFLAGS): Likewise.
32426 * conf/x86_64.rmk: Likewise.
32427 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32428 (grub_multiboot_payload_entry_offset): Likewise.
32429 (grub_multiboot_forward_relocator): Likewise.
32430 (grub_multiboot_forward_relocator_end): Likewise.
32431 (grub_multiboot_backward_relocator): Likewise.
32432 (grub_multiboot_backward_relocator_end): Likewise.
32433 (grub_multiboot_payload_eip): New variable.
32434 (grub_multiboot_payload_orig): Likewise.
32435 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32436 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32437 * include/grub/i386/memory.h
32438 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32439 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32440 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32441 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32442 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32443 * include/grub/i386/relocator.h: New file.
32444 * include/grub/x86_64/relocator.h: Likewise.
32445 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32446 (XNU_RELOCATOR): New macro.
32447 (grub_xnu_launcher_start): Remove.
32448 (grub_xnu_launcher_end): Likewise.
32449 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32450 (grub_xnu_heap_real_start): Remove.
32451 (grub_xnu_heap_start): Change to void *. All users updated.
32452 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32453 * lib/i386/relocator.c: New file.
32454 * lib/i386/relocator_asm.S: Likewise.
32455 * lib/i386/relocator_backward.S: Likewise.
32456 * lib/mips/relocator.c: Likewise.
32457 * lib/mips/relocator_asm.S: Likewise.
32458 * lib/relocator.c: Likewise.
32459 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32460 (entry): Removed.
32461 (playground): Likewise.
32462 (grub_multiboot_payload_orig): New variable.
32463 (grub_multiboot_payload_dest): Likewise.
32464 (grub_multiboot_payload_size): Likewise.
32465 (grub_multiboot_payload_eip): Likewise.
32466 (grub_multiboot_payload_esp): Likewise.
32467 (grub_multiboot_boot): Use grub_relocator32_boot.
32468 (grub_multiboot_unload): Free relocators.
32469 (grub_multiboot): Setup stack. Use relocators.
32470 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32471 (grub_multiboot_load_elfXX): Use relocators.
32472 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32473 (grub_multiboot_payload_size): Likewise.
32474 (grub_multiboot_payload_dest): Likewise.
32475 (grub_multiboot_payload_entry_offset): Likewise.
32476 (grub_multiboot_forward_relocator): Likewise.
32477 (grub_multiboot_backward_relocator): Likewise.
32478 (grub_multiboot_real_boot): Likewise.
32479 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32480 (grub_xnu_entry_point): Likewise.
32481 (grub_xnu_arg1): Likewise.
32482 (grub_xnu_stack): Likewise.
32483 (grub_xnu_launch): Removed.
32484 (grub_xnu_boot_resume): New function.
32485 (grub_xnu_boot): Use relocators.
32486 * loader/i386/xnu_helper.S: Removed.
32487 * loader/xnu.c (grub_xnu_heap_start): New variable.
32488 (grub_xnu_heap_size): Likewise.
32489 (grub_xnu_heap_malloc): Use relocators.
32490 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32491
29eb90c6
VS
324922009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32493
32494 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32495 anything.
32496
31027430
CPE
324972009-12-13 Carles Pina i Estany <carles@pina.cat>
32498
32499 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32500 GRUB_ERR_NONE before calling grub_env_set.
32501
dc0c71d9
RM
325022009-12-12 Robert Millan <rmh@aybabtu.com>
32503
32504 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32505 * genmk.rb (video): New variable.
32506 (CLEANFILES, VIDEOFILES): Add #{video}.
32507 (#{video}): New target rule.
32508 * genvideolist.sh: New file.
32509 * Makefile.in (pkglib_DATA): Add video.lst.
32510 (video.lst): New target rule.
32511 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32512 `video.lst'.
32513 * util/grub.d/30_os-prober.in: Replace `vbe' with
32514 ${GRUB_VIDEO_BACKEND}.
32515
2a4bfcf0
RM
325162009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32517
32518 * THANKS: Add David Miller.
32519
2a3aa4d5
RM
325202009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32521
32522 libpciaccess support.
32523
32524 * Makefile.in (LIBPCIACCESS): New variable.
32525 (enable_grub_emu_pci): Likewise.
32526 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32527 util/pci.c and commands/lspci.c.
32528 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32529 * configure.ac (grub-emu-pci): New option.
32530 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32531 (grub_pci_device_unmap_range): Likewise.
32532 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32533 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32534 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32535 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32536 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32537 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32538 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32539 * include/grub/pciutils.h: New file.
32540 * util/pci.c: Likewise.
32541
0ad46fd7 325422009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32543
32544 * util/misc.c: Don't include <errno.h> twice.
32545
0ad46fd7 325462009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32547
32548 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32549 name in an error message.
32550 (grub_biosdisk_rw): Likewise.
32551
2e59983c
VS
325522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32553
32554 Eliminate NTFS 4Gib barrier.
32555
32556 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32557 (read_run_data): Likewise.
32558 (grub_ntfs_read_run_list): Likewise.
32559 (grub_ntfs_read_block): Likewise.
32560 (grub_ntfs_iterate_dir): Likewise.
32561 (read_mft): Likewise.
32562 (read_data): Likewise.
32563 Use COM_LOG_LEN.
32564 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32565 to avoid 64-bit division
32566 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32567 (grub_ntfs_rlst): Use grub_disk_addr_t.
32568
71ee178a
VS
325692009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32570
32571 Eliminate grub-fstest 4Gib barrier.
32572
32573 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32574 (read_file): Fix error reporting.
32575
2520d4b8
VS
325762009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32577
32578 Eliminate hexdump 4Gib barrier.
32579
32580 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32581 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32582
e1f27065
VS
325832009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32584
32585 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32586 Fixes amarsh bug.
32587
1a0f7f45
RM
325882009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32589
32590 Remove miscellaneous files in distclean target.
32591
32592 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32593
c631d9fb
CW
325942009-12-09 Colin Watson <cjwatson@ubuntu.com>
32595
32596 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32597 if they're already set. This resolves the conflict between my
32598 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32599 fixing the --grub-probe option again.
32600 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32601 change on 2009-10-06, so that we now once again source
32602 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32603
7c7b6106
RM
326042009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32605
32606 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32607 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32608 `util/devicemap.c'.
32609
e3069ec1
CPE
326102009-12-08 Carles Pina i Estany <carles@pina.cat>
32611
32612 * include/grub/misc.h (grub_printf_): New declaration.
32613 * kern/misc.c (grub_printf_): New definition.
32614 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32615 instead of `grub_printf' and `_'.
32616 * normal/menu_entry.c (store_completion): Likewise.
32617 (run): Likewise.
32618 (grub_menu_entry_run): Likewise.
32619 * normal/menu_text.c (grub_wait_after_message): Likewise.
32620 (notify_booting): Likewise.
32621 (notify_fallback): Likewise.
32622 (notify_execution_failure): Likewise.
32623
d6ceebf1
CW
326242009-12-07 Colin Watson <cjwatson@ubuntu.com>
32625
32626 * configure.ac: Check for vasprintf.
32627 * util/misc.c (asprintf): Move allocation from here ...
32628 (vasprintf): ... to here. New function.
32629 (xasprintf): New function.
32630 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32631 prototypes.
32632 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32633 * util/grub-mkfont.c (write_font): Likewise.
32634 * util/grub-probe.c (probe): Likewise.
32635 * util/hostdisk.c (make_device_name): Likewise.
32636
de6daa8b
DM
326372009-12-06 David S. Miller <davem@sunset.davemloft.net>
32638
32639 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32640 anything even prefixed with 'cdrom' as a cdrom.
32641
0ad46fd7 326422009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32643
32644 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32645 mount points.
32646
98d3dc02
CPE
326472009-12-05 Carles Pina i Estany <carles@pina.cat>
32648
32649 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32650 grub_gettext_msg_list.
32651 (grub_gettext_gettranslation_from_position): Return const char *
32652 and not char *.
a2c1332b 32653 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32654 returns from the list if existing there.
32655 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32656 (grub_gettext_delete_list): Delete the list.
32657 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32658 lang environment variable is changed.
32659 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32660
b283f108
VS
326612009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32662
32663 Rename kernel.mod to kernel.img.
32664
32665 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32666 (kernel_mod_EXPORTS): Rename to ...
32667 (kernel_img_EXPORTS): ... this.
32668 (kernel_mod_SOURCES): Rename to ...
32669 (kernel_img_SOURCES): ... this.
32670 (kernel_mod_HEADERS): Rename to ...
32671 (kernel_img_HEADERS): ... this. All users updated.
32672 (kernel_mod_CFLAGS): Rename to ...
32673 (kernel_img_CFLAGS): ... this.
32674 (kernel_mod_ASFLAGS): Rename to ...
32675 (kernel_img_ASFLAGS): ... this.
32676 (kernel_mod_LDFLAGS): Rename to ...
32677 (kernel_img_LDFLAGS): ... this.
32678 * conf/x86_64-efi.rmk: Likewise.
32679 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32680 (read_kernel_image): ... this. All users updated.
32681 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32682
69055f8a
CPE
326832009-12-05 Carles Pina i Estany <carles@pina.cat>
32684
32685 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32686 (print_spaces): New function.
32687 (grub_print_ucs4): New function.
32688 (getstringwidth): New function.
32689 (print_message_indented): New function.
32690 (print_message): Gettexttize strings using print_message_indented.
32691 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32692 width.
32693 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32694 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32695 Gettextize.
32696 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32697 string.
32698 (run): Likewise.
32699 (grub_menu_entry_run): Likewise.
32700 * PO/POTFILES: Add normal/menu_entry.c.
32701
f616f51c
VS
327022009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32703
32704 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32705
57bbe3be
CPE
327062009-12-05 Carles Pina i Estany <carles@pina.cat>
32707
32708 * util/grub-install.in: Install gettext .mo files.
32709 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32710
013d67a1
CPE
327112009-12-05 Carles Pina i Estany <carles@pina.cat>
32712
32713 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32714 grub_dprintf.
32715
fb954db0
RM
327162009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32717
32718 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32719 non-firmware-dependant one in realmode.S takes precedence.
32720
6b8474f8
RM
327212009-12-04 Robert Millan <rmh.grub@aybabtu.com>
32722
32723 * commands/halt.c: Replace misc arch-specific headers with
32724 `<grub/misc.h>'.
32725 * commands/reboot.c: Likewise.
32726 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
32727 `<grub/misc.h>'.
32728 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
32729 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
32730 (kernel_img_SOURCES): ... to here.
32731
32732 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
32733 * include/grub/i386/pc/init.h: Likewise.
32734 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32735 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32736
32737 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
32738
32739 * include/grub/i386/halt.h: Remove.
32740 * include/grub/i386/reboot.h: Likewise.
32741
32742 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
32743
4b2e6ca2
DM
327442009-12-03 David S. Miller <davem@sunset.davemloft.net>
32745
32746 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
32747 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
32748 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
32749 "progname.h"
32750 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32751 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32752 (usage): Add missing comma in printf.
32753
5239348f
RM
327542009-12-02 Robert Millan <rmh.grub@aybabtu.com>
32755
32756 Use the same reboot approach on i386 coreboot and qemu as we do on
32757 BIOS.
32758
32759 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
32760 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
32761 * kern/i386/reboot.c: Remove.
32762 * include/grub/i386/reboot.h (grub_reboot): Export function.
32763 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
32764 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
32765 0xf000:0xfff0 instead of 0xffff:0x0000.
32766 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
32767 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
32768
ef34cbd4
RM
327692009-11-30 Robert Millan <rmh.grub@aybabtu.com>
32770
32771 Fix $srcdir != $objdir build.
32772
32773 * Makefile.in (po/%.po): Rewrite as ...
32774 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
32775
dc9837ea
ST
327762009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
32777
32778 Fix GNU/Hurd grub-install crash.
32779 * util/grub-probe.c (probe): Try to access `path' only when it is not
32780 NULL.
32781
2f857f98
VS
327822009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32783
32784 Correct module naming.
32785
32786 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32787 (GRUB_MOD_INIT(efi_uga)): ... to this
32788 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32789 (GRUB_MOD_FINI(efi_uga)): ... to this
32790 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
32791 (GRUB_MOD_INIT(efi_gop)): ... to this
32792 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
32793 (GRUB_MOD_FINI(efi_gop)): ... to this
32794
c5448046
RM
327952009-11-28 Robert Millan <rmh.grub@aybabtu.com>
32796
32797 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
32798 translatable.
32799 (usage): Translate `arg' strings using gettext().
32800 Thanks to Jordi Mallach for the suggestion.
32801
c85184ad
VS
328022009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32803
32804 GOP support. Based on patch from Bean
32805 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32806
32807 * video/efi_gop.c: New file.
32808 * include/grub/efi/graphics_output.h: Likewise.
32809 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
32810 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32811 variables.
32812 * conf/x86_64-efi.rmk: Likewise.
32813
8a4c48d8
VS
328142009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
32815
32816 Rename efi_fb to efi_uga.
32817
32818 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32819 'efi_uga.mod'.
32820 (efi_fb_mod_SOURCES): Rename this ...
32821 (efi_uga_mod_SOURCES): ... to this.
32822 (efi_fb_mod_CFLAGS): Rename this ...
32823 (efi_uga_mod_CFLAGS): ... to this.
32824 (efi_fb_mod_LDFLAGS): Rename this ...
32825 (efi_uga_mod_LDFLAGS): ... to this.
32826 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
32827 'efi_uga.mod'.
32828 (efi_fb_mod_SOURCES): Rename this ...
32829 (efi_uga_mod_SOURCES): ... to this.
32830 (efi_fb_mod_CFLAGS): Rename this ...
32831 (efi_uga_mod_CFLAGS): ... to this.
32832 (efi_fb_mod_LDFLAGS): Rename this ...
32833 (efi_uga_mod_LDFLAGS): ... to this.
32834 * video/efi_fb.c: Move this ...
32835 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32836
fb6c1a7b
RM
328372009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32838
32839 * po/README: New file. Explain our PO file workflow.
32840
3bc7896c
RM
328412009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32842
32843 * po/ChangeLog: Remove. Move relevant entries back to ...
32844 * ChangeLog: ... here.
32845 * po/ca.po: Remove (now handled by TLP).
32846 * po/id.po: Likewise.
32847 * po/zh_CN.po: Likewise.
32848 * Makefile.in (LINGUAS): Initialize in a way that supports
32849 empty set.
32850
9ed4841d
RM
328512009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32852
32853 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32854 reliing on po/LINGUAS.
32855 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32856 (po/%.po): ... this.
32857
0ad46fd7 328582009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32859
32860 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32861 (main): Use `program_name' instead of nonexistent `progname'.
32862
e30dd392
FZ
328632009-11-26 Felix Zielcke <fzielcke@z-51.de>
32864
32865 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32866 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32867
7656de4f
RM
328682009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32869
32870 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32871 commit.
32872 * conf/i386-efi.rmk: Likewise.
32873 * conf/i386-ieee1275.rmk: Likewise.
32874 * conf/powerpc-ieee1275.rmk: Likewise.
32875 * conf/sparc64-ieee1275.rmk: Likewise.
32876 * conf/x86_64-efi.rmk: Likewise.
32877
db77c4d4
FZ
328782009-11-26 Felix Zielcke <fzielcke@z-51.de>
32879
32880 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32881
a755bb04
FZ
328822009-11-26 Felix Zielcke <fzielcke@z-51.de>
32883
32884 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32885
8a4c07fd
RM
328862009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32887
32888 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32889 (grub_mkdevicemap_SOURCES): New variable.
32890 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32891 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32892 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32893 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32894 (grub_mkdevicemap_SOURCES): Remove.
32895 * conf/i386-efi.rmk: Likewise.
32896 * conf/i386-ieee1275.rmk: Likewise.
32897 * conf/i386-pc.rmk: Likewise.
32898 * conf/powerpc-ieee1275.rmk: Likewise.
32899 * conf/sparc64-ieee1275.rmk: Likewise.
32900 * conf/x86_64-efi.rmk: Likewise.
32901 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32902 (usage): Fix strings to use `program_name'.
32903 (main): Initialize gettext.
32904 * util/grub-editenv.c: Likewise.
32905 * util/grub-emu.c: Likewise.
32906 * util/grub-fstest.c: Likewise.
32907 * util/grub-mkdevicemap.c: Likewise.
32908 * util/grub-mkfont.c: Likewise.
32909 * util/grub-mkrelpath.c: Likewise.
32910 * util/grub-pe2elf.c: Likewise.
32911 * util/grub-probe.c: Likewise.
32912 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32913 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32914 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32915
32916 * util/misc.c: Include `"progname.h"'.
32917 (progname): Remove variable.
32918 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32919
6f61ed55
FZ
329202009-11-25 Felix Zielcke <fzielcke@z-51.de>
32921
32922 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32923 printf and print a newline after the menuentry header line.
32924 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32925
f022876b
FZ
329262009-11-25 Felix Zielcke <fzielcke@z-51.de>
32927
32928 autoconf >= 2.60 support $(localedir).
32929
32930 * INSTALL: Note that autoconf 2.60 is required.
32931 * configure.ac (AC_PREREQ): Bump to 2.60.
32932 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32933 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32934
6717926e
YB
329352009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32936
32937 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32938 aclocal is run.
32939
08806a54
RM
329402009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32941
32942 * normal/main.c (grub_normal_read_line): Fix off-by-one
32943 buffer overflow.
32944
13b33fba
RM
329452009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32946
32947 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32948 "parser.grub" in grub_command_execute() call.
32949
4a8572e9
CPE
329502009-11-24 Carles Pina i Estany <carles@pina.cat>
32951
32952 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32953 * conf/i386-efi.rmk: Likewise.
32954 * conf/i386-ieee1275.rmk: Likewise.
32955 * conf/i386-pc.rmk: Likewise.
32956 * conf/powerpc-ieee1275.rmk: Likewise.
32957 * conf/sparc64-ieee1275.rmk: Likewise.
32958 * conf/x86_64-efi.rmk: Likewise.
32959 * gettext/gettex.c: Include <grub/i18n.h>.
32960 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32961 here ...
32962 * include/grub/i18n.h: ... to here
32963 * include/grub/i18n.h: ... to here.
32964 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32965 (grub_gettext_dummy): Move above user.
4a8572e9 32966
bee48093
FZ
329672009-11-24 Felix Zielcke <fzielcke@z-51.de>
32968
32969 * util/Makefile.in (install-local): Convert a `for' into a normal
32970 shell expansion.
32971
a031e91c
RM
329722009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32973
32974 * autogen.sh: Add automake call.
32975 * config.guess: Remove.
32976 * config.sub: Likewise.
32977 * install-sh: Likewise.
32978
26bec39d
FZ
329792009-11-24 Felix Zielcke <fzielcke@z-51.de>
32980
32981 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32982
8e2532fd
FZ
329832009-11-24 Felix Zielcke <fzielcke@z-51.de>
32984
32985 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32986 function to a normal shell `for'.
32987
fefa1b7d
FZ
329882009-11-24 Felix Zielcke <fzielcke@z-51.de>
32989
32990 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32991
4501250b
FZ
329922009-11-24 Felix Zielcke <fzielcke@z-51.de>
32993
32994 * util/grub-mkrelpath.c: New file.
32995 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32996 (grub_mkrelpath_SOURCES): New variable.
32997 * include/grub/util/misc.h: New function prototype.
32998 * util/misc.c (make_system_path_relative_to_its_root): New function.
32999
33000 * util/grub-mkconfig_lib.in (bindir): New variable.
33001 (grub_mkrelpath): Likewise.
33002 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33003
33004 * util/probe.c (probe): Make the file path relative to its root.
33005 Change a info message to use the GRUB path. Enable again the
33006 check if we can read the file with GRUB facilities.
33007
33008 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33009 to its root.
33010
11d9778b
FZ
330112009-11-24 Felix Zielcke <fzielcke@z-51.de>
33012
33013 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33014 platform.
33015
4465287d
FZ
330162009-11-24 Felix Zielcke <fzielcke@z-51.de>
33017
33018 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33019 strncmp().
33020
62b47f22
FZ
330212009-11-24 Felix Zielcke <fzielcke@z-51.de>
33022
33023 * util/getroot.c (grub_util_is_dmraid): New function.
33024 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33025 devices as normal ones, not as LVM.
33026
1eafb9b9 330272009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
33028
33029 * conf/common.rmk: Add grub-gettext_lib target and updates
33030 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33031 LDFLAGS.
33032 * gettext/gettext.c: New file. (Reads mo files).
33033 * include/grub/file.h (grub_file_pread): New prototype.
33034 * include/grub/i18n.h (_): New prototype.
33035 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33036 prototypes.
33037 * kern/misc.c (grub_gettext_dummy): New function.
33038 * normal/menu_text.c: Include <grub/i18n.h>.
33039 * normal/menu_text.c (print_timeout): Gettexttize string.
33040 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
33041 * po/POTFILES: Add `normal/menu_text.c'.
33042 * po/ca.po: Add new translations.
c3ea6bd4
CPE
33043 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33044 gettext module and defines locale_dir and lang in grub.cfg.
33045 * NEWS: Add gettext support.
33046
0fdb2568
RM
330472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33048
33049 * util/hostdisk.c: Include `<grub/i18n.h>'.
33050 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33051 (make_device_name): Rewrite using asprintf.
33052 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33053 (find_system_device): If a device is not found, generate one just
33054 by reusing the OS path name.
33055 (read_device_map): Make it permissible for device.map not to exist.
33056
f515aa62
RM
330572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33058
33059 * script/sh/execute.c: Move from here ...
33060 * script/execute.c: ... to here. Update all users.
33061 * script/sh/function.c: Move from here ...
33062 * script/function.c: ... to here. Update all users.
33063 * script/sh/lexer.c: Move from here ...
33064 * script/lexer.c: ... to here. Update all users.
33065 * script/sh/main.c: Move from here ...
33066 * script/main.c: ... to here. Update all users.
33067 * script/sh/parser.y: Move from here ...
33068 * script/parser.y: ... to here. Update all users.
33069 * script/sh/script.c: Move from here ...
33070 * script/script.c: ... to here. Update all users.
33071
f84b481b
RM
330722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33073
33074 * configure.ac: Detect all `emu' platforms. Define
33075 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33076 --enable-grub-emu logic. Disable include/grub/machine
33077 symlink on `emu' platforms.
33078
33079 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
33080 * gensymlist.sh.in: Likewise.
33081
33082 * include/grub/i386/coreboot/machine.h: Remove file.
33083 * include/grub/i386/efi/machine.h: Likewise.
33084 * include/grub/i386/ieee1275/machine.h: Likewise.
33085 * include/grub/i386/pc/machine.h: Likewise.
33086 * include/grub/i386/qemu/machine.h: Likewise.
33087 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33088 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33089 * include/grub/x86_64/efi/machine.h: Likewise.
33090
33091 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33092 * commands/halt.c: Likewise.
33093 * commands/reboot.c: Likewise.
33094 * include/grub/autoefi.h: Likewise.
33095 * include/grub/i386/at_keyboard.h: Likewise.
33096 * include/grub/i386/kernel.h: Likewise.
33097 * include/grub/i386/loader.h: Likewise.
33098 * include/grub/i386/pc/memory.h: Likewise.
33099 * kern/dl.c: Likewise.
33100 * kern/i386/coreboot/init.c: Likewise.
33101 * loader/i386/bsd.c: Likewise.
33102 * loader/i386/linux.c: Likewise.
33103 * loader/multiboot_loader.c: Likewise.
33104 * term/i386/pc/serial.c: Likewise.
33105 * term/usb_keyboard.c: Likewise.
33106
33107 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33108 `<grub/machine/machine.h>'
33109 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33110 * util/misc.c: Remove `<grub/machine/machine.h>' and
33111 `<grub/machine/time.h>'.
33112
33113 * Makefile.in (enable_grub_emu): Remove variable.
33114 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
33115
33116 * conf/any-emu.rmk: New file.
33117 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
33118 (grub_emu_init.c): Move from here ...
33119 * conf/any-emu.rmk: ... to here.
33120
33121 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
33122 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
33123 * conf/any-emu.rmk: ... to here.
33124
4efeab03
RM
331252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33126
33127 * include/grub/parser.h (grub_parser_register): Document need
33128 of `name' parameter.
33129 * normal/main.c (grub_normal_read_line): Simplify prompt string.
33130 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
33131 "sh" to "grub".
33132
ea1dd8bf
RM
331332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33134
33135 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
33136 `$(XGETTEXT)'.
33137 * include/grub/i18n.h (N_): New macro.
33138 * util/mkisofs/mkisofs.h: Likewise.
33139 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
33140 around N_().
33141 (usage): Use gettext() to translate help strings when printing them.
33142
0c140626
RM
331432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33144
33145 Based on patch from Bean
33146 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33147
33148 * video/efi_fb.c: New file.
33149 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
33150 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33151 variables.
33152 * conf/x86_64-efi.rmk: Likewise.
33153
87d58298
RM
331542009-11-22 Robert Millan <rmh.grub@aybabtu.com>
33155
33156 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
33157 * util/i386/pc/grub-setup.c: Likewise.
33158
994cc3a3
ST
331592009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
33160
33161 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
33162 <hurd/fs.h>
33163 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
33164 file_get_storage_info to implement grub_guess_root_device.
33165
26a61d6a
FZ
331662009-11-21 Felix Zielcke <fzielcke@z-51.de>
33167
33168 * Makefile.in (target): Use make's builtin $(shell) function
33169 instead of calling directly $(SHELL) to create the locale directories,
33170 inside the $(foreach) function.
33171
74ff1dd5
FZ
331722009-11-21 Felix Zielcke <fzielcke@z-51.de>
33173
33174 * util/grub-mkrescue.in: Print an error and usage if output option
33175 has not been given.
33176
0b787d0e
FZ
331772009-11-21 Felix Zielcke <fzielcke@z-51.de>
33178
33179 Patch from Loïc Minier <loic.minier@ubuntu.com>.
33180 * util/grub.d/30_os-prober.in: Cope with Linux entries where
33181 root and /boot are on different devices.
33182
1164b270
RM
331832009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33184
33185 Fix build for srcdir != objdir.
33186
33187 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
33188 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
33189 $(srcdir).
33190 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
33191 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
33192 reference for input.
33193
13774a2f
RM
331942009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33195
33196 * util/grub-mkrescue.in: Use source directory direcly (without copiing
33197 or hardlinking it). Remove -J option, Joliet is not compatible with
33198 multiple source directories.
33199
efda854e
RM
332002009-11-21 Carles Pina i Estany <carles@pina.cat>
332012009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33202
33203 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33204 (process_input_dir): New function. Process an arbitrary input
33205 directory.
33206 Misc adjustments to support both "override mode" and system-wide mode.
33207
6c09890c
FZ
332082009-11-20 Felix Zielcke <fzielcke@z-51.de>
33209
33210 * configure.ac (UNIFONT_BDF): Rename to ...
33211 (FONT_SOURCE): ... this. Update all users.
33212
a797824f
FZ
332132009-11-20 Felix Zielcke <fzielcke@z-51.de>
33214
33215 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33216 to the list of unifont files to look for.
33217
cd4f42b0
RM
332182009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33219
33220 Patch from Joe Auricchio <jauricchio@gmail.com>
33221 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33222 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33223 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33224
393c783d
FZ
332252009-11-19 Felix Zielcke <fzielcke@z-51.de>
33226
33227 * Makefile.in (install-local): Add a missing backslash.
33228
b2f1e327
FZ
332292009-11-19 Felix Zielcke <fzielcke@z-51.de>
33230
33231 * include/grub/x86_64/io.h: New file.
33232
f577f7a0
RM
332332009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33234
33235 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33236 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33237 Include `"progname.h"'.
33238 (main): Initialize gettext.
33239 * util/i386/pc/grub-setup.c: Gettexttize.
33240 * util/i386/pc/grub-mkimage.c: Likewise.
33241
33242 * Makefile.in (po/*.po): Redefine as ...
33243 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33244
3bc7896c
RM
33245 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33246
c37943b6
RM
332472009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33248
33249 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33250 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33251 (program_name): Remove.
33252 (main): Initialize gettext support.
6323f705
RM
33253 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33254 Include `<libintl.h>'.
33255 (_): New macro.
c37943b6
RM
33256
33257 * util/mkisofs/eltorito.c: Gettexttize.
33258 * util/mkisofs/joliet.c: Likewise.
33259 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
33260 * util/mkisofs/multi.c: Likewise.
33261 * util/mkisofs/rock.c: Likewise.
33262 * util/mkisofs/tree.c: Likewise.
33263 * util/mkisofs/write.c: Likewise.
33264
3bc7896c
RM
33265 * po/POTFILES: Update with new files.
33266
5ce77c6e
RM
332672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33268
33269 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33270 * util/mkisofs/iso9660.h: Likewise.
33271 * util/mkisofs/joliet.c: Likewise.
33272 * util/mkisofs/mkisofs.c: Likewise.
33273 * util/mkisofs/mkisofs.h: Likewise.
33274 * util/mkisofs/rock.c: Likewise.
33275 * util/mkisofs/tree.c: Likewise.
33276 * util/mkisofs/write.c: Likewise.
33277
33278 * util/mkisofs/eltorito.c (rcsid): Remove.
33279 * util/mkisofs/hash.c: Likewise.
33280 * util/mkisofs/joliet.c: Likewise.
33281 * util/mkisofs/name.c: Likewise.
33282 * util/mkisofs/rock.c: Likewise.
33283 * util/mkisofs/tree.c: Likewise.
33284 * util/mkisofs/write.c: Likewise.
33285
1dabbc77
RM
332862009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33287
33288 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33289 instead of static allocation.
33290 * util/mkisofs/match.h: Likewise.
33291
633877cb
RM
332922009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33293
3bc7896c
RM
33294 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33295 and `util/grub.d/10_linux.in'.
633877cb
RM
33296 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33297 translatable Shell files.
33298
af1c0c85
RM
332992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33300
33301 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33302
769ae37b
RM
333032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33304
33305 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33306 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33307 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33308 Add gettext initialization.
33309 (kfreebsd_entry): Make menuentry output translatable.
33310
333112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33312
33313 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33314 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33315 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33316 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33317 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33318 * po/LINGUAS: New file.
769ae37b
RM
33319
333202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33321
33322 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33323 other things).
33324 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33325 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33326 bindtextdomain() calls for gettext initialization.
33327
333282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33329
33330 * gnulib/progname.c: New file (imported from Gnulib).
33331 * gnulib/progname.h: Likewise.
33332 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33333 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33334 (usage): Replace `progname' with `program_name'.
33335 (main): Use set_program_name() for program name initialization.
33336
333372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33338
33339 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33340 from here ...
33341 * Makefile.in (CPPFLAGS): ... to here.
33342
333432009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33344
33345 * aclocal.m4: Move from here ...
33346 * acinclude.m4: ... to here.
33347 * autogen.sh: Add call to `aclocal'.
33348 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33349
333502009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33351
33352 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33353 (LINGUAS): New variable.
33354 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33355 (install-local): Install MO files.
33356 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33357 * include/grub/i18n.h: New file.
3bc7896c
RM
33358 * po/POTFILES: New file.
33359 * po/ca.po: New file.
769ae37b
RM
33360 * util/grub.d/10_linux.in (bindir): New variable.
33361 Add gettext initialization.
33362 (linux_entry): Make menuentry output translatable.
33363 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33364 (usage): Make --help output translatable.
33365 (main): Initialize gettext.
33366
02c0a6ad
RM
333672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33368
33369 * import_gcry.py: New file (written by Vladimir with minor
33370 adjustments).
33371 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33372 ciphers.
33373 * INSTALL: Document that Python is required for bootstrap.
33374
333752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33376
33377 Import ciphers from libgcrypt 1.4.4.
33378
33379 * lib/libgcrypt/cipher/ChangeLog
33380 * lib/libgcrypt/cipher/ac.c
33381 * lib/libgcrypt/cipher/arcfour.c
33382 * lib/libgcrypt/cipher/bithelp.h
33383 * lib/libgcrypt/cipher/blowfish.c
33384 * lib/libgcrypt/cipher/camellia-glue.c
33385 * lib/libgcrypt/cipher/camellia.c
33386 * lib/libgcrypt/cipher/camellia.h
33387 * lib/libgcrypt/cipher/cast5.c
33388 * lib/libgcrypt/cipher/cipher.c
33389 * lib/libgcrypt/cipher/crc.c
33390 * lib/libgcrypt/cipher/des.c
33391 * lib/libgcrypt/cipher/dsa.c
33392 * lib/libgcrypt/cipher/ecc.c
33393 * lib/libgcrypt/cipher/elgamal.c
33394 * lib/libgcrypt/cipher/hash-common.c
33395 * lib/libgcrypt/cipher/hash-common.h
33396 * lib/libgcrypt/cipher/hmac-tests.c
33397 * lib/libgcrypt/cipher/md.c
33398 * lib/libgcrypt/cipher/md4.c
33399 * lib/libgcrypt/cipher/md5.c
33400 * lib/libgcrypt/cipher/primegen.c
33401 * lib/libgcrypt/cipher/pubkey.c
33402 * lib/libgcrypt/cipher/rfc2268.c
33403 * lib/libgcrypt/cipher/rijndael-tables.h
33404 * lib/libgcrypt/cipher/rijndael.c
33405 * lib/libgcrypt/cipher/rmd.h
33406 * lib/libgcrypt/cipher/rmd160.c
33407 * lib/libgcrypt/cipher/rsa.c
33408 * lib/libgcrypt/cipher/seed.c
33409 * lib/libgcrypt/cipher/serpent.c
33410 * lib/libgcrypt/cipher/sha1.c
33411 * lib/libgcrypt/cipher/sha256.c
33412 * lib/libgcrypt/cipher/sha512.c
33413 * lib/libgcrypt/cipher/tiger.c
33414 * lib/libgcrypt/cipher/twofish.c
33415 * lib/libgcrypt/cipher/whirlpool.c
33416
af2f93ac
RM
334172009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33418
33419 Fix build for systems without error().
33420
33421 * gnulib/error.c: New file (imported from Gnulib).
33422 * gnulib/error.h: Likewise.
33423 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33424 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33425 (this variable is now used by error()).
33426
73fb3dd5
FZ
334272009-11-16 Felix Zielcke <fzielcke@z-51.de>
33428
814f5e96
FZ
33429 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33430 instead of relying that char is signed.
73fb3dd5 33431
a691ca33
VS
334322009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33433
33434 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33435 blocksize different from specified.
33436 (grub_pxefs_read): Likewise.
33437
2af8f0f4
FZ
334382009-11-16 Felix Zielcke <fzielcke@z-51.de>
33439
33440 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33441
33442 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33443 (grub_ata_readwrite): Likewise. Update 2 format strings.
33444 (grub_atapi_read): Likewise.
33445
33446 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33447 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33448 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33449 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33450 (ata_mod_LDFLAGS): Move from here ...
33451 * conf/i386.rmk: ... to here ...
33452 * conf/x86_64-efi.rmk: ... and here.
33453 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33454 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33455
83bdecaf
RM
334562009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33457
33458 Relicense multiboot.h, with RMS' blessing.
33459
33460 * include/multiboot.h: Change to X11 license.
33461
fd6fd3d7
RM
334622009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33463
33464 Support --version in grub-mkisofs.
33465
33466 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33467 (OPTION_VERSION): New macro.
33468 (ld_options): Recognize --version.
33469 (usage): Move `program_name' from here ...
33470 (program_name): ... to here. Add `static' qualifier.
33471 (main): Recognize `OPTION_VERSION'.
33472
16a88c49
FZ
334732009-11-15 Felix Zielcke <fzielcke@z-51.de>
33474
33475 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33476 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33477
a4158476
RM
334782009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33479
33480 Fix help2man generation for mkisofs.
33481
33482 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33483 (usage): Send output to stdout (rather than stderr).
33484
fc2208b0
RM
334852009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33486
33487 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33488 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33489 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33490 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33491 (bin_SCRIPTS): Add `grub-mkfloppy'.
33492 (grub_mkfloppy_SOURCES): New variable.
33493
33494 * util/grub-mkrescue.in: New file.
33495 * util/i386/pc/grub-mkfloppy.in: New file.
33496
33497 * util/i386/coreboot/grub-mkrescue.in: Remove.
33498 * util/i386/pc/grub-mkrescue.in: Remove.
33499
8d0edf4a
RM
335002009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33501
33502 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33503 from here ...
33504 * include/multiboot.h (struct multiboot_header): ... to here. Update
33505 all users.
33506 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33507 from here ...
33508 * include/multiboot.h (struct multiboot_info): ... to here. Update
33509 all users.
33510 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33511 from here ...
33512 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33513 Update all users.
33514 * include/grub/multiboot.h (struct grub_mod_list): Move
33515 from here ...
33516 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33517 Update all users.
33518
a73f5969
RM
335192009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33520
33521 * include/multiboot2.h (multiboot_word): Rename from this ...
33522 (multiboot2_word): ... to this. Update all users.
33523 (multiboot_header): Rename from this ...
33524 (multiboot2_header): ... to this. Update all users.
33525 (multiboot_tag_header): Rename from this ...
33526 (multiboot2_tag_header): ... to this. Update all users.
33527 (multiboot_tag_start): Rename from this ...
33528 (multiboot2_tag_start): ... to this. Update all users.
33529 (multiboot_tag_name): Rename from this ...
33530 (multiboot2_tag_name): ... to this. Update all users.
33531 (multiboot_tag_module): Rename from this ...
33532 (multiboot2_tag_module): ... to this. Update all users.
33533 (multiboot_tag_memory): Rename from this ...
33534 (multiboot2_tag_memory): ... to this. Update all users.
33535 (multiboot_tag_unused): Rename from this ...
33536 (multiboot2_tag_unused): ... to this. Update all users.
33537 (multiboot_tag_end): Rename from this ...
33538 (multiboot2_tag_end): ... to this. Update all users.
33539
1c8927f0
RM
335402009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33541
33542 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33543 this platform we should support Multiboot1 first.
33544
33545 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33546 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33547 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33548
6e1e0d89
RM
335492009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33550
33551 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33552 of write calls (converting them to fwrite() if they aren't already).
33553 (get_torito_desc): Likewise.
33554 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33555
7f2b34d8
RM
335562009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33557
33558 * util/i386/pc/grub-install.in: Move from here ...
33559 * util/grub-install.in: ... to here. Update all users.
33560
c0ef3311
CW
335612009-11-11 Colin Watson <cjwatson@ubuntu.com>
33562
33563 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33564
e1f240ff
RM
335652009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33566
33567 Support for El Torito without floppy emulation.
33568
33569 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33570 (init_boot_catalog): Improve error handling.
33571 (get_torito_desc): Don't use floppy emulation unless requested by
33572 user. Patch boot information table when requested via
33573 `-boot-info-table'.
33574 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33575 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33576 (use_boot_info_table): New variables.
33577 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33578 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33579 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33580 `--eltorito-emul-floppy'.
33581 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33582 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33583 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33584 (use_boot_info_table, get_731): New prototypes.
33585 * util/mkisofs/write.c (get_731): New function.
33586
af7d4de5
FZ
335872009-11-11 Felix Zielcke <fzielcke@z-51.de>
33588
33589 Fix the generation of the man page.
33590
33591 * util/pc/i386/grub-install.in: Source
33592 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33593
2c55dbc0
RM
335942009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33595
33596 Large file support for grub-mkisofs.
33597
33598 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33599 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33600 (session_start): Upgrade type to `uint64_t'. Update all users.
33601 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33602 (struct directory_entry): Upgrade type of `starting_block' and
33603 `size' to `uint64_t'. Update all users.
33604 (struct deferred): Remove unused structure.
33605 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33606 Update all users.
33607 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33608 file is larger than `UINT32_MAX'.
33609 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33610 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33611 return value.
33612 (struct deferred_write): Upgrade type of `extent' and `size' to
33613 `uint64_t'. Update all users.
33614 (last_extent_written): Upgrade type to `uint64_t'. Update all
33615 users.
33616 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33617 Update all users. Upgrade type of `remain' to `int64_t' and
33618 `use' to `size_t'. Use error() to handle fread() errors.
33619 (write_files): Rely on write_one_file() rather than calling
33620 xfwrite() directly.
33621
6a9cead5
FZ
336222009-11-09 Felix Zielcke <fzielcke@z-51.de>
33623
33624 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33625
4825d790
RM
336262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33627
33628 * util/mkisofs/fnmatch.c: Remove.
33629 * util/mkisofs/getopt1.c: Likewise.
33630 * util/mkisofs/getopt.c: Likewise.
33631 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33632 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33633 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33634 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33635 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33636
33637 * configure.ac: Detect `mingw32msvc' host_os.
33638 Check for lstat(), getuid() and getgid().
33639
33640 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33641 instances of `u_char' with `uint8_t'.
33642
33643 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33644 [!HAVE_GETUID] (getuid): New function (stub).
33645 [!HAVE_GETGID] (getgid): Likewise.
33646 [!HAVE_LSTAT] (lstat): Likewise.
33647 [!S_IROTH] (S_IROTH): New macro (dummy).
33648 [!S_IRGRP] (S_IRGRP): Likewise.
33649
84b860d8
RM
336502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33651
33652 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33653 conditional expression).
33654
66e9b712
RM
336552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33656
33657 Import from Gnulib.
33658
33659 * gnulib/fnmatch.c: New file.
33660 * gnulib/fnmatch.h: Likewise.
33661 * gnulib/fnmatch_loop.c: Likewise.
33662 * gnulib/getopt.c: Likewise.
33663 * gnulib/getopt.h: Likewise.
33664 * gnulib/getopt1.c: Likewise.
33665 * gnulib/getopt_int.h: Likewise.
33666 * gnulib/gettext.h: Likewise.
33667
34f4a5b0
RM
336682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33669
33670 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33671 * normal/handler.c (read_handler_list): Likewise.
33672
ac451143
RM
336732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33674
33675 Misc cleanup.
33676
33677 * kern/command.c (grub_register_command_prio): Use
33678 grub_zalloc() instead of explicitly zeroing data.
33679 * kern/list.c: Include `<grub/mm.h>'.
33680 (grub_named_list_find): Replace `0' with `NULL'.
33681 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33682 (fs_module_list): Change type to `grub_named_list_t'. Update all
33683 users.
33684 * normal/dyncmd.c (read_command_list): Add space between function
33685 call and parenthesis.
33686 * normal/handler.c (read_handler_list): Likewise.
33687
4089b167
RM
336882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33689
33690 * normal/auth.c (punishment_delay): Moved from here ...
33691 (grub_auth_strcmp): ... to here (inside function).
33692
325f5037
RM
336932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33694
33695 * include/grub/list.h (struct grub_named_list): Remove `const'
33696 qualifier from `name'.
33697 (struct grub_prio_list): Likewise.
33698
7aea29a3
RM
336992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33700
33701 * normal/auth.c: Include `<grub/time.h>'.
33702 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33703
3fd6f044
RM
337042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33705
33706 * normal/auth.c (punishment_delay): New variable.
33707 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33708 (grub_auth_check_authentication): Punish failed login attempts with
33709 an incremental (2^N) delay.
33710
a4cd68e4
RM
337112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33712
33713 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33714 path with $(srcdir).
33715
7ad12f43
VS
337162009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33717
33718 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33719
c1129f03
RM
337202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33721
33722 * util/i386/coreboot/grub-mkrescue.in: New file.
33723 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
33724 variables.
33725
33726 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
33727 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
33728 * configure.ac: Add header and function checks to satisfy grub-mkisofs
33729 requirements.
33730 * util/mkisofs/defaults.h: New file.
33731 * util/mkisofs/eltorito.c: Likewise.
33732 * util/mkisofs/exclude.h: Likewise.
33733 * util/mkisofs/fnmatch.c: Likewise.
33734 * util/mkisofs/getopt.c: Likewise.
33735 * util/mkisofs/getopt1.c: Likewise.
33736 * util/mkisofs/hash.c: Likewise.
33737 * util/mkisofs/include/fctldefs.h: Likewise.
33738 * util/mkisofs/include/mconfig.h: Likewise.
33739 * util/mkisofs/include/prototyp.h: Likewise.
33740 * util/mkisofs/include/statdefs.h: Likewise.
33741 * util/mkisofs/iso9660.h: Likewise.
33742 * util/mkisofs/joliet.c: Likewise.
33743 * util/mkisofs/match.c: Likewise.
33744 * util/mkisofs/match.h: Likewise.
33745 * util/mkisofs/mkisofs.c: Likewise.
33746 * util/mkisofs/mkisofs.h: Likewise.
33747 * util/mkisofs/multi.c: Likewise.
33748 * util/mkisofs/name.c: Likewise.
33749 * util/mkisofs/rock.c: Likewise.
33750 * util/mkisofs/tree.c: Likewise.
33751 * util/mkisofs/write.c: Likewise.
33752
ec8bb77d
VS
337532009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33754
33755 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
33756 being insecure.
33757
3716b12c
RM
337582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33759
33760 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
33761 `grub-mkimage' (and use $0 when possible).
33762
b97b7b91
RM
337632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33764
33765 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
33766 error message for excessively large memory map.
33767
04114812
RM
337682009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33769
33770 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
33771 executable bit.
33772
e4eb2373
RM
337732009-11-08 Robert Millan <rmh.grub@aybabtu.com>
33774
33775 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
33776 message for coreboot users.
33777
c926e1d5 337782009-11-07 Robert Millan <rmh.grub@aybabtu.com>
33779
33780 Fix build with GNU gold.
33781
33782 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
33783 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
33784 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
33785 link addresses.
33786 * aclocal.m4: Likewise.
33787
86e5b1db 337882009-11-04 Felix Zielcke <fzielcke@z-51.de>
33789
33790 * configure.ac (AC_PREREQ): Bump to 2.59d.
33791 * INSTALL: Make it more clear when Autoconf and Ruby are
33792 needed and when to run `./autogen.sh'.
33793
246cd78f 337942009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
33795
33796 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
33797 OSes.
33798
4f9dfb37 337992009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33800
33801 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
33802
b82bd5e1 338032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33804
33805 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
33806 giving it to GNU Mach.
33807
ff1a9bca 338082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33809
33810 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
33811 GNU partition number to get internal GRUB partition number.
33812
61697d9c 338132009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
33814
33815 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
33816 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
33817
a50569e1 338182009-11-01 Robert Millan <rmh.grub@aybabtu.com>
33819
33820 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
33821 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
33822 case.
33823
5b153867 338242009-11-01 Felix Zielcke <fzielcke@z-51.de>
33825
33826 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
33827
d9e2cd70 338282009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33829
33830 Fix build problem.
33831
33832 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33833 `-isystem=$(srcdir)/include'.
33834
805111a4 338352009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33836
33837 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33838 checked (grub-install doesn't currently rely on it).
33839
fa6e945f 338402009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33841
33842 Revert SVN r2660.
33843
33844 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33845 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33846 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33847 * conf/i386-ieee1275.rmk: Likewise.
33848 * conf/i386-pc.rmk: Likewise.
33849 * conf/powerpc-ieee1275.rmk: Likewise.
33850 * conf/sparc64-ieee1275.rmk: Likewise.
33851 * conf/x86_64-efi.rmk: Likewise.
33852
cee15086 338532009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33854
33855 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33856
95b9239e 338572009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33858
33859 * include/grub/misc.h: Stop checking for APPLE_CC.
33860
2ed19dfd 338612009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33862
33863 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33864 doesn't cause an infinite call loop.
33865
fdcdde19 338662009-10-28 Felix Zielcke <fzielcke@z-51.de>
33867
33868 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33869 strings.
33870
cefabfe1 338712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33872
33873 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33874 variable.
33875 * Makefile.in: Likewise.
33876
ed96ab6d 338772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33878
33879 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33880
0579b753 338812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33882
33883 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33884
478df409 338852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33886
33887 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33888
083d1679 338892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33890
33891 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33892 from here ...
33893 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33894
5947ae32 338952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33896
33897 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33898 in $(MAKEINFO) invocation. This makes it clear in output that
33899 errors are being ignored.
33900
94180ff6 339012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33902
33903 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33904 from here ...
33905 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33906 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33907 * conf/i386-ieee1275.rmk: Likewise.
33908 * conf/i386-pc.rmk: Likewise.
33909 * conf/powerpc-ieee1275.rmk: Likewise.
33910 * conf/sparc64-ieee1275.rmk: Likewise.
33911 * conf/x86_64-efi.rmk: Likewise.
33912
9031b03a 339132009-10-26 Colin Watson <cjwatson@ubuntu.com>
33914
33915 * util/grub-editenv.c (main): If only a command is given, use
33916 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33917 (usage): FILENAME is now optional and has a default.
33918
e4f6809b 339192009-10-26 Colin Watson <cjwatson@ubuntu.com>
33920
33921 Improve grub-mkconfig performance when there are several menu
33922 entries on a single filesystem.
33923
33924 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33925 prepare_grub_to_access_device.
33926 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33927 * util/grub.d/30_os-prober.in: Likewise.
33928
67937d4d 339292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33930
33931 * util/grub.d/10_freebsd.in: Remove.
33932 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33933 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33934
ee3756cc 339352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33936
5c35048e 33937 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33938
4dea1c6f 339392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33940
33941 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33942 grub_util_error() call.
33943
042484d7 339442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33945
33946 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33947 `reserved_first_sector' member.
33948 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33949 `reserved_first_sector' to 1.
33950 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33951 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33952 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33953 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33954 filesystems which begin at first sector.
33955 (options): New option --skip-fs-probe.
33956 (main): Handle --skip-fs-probe and pass it to setup().
33957
d64448a7 339582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33959
33960 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33961 (memset): Fix function prototype.
33962
508d42ec 339632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
339642009-10-25 Vasily Averin <vvs@parallels.com>
33965
33966 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33967 `dirent.direntlen == 0'.
33968
b240e30c 339692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33970
33971 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33972 `cpio'.
33973 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33974
346e7fbe 339752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33976
33977 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33978 `__trampoline_setup' and `__ucmpdi2'.
33979 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33980 that libgcc provides.
33981
cdb308b0 339822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33983
33984 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33985 * include/grub/sparc64/libgcc.h (memset): Likewise.
33986 * include/grub/misc.h (memset, memcmp): New function prototypes.
33987
fb26abc2 339882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33989
33990 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33991 `cpio'.
33992 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33993
f6693890 339942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33995
33996 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33997 * docs/grub.cfg: Compensate for recent change in multiboot
33998 loader (since 2009-08-14 it won't pass filename to payload).
33999 * util/grub.d/10_hurd.in: Likewise.
34000
0933cdc0 340012009-10-21 Felix Zielcke <fzielcke@z-51.de>
34002
34003 * config.guess: Update to latest version from config git
34004 repository.
34005 * config.sub: Likewise.
34006
3b2fe8c2 340072009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34008
34009 Fix build on sparc64.
34010
34011 * configure.ac: Perform checks for libgcc symbols before
34012 adding `-nostdlib' to LDFLAGS.
34013
46695a62 340142009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34015
34016 Let user specify OpenBSD root device.
34017
34018 * loader/i386/bsd.c (openbsd_root): New variable.
34019 (openbsd_opts): New option 'root'.
34020 (OPENBSD_ROOT_ARG): New macro.
34021 (grub_openbsd_boot): Use 'openbsd_root'.
34022 (grub_cmd_openbsd): Fill 'openbsd_root'.
34023
d2b6b7fc 340242009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34025
34026 * NEWS: Misc adjustments.
34027
421bd7ac 340282009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34029
34030 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34031
f1d29d87 340322009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34033
34034 * configure.ac: Bump version to 1.97.
34035
6f3cd880 340362009-10-16 Colin Watson <cjwatson@ubuntu.com>
34037
34038 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34039 -mno-3dnow on x86 architectures. Some toolchains enable these
34040 features by default, but they rely on registers that aren't enabled
34041 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34042
035f7122 340432009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34044
34045 Make entry text a bit more readable.
34046
34047 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34048
44998e58 340492009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34050
34051 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34052
cd2851b3 340532009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34054
34055 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34056 operations.
34057
c6f3b249 340582009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34059
34060 * configure.ac: Add missing dollar.
34061
6b5886ba 340622009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34063
34064 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34065
34066 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34067 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34068 exports.
34069 * include/grub/sparc64/libgcc.h: Likewise. Use
34070 preprocessor conditionals.
34071
e9d66f6d 340722009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34073
34074 * conf/common.rmk (grub-dumpbios): Remove rule.
34075 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34076 * util/grub-dumpbios.in: Remove file.
34077
9155bc17 340782009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34079
34080 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
34081 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
34082
34083 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
34084 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
34085 users.
34086
34087 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
34088 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34089 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34090 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34091 users.
34092
bf7f7a18 340932009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34094
34095 * term/tparm.c: Switch to GPLv3.
34096
86564c26 340972009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34098
34099 * include/grub/i386/cpuid.h: Add header protection.
34100
5c936493 341012009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34102
34103 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34104
34105 * include/grub/i386/cpuid.h: New file.
34106 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34107 (has_longmode): Rename to ...
34108 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34109 `static' attribute.
34110 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34111 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34112 on a CPU that doesn't implement AMD64 instruction set.
34113
186e7cf2 341142009-10-06 Colin Watson <cjwatson@ubuntu.com>
34115
34116 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
34117 that version.texi is rebuilt on version number changes.
34118
83b65c4a 341192009-10-06 Colin Watson <cjwatson@ubuntu.com>
34120
34121 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
34122 Fixes bug #27602.
34123
d244281c 341242009-10-06 Colin Watson <cjwatson@ubuntu.com>
34125
34126 * util/i386/pc/grub-install.in: Source
34127 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
34128 that the --grub-probe option will work.
34129 * util/sparc64/ieee1275/grub-install.in: Likewise.
34130
da25306d 341312009-10-05 Robert Millan <rmh.grub@aybabtu.com>
34132
34133 * configure.ac: Bump version to 1.97~beta4.
34134
e8ee83c0 341352009-10-03 Robert Millan <rmh.grub@aybabtu.com>
34136
34137 Resync grub-mkdevicemap in x86_64-efi.
34138
34139 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
34140 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
34141 `util/devicemap.c'.
34142
50dcabcf 341432009-10-01 Colin Watson <cjwatson@ubuntu.com>
34144
34145 * util/grub-editenv.c (create_envblk_file): Write new block with a
34146 .new suffix and then rename it into place, to ensure atomic
34147 creation.
34148
0e51c3a7 341492009-09-28 Robert Millan <rmh.grub@aybabtu.com>
34150
34151 Do not automatically install headers.
34152
34153 * Makefile.in (include_DATA): Remove. Update all users.
34154
31299a95 341552009-09-26 Robert Millan <rmh.grub@aybabtu.com>
34156
34157 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
34158 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
34159
34160 * util/osdetect.lua: Remove.
34161 * script/lua/lauxlib.c: Likewise.
34162 * script/lua/ldebug.c: Likewise.
34163 * script/lua/grub_main.c: Likewise.
34164 * script/lua/lauxlib.h: Likewise.
34165 * script/lua/ldebug.h: Likewise.
34166 * script/lua/ltablib.c: Likewise.
34167 * script/lua/liolib.c: Likewise.
34168 * script/lua/lstrlib.c: Likewise.
34169 * script/lua/lualib.h: Likewise.
34170 * script/lua/ldo.c: Likewise.
34171 * script/lua/ldump.c: Likewise.
34172 * script/lua/ldo.h: Likewise.
34173 * script/lua/loslib.c: Likewise.
34174 * script/lua/lundump.c: Likewise.
34175 * script/lua/grub_lib.c: Likewise.
34176 * script/lua/ldblib.c: Likewise.
34177 * script/lua/lundump.h: Likewise.
34178 * script/lua/lmem.c: Likewise.
34179 * script/lua/grub_lib.h: Likewise.
34180 * script/lua/lmathlib.c: Likewise.
34181 * script/lua/lstate.c: Likewise.
34182 * script/lua/ltm.c: Likewise.
34183 * script/lua/lvm.c: Likewise.
34184 * script/lua/lmem.h: Likewise.
34185 * script/lua/lstate.h: Likewise.
34186 * script/lua/ltm.h: Likewise.
34187 * script/lua/ltable.c: Likewise.
34188 * script/lua/lvm.h: Likewise.
34189 * script/lua/llex.c: Likewise.
34190 * script/lua/lgc.c: Likewise.
34191 * script/lua/grub_lua.h: Likewise.
34192 * script/lua/loadlib.c: Likewise.
34193 * script/lua/lfunc.c: Likewise.
34194 * script/lua/lopcodes.c: Likewise.
34195 * script/lua/lparser.c: Likewise.
34196 * script/lua/ltable.h: Likewise.
34197 * script/lua/llex.h: Likewise.
34198 * script/lua/lgc.h: Likewise.
34199 * script/lua/lfunc.h: Likewise.
34200 * script/lua/lbaselib.c: Likewise.
34201 * script/lua/lopcodes.h: Likewise.
34202 * script/lua/lparser.h: Likewise.
34203 * script/lua/lzio.c: Likewise.
34204 * script/lua/linit.c: Likewise.
34205 * script/lua/lobject.c: Likewise.
34206 * script/lua/llimits.h: Likewise.
34207 * script/lua/lstring.c: Likewise.
34208 * script/lua/lzio.h: Likewise.
34209 * script/lua/lapi.c: Likewise.
34210 * script/lua/lcode.c: Likewise.
34211 * script/lua/lua.h: Likewise.
34212 * script/lua/lobject.h: Likewise.
34213 * script/lua/lstring.h: Likewise.
34214 * script/lua/lapi.h: Likewise.
34215 * script/lua/lcode.h: Likewise.
34216 * script/lua/luaconf.h: Likewise.
34217
cb8a2c38 342182009-09-26 Colin Watson <cjwatson@ubuntu.com>
34219
34220 * docs/grub.texi (Command-line and menu entry commands): Document
34221 date and echo commands.
34222
6b9b6276 342232009-09-24 Pavel Roskin <proski@gnu.org>
34224
34225 * include/grub/kernel.h (struct grub_module_header): Remove
34226 `grub_module_header_types'. Make `type' unsigned. Make `size'
34227 32-bit on all platforms.
34228 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34229 8-bit field. Use grub_host_to_target32() for `size'.
34230 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34231 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34232 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34233
4e5a02a7 342342009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34235
34236 Fix "lost keypress" bug in at_keyboard.
34237
34238 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34239 Checks for readyness of input buffer (without flushing it).
34240 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34241 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34242
c6dcedf6 342432009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34244
34245 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34246 size check within GRUB_MACHINE_PCBIOS section.
34247
74c958b1 342482009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34249
34250 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34251 return value.
34252 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34253 KEYBOARD_ISREADY check.
34254 (grub_at_keyboard_checkkey): Rename to ...
34255 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34256 Remove gratuitous cast.
34257
ff420223 342582009-09-23 Colin Watson <cjwatson@ubuntu.com>
34259
34260 * configure.ac: Call AC_PROG_MKDIR_P.
34261 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34262 version.texi in $(builddir) rather than $(srcdir).
34263 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34264 to makeinfo's @include search path.
34265
d96875df 342662009-09-23 Felix Zielcke <fzielcke@z-51.de>
34267
34268 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34269
9b3f8365 342702009-09-23 Felix Zielcke <fzielcke@z-51.de>
34271
34272 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34273 for `*.dpkg-new'.
34274
c44c90db 342752009-09-21 Colin Watson <cjwatson@ubuntu.com>
34276
34277 Build info documentation. Some code borrowed from Automake.
34278
34279 * configure.ac: Check for makeinfo.
34280 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34281 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34282 docs/version.texi.
34283 (MOSTLYCLEANFILES): Add vti.tmp.
34284 (docs/version.texi, docs/stamp-vti): Update automatically.
34285 (docs/grub.info): Build info documentation. Use --force and ignore
34286 errors for now.
34287 (all-local): Add $(INFOS).
34288 (install-local): Install info files.
34289 (uninstall): Uninstall info files.
34290 * docs/version.texi: Remove from revision control. This file is
34291 automatically generated on build now.
34292 * gendistlist.sh: Add `*.info'.
34293
e0b37bb5 342942009-09-21 Felix Zielcke <fzielcke@z-51.de>
34295
34296 * kern/term.c: Fix indentation.
34297
5a78865b 342982009-09-21 Felix Zielcke <fzielcke@z-51.de>
34299
34300 * util/hostdisk.c: Fix a comment.
34301
dace7e8a 343022009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34303
34304 Fix regression introduced in r2539.
34305
34306 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34307 to 0xA1.
34308
a83d079b 343092009-09-19 Colin Watson <cjwatson@ubuntu.com>
34310
34311 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34312 os-prober. Under normal operation, it does not print anything to
34313 stderr; if it does, we need to debug it, and throwing away stderr
34314 makes that excessively difficult.
a83d079b 34315
be94a509 343162009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34317
34318 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34319
63f745e8 343202009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34321
34322 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34323 AC_LANG_PROGRAM from autoconf.
34324 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34325 prototypes (fixes warning).
34326
34327 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34328 `--disable-werror' was used.
34329
bbb2a70f 343302009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34331
34332 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34333 uninitialized `lastaddr'.
34334
77c24f1d 343352009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34336
0f0b8c87 34337 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34338
07197f23 343392009-09-14 Colin Watson <cjwatson@ubuntu.com>
34340
34341 * commands/test.c (get_fileinfo): Return immediately if
34342 grub_fs_probe fails.
34343
dabf1798 343442009-09-14 José Martínez <xosemp@gmail.com>
34345
34346 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34347
d52109a7 343482009-09-14 Colin Watson <cjwatson@ubuntu.com>
34349
34350 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34351 output.
34352
56532179 343532009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34354
34355 * configure.ac: Remove --enable-grub-pe2elf. Only build
34356 grub-pe2elf when needed by the build system itself.
34357 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34358
8ef070f5 343592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34360
34361 * configure.ac: Bump version to 1.97~beta3.
34362 * docs/version.texi: Likewise.
34363
61229557 343642009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34365
34366 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34367 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34368 from here ...
34369 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34370 (grub_linux_setup_video): ... to here (with some adjustments).
34371
5c9f8d84 343722009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34373
34374 Fix memory corruption issue (spotted by Colin Watson).
34375
34376 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34377 causing returned size to be stored in an incorrect memory location.
34378 Fix use of uninitialized value when storing the returned size.
34379
e8f5d6e9 343802009-09-12 Yves Blusseau <blusseau@zetam.org>
34381
34382 Change clean rules to properly remove files
34383
34384 * genmk.rb: add new clean rules
34385 * Makefile.in (clean): add the new targets
34386 (mostlyclean): likewise
34387
cda2a409 343882009-09-11 Colin Watson <cjwatson@ubuntu.com>
34389
34390 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34391 to grub_uint64_t.
34392 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34393 non-resident files.
34394
86695375 343952009-09-11 Colin Watson <cjwatson@ubuntu.com>
34396
34397 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34398 part of bug #27349.
34399
8aa1541a 344002009-09-10 Felix Zielcke <fzielcke@z-51.de>
34401
34402 * util/grub-mkconfig.in: Make the created config mode 400 and
34403 print a warning if it fails.
34404
48d9bb0a 344052009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34406
34407 * util/grub.d/40_custom.in: Ask user to type custom entries below
34408 comment, rather than below 'exec tail' line.
34409
3b0521be 344102009-09-10 Colin Watson <cjwatson@ubuntu.com>
34411
34412 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34413 visible in grub.cfg.
34414
50051d55 344152009-09-10 Colin Watson <cjwatson@ubuntu.com>
34416
34417 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34418 file.
34419
c0d34387 344202009-09-10 Felix Zielcke <fzielcke@z-51.de>
34421
34422 * docs/grub.cfg: Add an example menu entry for memtest86+.
34423
80a608f3 344242009-09-09 Felix Zielcke <fzielcke@z-51.de>
34425
a2094832 34426 * config.guess: Update to latest version from config git.
80a608f3 34427 * config.sub: Likewise.
34428
99423078 344292009-09-08 Colin Watson <cjwatson@ubuntu.com>
34430
34431 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34432 unknown-command case. Fixes bug #27320.
34433
44454e4c 344342009-09-08 Felix Zielcke <fzielcke@z-51.de>
34435
34436 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34437 `help' if the command exists.
34438
e30d87ad 344392009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34440
34441 * INSTALL: Require GCC 4.1.3 or later.
34442
9a86f1ec 344432009-09-06 Yves Blusseau <blusseau@zetam.org>
34444
34445 * Makefile.in (RMKFILES): add i386-qemu.rmk
34446 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34447 $(srcdir)/stamp-h.in
34448
7f26d466 344492009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34450
34451 * util/grub-probe.c (probe): Comment out buggy codepath, which
34452 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34453 should be re-enabled after 1.97.
34454
3a613259 344552009-09-05 Felix Zielcke <fzielcke@z-51.de>
34456
34457 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34458 find searches for.
34459
197f76c7 344602009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34461
34462 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34463 unnecessary calls to grub_error.
34464
70ba68ce 344652009-09-04 Colin Watson <cjwatson@ubuntu.com>
34466
34467 * NEWS: Mention `keystatus' and Unicode fonts.
34468
4ff0d7a4 344692009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34470
34471 * configure.ac: Bump version to 1.97~beta2.
34472 * docs/version.texi: Likewise.
34473
77c55a87 344742009-09-03 Colin Watson <cjwatson@ubuntu.com>
34475
34476 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34477 containing unwind information in some cases where it previously did
34478 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34479 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34480 discussion.
34481
f79572cd 344822009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34483
34484 Embedding loadenv module into grub-emu
34485
34486 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34487 commands/loadenv.c
34488 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34489 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34490 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34492 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34493 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34494
93a81088 344952009-09-03 Magnus Granberg <zorry@ume.nu>
34496
34497 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34498 include -fPIE in the default specs.
34499 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34500 to TARGET_CFLAGS.
34501
160034b2 345022009-09-03 Felix Zielcke <fzielcke@z-51.de>
34503
34504 * INSTALL: Note that GNU Bison 2.3 or later is required.
34505
087c07c4 345062009-09-03 Colin Watson <cjwatson@ubuntu.com>
34507
34508 * kern/i386/pc/startup.S: Fix typo.
34509
cbf978c0 345102009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34511
34512 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34513 according to GCS.
34514
345152009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34516
34517 * docs/grub.texi (Naming convention): Describe one-based partition
34518 numbering.
34519 (Device syntax): Likewise.
34520 (File name syntax): Likewise.
34521 (Block list syntax): Likewise.
34522 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34523 menu.lst.
34524 (File name syntax): Likewise.
34525 (Command-line and menu entry commands): Document acpi, blocklist,
34526 crc, export, insmod, keystatus, ls, set, and unset commands.
34527
f3e8cdfd 345282009-09-02 Colin Watson <cjwatson@ubuntu.com>
34529
34530 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34531 to avoid implying that only one of --shift, --ctrl, or --alt may be
34532 used.
34533
c0bc232b 345342009-09-02 Colin Watson <cjwatson@ubuntu.com>
34535
34536 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34537 rather than comparing against S_IFREG, which will almost never work.
34538
aa0f752d 345392009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34540
34541 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34542 (write_blocklists): Likewise.
34543
ecb3166a 345442009-09-01 Colin Watson <cjwatson@ubuntu.com>
34545
34546 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34547 argument to grub_printf.
34548
c403a125 345492009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34550
34551 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34552 non GNU test.
31aba781 34553
b5e7312c 345542009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34555
34556 * kern/file.c (grub_file_read): Spelling fix
34557
fe00f472 345582009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34559
34560 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34561 loading of headers in some cases.
34562
cc55302e 345632009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34564
34565 * configure.ac: Bump version to 1.97~beta1.
34566 * docs/version.texi: Likewise.
34567
5c90cdd2 345682009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34569
34570 * include/grub/i386/xnu.h: Add license header.
34571 include grub/err.h explicitly.
34572
c90edae4 345732009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34574
34575 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34576 to `ufs' in the vfs.root.mountfrom kernel parameter.
34577
d8888b5c 345782009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34579
34580 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34581
34582 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34583 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34584
34585 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34586 `ARRAY_SIZE' macro.
34587
6f07b921 345882009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34589
34590 * kern/file.c (grub_file_read): Check offset.
34591 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34592 * fs/jfs.c (grub_jfs_read_file): Likewise.
34593 * fs/ntfs.c (grub_ntfs_read): Likewise.
34594 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34595 * fs/minix.c (grub_minix_read_file): Correct offset check.
34596 * fs/ufs.c (grub_ufs_read_file): Likewise.
34597
b4f34077 345982009-08-28 Colin Watson <cjwatson@ubuntu.com>
34599
34600 * term/i386/pc/console.c (bios_data_area): Cast
34601 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34602
e7c69859 346032009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34604
34605 1-bit optimised blitters.
34606
34607 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34608 prototype.
34609 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34610 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34611 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34612 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34613 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34614 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34615 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34616 function.
34617 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34618 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34619 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34620 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34621 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34622 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34623 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34624 when possible.
34625 * video/video.c (grub_video_get_blit_format): Return
34626 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34627
a57da43f 346282009-08-28 Colin Watson <cjwatson@ubuntu.com>
34629
34630 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34631 the first argument to grub_printf.
34632
4cbe67e5 346332009-08-28 Colin Watson <cjwatson@ubuntu.com>
346342009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34635
34636 Add `getkeystatus' terminal method. Add a new `keystatus' command
34637 to query it.
34638
34639 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34640 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34641 modifier key bitmasks.
34642 (struct grub_term_input): Add `getkeystatus' member.
34643 (grub_getkeystatus): Add prototype.
34644 * kern/term.c (grub_getkeystatus): New function.
34645
34646 * include/grub/i386/pc/memory.h
34647 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34648 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34649 Data Area layout.
34650 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34651 (grub_console_term_input): Set `getkeystatus' member.
34652 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34653 constants.
34654 (grub_usb_keyboard_getreport): Likewise.
34655 (grub_usb_keyboard_checkkey): Likewise.
34656 (grub_usb_keyboard_getkeystatus): New function.
34657 (grub_usb_keyboard_term): Set `getkeystatus' member.
34658
34659 * commands/keystatus.c: New file.
34660 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34661 (keystatus_mod_SOURCES): New variable.
34662 (keystatus_mod_CFLAGS): Likewise.
34663 (keystatus_mod_LDFLAGS): Likewise.
34664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34665 commands/keystatus.c.
34666 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34667 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34668 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34670 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34671 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 34672
6e2a9085 346732009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34674
34675 Split befs.mod and afs.mod into *_be.mod and *.mod
34676
34677 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34678 (grub_fstest_SOURCES): Likewise.
34679 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34680 (afs_be_mod_SOURCES): New variable.
34681 (afs_be_mod_CFLAGS): Likewise.
34682 (afs_be_mod_LDFLAGS): Likewise.
34683 (befs_be_mod_SOURCES): Likewise.
34684 (befs_be_mod_CFLAGS): Likewise.
34685 (befs_be_mod_LDFLAGS): Likewise.
34686 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34687 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34688 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34689 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34690 (grub_emu_SOURCES): Likewise.
34691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34692 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34693 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34694 * fs/afs_be.c: New file.
34695 * fs/befs_be.c: New file.
34696 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34697 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34698 (U16): Replaced with ...
34699 (grub_afs_to_cpu16): ...this. All users updated.
34700 (U32): Replaced with ...
34701 (grub_afs_to_cpu32): ...this. All users updated.
34702 (U64): Replaced with ...
34703 (grub_afs_to_cpu64): ...this. All users updated.
34704 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34705 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34706 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34707 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34708 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34709 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34710 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34711 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34712 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34713 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34714 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34715
32a71655 347162009-08-26 Bean <bean123ch@gmail.com>
34717
34718 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34719 64-bit number.
34720 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
34721 (grub_xfs_inode_block): Change return type to grub_uint64_t.
34722 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
34723
552bf6c5 347242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34725
34726 NetBSD memory map support.
34727
34728 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
34729 (grub_netbsd_btinfo_mmap_header): New structure.
34730 (grub_netbsd_btinfo_mmap_entry): Likewise.
34731 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
34732
1ae2078c 347332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34734
34735 Enable bsd.mod on coreboot.
34736
34737 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
34738 (bsd_mod_SOURCES): New variable.
34739 (bsd_mod_CFLAGS): Likewise.
34740 (bsd_mod_LDFLAGS): Likewise.
34741 (bsd_mod_ASFLAGS): Likewise.
34742 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
34743 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
34744
beefc598 347452009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34746
34747 Cleanup NetBSD root support.
34748
34749 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
34750 grub_bsd_get_device.
34751 Fix typo.
34752
3b76e68b 347532009-08-25 Felix Zielcke <fzielcke@z-51.de>
34754
34755 * util/grub.d/00_header.in: Move check for the video backend of
34756 gfxterm from here ...
34757 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
34758 a suitable video backend.
34759
aea664ea 347602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34761
34762 Fix breakage in grub-setup.
34763
34764 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
34765 "msdos_partition_map".
34766
ff747d50 347672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34768
34769 Fix breakage in normal/auth.c.
34770
34771 * normal/auth.c (grub_iswordseparator): New function.
34772
e7e1f93f 347732009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
34774
34775 Authentication support.
34776
34777 * commands/password.c: New file.
34778 * conf/common.rmk (pkglib_MODULES): Add password.mod.
34779 (password_mod_SOURCES): New variable.
34780 (password_mod_CFLAGS): Likewise.
34781 (password_mod_LDFLAGS): Likewise.
34782 (normal_mod_SOURCES): Add normal/auth.c.
34783 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
34784 normal/auth.c.
34785 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34786 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34787 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34789 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34790 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34791 * include/grub/auth.h: New file.
34792 * include/grub/err.h (grub_err_t): New enum value
34793 GRUB_ERR_ACCESS_DENIED.
34794 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
34795 'users'.
34796 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
34797 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
34798 users updated.
34799 * normal/auth.c: New file.
34800 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
34801 (grub_cmdline_run): Don't allow to go to command line without
34802 authentication.
34803 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
34804 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
34805 menuentry without superuser rights.
34806 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
34807 user isn't a superuser.
34808
70f1161d 348092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34810
34811 Save space by inlining misc.c functions.
34812
34813 * kern/misc.c (grub_iswordseparator): Made static.
34814 * kern/misc.c (grub_strcat): Moved from here ...
34815 * include/grub/misc.h (grub_strcat): ... here. Inlined.
34816 * kern/misc.c (grub_strncat): Moved from here ...
34817 * include/grub/misc.h (grub_strncat): ... here. Inlined.
34818 * kern/misc.c (grub_strcasecmp): Moved from here ...
34819 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
34820 * kern/misc.c (grub_strncasecmp): Moved from here ...
34821 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
34822 * kern/misc.c (grub_isalpha): Moved from here ...
34823 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
34824 * kern/misc.c (grub_isdigit): Moved from here ...
34825 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
34826 * kern/misc.c (grub_isgraph): Moved from here ...
34827 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
34828 * kern/misc.c (grub_tolower): Moved from here ...
34829 * include/grub/misc.h (grub_tolower): ... here. Inlined.
34830
48e40bff 348312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34832
34833 * script/sh/function.c (grub_script_function_find): Cut error message
34834 not to flood terminal.
34835 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34836 limit.
34837 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34838
c385bfc3 348392009-08-24 Colin Watson <cjwatson@ubuntu.com>
34840
34841 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34842 `report' grub_uint8_t *.
34843 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34844 Use a 50-millisecond timeout rather than just repeating
34845 grub_usb_keyboard_getreport 50 times.
34846 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34847
2d21e3e8 348482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34849
34850 Rename *_partition_map to part_*
34851
34852 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34853 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34854 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34855 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34856 All users updated.
34857 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34858 All users updated.
34859 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34860 * util/grub-probe.c (probe_partmap): Don't transform partition name
34861 to get module name.
34862
dd103c4e 348632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34864
34865 Fix OpenBSD and NetBSD support.
34866
34867 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34868 memory address conflict.
34869 (OPENBSD_MMAP_ACPI): New definition.
34870 (OPENBSD_MMAP_NVS): Likewise.
34871 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34872 and OPENBSD_MMAP_NVS.
34873 Add memory map terminator
34874 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34875 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34876
16c84d74 348772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34878
34879 Let user specify NetBSD root device.
34880
34881 * loader/i386/bsd.c (netbsd_root): New variable.
34882 (netbsd_opts): New option 'root'.
34883 (NETBSD_ROOT_ARG): New macro.
34884 (grub_netbsd_boot): Use 'netbsd_root'.
34885 (grub_bsd_unload): Free 'netbsd_root'.
34886 (grub_cmd_netbsd): Fill 'netbsd_root'.
34887
adb29902 348882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34889
34890 Support for 64-bit NetBSD.
34891
34892 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34893 point when booting non-FreeBSD.
34894
f5ae9f74 348952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34896
34897 Support --no-smp and --no-acpi for NetBSD.
34898
34899 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34900 (NETBSD_AB_NOACPI): Likewise.
34901 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34902 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34903
de74f136 349042009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34905
34906 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34907 errors.
34908 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34909 errors. Call grub_error when needed.
34910
e9a925da 349112009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34912
34913 * commands/search.c (search_fs): Try searching without autoload first.
34914 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34915 filesystem module explicitly for faster booting.
34916
5174302b 349172009-08-23 Colin Watson <cjwatson@ubuntu.com>
34918
34919 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34920
c8c80635 349212009-08-23 Colin Watson <cjwatson@ubuntu.com>
34922
34923 * util/grub.d/30_os-prober.in: Disable os-prober if
34924 `GRUB_DISABLE_OS_PROBER' was set to true.
34925
71acf5e5 349262009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34927
34928 * partmap/pc.c: Rename to ...
34929 * partmap/msdos.c: ... this. Update all users.
34930 (grub_pc_partition_map): Rename to ...
34931 (grub_msdos_partition_map): ... this. Update all users.
34932
34933 * parttool/pcpart.c: Rename to ...
34934 * parttool/msdospart.c: ... this. Update all users.
34935
34936 * include/grub/pc_partition.h: Rename to ...
34937 * include/grub/msdos_partition.h: ... this. Update all users.
34938 (grub_pc_partition_bsd_entry): Rename to ...
34939 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34940 (grub_pc_partition_disk_label): Rename to ...
34941 (grub_msdos_partition_disk_label): ... this. Update all users.
34942 (grub_pc_partition_entry): Rename to ...
34943 (grub_msdos_partition_entry): ... this. Update all users.
34944 (grub_pc_partition_mbr): Rename to ...
34945 (grub_msdos_partition_mbr): ... this. Update all users.
34946 (grub_pc_partition): Rename to ...
34947 (grub_msdos_partition): ... this. Update all users.
34948 (grub_pc_partition_is_empty): Rename to ...
34949 (grub_msdos_partition_is_empty): ... this. Update all users.
34950 (grub_pc_partition_is_extended): Rename to ...
34951 (grub_msdos_partition_is_extended): ... this. Update all users.
34952 (grub_pc_partition_is_bsd): Rename to ...
34953 (grub_msdos_partition_is_bsd): ... this. Update all users.
34954
34955 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34956 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34957 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34958 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34959 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34960 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34961 (gpt_mod_LDFLAGS): Rename to ...
34962 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34963 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34964 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34965 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34966 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34967 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34968 (part_gpt_mod_LDFLAGS): ... this.
34969 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34970 `pcpart.mod' to `msdospart.mod'.
34971 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34972 to ...
34973 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34974 (msdospart_mod_LDFLAGS): ... this.
34975
c11fded5 349762009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34977
34978 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34979 (openbsd_opts): Likewise.
34980 (netbsd_opts): Likewise.
34981 (freebsd_flags): Added 0 terminator.
34982 (openbsd_flags): Likewise.
34983 (netbsd_flags): Likewise.
34984 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34985 (grub_cmd_freebsd): Transformed into extended command.
34986 (grub_cmd_openbsd): Likewise.
34987 (grub_cmd_netbsd): Likewise.
34988 (cmd_freebsd): Changed type to grub_extcmd_t.
34989 (cmd_openbsd): Likewise.
34990 (cmd_netbsd): Likewise.
34991 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34992 grub_cmd_openbsd as extended commands.
34993 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34994 cmd_netbsd and cmd_openbsd
34995
11d1c769 349962009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34997
34998 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34999
7a9094e5 350002009-08-21 Pavel Roskin <proski@gnu.org>
35001
5496c37e 35002 * Makefile.in (install-local): When checking if a file is in the
35003 build directory, use "test -e" to detect symlinks.
35004
7a9094e5 35005 * Makefile.in (install-local): Remove all files in
35006 $(DESTDIR)$(pkglibdir) before installing new files there.
35007
e53cea11 350082009-08-18 Felix Zielcke <fzielcke@z-51.de>
35009
35010 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35011 grub-mkelfimage.
35012
9aced544 350132009-08-18 Felix Zielcke <fzielcke@z-51.de>
35014
35015 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35016 explicitly specified by the user.
35017
b7da6bab 350182009-08-18 Pavel Roskin <proski@gnu.org>
35019
35020 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35021 grub_uint8_t pointer for data.
35022 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35023 Likewise.
35024 * video/fb/fbutil.c: Remove unnecessary casts.
35025
19f1b335 350262009-08-17 Michal Suchanek <hramrach@centrum.cz>
35027
35028 VBE cleanup.
35029
35030 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35031 (grub_vbe_set_video_mode): Save active mode info
35032 only after setting the mode.
35033 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35034 second argument.
35035
2f467aa9 350362009-08-17 Michal Suchanek <hramrach@centrum.cz>
35037
35038 Rename variables for clarity.
35039
35040 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35041 (active_vbe_mode_info): ... this. All users updated.
35042 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35043 All users updated.
35044 (initial_mode): Rename to ...
35045 (initial_vbe_mode): ... this. All users updated.
35046 (mode_in_use): Rename to ..
35047 (vbe_mode_in_use): ... this. All users updated.
35048 (mode_list): Rename to ..
35049 (vbe_mode_list): ... this. All users updated.
35050 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35051 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35052 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35053 'mode_list_size' to 'vbe_mode_list_size'.
35054 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35055 'best_mode_info' to 'best_vbe_mode_info' and
35056 'best_mode' to 'best_vbe_mode'
35057
6025fcd7 350582009-08-17 Michal Suchanek <hramrach@centrum.cz>
35059
35060 Remove duplicate grub_video_fb_get_video_ptr.
35061
35062 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35063 (grub_video_fb_get_video_ptr): ... this.
35064 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35065 * video/fb/fbutil.c: Add comment about addressing.
35066 (get_data_ptr): Rename to ...
35067 (grub_video_fb_get_video_ptr): ... this. All users updated.
35068 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35069
cc8c6faf 350702009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35071
35072 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35073 grub_dprintf() that was just added.
35074
08aa61f0 350752009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35076
35077 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
35078 (DEFAULT_VIDEO_MODE): Remove macros.
35079 (grub_linux_boot): Remove assumption that Linux has FB support,
35080 and use "text" as default video mode.
35081
7cef4f75 350822009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
35083
35084 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
35085 grub_dprintf.
35086 * fs/fat.c (grub_fat_read_data): Likewise.
35087
e1f39873 350882009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35089
35090 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35091 payload.
35092 (grub_module): Likewise.
35093
c166d79e 350942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35095
35096 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35097 mbi->cmdline but free playground.
35098
c60cee8e 350992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35100
35101 Handle group offset on UFS1.
35102
35103 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35104 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35105
c0d8b5d4 351062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35107
35108 Split ufs.mod into ufs1.mod and ufs2.mod.
35109
35110 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35111 (grub_fstest_SOURCES): Likewise.
35112 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
35113 (ufs_mod_SOURCES): Remove.
35114 (ufs_mod_CFLAGS): Likewise.
35115 (ufs_mod_LDFLAGS): Likewise.
35116 (ufs1_mod_SOURCES): New variable.
35117 (ufs1_mod_CFLAGS): Likewise.
35118 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 35119 (ufs2_mod_SOURCES): New variable.
35120 (ufs2_mod_CFLAGS): Likewise.
35121 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 35122 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
35123 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35124 Likewise.
35125 (grub_emu_SOURCES): Likewise.
35126 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35127 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35128 (grub_setup_SOURCES): Likewise.
35129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35130 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
35131 (grub_setup_SOURCES): Likewise.
35132 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35133 Likewise.
35134 * fs/ufs2.c: New file.
35135 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
35136
d3539132 351372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35138
35139 Framebuffer split.
35140
35141 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
35142 subsystem at the end.
35143 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
35144 (video_fb_mod_SOURCES): New variable.
35145 (video_fb_mod_CFLAGS): Likewise.
35146 (video_fb_mod_LDFLAGS): Likewise.
35147 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
35148 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
35149 * video/i386/pc/vbeblit.c: Moved from here ...
35150 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
35151 * video/i386/pc/vbefill.c: Moved from here ...
35152 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
35153 * video/i386/pc/vbeutil.c: Moved from here ...
35154 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
35155 * include/grub/i386/pc/vbeblit.h: Moved from here ...
35156 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
35157 * include/grub/i386/pc/vbefill.h: Moved from here ...
35158 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
35159 * include/grub/i386/pc/vbeutil.h: Moved from here ...
35160 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
35161 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
35162 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
35163 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
35164 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
35165 (grub_video_adapter): Added 'get_info_and_fini'.
35166 (grub_video_get_info_and_fini): New prototype.
35167 (grub_video_set_mode): make modestring const char *.
35168 * loader/i386/linux.c (grub_linux_setup_video): Use
35169 grub_video_get_info_and_fini.
35170 (grub_linux_boot): Move modesetting just before booting.
35171 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
35172 grub_video_get_info_and_fini.
35173 * video/i386/pc/vbe.c: Moved framebuffer part ...
35174 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
35175 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
35176 grub_video_fbstd_colors and grub_video_fb_set_palette.
35177 (grub_video_vbe_init): Clear 'framebuffer' variable and use
35178 grub_video_fb_init.
35179 (grub_video_vbe_fini): Use grub_video_fb_fini.
35180 (grub_video_vbe_setup): Use framebuffer.render_target instead of
35181 render_target and use grub_video_fb_set_active_render_target and
35182 grub_video_fb_set_palette.
35183 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
35184 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
35185 (grub_video_vbe_adapter): Use framebuffer.
35186 * video/video.c (grub_video_get_info_and_fini): New function.
35187 (grub_video_set_mode): Make modestring const char *.
35188 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
35189 values are already initialised.
35190
d404ee56 351912009-08-14 Pavel Roskin <proski@gnu.org>
35192
35193 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
35194 ABS and APPLE_CC.
35195 * boot/i386/pc/diskboot.S: Likewise.
35196 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
35197 sectors allow compilation on MacOSX.
35198 * conf/i386-pc.rmk: Enable unconditional compilation of
35199 lnxboot.img.
35200
9a10df16 352012009-08-13 Colin Watson <cjwatson@ubuntu.com>
35202
35203 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35204 * util/grub.d/00_header.in: Enter interruptible sleep if
35205 GRUB_HIDDEN_TIMEOUT is set.
35206
be3c9ca7 352072009-08-13 Yves Blusseau <blusseau@zetam.org>
35208
35209 * include/grub/symbol.h: Add the LOCAL macro.
35210 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35211 starting with "L_".
35212
1f9e557e 352132009-08-13 Pavel Roskin <proski@gnu.org>
35214
9ca62843 35215 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35216 any modern compilers we support.
35217
1f9e557e 35218 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35219 Use local labels starting with "L_" so that Apple assembler
35220 knows they are local.
35221
81623db6 352222009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35223
35224 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35225 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35226 (bsd_kernel_types): ... this enum.
35227
35228 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35229 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35230 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35231
35232 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35233 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35234 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35235 messages.
35236
f5d35e7a 352372009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35238
35239 * util/grub-dumpdevtree: Moved from here ...
35240 * util/i386/efi/grub-dumpdevtree: ... to here.
35241 (hexify): New function. Converts a string to its hex version.
35242 Generate hex versions of "efi" and "device-properties" by calling
35243 hexify() on the ASCII strings rather than by hardcoding numbers.
35244
d1e1d527 352452009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35246
35247 * fs/jfs.c: Update copyright year.
35248
1ebbe064 352492009-08-08 Felix Zielcke <fzielcke@z-51.de>
35250
35251 * util/grub.d/00_header.in: Fix a comment.
35252 * util/grub.d/10_linux.in: Likewise.
35253 * util/grub.d/10_windows.in: Likewise.
35254 * util/grub.d/10_hurd.in: Likewise.
35255
a78c8d24 352562009-08-08 Felix Zielcke <fzielcke@z-51.de>
35257
35258 * util/grub-mkconfig.in: Allow the user to specify the used font
35259 with GRUB_FONT.
35260
29a6b9e8 352612009-08-08 Pavel Roskin <proski@gnu.org>
35262
b5f16cc4 35263 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35264 available, xfs.mod needs it now.
35265
2f5cb827 35266 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35267 the "g" modifier in sed when the intention is to strip something
35268 once. This fixes comparison of kernels with multiple dashes.
35269
29a6b9e8 35270 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35271 on it. Add missing space before closing bracket. Fix
35272 misleading formatting.
35273
892a3d98 352742009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35275
35276 * docs/grub.texi: Major overhaul. Remove all sections that are
35277 specific to GRUB Legacy, or mostly composed of Legacy-specific
35278 information.
35279
ed94253f 352802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35281
35282 * docs/version.texi: New file. Provides version information for
35283 grub.texi.
35284
126d6628 352852009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35286
35287 * docs/grub.texi: Update CVS information to SVN.
35288 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35289
998b5aa9 352902009-08-07 Felix Zielcke <fzielcke@z-51.de>
35291
35292 * util/grub-mkconfig.in: Remove a wrong `fi'.
35293
818e094a 352942009-08-07 Felix Zielcke <fzielcke@z-51.de>
35295
35296 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35297 (grub_jfs_uuid): New function.
35298 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35299
b969c52f 353002009-08-07 Felix Zielcke <fzielcke@z-51.de>
35301
35302 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35303 of it to ...
35304 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35305 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35306
7a4894cc 353072009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35308
35309 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35310 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35311 Update all users.
35312
35313 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35314 not just "vmlinu[zx]".
35315 Moved from here ...
35316 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35317 all users.
35318
35319 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35320 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35321 all users.
35322
4e2171f8 353232009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35324
35325 * util/grub.d/10_freebsd.in: Use an absolute device path for
35326 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35327
6dcfcb32 353282009-08-06 Felix Zielcke <fzielcke@z-51.de>
35329
35330 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35331 handling of multiple abstraction modules.
35332
f56a8756 353332009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35334
35335 Fix a bug resulting in black screen when loading Linux using a
35336 packed video mode.
35337
35338 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35339 function.
35340
35341 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35342 (grub_vbe_bios_getset_dac_palette_width): New function.
35343 (grub_vbe_bios_get_dac_palette_width)
35344 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35345 grub_vbe_bios_getset_dac_palette_width()).
35346
35347 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35348 check for return status.
35349 (grub_vbe_get_video_mode_info): When getting information for a packed
35350 mode (<= 8 bpp), obtain DAC palette width using
35351 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35352 {red,green,blue}_mark_size.
35353
222671b2 353542009-08-04 Felix Zielcke <fzielcke@z-51.de>
35355
ecb1a6d9 35356 * commands/search.c (options): Fix help output to match actual code.
222671b2 35357
f84114f5 353582009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35359
35360 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35361 of homegrown code.
35362
bd288a20 353632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35364
35365 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35366 on XFS or ReiserFS.
35367
8aab5e25 353682009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35369
35370 Support Apple partition map with sector size different from 512 bytes.
35371
35372 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35373 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35374 and 'apart.partmap_size'.
35375
6ad6258a 353762009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
353772009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35378
35379 Fix cpuid command.
35380
35381 * commands/i386/cpuid.c (options): New variable.
35382 (grub_cmd_cpuid): Return real error.
35383 (GRUB_MOD_INIT(cpuid)): Declare options.
35384
67459bc6 353852009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35386
35387 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35388 valid.
35389
fbc6ab54 353902009-07-31 Bean <bean123ch@gmail.com>
35391
35392 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35393 log2_inode.
35394 (grub_fshelp_node): Move inode field to the end.
35395 (grub_xfs_data): Remove inode field.
35396 (grub_xfs_inode_block): Calculate inode size using sblock.
35397 (grub_xfs_inode_offset): Likewise.
35398 (grub_xfs_read_inode): Calculate inode size using sblock.
35399 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35400 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35401 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35402 to match inode size.
35403 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35404 not accessible when data is null.
35405 (grub_xfs_open): Likewise.
35406
f45d6cfc 354072009-07-31 Bean <bean123ch@gmail.com>
35408
35409 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35410 Don't change pv->disk if it's already set.
35411
35412 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35413 (grub_raid_register): ... here.
35414 (grub_raid_rescan): Removed.
35415
35416 * include/grub/raid.h (grub_raid_rescan): Removed.
35417
35418 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35419 (fstest): Replace grub_raid_rescan with module fini function followed
35420 by init function.
35421
35422 * util/grub-probe.c: Add include file <grub/raid.h>.
35423 (probe_raid_level): New function.
35424 (probe): Detect abstraction by walking the disk device, support two
35425 level of abstraction (LVM on RAID) when detecting partition map.
35426
24443b5a 354272009-07-31 Pavel Roskin <proski@gnu.org>
35428
35429 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35430 to grub_zalloc(), it was erroneous.
35431 Reported by Bean <bean123ch@gmail.com>
35432
a275d9e7 354332009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35434
35435 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35436 embedding zone, not only the first one.
a275d9e7 35437
56c5a47f 354382009-07-29 Joe Auricchio <jauricchio@gmail.com>
35439
35440 * term/gfxterm.c (clear_char): New function.
35441 (grub_virtual_screen_setup): Use clear_char.
35442 (scroll_up): Likewise.
35443 (grub_virtual_screen_cls): Likewise.
35444
67bb323a 354452009-07-29 Felix Zielcke <fzielcke@z-51.de>
35446
35447 * util/deviceiter.c (get_acceleraid_disk_name): New static
35448 function.
35449 (grub_util_iterate_devices): Handle Accelraid devices.
35450 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35451
388a7c75 354522009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35453
35454 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35455 separator for the suggested gfxpayload string (';' collides with the
35456 parser and needs escaping).
35457
3bb7abcf 354582009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35459
35460 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35461 Clear direction flag before jumping to OS.
35462 (grub_multiboot2_real_boot): Likewise.
35463
2ddd36d7 354642009-07-28 Felix Zielcke <fzielcke@z-51.de>
35465
35466 * util/i386/pc/grub-install: Fix parsing of --disk-module
35467 option.
35468
c521b62b 354692009-07-28 Felix Zielcke <fzielcke@z-51.de>
35470
35471 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35472 when embedding.
35473
880e0a0c 354742009-07-26 Felix Zielcke <fzielcke@z-51.de>
35475
35476 * util/grub-mkconfig.in (package_version): New variable.
35477 Use it do display the version.
35478
2366e356 354792009-07-25 Felix Zielcke <fzielcke@z-51.de>
35480
35481 * kern/file.c (grub_file_open): Revert to previous check with
35482 grub_errno.
35483
7ad8c80e 354842009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35485
35486 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35487 from help line. It's out of sync with code.
35488
72b9658b 354892009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35490
35491 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35492 entries on failed boot.
35493
77435277 354942009-07-25 Felix Zielcke <fzielcke@z-51.de>
35495
35496 * kern/file.c (grub_file_open): Fix an error check.
35497
fcaa8b21 354982009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35499
35d16c74 35500 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35501 partition map couldn't be identified.
fcaa8b21 35502
48904cd1 355032009-07-23 Pavel Roskin <proski@gnu.org>
35504
ef3c317f 35505 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35506 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35507 case of little endian words becomes just an optimization.
35508 Respect const modifier.
ad8ea1f4 35509 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35510
48904cd1 35511 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35512 to avoid loss of upper bits if align is unsigned and shorter
35513 than addr.
35514
260c9a89 355152009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35516
35517 UUID support for UFS
35518
35519 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35520 (grub_ufs_uuid): New function.
35521 (grub_ufs_fs): add .uuid
35522
f76ce889 355232009-07-21 Pavel Roskin <proski@gnu.org>
35524
35525 * kern/dl.c (grub_dl_check_header): Make static.
35526
6a6cbcaf 355272009-07-21 Felix Zielcke <fzielcke@z-51.de>
35528
35529 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35530 add drivemap for Vista. It breaks Windows 7.
35531
cffcddb2 355322009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35533
35534 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35535 128 bytes
35536
1ef44b80 355372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35538
35539 Add BFS support
35540
35541 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35542 (grub_fstest_SOURCES): Likewise.
35543 (pkglib_MODULES): Add befs.mod.
35544 (befs_mod_SOURCES): New variable.
35545 (befs_mod_CFLAGS): Likewise.
35546 (befs_mod_LDFLAGS): Likewise.
35547 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35548 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35549 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35550 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35551 (grub_setup_SOURCES): Likewise.
35552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35553 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35554 (grub_setup_SOURCES): Likewise.
35555 * fs/befs.c: New file.
35556 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35557 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35558 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35559 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35560 (B_KEY_INDEX_ALIGN): New declaration.
35561 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35562 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35563 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35564 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35565 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35566 (grub_afs_mount) [MODE_BFS]: Likewise.
35567 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35568 (grub_afs_fs): Use GRUB_AFS_FSNAME
35569 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35570 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35571 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35572 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35573
4f253044 355742009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35575
35576 * util/getroot.c (find_root_device): Add support for MacOSX.
35577 * util/hostdisk.c: Likewise.
35578
57a55913 355792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35580
35581 * font/font.c (find_glyph): Check whether a font is present to avoid
35582 segmentation fault.
75421ca9 35583
355842009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35585
35586 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35587
e98cd0c2 355882009-07-20 Pavel Roskin <proski@gnu.org>
35589
35590 * configure.ac: Trim excessively wordy excuses.
35591
1d2d169a 355922009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35593
35594 Add symlink, mtime and label support to AtheFS.
35595
35596 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35597 (grub_afs_iterate_dir): Handle symlinks.
35598 (grub_afs_open): Use grub_afs_read_symlink.
35599 (grub_afs_dir): Likewise.
35600 Pass mtime.
35601 (grub_afs_label): New function.
35602 (grub_afs_fs): Add grub_afs_label.
35603 (grub_afs_read_symlink): New function.
35604
186f3189 356052009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35606
35607 Fix AtheFS support.
35608
35609 * fs/afs.c: Fix comments style.
35610 (grub_afs_blockrun): Declare as packed.
35611 (grub_afs_datastream): Likewise.
35612 (grub_afs_bnode): Likewise.
35613 (grub_afs_btree): Likewise.
35614 (grub_afs_sblock): Likewise.
35615 Declare `name' as char.
35616 (grub_afs_inode): Declare as packed.
35617 Change void *vnode to grub_uint32_t unused.
35618 (grub_afs_iterate_dir): Check that key_size is positive.
35619 (grub_afs_mount): Don't read superblock twice.
75421ca9 35620 (grub_afs_dir): Don't free node in case of error,
186f3189 35621 grub_fshelp_find_file already handles this.
35622 (grub_afs_open): Likewise.
35623
5680109e 356242009-07-19 Pavel Roskin <proski@gnu.org>
35625
35626 * Makefile.in: Remove LIBLZO and enable_lzo.
35627 * conf/i386-pc.rmk: Remove lzo support.
35628 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35629 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35630 support.
35631 * kern/i386/pc/lzo1x.S: Remove.
35632 * kern/i386/pc/startup.S: Remove lzo support.
35633 * util/i386/pc/grub-mkimage.c: Likewise.
35634
ac70fa32 356352009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35636
35637 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35638 * fs/xfs.c (grub_xfs_dir): Likewise.
35639 * fs/afs.c (grub_afs_dir): Likewise.
35640 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35641 (grub_iso9660_open): Likewise.
35642 * fs/jfs.c (grub_jfs_open): Likewise.
35643 * fs/ext2.c (grub_ext2_dir): Likewise.
35644 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35645 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35646
eab58da2 356472009-07-16 Pavel Roskin <proski@gnu.org>
35648
d2838156 35649 * configure.ac: Never add "-c" to CFLAGS.
35650
55c70904 35651 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35652
43e6200c 35653 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35654 grub_cv_cc_efiemu should be used.
35655
ce7a733d 35656 * configure.ac: Typo fixes.
35657
eab58da2 35658 * kern/mm.c (grub_zalloc): New function.
35659 (grub_debug_zalloc): Likewise.
35660 * include/grub/mm.h: Declare grub_zalloc() and
35661 grub_debug_zalloc().
35662 * util/misc.c (grub_zalloc): New function.
35663 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35664 instead of grub_malloc(), remove unneeded initializations.
35665 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35666 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35667 * commands/parttool.c (grub_cmd_parttool): Likewise.
35668 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35669 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35670 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35671 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35672 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35673 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35674 (grub_cmd_efiemu_pnvram): Likewise.
35675 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35676 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35677 (grub_iso9660_iterate_dir): Likewise.
35678 * fs/jfs.c (grub_jfs_opendir): Likewise.
35679 * fs/ntfs.c (list_file): Likewise.
35680 (grub_ntfs_mount): Likewise.
35681 * kern/disk.c (grub_disk_open): Likewise.
35682 * kern/dl.c (grub_dl_load_core): Likewise.
35683 * kern/elf.c (grub_elf_file): Likewise.
35684 * kern/env.c (grub_env_context_open): Likewise.
35685 (grub_env_set): Likewise.
35686 (grub_env_set_data_slot): Likewise.
35687 * kern/file.c (grub_file_open): Likewise.
35688 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35689 * loader/i386/multiboot.c (grub_module): Likewise.
35690 * loader/xnu.c (grub_xnu_create_key): Likewise.
35691 (grub_xnu_create_value): Likewise.
35692 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35693 (read_config_file): Likewise.
35694 * normal/menu_entry.c (make_screen): Likewise.
35695 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35696 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35697 * script/sh/script.c (grub_script_parse): Likewise.
35698 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35699 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35700 * video/readers/png.c (grub_png_output_byte): Likewise.
35701 (grub_video_reader_png): Likewise.
35702
830afef7 357032009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35704
35705 Enable all targets that can be built by default
35706
830afef7 35707 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35708 grub-mkfont and grub-fstest if they can be built
35709
ee293aee 357102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35711
35712 Fix hang and segmentation fault in grub-emu-usb
35713
35714 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35715 * util/usb.c (grub_libusb_devices): likewise
35716 (grub_libusb_init): rename to ...
35717 (GRUB_MOD_INIT (libusb)):...this
35718 (grub_libusb_fini): rename to ..
35719 (GRUB_MOD_FINI (libusb)):...this
35720 * disk/usbms.c (grub_usbms_transfer): fix retry logic
35721 * include/grub/disk.h (grub_raid_init): removed, it's useless
35722 (grub_raid_fini): likewise
35723 (grub_lvm_init): likewise
35724 (grub_lvm_fini): likewise
35725 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
35726 by grub_init_all
35727
94414221 357282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35729
35730 Fix libusb
35731
35732 * Makefile.in (LIBUSB): new macro
35733 * genmk.rb (Utility/print_tail): new method
35734 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
35735 (top level): call util.print_tail at the end.
35736
59ade63d 357372009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35738
35739 Make FreeBSD accept zpool.cache
35740
35741 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
35742 type is /boot/zfs/zpool.cache
35743
a58da8c7 357442009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35745
35746 Fix 64-bit efiemu
35747
35748 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
35749 correct wrong typedef
35750 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
35751
20591577 357522009-07-15 Pavel Roskin <proski@gnu.org>
35753
560ca572 35754 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
35755 * kern/disk.c (struct grub_disk_cache): Likewise.
35756
e8e8e4fd 35757 * commands/probe.c (options): Typo fix.
35758
fde24e10 35759 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
35760 Increase to 0x5a to accommodate FAT32. Adjust other offsets
35761 accordingly.
35762 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
35763
379c54c1 35764 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
35765 the end of "Error" to make the message more readable.
35766
7bd8f5bf 35767 * boot/i386/pc/boot.S (kernel_segment): Remove.
35768 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
35769 for destination.
35770
40b132c5 35771 * boot/i386/pc/boot.S (boot_version): Remove.
35772 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
35773 Remove.
35774
20591577 35775 * include/grub/i386/pc/boot.h: Sort all offsets.
35776 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
35777 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
35778 * boot/i386/pc/boot.S: Assert location of every offset listed in
35779 include/grub/i386/pc/boot.h.
35780
2df32b2c 357812009-07-13 Pavel Roskin <proski@gnu.org>
35782
44b5d879 35783 * include/grub/i386/coreboot/machine.h: Rename
35784 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
35785 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
35786 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
35787
17dc3751 35788 * kern/dl.c: Force native word size to suppress warnings when
35789 compiling grub-emu.
35790
2df32b2c 35791 * kern/device.c (grub_device_iterate): Change struct part_ent to
35792 hold the name, not a pointer to it. Use one grub_malloc() per
35793 partition, not two. Free partition_name if grub_malloc() fails.
35794 Set ents to NULL only before grub_partition_iterate() is called.
35795
75c59f59 357962009-07-11 Bean <bean123ch@gmail.com>
35797
35798 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
35799 childname.
35800
0ae1bf88 358012009-07-10 Bean <bean123ch@gmail.com>
358022009-07-10 Robert Millan <rmh.grub@aybabtu.com>
35803
35804 * kern/ieee1275/openfw.c (grub_children_iterate)
35805 (grub_devalias_iterate): Fix size evaluation for property or path
35806 strings, which was broken since r2132.
35807
8279cade 358082009-07-07 Pavel Roskin <proski@gnu.org>
35809
7d8a52d3 35810 * commands/search.c (search_file): Merge into ...
35811 (search_fs): ... this. Accept search type as argument.
35812 (grub_cmd_search): Pass search type to search_fs().
35813
25f9a05a 35814 * include/grub/util/console.h: New file.
35815 * util/console.c: Use it instead of grub/machine/console.h.
35816 * util/grub-emu.c: Likewise.
35817
8279cade 35818 * lib/arg.c (find_long_option): Remove.
35819 (find_long): Add `len' argument, make `s' const char *.
35820 (grub_arg_parse): Parse long options in place, not in a
35821 temporary buffer.
35822
4a11b60f 358232009-07-06 Pavel Roskin <proski@gnu.org>
35824
99f68041 35825 * commands/search.c (search_fs): Fix potential NULL pointer
35826 dereference.
35827
4a11b60f 35828 * commands/search.c (search_fs): Replace QUID macro with quid_fn
35829 function pointer.
35830
e110f4de 358312009-07-06 Daniel Mierswa <impulze@impulze.org>
35832
35833 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35834 comparison.
35835
46eeb6a2 358362009-07-05 Pavel Roskin <proski@gnu.org>
35837
bab74958 35838 * include/grub/i386/linux.h (struct linux_kernel_params):
35839 Restore padding3, it's still needed.
35840
46eeb6a2 35841 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35842 FreeBSD.
35843 * util/osdetect.lua: Likewise.
35844
b4a1dc79 358452009-07-05 Bean <bean123ch@gmail.com>
35846
35847 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35848
35849 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35850 (grub_lua_getenv): Likewise.
35851 (grub_lua_setenv): Likewise.
35852 (save_errno): New function.
35853 (push_result): Likewise.
35854 (grub_lua_enum_device): Likewise.
35855 (grub_lua_enum_file): Likewise.
35856 (grub_lua_file_open): Likewise.
35857 (grub_lua_file_close): Likewise.
35858 (grub_lua_file_seek): Likewise.
35859 (grub_lua_file_read): Likewise.
35860 (grub_lua_file_getline): Likewise.
35861 (grub_lua_file_getsize): Likewise.
35862 (grub_lua_file_getpos): Likewise.
35863 (grub_lua_file_eof): Likewise.
35864 (grub_lua_file_exist): Likewise.
35865 (grub_lua_add_menu): Likewise.
35866
35867 * script/lua/grub_lua.h (isupper): New inline function.
35868 (islower): Likewise.
35869 (ispunct): Likewise.
35870 (isxdigit): Likewise.
35871 (strcspn): Change to normal function.
35872 (strpbkr): New function declaration.
35873 (memchr): Likewise.
35874
35875 * script/lua/grub_main.c (scan_str): New function.
35876 (strcspn): Likewise.
35877 (strpbrk): Likewise.
35878 (memchr): Likewise.
35879
35880 * script/lua/linit.c (lualibs): Enable the string library.
35881
35882 * util/osdetect.lua: New file.
35883
2da92295 358842009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35885
35886 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35887 `capabilities' member.
35888
b2582ec9 358892009-07-02 Pavel Roskin <proski@gnu.org>
35890
35891 * genparttoollist.sh: Add missing newline at the end.
35892
32622956 358932009-07-01 Pavel Roskin <proski@gnu.org>
35894
87a7339e 35895 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35896
d23af54e 35897 * util/hostdisk.c (open_device): Remove `const' from
35898 `sysctl_size', as sysctlbyname() can change it (in this case it
35899 doesn't actually happen).
35900
c94b18a9 35901 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35902 using signed long int constants.
35903
c6cd3ef0 35904 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35905 constant to avoid a warning on FreeBSD.
35906
0df63420 35907 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35908 where it's needed.
35909
999577f1 35910 * Makefile.in: Install include/grub/machine symlink.
35911
6f41557f 35912 * Makefile.in: When installing symlinks, use "cp -fR", which
35913 works on FreeBSD and MacOSX.
35914 From Yves Blusseau <cl7m42e02@sneakemail.com>
35915
c8d22988 35916 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35917 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35918
1b96e952 35919 * util/misc.c: Move grub_reboot() and grub_halt() ...
35920 * util/grub-emu.c: ... here. Make main_env static.
35921 * include/grub/util/misc.h: Remove main_env.
35922
2ef0084d 35923 * kern/mm.c: Use correct format to print size_t.
35924
32622956 35925 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35926 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35927 * kern/powerpc/dl.c: Likewise.
35928 * kern/sparc64/dl.c: Likewise.
35929 * kern/x86_64/dl.c: Likewise.
35930
3f7f0cd0 359312009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35932
35933 Fix grub-emu build on sparc64-ieee1275.
35934
75421ca9 35935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35937
211d06b5 359382009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35939
35940 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35941 (grub_reboot, grub_halt): New functions.
35942
35943 * util/i386/pc/misc.c: Delete. Update all users.
35944 * util/sparc64/ieee1275/misc.c: Likewise.
35945 * util/powerpc/ieee1275/misc.c: Likewise.
35946
aaf53e3c 359472009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35948
35949 * conf/i386.rmk (setjmp_mod_SOURCES)
35950 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35951 * conf/common.rmk (setjmp_mod_SOURCES)
35952 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35953 to use $(target_cpu).
35954 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35955 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35956 * conf/powerpc-ieee1275.rmk: Likewise.
35957 * conf/sparc64-ieee1275.rmk: Likewise.
35958
35959 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35960 $(target_cpu) for kern/$(target_cpu)/dl.c.
35961 * conf/i386-efi.rmk: Likewise.
35962 * conf/i386-ieee1275.rmk: Likewise.
35963 * conf/x86_64-efi.rmk: Likewise.
35964 * conf/i386-coreboot.rmk: Likewise.
35965 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35966 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35967 kern/$(target_cpu)/cache.S.
35968 * conf/sparc64-ieee1275.rmk: Likewise.
35969
a337130b 359702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35971
35972 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35973 type to `grub_uint8_t', and adjust `padding9' accordingly.
35974
c6fe4d53 359752009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35976
b09db61d 35977 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35978
c6fe4d53 35979 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35980 assembly in final jump, using register constraints.
35981
b09db61d 35982 (grub_linux_boot): For text mode, initialize `have_vga' using
35983 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35984
35985 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35986 right before the final jump.
35987
35988 Set `video_mode' to 0x3.
35989
35990 Document initialization of `video_page', `video_mode' and
35991 `video_ega_bx'.
35992
28333ad0 359932009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35994
35995 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35996 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35997 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35998
02164e1b 359992009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36000
36001 Fix build on Debian / sparc.
36002
36003 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36004
18b6c557 360052009-06-28 Pavel Roskin <proski@gnu.org>
36006
85f2aab6 36007 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36008 fix a warning.
36009
18b6c557 36010 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36011
ad760f81 360122009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36013
36014 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36015 `err'.
36016
87a4623b 360172009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36018
36019 Revert r2338.
36020
36021 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36022 file can't be opened. grub_file_open() is already supposed to set
75421ca9 36023 grub_errno / grub_errmsg appropriately.
87a4623b 36024 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36025
8231fb77 360262009-06-27 Pavel Roskin <proski@gnu.org>
360272009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36028
36029 * include/grub/dl.h: Include grub/elf.h.
36030 (struct grub_dl): Add symtab field.
36031 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36032 GRUB_MODULES_MACHINE_READONLY.
36033 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36034 of the header for read-only modules.
36035 (grub_dl_unload): Free mod->symtab for read-only modules.
36036 * kern/i386/dl.c: Use mod->symtab.
36037 * kern/powerpc/dl.c: Likewise.
36038 * kern/sparc64/dl.c: Likewise.
36039 * kern/x86_64/dl.c: Likewise.
36040
36041 * conf/i386-qemu.rmk: New file.
36042 * kern/i386/qemu/startup.S: Likewise.
36043 * kern/i386/qemu/mmap.c: Likewise.
36044 * boot/i386/qemu/boot.S: Likewise.
36045 * include/grub/i386/qemu/time.h: Likewise.
36046 * include/grub/i386/qemu/serial.h: Likewise.
36047 * include/grub/i386/qemu/kernel.h: Likewise.
36048 * include/grub/i386/qemu/console.h: Likewise.
36049 * include/grub/i386/qemu/boot.h: Likewise.
36050 * include/grub/i386/qemu/init.h: Likewise.
36051 * include/grub/i386/qemu/machine.h: Likewise.
36052 * include/grub/i386/qemu/loader.h: Likewise.
36053 * include/grub/i386/qemu/memory.h: Likewise.
36054
36055 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36056 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36057 [qemu] (pkglib_IMAGES): Add `boot.img'.
36058 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36059 [qemu] (boot_img_FORMAT): New variables.
36060 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36061 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36062 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36063 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36064 [qemu] (kernel_img_FORMAT): New variables.
36065
36066 * configure.ac: Recognise `i386-qemu'.
36067
36068 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36069 (for no compression).
36070 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36071 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36072 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36073 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36074 ifdefs).
36075
97fe384e 360762009-06-27 Pavel Roskin <proski@gnu.org>
36077
36078 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
36079 read.
36080 * efiemu/prepare32.c: Likewise.
36081 * efiemu/prepare64.c: Likewise.
36082
c402ab17 360832009-06-26 Pavel Roskin <proski@gnu.org>
36084
36085 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
36086 * include/grub/elf.h: Define symbols without "32" or "64" based
36087 on GRUB_TARGET_WORDSIZE.
36088 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36089 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36090 ELF definitions.
36091 * efiemu/loadcore64.c: Likewise.
36092 * loader/i386/bsd32.c: Likewise.
36093 * loader/i386/bsd64.c: Likewise.
36094 * kern/dl.c: Remove own ELF definitions.
36095 * util/i386/efi/grub-mkimage.c: Likewise.
36096
9bbdfd4d 360972009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36098
36099 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36100 segment 0x0 unconditionally, because the reference generated by
36101 GAS is an absolute address.
36102
a42ce6e9 361032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36104
36105 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36106 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36107
c952cf92 361082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36109
36110 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36111 indexes. Check for -f explicitly.
cc3752ad 36112 (search_file): Improve error message.
36113 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 36114
132a0a59 361152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36116
36117 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
36118 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
36119
387a140c 361202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36121
36122 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
36123 * conf/i386-ieee1275.rmk: Likewise.
36124 * conf/i386-coreboot.rmk: Likewise.
36125
36126 * kern/i386/pc/startup.S (grub_stop): Remove function.
36127 * kern/i386/ieee1275/startup.S: Likewise.
36128 * kern/i386/coreboot/startup.S: Likewise.
36129 * kern/i386/misc.S (grub_stop): New function.
36130
41da9665 361312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36132
36133 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
36134 * kern/i386/realmode.S (real_to_prot): ... to here.
36135
bf337234 361362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36137
36138 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
36139 with `kernel.img'.
36140 (kernel_elf_SOURCES): Rename to ...
36141 (kernel_img_SOURCES): ... this.
36142 (kernel_elf_HEADERS): Rename to ...
36143 (kernel_img_HEADERS): ... this. Update all users.
36144 (kernel_elf_ASFLAGS): Rename to ...
36145 (kernel_img_ASFLAGS): ... this.
36146 (kernel_elf_CFLAGS): Rename to ...
36147 (kernel_img_CFLAGS): ... this.
36148 (kernel_elf_LDFLAGS): Rename to ...
36149 (kernel_img_LDFLAGS): ... this.
36150 * conf/i386-coreboot.rmk: Likewise.
36151 * conf/powerpc-ieee1275.rmk: Likewise.
36152
36153 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
36154 with "kernel.img".
36155
f52196ff 361562009-06-21 Pavel Roskin <proski@gnu.org>
36157
c3cee413 36158 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
36159 to match nested functions.
36160 * loader/sparc64/ieee1275/linux.c: Likewise.
36161
f52196ff 36162 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
36163
58750afc 361642009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36165
36166 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
36167 all i386 platforms.
36168
15355c7d 361692009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36170
36171 Fix asm file handling on ELF, and remove workarounds.
36172
36173 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 36174 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 36175 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
36176 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
36177
3f3ec72b 361782009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
36179
36180 Load BSD ELF modules
36181
36182 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
36183 and loader/i386/bsd64.c
36184 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
36185 (FREEBSD_MODTYPE_ELF_MODULE): New definition
36186 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
36187 (grub_freebsd_load_elfmodule32): New declaration
36188 (grub_freebsd_load_elfmoduleobj64): Likewise
36189 (grub_freebsd_load_elf_meta32): Likewise
36190 (grub_freebsd_load_elf_meta64): Likewise
36191 (grub_freebsd_add_meta): Likewise
36192 (grub_freebsd_add_meta_module): Likewise
36193 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
36194 (grub_freebsd_add_meta_module): Likewise and move module-specific
36195 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
36196 (grub_cmd_freebsd): Add elf-kernel specific parts
36197 based on grub_freebsd_add_meta_module
36198 (grub_cmd_freebsd_module): Add type parsing moved from
36199 grub_freebsd_add_meta_module
36200 (grub_cmd_freebsd_module_elf): New function
36201 (cmd_freebsd_module_elf): New variable
36202 (GRUB_MOD_INIT): Register freebsd_module_elf
36203 * loader/i386/bsd32.c: New file
36204 * loader/i386/bsd64.c: Likewise
36205 * loader/i386/bsdXX.c: Likewise
36206 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36207 (grub_elf64_load): Likewise
36208 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36209 All users updated
36210 (grub_elf64_load_hook_t): Likewise
36211
0db15301 362122009-06-21 Colin Watson <cjwatson@ubuntu.com>
36213
36214 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36215 variable.
36216 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36217 don't write a menu entry for recovery mode.
36218
546796c1 362192009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36220
36221 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36222 after it's no longer needed.
36223
cd7310d5 362242009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36225
36226 * include/grub/i386/loader.h (grub_linux_prot_size)
36227 (grub_linux_tmp_addr, grub_linux_real_addr)
36228 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36229 GRUB_MACHINE_PCBIOS.
36230 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36231 common grub_util_info() call to ...
36232 (generate_image): ... here.
36233 Fix use of uninitialized memory, comparison of signed with
36234 unsigned integers and memory leak.
36235 Remove bogus module address message.
36236
ab32d3b5 362372009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36238
36239 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36240 grub_raid_register
36241 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36242
024ef597 362432009-06-19 Pavel Roskin <proski@gnu.org>
36244
36245 * configure.ac: Remove stray AC_MSG_CHECKING.
36246
3ac72b51 362472009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36248
36249 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 36250
e14cd814 362512009-06-18 Pavel Roskin <proski@gnu.org>
36252
36253 * conf/common.rmk: Add fs_file.mod.
36254 * disk/fs_file.c: New file.
36255 * include/grub/disk.h (enum grub_disk_dev_id): Add
36256 GRUB_DISK_DEVICE_FILE_ID.
36257
26586d98 362582009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36259
36260 Fix build with Apple's toolchain. Part 2
36261
36262 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36263 a fake start
36264
26de2bcd 362652009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36266
36267 Fix build with Apple's toolchain. Part 1
36268
36269 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36270 for long calls
36271 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 36272 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 36273 Apple's toolchain
36274
09b3490b 362752009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36276
36277 Fix warnings
36278
36279 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36280 (decomp_block): initialize ch
36281 use grub_memcpy instead of memcpy
36282
c22a006a 362832009-06-17 Pavel Roskin <proski@gnu.org>
36284
d3638678 36285 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36286 version, use declarations needed to use vga_text as the startup
36287 console.
36288
c22a006a 36289 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36290 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36291 the kernel.
36292 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36293 and grub_at_keyboard_fini(), it's done on module load and
36294 unload.
36295
05b129e0 362962009-06-17 Felix Zielcke <fzielcke@z-51.de>
36297
36298 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36299 file can't be found.
36300 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36301
cf24ed9e 363022009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36303
36304 Fix newline handling
36305
36306 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36307 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36308 (grub_script_yylex): don't segfault on unterminated script
36309 newline terminates command and variable
36310
74aa8e4b 363112009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36312
36313 avoid double grub_adjust_range call. Bug reported by David Simner
36314
36315 * kern/disk.c (grub_disk_write): change to raw disk access before
36316 calling disk_read
36317
1bd265f3 363182009-06-17 Colin Watson <cjwatson@ubuntu.com>
36319
36320 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36321 spaces, for the benefit of help2man.
36322 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36323
a2d08c06 363242009-06-16 Pavel Roskin <proski@gnu.org>
36325
36326 * kern/i386/halt.c: Include grub/machine/init.h.
36327 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36328
b97bcb19 363292009-06-16 Felix Zielcke <fzielcke@z-51.de>
36330
36331 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36332 drivemap menuentry.
36333
0644f96c 363342009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36335
36336 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36337 `echo' command.
36338
3ef17a2e 363392009-06-16 Pavel Roskin <proski@gnu.org>
36340
36341 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36342 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36343 save %dx, we only need %dl and we never change it.
36344 * boot/i386/pc/cdboot.S: Don't set the root drive.
36345 * boot/i386/pc/pxeboot.S: Likewise.
36346 * include/grub/i386/pc/boot.h: Remove
36347 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36348 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36349 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36350 * kern/i386/pc/init.c (make_install_device): Remove references
36351 to grub_root_drive.
36352 * kern/i386/pc/startup.S: Likewise.
36353 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36354
693fe637 363552009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36356
36357 xnu_uuid command
36358
36359 * commands/xnu_uuid.c: new file
36360 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36361 (xnu_uuid_mod_SOURCES): new variable
36362 (xnu_uuid_mod_CFLAGS): likewise
36363 (xnu_uuid_mod_LDFLAGS): likewise
36364 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36365 * conf/i386-ieee1275.rmk: likewise
36366 * conf/i386-pc.rmk: likewise
36367 * conf/powerpc-ieee1275.rmk: likewise
36368 * conf/sparc64-ieee1275.rmk: likewise
36369 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36370
c9da87d0 363712009-06-16 Pavel Roskin <proski@gnu.org>
36372
36373 * configure.ac: Avoid '==' in test command, it's not portable.
36374
9c6f4596 363752009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36376
36377 Probe command
36378
36379 * commands/probe.c: new file
36380 * conf/common.rmk (pkglib_MODULES): add probe.mod
36381 (probe_mod_SOURCES): new variable
36382 (probe_mod_CFLAGS): likewise
36383 (probe_mod_LDFLAGS): likewise
36384 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36385 * conf/i386-ieee1275.rmk: likewise
36386 * conf/i386-pc.rmk: likewise
36387 * conf/powerpc-ieee1275.rmk: likewise
36388 * conf/sparc64-ieee1275.rmk: likewise
36389
70b7f9fd 363902009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36391
36392 Fix handling of string like \"hello\" and "a
36393 b"
36394
36395 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36396 (grub_script_yylex): fix parsing of quoting, escaping and newline
36397
71c79a6b 363982009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36399
dd74360c 36400 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36401 handling
dd74360c 36402
0644f96c 364032009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36404
36405 * util/grub-mkconfig.in: Fix parsing of --output option.
36406
e40893c3 364072009-06-12 Pavel Roskin <proski@gnu.org>
36408
36409 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36410 genmk.rb don't need to be generated or installed.
36411
3a1acfe2 364122009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36413
36414 * commands/i386/pc/drivemap_int13h.S: add more comments
36415
3a4575d4 364162009-06-11 Pavel Roskin <proski@gnu.org>
36417
0658e928 36418 * Makefile.in (uninstall): Uninstall manuals.
36419
ca0388f0 36420 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36421 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36422 and update-grub_lib in two places.
36423 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36424
e3b27c39 36425 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36426 a compiler warning.
36427
3a4575d4 36428 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36429 `entry_lo' to fix variable shadowing.
36430
af1f4f55 364312009-06-11 Christian Franke <franke@computer.org>
36432
36433 * kern/misc.c (__enable_execute_stack): Add missing return type
36434 to prevent gcc warning.
36435
5225e649 364362009-06-11 Felix Zielcke <fzielcke@z-51.de>
36437
36438 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36439
7d83bd47 364402009-06-11 Pavel Roskin <proski@gnu.org>
36441
c1cb63ba 36442 * Makefile.in: Don't rely on any scripts being executable.
36443 Always use $(SHELL) to run shell scripts.
36444
7d83bd47 36445 * configure.ac: Always define ___main if using -nostdlib. This
36446 fixes tests on Cygwin.
36447
948f48e7 364482009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36449
36450 UDF fix
36451
7d83bd47 36452 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36453 is in bytes and not in blocks
7d83bd47 36454
8ada9bc1 364552009-06-11 Pavel Roskin <proski@gnu.org>
36456
36457 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36458 warning.
36459
25ad2323 364602009-06-11 Felix Zielcke <fzielcke@z-51.de>
36461
36462 * util/grub.d/30_os-prober.in: Fix a comment. Source
36463 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36464 to set the root device. Place drivemap command in the generated
36465 chain entry.
36466
e65acb0c 364672009-06-11 Pavel Roskin <proski@gnu.org>
36468
36469 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36470 have long been resolved.
36471
f285fe2d 364722009-06-11 Colin Watson <cjwatson@ubuntu.com>
36473
bd47b0b5 36474 * util/grub.d/10_linux.in: Capitalise "Linux".
36475
f285fe2d 36476 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36477
a0c62e4e 364782009-06-11 Pavel Roskin <proski@gnu.org>
36479
b6783cb2 36480 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36481 fix a gcc warning and ensure that the function won't ever exit.
36482
dde032e8 36483 * kern/i386/ieee1275/init.c: Add missing prototype for
36484 grub_stop_floppy().
36485
22cd079d 36486 * loader/ieee1275/multiboot2.c [__i386__]: Include
36487 grub/cpu/multiboot.h.
36488
a0c62e4e 36489 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36490 casts to short - they are not portable and cause warnings. Fix
36491 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36492
63963d17 364932009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36494
36495 Drivemap fixes
36496
36497 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36498 new function
36499 (grub_get_root_biosnumber_saved): new variable
36500 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36501 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36502 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36503 %dx after the call if necessary
36504 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36505 (boot_mod_SOURCES): remove
36506 (boot_mod_CFLAGS): remove
36507 (boot_mod_LDFLAGS): remove
36508 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36509 (boot_mod_SOURCES): new variable
36510 (boot_mod_CFLAGS): likewise
36511 (boot_mod_LDFLAGS): likewise
36512 * conf/i386-efi.rmk: likewise
36513 * conf/i386-ieee1275.rmk: likewise
36514 * conf/i386-pc.rmk: likewise
36515 * conf/powerpc-ieee1275.rmk: likewise
36516 * conf/sparc64-ieee1275.rmk: likewise
36517 * conf/x86_64-efi.rmk: likewise
36518 * include/grub/i386/pc/biosnum.h: new file
36519 * lib/i386/pc/biosnum.c: likewise
36520 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36521 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36522 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36523
33abf7ae 365242009-06-10 Pavel Roskin <proski@gnu.org>
36525
5ac35b35 36526 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36527 Use separate variables. Read only the file size at the end, but
36528 not the checksum that we don't use.
36529
5c5215d5 36530 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36531 Adjust all callers.
36532
27d5fef7 36533 * kern/ieee1275/openfw.c: Remove libc includes.
36534 * kern/ieee1275/cmain.c: Likewise.
36535 * include/grub/ieee1275/ieee1275.h: Likewise.
36536
33abf7ae 36537 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36538 compiler warnings.
36539
19d50c2b 365402009-06-10 Felix Zielcke <fzielcke@z-51.de>
36541
36542 * Makefile.in: Remove all trailing whitespace.
36543 * conf/i386-pc.rmk: Likewise.
36544 * conf/powerpc-ieee1275.rmk: Likewise.
36545 * conf/sparc64-ieee1275.rmk: Likewise.
36546 * docs/grub.texi: Likewise.
36547 * docs/texinfo.tex: Likewise.
36548 * disk/fs_uuid.c: Likewise.
36549 * disk/lvm.c: Likewise.
36550 * disk/scsi.c: Likewise.
36551 * disk/ata.c: Likewise.
36552 * disk/ieee1275/ofdisk.c: Likewise.
36553 * disk/i386/pc/biosdisk.c: Likewise.
36554 * disk/host.c: Likewise.
36555 * disk/raid.c: Likewise.
36556 * disk/efi/efidisk.c: Likewise.
36557 * disk/usbms.c: Likewise.
36558 * disk/memdisk.c: Likewise.
36559 * disk/loopback.c: Likewise.
36560 * kern/powerpc/dl.c: Likewise.
36561 * kern/device.c: Likewise.
36562 * kern/dl.c: Likewise.
36563 * kern/sparc64/dl.c: Likewise.
36564 * kern/ieee1275/ieee1275.c: Likewise.
36565 * kern/term.c: Likewise.
36566 * kern/fs.c: Likewise.
36567 * kern/i386/dl.c: Likewise.
36568 * kern/i386/pc/startup.S: Likewise.
36569 * kern/i386/pc/init.c: Likewise.
36570 * kern/i386/pc/mmap.c: Likewise.
36571 * kern/i386/pc/lzo1x.S: Likewise.
36572 * kern/i386/ieee1275/init.c: Likewise.
36573 * kern/i386/realmode.S: Likewise.
36574 * kern/i386/tsc.c: Likewise.
36575 * kern/partition.c: Likewise.
36576 * kern/corecmd.c: Likewise.
36577 * kern/file.c: Likewise.
36578 * kern/efi/efi.c: Likewise.
36579 * kern/efi/init.c: Likewise.
36580 * kern/efi/mm.c: Likewise.
36581 * kern/main.c: Likewise.
36582 * kern/err.c: Likewise.
36583 * kern/env.c: Likewise.
36584 * kern/disk.c: Likewise.
36585 * kern/generic/millisleep.c: Likewise.
36586 * kern/generic/rtc_get_time_ms.c: Likewise.
36587 * kern/misc.c: Likewise.
36588 * kern/parser.c: Likewise.
36589 * genmk.rb: Likewise.
36590 * configure.ac: Likewise.
36591 * boot/i386/pc/diskboot.S: Likewise.
36592 * boot/i386/pc/pxeboot.S: Likewise.
36593 * boot/i386/pc/boot.S: Likewise.
36594 * boot/i386/pc/lnxboot.S: Likewise.
36595 * boot/i386/pc/cdboot.S: Likewise.
36596 * parttool/pcpart.c: Likewise.
36597 * video/readers/tga.c: Likewise.
36598 * video/video.c: Likewise.
36599 * video/bitmap.c: Likewise.
36600 * lib/envblk.c: Likewise.
36601 * lib/i386/setjmp.S: Likewise.
36602 * fs/xfs.c: Likewise.
36603 * fs/afs.c: Likewise.
36604 * fs/fat.c: Likewise.
36605 * fs/ntfs.c: Likewise.
36606 * fs/udf.c: Likewise.
36607 * fs/affs.c: Likewise.
36608 * fs/iso9660.c: Likewise.
36609 * fs/hfs.c: Likewise.
36610 * fs/fshelp.c: Likewise.
36611 * fs/ext2.c: Likewise.
36612 * fs/jfs.c: Likewise.
36613 * fs/reiserfs.c: Likewise.
36614 * fs/hfsplus.c: Likewise.
36615 * fs/minix.c: Likewise.
36616 * fs/cpio.c: Likewise.
36617 * fs/sfs.c: Likewise.
36618 * fs/ufs.c: Likewise.
36619 * efiemu/prepare.c: Likewise.
36620 * efiemu/loadcore_common.c: Likewise.
36621 * efiemu/runtime/efiemu.sh: Likewise.
36622 * efiemu/runtime/efiemu.S: Likewise.
36623 * efiemu/runtime/efiemu.c: Likewise.
36624 * efiemu/pnvram.c: Likewise.
36625 * efiemu/main.c: Likewise.
36626 * efiemu/i386/pc/cfgtables.c: Likewise.
36627 * efiemu/i386/loadcore64.c: Likewise.
36628 * efiemu/i386/loadcore32.c: Likewise.
36629 * efiemu/loadcore.c: Likewise.
36630 * efiemu/symbols.c: Likewise.
36631 * efiemu/mm.c: Likewise.
36632 * include/grub/autoefi.h: Likewise.
36633 * include/grub/datetime.h: Likewise.
36634 * include/grub/term.h: Likewise.
36635 * include/grub/hfs.h: Likewise.
36636 * include/grub/lvm.h: Likewise.
36637 * include/grub/i386/tsc.h: Likewise.
36638 * include/grub/i386/linux.h: Likewise.
36639 * include/grub/i386/xnu.h: Likewise.
36640 * include/grub/i386/efiemu.h: Likewise.
36641 * include/grub/i386/pc/biosdisk.h: Likewise.
36642 * include/grub/i386/pc/memory.h: Likewise.
36643 * include/grub/i386/pc/vbe.h: Likewise.
36644 * include/grub/parttool.h: Likewise.
36645 * include/grub/video.h: Likewise.
36646 * include/grub/memory.h: Likewise.
36647 * include/grub/fs.h: Likewise.
36648 * include/grub/partition.h: Likewise.
36649 * include/grub/xnu.h: Likewise.
36650 * include/grub/efi/api.h: Likewise.
36651 * include/grub/efi/pe32.h: Likewise.
36652 * include/grub/efi/memory.h: Likewise.
36653 * include/grub/multiboot.h: Likewise.
36654 * include/grub/usbdesc.h: Likewise.
36655 * include/grub/multiboot2.h: Likewise.
36656 * include/grub/acpi.h: Likewise.
36657 * include/grub/efiemu/efiemu.h: Likewise.
36658 * include/grub/disk.h: Likewise.
36659 * include/grub/ieee1275/ieee1275.h: Likewise.
36660 * include/grub/net.h: Likewise.
36661 * include/grub/machoload.h: Likewise.
36662 * include/grub/macho.h: Likewise.
36663 * include/multiboot.h: Likewise.
36664 * genmoddep.awk: Likewise.
36665 * normal/main.c: Likewise.
36666 * normal/menu_entry.c: Likewise.
36667 * normal/menu_viewer.c: Likewise.
36668 * normal/completion.c: Likewise.
36669 * normal/cmdline.c: Likewise.
36670 * normal/misc.c: Likewise.
36671 * normal/datetime.c: Likewise.
36672 * bus/usb/usbtrans.c: Likewise.
36673 * bus/usb/ohci.c: Likewise.
36674 * bus/usb/uhci.c: Likewise.
36675 * bus/usb/usb.c: Likewise.
36676 * mmap/efi/mmap.c: Likewise.
36677 * mmap/i386/pc/mmap_helper.S: Likewise.
36678 * mmap/i386/pc/mmap.c: Likewise.
36679 * mmap/i386/mmap.c: Likewise.
36680 * mmap/i386/uppermem.c: Likewise.
36681 * mmap/mmap.c: Likewise.
36682 * commands/acpi.c: Likewise.
36683 * commands/echo.c: Likewise.
36684 * commands/blocklist.c: Likewise.
36685 * commands/loadenv.c: Likewise.
36686 * commands/usbtest.c: Likewise.
36687 * commands/boot.c: Likewise.
36688 * commands/parttool.c: Likewise.
36689 * commands/search.c: Likewise.
36690 * commands/cat.c: Likewise.
36691 * commands/i386/pc/play.c: Likewise.
36692 * commands/i386/pc/drivemap.c: Likewise.
36693 * commands/i386/pc/vbeinfo.c: Likewise.
36694 * commands/i386/pc/acpi.c: Likewise.
36695 * commands/i386/pc/vbetest.c: Likewise.
36696 * commands/ls.c: Likewise.
36697 * commands/cmp.c: Likewise.
36698 * commands/test.c: Likewise.
36699 * commands/efi/acpi.c: Likewise.
36700 * commands/gptsync.c: Likewise.
36701 * commands/help.c: Likewise.
36702 * partmap/amiga.c: Likewise.
36703 * partmap/apple.c: Likewise.
36704 * partmap/acorn.c: Likewise.
36705 * partmap/pc.c: Likewise.
36706 * partmap/sun.c: Likewise.
36707 * partmap/gpt.c: Likewise.
36708 * script/sh/lexer.c: Likewise.
36709 * script/sh/function.c: Likewise.
36710 * font/font.c: Likewise.
36711 * font/font_cmd.c: Likewise.
36712 * loader/powerpc/ieee1275/linux.c: Likewise.
36713 * loader/efi/chainloader.c: Likewise.
36714 * loader/multiboot_loader.c: Likewise.
36715 * loader/macho.c: Likewise.
36716 * loader/i386/multiboot.c: Likewise.
36717 * loader/i386/linux.c: Likewise.
36718 * loader/i386/pc/linux.c: Likewise.
36719 * loader/i386/pc/multiboot2.c: Likewise.
36720 * loader/i386/pc/chainloader.c: Likewise.
36721 * loader/i386/pc/xnu.c: Likewise.
36722 * loader/i386/bsd_trampoline.S: Likewise.
36723 * loader/i386/efi/linux.c: Likewise.
36724 * loader/i386/multiboot_elfxx.c: Likewise.
36725 * loader/i386/bsd_helper.S: Likewise.
36726 * loader/i386/bsd.c: Likewise.
36727 * loader/i386/linux_trampoline.S: Likewise.
36728 * loader/i386/xnu_helper.S: Likewise.
36729 * loader/i386/xnu.c: Likewise.
36730 * loader/i386/bsd_pagetable.c: Likewise.
36731 * loader/i386/multiboot_helper.S: Likewise.
36732 * loader/xnu.c: Likewise.
36733 * loader/xnu_resume.c: Likewise.
36734 * io/gzio.c: Likewise.
36735 * term/efi/console.c: Likewise.
36736 * term/terminfo.c: Likewise.
36737 * term/ieee1275/ofconsole.c: Likewise.
36738 * term/i386/pc/serial.c: Likewise.
36739 * term/i386/pc/vesafb.c: Likewise.
36740 * term/i386/pc/vga.c: Likewise.
36741 * term/usb_keyboard.c: Likewise.
36742 * term/gfxterm.c: Likewise.
36743 * aclocal.m4: Likewise.
36744 * util/lvm.c: Likewise.
36745 * util/grub.d/30_os-prober.in: Likewise.
36746 * util/grub.d/10_hurd.in: Likewise.
36747 * util/console.c: Likewise.
36748 * util/grub-macho2img.c: Likewise.
36749 * util/grub-probe.c: Likewise.
36750 * util/hostfs.c: Likewise.
36751 * util/i386/pc/grub-mkimage.c: Likewise.
36752 * util/i386/pc/grub-setup.c: Likewise.
36753 * util/i386/efi/grub-mkimage.c: Likewise.
36754 * util/grub-mkconfig.in: Likewise.
36755 * util/raid.c: Likewise.
36756 * util/resolve.c: Likewise.
36757 * util/grub-mkdevicemap.c: Likewise.
36758 * util/grub-emu.c: Likewise.
36759 * util/getroot.c: Likewise.
36760 * util/hostdisk.c: Likewise.
36761 * util/usb.c: Likewise.
36762 * util/grub-editenv.c: Likewise.
36763 * util/misc.c: Likewise.
36764
d2d49665 367652009-06-10 Felix Zielcke <fzielcke@z-51.de>
36766
36767 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
36768 `genparttoollist.sh'.
36769 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
36770 Add `*.sh' to the list find searches for and change `mdate.sh'
36771 to `mdate-sh'.
36772
fe052e37 367732009-06-10 Pavel Roskin <proski@gnu.org>
36774
2763ac18 36775 * include/grub/multiboot2.h: Provide compatibility defines for
36776 multiboot2.h.
36777 * include/multiboot2.h: Include stdint.h only if needed, using
36778 angle brackets.
36779 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
36780 grub/multiboot2.h.
36781 * loader/ieee1275/multiboot2.c: Likewise.
36782 * loader/multiboot2.c: Likewise.
36783 * loader/multiboot_loader.c: Likewise.
36784
437e6adc 36785 * configure.ac: Use -nostdlib when probing for the target. It
36786 should not be required to have libc for the target.
36787
06a6836c 36788 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
36789 they fail without libc headers for the target.
36790 * include/grub/powerpc/libgcc.h: Use weak attribute for all
36791 exports.
36792 * include/grub/sparc64/libgcc.h: Likewise. Don't use
36793 preprocessor conditionals.
36794
fe052e37 36795 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
36796 build system doesn't need to be aware of the tar.c internals.
36797
afd22553 367982009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 36799
afd22553 36800 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 36801
6b787c4f 368022009-06-09 Robert Millan <rmh.grub@aybabtu.com>
36803
36804 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
36805 disk limit to 26 for IDE, Virtio, Xen and SCSI.
36806
368072009-06-09 Felix Zielcke <fzielcke@z-51.de>
36808
36809 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 36810 aren't available if ata.mod gets used.
6b787c4f 36811
473d1e45 368122009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 36813
473d1e45 36814 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 36815 initialising controller.
473d1e45 36816 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 36817
255a27d4 368182009-06-08 Felix Zielcke <fzielcke@z-51.de>
36819
36820 * util/i386/pc/grub-install.in: Add a parameter --disk-module
36821 to choose between ata and biosdisk module on i386-pc.
36822
473d1e45 368232009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 36824
d55842d8 36825 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
36826 Subclass and Programming Interface fields in terms of the 3 byte
36827 Class Code register.
36828 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
36829
fa5db0b1 36830 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
36831 interface is OHCI. Add grub_dprintf for symmetry with
36832 bus/usb/uhci.c.
36833 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36834 interface is UHCI. Add interf variable for programming
36835 interface. Print interface with class/subclass.
36836
c0947beb 36837 * bus/usb/ohci.c: Set interf with correct field.
36838
69da8877 36839 * bus/usb/uhci.c: Remove unneeded doubled lines.
36840 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36841 Remove whitespace inside comment.
36842
9e172e30 368432009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36844
36845 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36846 as fallback an equivalent option without depth.
36847
de65ee2b 368482009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36849
36850 Not fail if unable to retrieve C/H/S on LBA disks
36851
473d1e45 36852 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36853 if unable to retrieve C/H/S on LBA disks
36854
b57ea2c9 368552009-06-08 Pavel Roskin <proski@gnu.org>
36856
36857 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36858 about aliasing.
36859
af361263 368602009-06-08 Felix Zielcke <fzielcke@z-51.de>
36861
36862 * Makefile.in (uninstall): Remove all $lib_DATA files.
36863
4c9ec6b3 368642009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36865
36866 Bugfix: install on partitionless device
36867
36868 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36869 is a whole disk
36870
e76fc924 368712009-06-08 Felix Zielcke <fzielcke@z-51.de>
36872
36873 * Makefile.in (uninstall): Remove all $include_DATA files.
36874
ba5a0d05 368752009-06-08 Felix Zielcke <fzielcke@z-51.de>
36876
36877 * commands/true.c: New file. Implement the true and false commands.
36878 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36879 (true_mod_SOURCES): New variable.
36880 (true_mod_CFLAGS): Likewise.
36881 (true_mod_LDFLAGS): Likewise.
36882
c8048e32 368832009-06-05 Colin D Bennett <colin@gibibit.com>
36884
36885 Optimized font character lookup using binary search instead of linear
36886 search. Fonts now are required to have the character index ordered by
36887 code point.
36888
36889 * font/font.c (load_font_index): Verify that fonts have ordered
36890 character indices.
36891 (find_glyph): Use binary search instead of linear search to find a
36892 character in a font.
36893
408305be 368942009-06-05 Michael Scherer <misc@mandriva.org>
36895
36896 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36897 uses case sensitive btree.
36898 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36899 only for case insensitive filesystems.
36900
8ee1e0d9 369012009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36902
36903 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36904 * conf/common.rmk (search_mod_CFLAGS): likewise
36905
a9966eb1 369062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36907
473d1e45 36908 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36909 compensate a compiler bug
36910
9e7100fb 369112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36912
473d1e45 36913 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36914 instead of '\b'
473d1e45 36915
ede21d71 369162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36917
36918 Definitions for creating asm symbols with Apple's CC
36919
36920 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36921 [APPLE_CC] (VARIABLE): likewise
36922
9dbf7653 369232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36924
36925 Disable lnxboot.img when compiled
36926 with Apple's CC
36927
36928 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36929 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36930 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36931 [! APPLE_CC] (CODE_LENG): skip
36932 [! APPLE_CC] (setup_sects): likewise
36933 [! APPLE_CC]: skip filling
473d1e45 36934
e93cdc3d 369352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36936
36937 Address in trampolines based on 32-bit registers when compiled
36938 with Apple's CC
36939
473d1e45 36940 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36941 for addresses
36942 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36943
6c688477 369442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36945
36946 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36947
36948 * kern/misc.c [APPLE_CC] (memcpy): new function
36949 [APPLE_CC] (memmove): likewise
36950 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36951 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36952 (memset): likewise
36953 (abort): likewise
36954 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36955 APPLE_CC are defined
36956 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36957 (grub_assert_fail): make prototype conditional
36958
e37ffc5c 369592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36960
36961 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36962
473d1e45 36963 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36964 grub-macho2img
e37ffc5c 36965 (CLEANFILES): add grub-macho2img
36966 (grub_macho2img_SOURCES): new variable
36967 * kern/i386/pc/startup.S (bss_start): new variable
36968 (bss_end): likewise
36969 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36970 * util/grub-macho2img.c: new file
36971
cf00df31 369722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36973
36974 Use objconv when compiling with Apple's CC
36975
36976 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36977 (efiemu64.o): likewise
36978 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36979 when compiling with Apple's CC
36980 (efiemu64_s.o): likewise
36981 * configure.ac: check for objconv when compiling with Apple's CC
36982 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36983
d119a20c 369842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36985
36986 Define segment as well as section when compiling with
36987 Apple's CC
36988
36989 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36990 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36991 (efiemu_convert_pointer): likewise
36992 (efiemu_set_virtual_address_map): likewise
36993 (efiemu_convert_pointer): likewise
36994 (efiemu_getcrc32): likewise
36995 (init_crc32_table): likewise
36996 (reflect): likewise
36997 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36998 (GRUB_MOD_DEP): likewise
473d1e45 36999
c8600122 370002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37001
37002 Allow a compilation without -mcmodel=large
37003
37004 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37005 when compiled without -mcmodel=large
473d1e45 37006 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 37007 without -mcmodel=large
473d1e45 37008 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 37009 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 37010
e8df1d4e 370112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37012
37013 Remove nested functions in efiemu core
37014
37015 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 37016
cc6c3ac1 370172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37018
37019 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37020
37021 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37022 temporary storage
473d1e45 37023 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37024 using Apple's CC
cc6c3ac1 37025 (grub_cpu_is_tsc_supported): likewise
37026 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 37027
3e325901 370282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37029
37030 Absolute addressing through constant with Apple's cc
37031
37032 * kern/i386/pc/startup.S: Define necessary constants
37033 and address through it when using ABS with Apple's CC
37034 * boot/i386/pc/diskboot.S: likewise
37035 * boot/i386/pc/boot.S: likewise
37036 * boot/i386/pc/lnxboot.S: likewise
37037 * boot/i386/pc/cdboot.S: likewise
37038 * mmap/i386/pc/mmap_helper.S: likewise
37039 * commands/i386/pc/drivemap_int13h.S: likewise
37040
2b167a72 370412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37042
37043 Check if compiler is apple cc
37044
37045 * Makefile.in (ASFLAGS): new variable
37046 (TARGET_ASFLAGS): likewise
37047 (TARGET_MODULE_FORMAT): likewise
37048 (TARGET_APPLE_CC): likewise
37049 (OBJCONV): likewise
37050 (TARGET_IMG_CFLAGS): likewise
37051 (TARGET_CPPFLAGS): add includedir
37052 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37053 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37054 Check for linker script only if compiler isn't Apple's CC
37055 (TARGET_MODULE_FORMAT): set
37056 (TARGET_APPLE_CC): likewise
37057 (TARGET_ASFLAGS): likewise
37058 (ASFLAGS): likewise
37059 Check for objcopy only if compiler isn't Apple's CC
37060 Check for BSS symbol only if compiler isn't Apple's CC
37061 * genmk.rb: adapt nm options if we use Apple's utils
37062 * aclocal.m4 (grub_apple_cc): new test
37063 (grub_apple_target_cc): likewise
473d1e45 37064
fb14123e 370652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37066
37067 Simplify sed expressions and improve awk
37068
37069 * Makefile.in (install-local): simplify sed expression
37070 * gencmdlist.sh: likewise
37071 * genmoddep.awk: avoid adding module as a dependency of itself
37072
5b889789 370732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37074
37075 Add missing start symbols
37076
37077 * boot/i386/pc/boot.S: add start
fb14123e 37078 * boot/i386/pc/pxeboot.S: likewise
473d1e45 37079
fd2bf2e3 370802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37081
37082 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 37083
37084 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 37085 (relocate_addresses): consider both r_addend and value at offset
37086 (make_mods_section): zerofill modinfo and header
37087 (convert_elf): write prefix here
473d1e45 37088
5389763d 370892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37090
37091 Use .asciz instead of .string
37092
37093 * i386/pc/diskboot.S: use .asciz instead of .string
37094 * i386/pc/boot.S: likewise
37095 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37096 (GRUB_MOD_NAME): likewise
473d1e45 37097
3eb5ed4e 370982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37099
37100 gfxpayload support
37101
37102 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37103 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37104 (grub_video_setup): remove
37105 (grub_video_set_mode): new prototype
37106 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37107 (vid_mode): remove
37108 (linux_vesafb_res): compile only on PCBIOS
37109 (grub_linux_boot): support gfxpayload
37110 * loader/i386/pc/xnu.c (video_hook): new function
37111 (grub_xnu_set_video): support gfxpayload
37112 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
37113 (DEFAULT_VIDEO_HEIGHT): likewise
37114 (DEFAULT_VIDEO_FLAGS): likewise
37115 (DEFAULT_VIDEO_MODE): new definition
37116 (video_hook): new function
37117 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 37118 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 37119 loading xnu
37120 * video/video.c (grub_video_setup): removed
473d1e45 37121 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 37122 grub_video_setup
37123
4b0e1143 371242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37125
37126 Avoid calling biosdisk in drivemap
37127
37128 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
37129 (revparse_biosdisk): likewise
37130 (list_mappings): derive name from id directly
37131 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 37132
fda6cb98 371332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37134
37135 Script fixes
37136
37137 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
37138 (grub_lexer_param): add tokenonhold
37139 (grub_script_create_cmdline): remove cmdline. All callers updated
37140 (grub_script_function_create): make functionname
37141 grub_script_arg. All callers updated
37142 (grub_script_execute_argument_to_string): new prototype
37143 * kern/parser.c (state_transitions): reorder
37144 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 37145 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 37146 make global
37147 (grub_script_execute_cmdline): use new format
37148 * script/sh/function.c (grub_script_function_create): make functionname
37149 grub_script_arg. All callers updated
473d1e45 37150 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 37151 (grub_script_yylex): remove
37152 (grub_script_yylex2): renamed to ...
37153 (grub_script_yylex): ...renamed
37154 parse the expressions like a${b}c
37155 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
37156 (GRUB_PARSER_TOKEN_VAR): remove
37157 (GRUB_PARSER_TOKEN_NAME): likewise
37158 ("if"): declare as typeless
37159 ("while"): likewise
37160 ("function"): likewise
37161 ("else"): likewise
37162 ("then"): likewise
37163 ("fi"): likewise
37164 (text): remove
37165 (argument): likewise
37166 (script): accept empty scripts and make exit on error
37167 (arguments): use GRUB_PARSER_TOKEN_ARG
37168 (function): likewise
37169 (command): move error handling to script
37170 (menuentry): move grub_script_lexer_ref before
473d1e45 37171 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 37172 argument. All callers updated
37173
f4448a07 371742009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37175
37176 Prevent GRUB from probing floppies during boot.
37177
37178 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
37179 * commands/search.c (options): Add --no-floppy.
37180 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
37181 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
37182 --no-floppy when searching for UUIDs.
37183
2bf5885a 371842009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37185
37186 Simplify the code duplication in commands/search.c.
37187
37188 * commands/search.c (search_label, search_fs_uuid): Merge into ...
37189 (search_fs): ... this. Update all users.
37190
f6fd460a 371912009-06-03 Felix Zielcke <fzielcke@z-51.de>
37192
37193 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
37194
cbb3c83e 371952009-05-28 Pavel Roskin <proski@gnu.org>
37196
57788cfd 37197 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
37198 Remove the original symlink explicitly.
37199
cbb3c83e 37200 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37201 just one slash. That's how grub_fshelp_find_file() does it.
37202
cd0d5e30 372032009-05-26 Pavel Roskin <proski@gnu.org>
37204
f0f8bbe2 37205 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37206 to `str'.
37207
cd0d5e30 37208 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37209 possibly unused.
37210
8c2cab51 372112009-05-25 Christian Franke <franke@computer.org>
37212
37213 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37214 register.
37215 (grub_atapi_identify): Add wait after drive select.
37216 (grub_ata_identify): Do more strict status register check before
37217 calling grub_atapi_identify (). Suppress error message if status
37218 register is 0x00 after command failure. Add status register
37219 check after PIO read to avoid bogus identify due to stuck DRQ.
37220 Thanks to Pavel Roskin for testing.
37221 (grub_device_initialize): Remove unsafe status register check.
37222 Thanks to 'phcoder' for problem report and patch.
37223 Prevent sign extension in debug message.
37224
230c0ad6 372252009-05-23 Colin D Bennett <colin@gibibit.com>
37226
37227 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37228 definition file, and functions defined in `normal/menu.c' have had
37229 their prototypes moved to `include/grub/menu.h' for consistency.
37230
37231 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37232 from normal.h.
37233 (grub_menu_get_entry): Likewise.
37234 (grub_menu_get_timeout): Likewise.
37235 (grub_menu_set_timeout): Likewise.
37236 (grub_menu_execute_entry): Likewise.
37237 (grub_menu_execute_with_fallback): Likewise.
37238 (grub_menu_entry_run): Likewise.
37239
37240 * include/grub/normal.h: Re-ordered and grouped function
37241 prototypes by file that the function is defined in.
37242 (grub_menu_execute_callback): Removed; moved to menu.h.
37243 (grub_menu_get_entry): Likewise.
37244 (grub_menu_get_timeout): Likewise.
37245 (grub_menu_set_timeout): Likewise.
37246 (grub_menu_execute_entry): Likewise.
37247 (grub_menu_execute_with_fallback): Likewise.
37248 (grub_menu_entry_run): Likewise.
37249 (grub_menu_addentry): Renamed from this ...
37250 (grub_normal_add_menu_entry): ... to this.
37251
37252 * normal/main.c (grub_menu_addentry): Renamed from this ...
37253 (grub_normal_add_menu_entry): ... to this.
37254
37255 * script/sh/execute.c (grub_script_execute_menuentry): Update
37256 reference to renamed grub_menu_addentry function.
37257
861f03a5 372582009-05-23 Felix Zielcke <fzielcke@z-51.de>
37259
37260 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37261
96b1619a 372622009-05-22 Pavel Roskin <proski@gnu.org>
37263
bf6a5fb2 37264 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37265 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37266 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37267 compiling for the i386 targets, but not for the utilities.
37268
96b1619a 37269 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37270 to grub_uint8_t.
37271 (grub_root_drive): Likewise.
37272 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37273 remove alignment.
37274 (grub_root_drive): Change size to byte.
37275 (grub_start_addr): Remove.
37276 (grub_end_addr): Likewise.
37277 (grub_apm_bios_info): Likewise.
37278
b729776b 372792009-05-21 Felix Zielcke <fzielcke@z-51.de>
37280
37281 * normal/i386: Remove.
37282 * normal/powerpc: Likewise.
37283 * normal/sparc64: Likewise.
37284 * normal/x86_64: Likewise.
37285
0a15ce80 372862009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37287
37288 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37289 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37290 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37291
33db9015 372922009-05-18 Colin D Bennett <colin@gibibit.com>
37293
d6da58e6 37294 Display error messages when parsing a Lua statement fails.
37295 Previously, executing a syntactically invalid statement like
37296 ")foo" or "bar;" would silently fail.
33db9015 37297
37298 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37299 (grub_lua_parse_line): Improved reporting of Lua parser and
37300 execution errors.
33db9015 37301
46422c89 373022009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37303
37304 Remove -Werror which causes build to fail on some systems
37305
37306 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37307 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37308 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37309
22f53a96 373102009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37311
37312 trampoline for linux on 64-bit platform
37313
18f547ad 37314 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37315 loader/i386/efi/linux_trampoline.S
37316 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37317 declaration
d6da58e6 37318 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37319 here
22f53a96 37320 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37321 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37322 trampoline
22f53a96 37323 (jumpvector): removed
37324 (grub_linux_trampoline_start): new declaration
37325 (grub_linux_trampoline_end): likewise
37326 (grub_linux_boot): use trampoline when on 64-bit platform
37327 * loader/i386/linux.c: likewise
37328
cb5a0f40 373292009-05-16 Pavel Roskin <proski@gnu.org>
37330
37331 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37332 const to avoid a warning.
37333 (grub_lua_setenv): Likewise.
37334 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37335 lmsg to fix a warning.
37336
334f2c28 373372009-05-16 Felix Zielcke <fzielcke@z-51.de>
37338
37339 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37340 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37341 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37342 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37343 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37344 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37345 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37346 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37347
59e5d3ec 373482009-05-16 Felix Zielcke <fzielcke@z-51.de>
37349
37350 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37351
9d87a1ba 373522009-05-16 Bean <bean123ch@gmail.com>
37353
37354 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37355 (lua_mod_SOURCES): New variable.
37356 (lua_mod_CFLAGS): Likewise.
37357 (lua_mod_LDFLAGS): Likewise.
37358
37359 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37360 (setjmp_mod_SOURCES): New variable.
37361 (setjmp_mod_CFLAGS): Likewise.
37362 (setjmp_LDFLAGS): Likewise.
37363
37364 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37365 (setjmp_mod_SOURCES): New variable.
37366 (setjmp_mod_CFLAGS): Likewise.
37367 (setjmp_LDFLAGS): Likewise.
37368
37369 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37370 (setjmp_mod_SOURCES): New variable.
37371 (setjmp_mod_CFLAGS): Likewise.
37372 (setjmp_LDFLAGS): Likewise.
37373
37374 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37375 (setjmp_mod_SOURCES): New variable.
37376 (setjmp_mod_CFLAGS): Likewise.
37377 (setjmp_LDFLAGS): Likewise.
37378
37379 * normal/i386/setjmp.S: Moved from here ...
37380 * lib/i386/setjmp.S: ... Moved here
37381 * normal/x86_64/setjmp.S: Moved from here ...
37382 * lib/x86_64/setjmp.S: ... Moved here
37383 * normal/powerpc/setjmp.S: Moved from here ...
37384 * lib/powerpc/setjmp.S: ... Moved here
37385 * normal/sparc64/setjmp.S: Moved from here ...
37386 * lib/sparc64/setjmp.S: ... Moved here
37387
37388 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37389 returns_twice in mingw.
37390
37391 * script/lua/grub_lib.c: New file.
37392 * script/lua/grub_lib.h: Likewise.
37393 * script/lua/grub_lua.h: Likewise.
37394 * script/lua/grub_main.c: Likewise.
37395 * script/lua/lapi.c: Likewise.
37396 * script/lua/lapi.h: Likewise.
37397 * script/lua/lauxlib.c: Likewise.
37398 * script/lua/lauxlib.h: Likewise.
37399 * script/lua/lbaselib.c: Likewise.
37400 * script/lua/lcode.c: Likewise.
37401 * script/lua/lcode.h: Likewise.
37402 * script/lua/ldblib.c: Likewise.
37403 * script/lua/ldebug.c: Likewise.
37404 * script/lua/ldebug.h: Likewise.
37405 * script/lua/ldo.c: Likewise.
37406 * script/lua/ldo.h: Likewise.
37407 * script/lua/ldump.c: Likewise.
37408 * script/lua/lfunc.c: Likewise.
37409 * script/lua/lfunc.h: Likewise.
37410 * script/lua/lgc.c: Likewise.
37411 * script/lua/lgc.h: Likewise.
37412 * script/lua/linit.c: Likewise.
37413 * script/lua/liolib.c: Likewise.
37414 * script/lua/llex.c: Likewise.
37415 * script/lua/llex.h: Likewise.
37416 * script/lua/llimits.h: Likewise.
37417 * script/lua/lmathlib.c: Likewise.
37418 * script/lua/lmem.c: Likewise.
37419 * script/lua/lmem.h: Likewise.
37420 * script/lua/loadlib.c: Likewise.
37421 * script/lua/lobject.c: Likewise.
37422 * script/lua/lobject.h: Likewise.
37423 * script/lua/lopcodes.c: Likewise.
37424 * script/lua/lopcodes.h: Likewise.
37425 * script/lua/loslib.c: Likewise.
37426 * script/lua/lparser.c: Likewise.
37427 * script/lua/lparser.h: Likewise.
37428 * script/lua/lstate.c: Likewise.
37429 * script/lua/lstate.h: Likewise.
37430 * script/lua/lstring.c: Likewise.
37431 * script/lua/lstring.h: Likewise.
37432 * script/lua/lstrlib.c: Likewise.
37433 * script/lua/ltable.c: Likewise.
37434 * script/lua/ltable.h: Likewise.
37435 * script/lua/ltablib.c: Likewise.
37436 * script/lua/ltm.c: Likewise.
37437 * script/lua/ltm.h: Likewise.
37438 * script/lua/lua.h: Likewise.
37439 * script/lua/luaconf.h: Likewise.
37440 * script/lua/lualib.h: Likewise.
37441 * script/lua/lundump.c: Likewise.
37442 * script/lua/lundump.h: Likewise.
37443 * script/lua/lvm.c: Likewise.
37444 * script/lua/lvm.h: Likewise.
37445 * script/lua/lzio.c: Likewise.
37446 * script/lua/lzio.h: Likewise.
37447
5e898c9d 374482009-05-16 Bean <bean123ch@gmail.com>
37449
37450 * include/grub/kernel.h (grub_module_header_types): Add type
37451 OBJ_TYPE_CONFIG.
37452
37453 * kern/main.c (grub_load_config): New function.
37454 (grub_main): Call grub_load_config to read boot config.
37455
37456 * grub-mkimage (generate_image): New parameter config_path.
37457 (options): New option --config.
37458 (main): Parse --config option, and pass it to generate_image.
37459
cf353a47 374602009-05-14 Christian Franke <franke@computer.org>
37461
37462 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37463 This fixes build on Cygwin.
37464
3834887f 374652009-05-14 Pavel Roskin <proski@gnu.org>
37466
37467 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37468 jump. This saves two bytes, so the typical case of 2 swapped
37469 drives would fit 32 bytes.
37470
8090fc01 374712009-05-13 Pavel Roskin <proski@gnu.org>
37472
ac963883 37473 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37474 grub_uint32_t to avoid a warning.
37475
8090fc01 37476 * loader/i386/linux.c (allocate_pages): When assigning
37477 real_mode_mem, cast through grub_size_t to fix a warning. The
37478 code already makes sure that the value would fit a pointer.
37479 (grub_linux_setup_video): Cast render_target->data to
37480 grub_size_t to fix a warning.
37481
18f547ad 374822009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37483
37484 * commands/i386/pc/drivemap.c: New file - implement drivemap
37485 command.
37486 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37487 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37488
6f6a8b28 374892009-05-13 Pavel Roskin <proski@gnu.org>
37490
37491 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37492 embedding_area_exists.
37493
15fbf4c4 374942009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37495
37496 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37497 it easier to understand / work with.
59978c8a 37498 Improve warning messages for cases where there's no embedding area,
37499 or when it is too small (or core.img too large).
15fbf4c4 37500
238e871f 375012009-05-13 Pavel Roskin <proski@gnu.org>
37502
0ab3a9a4 37503 * loader/i386/pc/multiboot2.c: Add necessary includes for
37504 grub_multiboot2_real_boot().
37505
a2c8c5f8 37506 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37507 PX record is always little-endian. We only need the lower 2
37508 bytes of the mode.
37509
faec96af 37510 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37511 facilitate code reuse.
37512 (grub_cpio_mount): Use "struct head", not a char buffer. This
37513 fixes a warning reported by gcc 4.4.
37514
238e871f 37515 * kernel/disk.c (grub_disk_read): Use void pointer for the
37516 buffer.
37517 (grub_disk_write): Use const void pointer for the buffer.
37518 Adjust all callers. Remove unnecessary casts.
37519
901d2f0c 375202009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37521
37522 * util/i386/pc/grub-install.in: Update copyright year.
37523
18f547ad 375242009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37525
37526 gptsync
37527
37528 * commands/gptsync.c: new file
37529 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37530 (gptsync_mod_SOURCES): new variable
37531 (gptsync_mod_CFLAGS): likewise
37532 (gptsync_mod_LDFLAGS): likewise
18f547ad 37533 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37534 new definition
37535 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37536 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37537 * conf/i386-ieee1275.rmk: likewise
37538 * conf/i386-pc.rmk: likewise
37539 * conf/powerpc-ieee1275.rmk: likewise
37540
b4ba690a 375412009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37542
37543 Fixed grub-emu
37544
37545 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37546 (grub_dl_ref): likewise
37547
317e1a44 375482009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37549
37550 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37551 split in two functions (one for msdos and one for gpt).
37552
041b8094 375532009-05-08 Pavel Roskin <proski@gnu.org>
37554
752473c2 37555 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37556 not modified.
37557
041b8094 37558 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37559 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37560 Initialize them with -1. Add sanity check for bad1. Eliminate
37561 nerr variable.
37562
172800ce 375632009-05-08 David S. Miller <davem@davemloft.net>
37564
37565 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37566
29aa5e81 375672009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37568
37569 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37570 existence.
29aa5e81 37571
96613b62 375722009-05-05 Felix Zielcke <fzielcke@z-51.de>
37573
37574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37575 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37576
eef73c8a 375772009-05-05 David S. Miller <davem@davemloft.net>
37578
37579 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37580
119494b5 375812009-05-05 Pavel Roskin <proski@gnu.org>
37582
37583 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37584 of grub_dl_ref() and grub_dl_unref().
37585 * commands/parttool.c: Remove preprocessor conditionals around
37586 grub_dl_ref() and grub_dl_unref().
37587 * fs/affs.c: Likewise.
37588 * fs/afs.c: Likewise.
37589 * fs/cpio.c: Likewise.
37590 * fs/ext2.c: Likewise.
37591 * fs/fat.c: Likewise.
37592 * fs/hfs.c: Likewise.
37593 * fs/hfsplus.c: Likewise.
37594 * fs/iso9660.c: Likewise.
37595 * fs/jfs.c: Likewise.
37596 * fs/minix.c: Likewise.
37597 * fs/ntfs.c: Likewise.
37598 * fs/reiserfs.c: Likewise.
37599 * fs/sfs.c: Likewise.
37600 * fs/udf.c: Likewise.
37601 * fs/ufs.c: Likewise.
37602 * fs/xfs.c: Likewise.
37603 * include/grub/dl.h: Likewise.
37604 * loader/xnu.c: Likewise.
37605
de5fd76e 376062009-05-04 Pavel Roskin <proski@gnu.org>
37607
37608 * commands/acpi.c: Remove unused variable my_mod.
37609 * partmap/amiga.c: Likewise.
37610 * partmap/apple.c: Likewise.
37611 * partmap/gpt.c: Likewise.
37612 * partmap/pc.c: Likewise.
37613 * partmap/sun.c: Likewise.
37614 * term/gfxterm.c: Likewise.
37615 * term/i386/pc/vesafb.c: Likewise.
37616 * term/i386/pc/vga.c: Likewise.
37617
983598ad 376182009-05-04 David S. Miller <davem@davemloft.net>
37619
37620 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37621 pointer args to grub_ieee1275_get_property().
37622
8aadec43 37623 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37624
9554b15e 37625 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37626 devices, and do not traverse down under controller nodes.
37627
67e23c90 37628 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37629 (grub_ofdisk_open): Use it to un-escape "," characters.
37630 * kern/disk.c (find_part_sep): New.
37631 (grub_disk_open): Use it to find the first non-escaped ','
37632 character in the disk name.
37633 * util/ieee1275/devicemap.c (escape_of_path): New.
37634 (grub_util_emit_devicemap_entry): Use it.
37635 * util/sparc64/ieee1275/grub-install.in: Update script to
37636 strip partition specifiers properly by not triggering on
37637 '\' escaped ',' characters.
37638
74bfdd2f 376392009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37640
37641 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37642 to 0x300.
37643 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37644 resolutions.
37645 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37646 on documentation from Wikipedia).
37647
4241d2b1 376482009-05-04 Pavel Roskin <proski@gnu.org>
37649
37650 * disk/ata.c: Spelling fixes.
37651 * disk/raid.c: Likewise.
37652 * disk/usbms.c: Likewise.
37653 * disk/dmraid_nvidia.c: Likewise.
37654 * kern/ieee1275/openfw.c: Likewise.
37655 * kern/ieee1275/init.c: Likewise.
37656 * kern/ieee1275/cmain.c: Likewise.
37657 * boot/i386/pc/cdboot.S: Likewise.
37658 * video/readers/png.c: Likewise.
37659 * video/i386/pc/vbe.c: Likewise.
37660 * fs/udf.c: Likewise.
37661 * fs/hfs.c: Likewise.
37662 * fs/reiserfs.c: Likewise.
37663 * efiemu/runtime/efiemu.c: Likewise.
37664 * efiemu/main.c: Likewise.
37665 * efiemu/mm.c: Likewise.
37666 * include/grub/elf.h: Likewise.
37667 * include/grub/xnu.h: Likewise.
37668 * include/grub/usbdesc.h: Likewise.
37669 * include/grub/usb.h: Likewise.
37670 * include/grub/script_sh.h: Likewise.
37671 * include/grub/lib/LzmaEnc.h: Likewise.
37672 * include/grub/efiemu/efiemu.h: Likewise.
37673 * include/grub/command.h: Likewise.
37674 * normal/menu.c: Likewise.
37675 * normal/main.c: Likewise.
37676 * normal/datetime.c: Likewise.
37677 * bus/usb/uhci.c: Likewise.
37678 * mmap/i386/uppermem.c: Likewise.
37679 * mmap/mmap.c: Likewise.
37680 * commands/acpi.c: Likewise.
37681 * commands/test.c: Likewise.
37682 * partmap/apple.c: Likewise.
37683 * font/font.c: Likewise.
37684 * loader/sparc64/ieee1275/linux.c: Likewise.
37685 * loader/macho.c: Likewise.
37686 * loader/i386/bsd_trampoline.S: Likewise.
37687 * loader/i386/bsd.c: Likewise.
37688 * loader/xnu.c: Likewise.
37689 * term/i386/pc/vesafb.c: Likewise.
37690 * term/usb_keyboard.c: Likewise.
37691 * util/resolve.c: Likewise.
37692 * util/getroot.c: Likewise.
37693
0cfc0083 376942009-05-04 Felix Zielcke <fzielcke@z-51.de>
37695
37696 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37697
7c1d00cd 376982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37699
37700 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37701 build error.
37702
b01f0548 377032009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37704
37705 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37706 parameter only available on BIOS.
37707
ecc3eb22 377082009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37709
37710 Removed wrong semicolon in declaration
37711
37712 * grub/misc.h (grub_dprintf): remove semicolon
37713
112972a9 377142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37715
37716 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37717 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37718 is done by grub_cmd_linux() now).
37719 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
37720 restore video to text mode.
37721 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
37722 indicates lack of "vga=" parameter. "vga=0" is mapped to
37723 `GRUB_LINUX_VID_MODE_NORMAL'.
37724
afd5c115 377252009-05-04 Felix Zielcke <fzielcke@z-51.de>
37726
37727 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
37728 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
37729 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 37730 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 37731 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
37732 `grub_script.tab.c'.
37733
37734 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37735 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37737 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37738 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37739
faa517ce 37740 * Makefile.in: Remove duplicated 2008 in Copyright line.
37741
ae0c0bdc 377422009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37743
473d1e45 37744 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 37745 unconditionally.
37746 * include/grub/util/misc.h (grub_util_warn): New declaration.
37747
37748 * util/i386/pc/grub-install.in: Understand --force and pass it down
37749 to grub-setup.
37750
37751 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
37752 down to setup().
37753 (setup): Improve error messages and add warnings when requested to
37754 install in odd layouts. Refuse to install using blocklists unless
37755 --force was set.
37756
18f547ad 377572009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 37758
37759 * disk/raid.c (grub_raid_scan_device): Improve debug message.
37760
6d260daa 377612009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37762
37763 Updated copyright year
37764
37765 * fs/hfsplus.c: updated copyright year
18f547ad 37766
69f853f8 377672009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37768
37769 HFS+ UUID
37770
18f547ad 37771 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 37772 in the space previously used by unused3
37773 (grub_hfsplus_uuid): new function
37774 (grub_hfsplus_fs): added uuid field
37775
4c402e73 377762009-05-03 Pavel Roskin <proski@gnu.org>
37777
37778 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
37779 suppress warnings. It's no longer needed.
37780 * disk/host.c: Likewise.
37781 * disk/ata_pthru.c: Likewise.
37782 * disk/loopback.c: Likewise.
37783 * hook/datehook.c: Likewise.
37784 * parttool/pcpart.c: Likewise.
37785 * fs/i386/pc/pxe.c: Likewise.
37786 * fs/ntfscomp.c: Likewise.
37787 * efiemu/main.c: Likewise.
37788 * mmap/mmap.c: Likewise.
37789 * commands/crc.c: Likewise.
37790 * commands/hexdump.c: Likewise.
37791 * commands/hdparm.c: Likewise.
37792 * commands/acpi.c: Likewise.
37793 * commands/echo.c: Likewise.
37794 * commands/minicmd.c: Likewise.
37795 * commands/blocklist.c: Likewise.
37796 * commands/memrw.c: Likewise.
37797 * commands/loadenv.c: Likewise.
37798 * commands/usbtest.c: Likewise.
37799 * commands/lsmmap.c: Likewise.
37800 * commands/boot.c: Likewise.
37801 * commands/parttool.c: Likewise.
37802 * commands/configfile.c: Likewise.
37803 * commands/search.c: Likewise.
37804 * commands/ieee1275/suspend.c: Likewise.
37805 * commands/cat.c: Likewise.
37806 * commands/i386/pc/pxecmd.c: Likewise.
37807 * commands/i386/pc/play.c: Likewise.
37808 * commands/i386/pc/halt.c: Likewise.
37809 * commands/i386/pc/vbeinfo.c: Likewise.
37810 * commands/i386/pc/vbetest.c: Likewise.
37811 * commands/lspci.c: Likewise.
37812 * commands/date.c: Likewise.
37813 * commands/handler.c: Likewise.
37814 * commands/ls.c: Likewise.
37815 * commands/test.c: Likewise.
37816 * commands/cmp.c: Likewise.
37817 * commands/efi/loadbios.c: Likewise.
37818 * commands/efi/fixvideo.c: Likewise.
37819 * commands/halt.c: Likewise.
37820 * commands/help.c: Likewise.
37821 * commands/reboot.c: Likewise.
37822 * hello/hello.c: Likewise.
37823 * script/sh/main.c: Likewise.
37824 * loader/xnu.c: Likewise.
37825 * term/terminfo.c: Likewise.
37826 * term/i386/pc/serial.c: Likewise.
37827 * term/usb_keyboard.c: Likewise.
37828
515b5079 378292009-05-03 David S. Miller <davem@davemloft.net>
37830
37831 * normal/menu.c: Include grub/parser.h
37832
dfc31a22 378332009-05-03 Pavel Roskin <proski@gnu.org>
37834
2fee74f1 37835 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37836 not char*.
37837 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37838 Suggested by Javier Martín <lordhabbit@gmail.com>
37839
dfc31a22 37840 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37841 efiemu??.o doesn't exist.
37842 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37843 copying.
37844
18f547ad 378452009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37846
37847 FreeBSD 64-bit support
37848
18f547ad 37849 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37850 and loader/i386/bsd_trampoline.S
37851 (bsd_mod_ASFLAGS): new variable
37852 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37853 (FREEBSD_MODTYPE_KERNEL64): likewise
37854 (grub_bsd64_trampoline_start): likewise
37855 (grub_bsd64_trampoline_end): likewise
37856 (grub_bsd64_trampoline_selfjump): likewise
37857 (grub_bsd64_trampoline_gdt): likewise
37858 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37859 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37860 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37861 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37862 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37863 of "attrib" member
37864 * loader/i386/bsd_pagetable.c: new file
37865 * loader/i386/bsd_trampoline.S: likewise
37866 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37867 (ALIGN_VAR): likewise
37868 (entry_hi): new variable
37869 (kern_end_mdofs): likewise
37870 (is_64bit): likewise
37871 (grub_freebsd_add_meta): use ALIGN_VAR
37872 (grub_e820_mmap): new declaration
37873 (grub_freebsd_add_mmap): new function
37874 (grub_freebsd_add_meta_module): support 64 bit kernels
37875 (grub_freebsd_list_modules): use ALIGN_VAR
37876 (gdt_descriptor): new declaration
37877 (grub_freebsd_boot): support 64 bit kernels
37878 (grub_bsd_elf64_hook): new function
37879 (grub_bsd_load_elf): support elf64
37880
038c5720 378812009-05-03 Bean <bean123ch@gmail.com>
37882
37883 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37884 after we get the result of if statement.
37885
fc45fb58 378862009-05-03 Bean <bean123ch@gmail.com>
37887
37888 * Makefile.in (enable_efiemu): New variable.
37889
37890 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37891 set.
37892 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37893 path.
37894 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37895 path, add -mno-red-zone option.
37896 (efiemu64_s.o): Likewise.
37897 (efiemu64.o): Use macro $^ for source file.
37898
37899 * configure.ac (--enable-efiemu): New option.
37900
bbee0f2b 379012009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37902
37903 xnu support
37904
37905 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37906 (pkglib_MODULES): add xnu.mod
37907 (xnu_mod_SOURCES): new variable
37908 (xnu_mod_CFLAGS): likewise
37909 (xnu_mod_LDFLAGS): likewise
37910 (xnu_mod_ASFLAGS): likewise
37911 * conf/i386-pc.rmk: likewise
37912 * conf/x86_64-efi.rmk: likewise
7dd4a573 37913 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37914 new declaration
37915 * include/grub/i386/macho.h: new file
37916 * include/grub/i386/xnu.h: likewise
37917 * include/grub/macho.h: likewise
37918 * include/grub/machoload.h: likewise
37919 * include/grub/x86_64/macho.h: likewise
37920 * include/grub/x86_64/xnu.h: likewise
37921 * include/grub/xnu.h: likewise
37922 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37923 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37924 * loader/i386/efi/xnu.c: new file
37925 * loader/i386/pc/xnu.c: likewise
37926 * loader/i386/xnu.c: likewise
37927 * loader/i386/xnu_helper.S: likewise
37928 * loader/macho.c: likewise
37929 * loader/xnu.c: likewise
37930 * loader/xnu_resume.c: likewise
37931 * util/grub-dumpdevtree: likewise
37932 * include/grub/i386/pit.h: include grub/err.h
37933 (grub_pit_wait): export
37934 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37935
5caf964d 379362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37937
37938 Efiemu
7dd4a573 37939
5caf964d 37940 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37941 _linux_efi, linux_efi.
37942 new files in grub-emu
5caf964d 37943 new targets efiemu32.o and efiemu64.o
37944 * loader/linux_normal_efiemu.c: likewise
37945 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37946 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37947 files to copy
37948 * include/grub/autoefi.h: new file
7dd4a573 37949 * include/grub/i386/efiemu.h: likewise
5caf964d 37950 * include/grub/i386/pc/efiemu.h: likewise
37951 * include/grub/efi/api.h: add LL suffix when necessary
37952 new definitions relating to tables
37953 * include/grub/efiemu/efiemu.h: new file
37954 * include/grub/efiemu/runtime.h: likewise
37955 * efiemu/prepare.c: likewise
37956 * efiemu/loadcore_common.c: likewise
37957 * efiemu/loadcore64.c: likewise
37958 * efiemu/runtime/efiemu.sh: likewise
37959 * efiemu/runtime/efiemu.S: likewise
37960 * efiemu/runtime/efiemu.c: likewise
37961 * efiemu/runtime/config.h: likewise
37962 * efiemu/prepare32.c: likewise
37963 * efiemu/main.c: likewise
37964 * efiemu/modules/pnvram.c: likewise
37965 * efiemu/modules/i386: likewise
37966 * efiemu/modules/i386/pc: likewise
37967 * efiemu/modules/acpi.c: likewise
37968 * efiemu/i386/pc/cfgtables.c: likewise
37969 * efiemu/i386/loadcore64.c: likewise
37970 * efiemu/i386/loadcore32.c: likewise
37971 * efiemu/prepare64.c: likewise
37972 * efiemu/loadcore.c: likewise
37973 * efiemu/symbols.c: likewise
37974 * efiemu/mm.c: likewise
37975 * efiemu/loadcore32.c: likewise
7dd4a573 37976
379772009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37978
37979 ACPI spoofing
37980
37981 * commands/acpi.c: new file
37982 * commands/i386/pc/acpi.c: likewise
37983 * commands/efi/acpi.c: likewise
37984 * include/grub/acpi.h: likewise
37985 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37986 (acpi_mod_SOURCES): new variable
37987 (acpi_mod_CFLAGS): likewise
37988 (acpi_mod_LDFLAGS): likewise
37989 * conf/i386-efi.rmk: likewise
37990 * conf/x86_64-efi.rmk: likewise
37991
7dd4a573 379922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37993
37994 Missing part from mmap patch
37995
37996 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37997 (grub_mmap_unregister)
37998 (grub_mmap_free_and_unregister): use grub_mmap_register
37999
7dd4a573 380002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 38001
38002 Mmap services
38003
38004 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38005 * loader/i386/linux.c (find_mmap_size): likewise
38006 (allocate_pages): likewise
38007 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38008 (grub_fill_multiboot_mmap): likewise
38009 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38010 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38011 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38012 (OPENBSD_MMAP_RESERVED): likewise
38013 * include/grub/i386/pc/memory.h: include grub/memory.h
38014 (grub_lower_mem): removed
38015 (grub_upper_mem): likewise
38016 (GRUB_MACHINE_MEMORY_ACPI): new definition
38017 (GRUB_MACHINE_MEMORY_NVS): likewise
38018 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38019 (GRUB_MACHINE_MEMORY_HOLE): likewise
38020 (grub_machine_mmap_register): likewise
38021 (grub_machine_mmap_unregister): likewise
38022 (grub_machine_get_upper): likewise
38023 (grub_machine_get_lower): likewise
38024 (grub_machine_get_post64): likewise
38025 * include/grub/i386/efi/memory.h: new file
38026 * include/grub/x86_64/efi/memory.h: likewise
38027 * include/grub/efi/memory.h: likewise
38028 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38029 (mmap_mod_SOURCES): new variable
38030 (mmap_mod_LDFLAGS): likewise
38031 (mmap_mod_ASFLAGS): likewise
38032 * conf/i386-coreboot.rmk: likewise
38033 * conf/i386-ieee1275.rmk: likewise
38034 * conf/i386-efi.rmk: likewise
38035 * conf/x86_64-efi.rmk: likewise
38036 * include/grub/types.h (UINT_TO_PTR): new macro
38037 (PTR_TO_UINT32): likewise
38038 (PTR_TO_UINT64): likewise
38039 * include/grub/memory.h: new file
38040 * mmap/i386/pc/mmap.c: likewise
38041 * mmap/i386/pc/mmap_helper.S: likewise
38042 * mmap/i386/uppermem.c: likewise
38043 * mmap/mmap.c: likewise
38044 * mmap/efi/mmap.c: likewise
7dd4a573 38045 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 38046 grub_upper_mem
38047 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38048 (grub_upper_mem): likewise
38049 (grub_machine_init): don't use grub_upper_mem,
38050 make grub_lower_mem local
38051 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38052 grub_mmap_iterate and grub_mmap_get_upper
38053 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38054
d558e6b5 380552009-05-02 Bean <bean123ch@gmail.com>
38056
38057 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38058 script/sh/parser.y.
38059 (pkglib_MODULES): Add normal.mod and sh.mod.
38060 (normal_SOURCES): New variable.
38061 (normal_mod_CFLAGS): Likewise.
38062 (normal_mod_LDFLAGS): Likewise.
38063 (sh_mod_SOURCES): Likewise.
38064 (sh_mod_CFLAGS): Likewise.
38065 (sh_mod_LDFLAGS): Likewise.
38066
38067 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38068 script/sh/lexer.c_DEPENDENCIES.
38069 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38070 kern/rescue_reader.c and kern/rescue_parser.c.
38071 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38072 (grub_emu_SOURCES): Change source files.
38073 (pkglib_MODULES): Remove normal.mod.
38074 (normal_SOURCES): Removed.
38075 (normal_mod_CFLAGS): Likewise.
38076 (normal_mod_LDFLAGS): Likewise.
38077 * conf/i386-coreboot.rmk: Likewise.
38078 * conf/i386-efi.rmk: Likewise.
38079 * conf/i386-ieee1276.rmk: Likewise.
38080 * conf/powerpc-ieee1275.rmk: Likewise.
38081 * conf/sparc64-ieee1275.rmk: Likewise.
38082 * conf/x86_64-efi.rmk: Likewise.
38083
38084 * include/grub/command.h (grub_command_execute): New inline function.
38085
38086 * include/grub/menu.h (grub_menu_entry): Removed commands field.
38087
38088 * include/grub/normal.h: Remove <grub/setjmp.h>.
38089 (grub_fs_module_list): Moved to normal/autofs.c.
38090 (grub_exit_env): Removed.
38091 (grub_command_execute): Likewise.
38092 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38093 parameter script.
38094 (read_command_list): New function declaration.
38095 (read_fs_list): Likewise.
38096
38097 * include/parser.h: Include <grub/reader.h>.
38098 (grub_parser_split_cmdline): Change type of getline parameter.
38099 (grub_parser): New structure.
38100 (grub_parser_class): New variable.
38101 (grub_parser_execute): New function declaration.
38102 (grub_register_rescue_parser): Likewise.
38103 (grub_parser_register): New inline function.
38104 (grub_parser_unregister): Likewise.
38105 (grub_parser_get_current): Likewise.
38106 (grub_parser_set_current): Likewise.
38107
38108 * include/grub/reader.h: New file.
38109 * kern/reader.c: Likewise.
38110 * kern/rescue_parser.c: Likewise.
38111 * kern/rescue_reader.c: Likewise.
38112 * normal/autofs.c: Likewise.
38113 * normal/dyncmd.c: Likewise.
38114
38115 * include/grub/rescue.h: Removed.
38116 * normal/command.h: Likewise.
38117
38118 * include/grub/script.h: Moved to ...
38119 * include/grub/script_sh.h: ... Moved here.
38120 * normal/execute.c: Moved to ...
38121 * script/sh/execute.c: ... Moved here.
38122 * normal/function.c: Moved to ...
38123 * script/sh/function.c: ... Moved here.
38124 * normal/lexer.c: Moved to ...
38125 * script/sh/lexer.c: ... Moved here.
38126 * normal/parser.y: Moved to ...
38127 * script/sh/parser.y: ... Moved here.
38128 * normal/script.c: Moved to ...
38129 * script/sh/script.c: ... Moved here.
38130
38131 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
38132 <grub/reader.h>.
38133 (grub_exit_env): Removed.
38134 (fs_module_list): Moved to normal/autofs.c.
38135 (grub_file_getline): Don't handle comment here.
38136 (free_menu): Skip removed field entry->commands.
38137 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
38138 script parameter.
38139 (read_config_file): Removed nested parameter, change getline function.
38140 (grub_enter_normal_mode): Removed.
38141 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
38142 (read_command_list): Likewise.
38143 (autoload_fs_module): Moved to normal/autofs.c.
38144 (read_fs_list): Likewise.
38145 (reader_nested): New variable.
38146 (grub_normal_execute): Run parser.sh to switch to sh parser.
38147 (grub_cmd_rescue): Removed.
38148 (cmd_normal): Removed.
38149 (grub_cmd_normal): Unregister itself at the beginning. Don't register
38150 rescue command.
38151 (grub_cmdline_run): New function.
38152 (grub_normal_reader_init): Likewise.
38153 (grub_normal_read_line): Likewise.
38154 (grub_env_write_pager): Likewise.
38155 (cmdline): New variable.
38156 (grub_normal_reader): Likewise.
38157 (GRUB_MOD_INIT): Register normal reader and set as current, register
38158 pager hook, register normal command with grub_register_command_prio,
38159 so that it won't show up in command.lst.
38160 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
38161 grub_fs_autoload_hook.
38162
38163 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
38164 (grub_menu_execute_entry): Replace grub_script_execute with
38165 grub_parser_execute, change parameter to grub_command_execute.
38166
38167 * normal/menu_text.c: Remove <grub/script.h>.
38168
38169 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
38170 and <grub/parser.h>.
38171 (run): Change editor_getline to use new parser interface. Change
38172 parameter to grub_command_execute.
38173
38174 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
38175 <grub/reader.h> and <grub/parser.h>.
38176 (grub_load_normal_mode): Execute normal command.
38177 (grub_main): Call grub_register_core_commands,
38178 grub_register_rescue_parser and grub_register_rescue_reader, use
38179 grub_reader_loop to enter input loop.
38180
7dd4a573 38181 * kern/parser.c (grub_parser_split_cmdline): Change type of
38182 getline parameter.
d558e6b5 38183 (grub_parser_class): New variable.
38184 (grub_parser_execute): New function.
38185
38186 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
38187 * loader/multiboot2.c: Likewise.
38188 * loader/sparc64/ieee1275/linux.c: Likewise.
38189
38190 * util/grub-emu.c (read_command_list): New dummy function.
38191
18db813d 381922009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38193
38194 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
38195 count to 16 for CCISS and IDA.
38196
6c67de15 381972009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38198
38199 * normal/menu_text.c (grub_wait_after_message): Print a newline
38200 after waiting for user input.
38201
38202 * loader/i386/linux.c: Include `<grub/normal.h>'.
38203 (grub_cmd_linux): Improve the error message about `ask' mode, by
38204 waiting for user input so it's not missed (we can do this, since
38205 user requested interaction).
38206
d9dc87b0 382072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38208
38209 Added missing lst to grub-mkrescue
38210
38211 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38212 and ${input_dir}/parttool.lst
38213
ac8a2baa 382142009-04-30 David S. Miller <davem@davemloft.net>
38215
ad22a610 38216 * util/hostdisk.c (device_is_wholedisk): New function.
38217 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38218 zero only if device_is_wholedisk() returns true.
38219
6966215d 38220 * util/hostdisk.c (convert_system_partition_to_system_disk):
38221 Handle virtual disk devices named /dev/vdiskX as found on sparc
38222 and powerpc.
38223
ac8a2baa 38224 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38225 lettered partition specifier is found, convert to numbered.
38226
979b4fb4 382272009-04-29 David S. Miller <davem@davemloft.net>
38228
e2bf39b2 38229 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38230 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38231
3c64e104 38232 * normal/command.c: Add missing newline at end of file.
38233
979b4fb4 38234 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38235 warnings.
38236 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38237 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38238 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38239 ihandles have a 32-bit type but need to be stored in a "void *".
38240
136d9f82 382412009-04-28 Pavel Roskin <proski@gnu.org>
38242
9459c306 38243 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38244 not disk. Adjust all dependencies.
2e08a26a 38245 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 38246 grub_disk_close().
38247
136d9f82 38248 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38249 parent's partition, don't copy it by reference, as it gets freed
38250 on close.
38251
7dd4a573 382522009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 38253
38254 Preboot hooks support
38255
38256 * commands/boot.c (struct grub_preboot_t): new declaration
38257 (preboots_head): new variable
38258 (preboots_tail): likewise
38259 (grub_loader_register_preboot_hook): new function
38260 (grub_loader_unregister_preboot_hook): likewise
38261 (grub_loader_set): launch preboot hooks
38262 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38263 (grub_loader_register_preboot_hook): new declaration
38264 (grub_loader_unregister_preboot_hook): likewise
38265
5af922b5 382662009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38267
38268 Warning fix
38269
7dd4a573 38270 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 38271 calling grub_dprintf
38272
a5562c30 382732009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38274
38275 Bug and warning fixes
38276
7dd4a573 38277 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38278 declaration
38279 * commands/test.c (test_parse): fixed bug with file tests and corrected
38280 declaration of find_file
38281
4006f85c 382822009-04-26 Pavel Roskin <proski@gnu.org>
38283
38284 * Makefile.in: Don't install empty manual pages if help2man is
38285 missing. Use help2man option for output, not shell redirection.
38286
5c77c3de 382872009-04-26 David S. Miller <davem@davemloft.net>
38288
38289 * util/grub-mkdevicemap.c (make_device_map): Add missing
38290 NESTED_FUNC_ATTR to process_device().
38291
033b10a8 382922009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38293
38294 Test command
38295
38296 * commands/test.c: rewritten to use bash-like test
38297
e4343593 382982009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38299
38300 Parttool autoloading and improvements
38301
7dd4a573 38302 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38303 (parttool.lst): new target
38304 * genmk.rb: generate parttool-*
38305 (CLEANFILES): add #{parttool}
38306 (PARTTOOLFILES): new variable
38307 * genparttoollist.sh: new file
7dd4a573 38308 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38309 (grub_pcpart_type): likewise
38310 * commands/parttool.c (helpmsg): new variable
38311 (grub_cmd_parttool): output help if not enough arguments are supplied
38312 autoload modules
38313 (GRUB_MOD_INIT(parttool)): use helpmsg
38314
0d312500 383152009-04-24 David S. Miller <davem@davemloft.net>
38316
7dd4a573 38317 Avoiding opening same device multiple times in device iterator.
0d312500 38318
38319 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38320 and use it to build a list of partitions in iterate_disk() and
0d312500 38321 iterate_partition().
38322
ac20caff 38323 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38324 on disk->data.
38325
0dcf7495 38326 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38327 grub_devalias_iterate() result instead of unconditional 0.
38328 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38329 Also, capture hook return value, either directly or via
38330 grub_children_iterate(), and propagate to caller.
38331 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38332 grub_children_iterate): Return value is now 'int' instead of
38333 'grub_err_t'.
38334 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38335 like a proper iterator, stopping when hooks return non-zero.
38336 (grub_devalias_iterate): Likewise.
38337
c8c08833 383382009-04-23 David S. Miller <davem@davemloft.net>
38339
38340 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38341
f01005a8 383422009-04-22 David S. Miller <davem@davemloft.net>
38343
38344 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38345 is larger than address_cells, use that value for address_cells too.
38346
4e8269da 38347 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38348 IEEE1275_MAX_PATH_LEN): Define.
38349 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38350 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38351 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38352 'devtype'. Explicitly NULL terminate devalias expansion.
38353
a1447506 38354 * util/sparc64/ieee1275/misc.c: New file.
38355 * util/sparc64/ieee1275/grub-setup.c: New file.
38356 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38357 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38358 * util/sparc64/ieee1275/grub-install.in: New file.
38359 * util/ieee1275/ofpath.c: New file.
38360 * util/ieee1275/devicemap.c: New file.
38361 * util/devicemap.c: New file.
38362 * util/deviceiter.c: New file.
38363 * kern/sparc64/ieee1275/init.c: New file.
38364 * include/grub/util/ofpath.h: New file.
38365 * include/grub/util/deviceiter.h: New file.
38366 * util/grub-mkdevicemap.c: Include deviceiter.h.
38367 Implement using grub_util_emit_devicemap_entry and
38368 grub_util_iterate_devices.
38369 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38370 util/devicemap.c into grub-mkdevicemap
38371 * conf/i386-efi.rmk: Likewise.
38372 * conf/i386-ieee1275.rmk: Likewise.
38373 * conf/i386-pc.rmk: Likewise.
38374 * conf/powerpc-ieee1275.rmk: Likewise.
38375 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38376 images and installation utilities. Build kernel as image
38377 instead of as elf binary. Use common rules as much as possible.
38378
7dd4a573 383792009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38380
38381 Correct GPT definition
38382
7dd4a573 38383 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38384 of "attrib" member
38385
c6c5219f 383862009-04-19 Felix Zielcke <fzielcke@z-51.de>
38387
38388 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38389
0552ff9f 383902009-04-19 David S. Miller <davem@davemloft.net>
38391
38392 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38393 (grub_rescue_cmd_linux): Rename to...
38394 (grub_cmd_linux): and fix prototype.
38395 (grub_rescue_cmd_initrd): Rename to...
38396 (grub_cmd_initrd): and fix prototype.
38397 (cmd_linux, cmd_initrd): New.
38398 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38399 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38400
d1a282fc 384012009-04-17 Pavel Roskin <proski@gnu.org>
38402
07c5039f 38403 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38404 format.
38405 (grub_ohci_transfer): Likewise.
38406
b012002d 38407 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38408
1bc09c35 38409 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38410 return without a value. Fix inconsistent indentation.
38411
e0ff9126 38412 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38413 match struct grub_fs.
38414
d1a282fc 38415 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38416 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38417 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38418 * commands/lspci.c (grub_lspci_iter): Likewise.
38419
a96df3f2 384202009-04-16 Bean <bean123ch@gmail.com>
38421
38422 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38423 value.
38424
41bb0fe9 384252009-04-15 Pavel Roskin <proski@gnu.org>
38426
38427 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38428 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38429 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38430 definitions.
38431
596c6970 384322009-04-15 Felix Zielcke <fzielcke@z-51.de>
38433
38434 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38435 that no multiple data or metadata areas are supported and `Unknown
596c6970 38436 metadata header'.
38437
7dd4a573 384382009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38439
38440 Move loader out of the kernel
38441
38442 * kern/loader.c: moved to ...
38443 * commands/boot.c: ... moved here
38444 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38445 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38446 * include/grub/kernel.h (grub_machine_fini): export
38447 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38448 (grub_loader_set): likewise
38449 (grub_loader_unset): likewise
38450 (grub_loader_boot): likewise
38451 * conf/common.rmk: new module boot.mod
38452 (pkglib_MODULES): add boot.mod
38453 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38454 (grub_emu_SOURCES): likewise
38455 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38456 (grub_emu_SOURCES): likewise
38457 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38458 (grub_emu_SOURCES): likewise
38459 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38460 (grub_emu_SOURCES): likewise
38461 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38462 (grub_emu_SOURCES): likewise
7dd4a573 38463 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38464 (grub_emu_SOURCES): likewise
0d5d5653 38465 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38466 (grub_emu_SOURCES): likewise
0d5d5653 38467
7dd4a573 384682009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38469
38470 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38471
5999d619 38472 * kern/misc.c (grub_itoa): Removed function
38473 (grub_ltoa): likewise
38474 (grub_vsprintf): use grub_lltoa
38475
7dd4a573 384762009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38477
38478 Restore grub-emu
38479
38480 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38481 * conf/i386-coreboot.rmk: likewise
38482 * conf/i386-ieee1275.rmk: likewise
38483 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38484
20318222 384852009-04-15 Felix Zielcke <fzielcke@z-51.de>
38486
38487 * INSTALL: Add that `./autogen.sh' needs to be run before
38488 `./configure.'.
38489
d05f0df3 384902009-04-14 Bean <bean123ch@gmail.com>
38491
38492 * Makefile.in (pkglib_DATA): Add handler.lst.
38493 (handler.lst): New rule.
38494
38495 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38496 * conf/i386-coreboot.rmk: Likewise.
38497 * conf/i386-ieee1275.rmk: Likewise.
38498 * conf/i386-efi.rmk: Likewise.
38499 * conf/x86_64-efi.rmk: Likewise.
38500 * conf/powerpc-ieee1275.rmk: Likewise.
38501 * conf/sparc64-ieee1275.rmk: Likewise.
38502
38503 * genhandlerlist.sh: New file.
38504
38505 * genmk.rb: Add rules to generate handler.lst.
38506
38507 * include/grub/normal.h (grub_file_getline): New function definition.
38508 (read_handler_list): Likewise.
38509 (free_handler_list): Likewise.
38510
38511 * include/grub/term.h (grub_term_register_input): Add name parameter
38512 for auto generation of handler.lst.
38513 (grub_term_register_output): Likewise.
38514
38515 * normal/handler.c: New file.
38516
38517 * normal/main.c (get_line): Renamed to grub_file_getline.
38518 (read_config_file): Use the newly renamed grub_file_getline.
38519 (read_command_list): Likewise.
38520 (read_fs_list): Likewise.
38521 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38522 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38523
38524 * term/efi/console.c (grub_console_init): Add name parameter for auto
38525 generation of handler.lst.
38526 * term/gfxterm.c: Likewise.
38527 * term/i386/pc/at_keyboard.c: Likewise.
38528 * term/i386/pc/console.c: Likewise.
38529 * term/i386/pc/serial.c: Likewise.
38530 * term/i386/pc/vesafb.c: Likewise.
38531 * term/i386/pc/vga.c: Likewise.
38532 * term/i386/pc/vga_text.c: Likewise.
38533 * term/ieee1275/ofconsole.c: Likewise.
38534 * term/usb_keyboard.c: Likewise.
38535
33c846be 385362009-04-14 Bean <bean123ch@gmail.com>
38537
38538 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38539 properly with null character.
38540
4484e01e 385412009-04-14 Felix Zielcke <fzielcke@z-51.de>
38542
38543 * configure: Remove.
38544 * config.h.in: Likewise.
f93d668e 38545 * stamp-h.in: Likewise.
4484e01e 38546 * DISTLIST: Likewise.
38547 * conf/common.mk: Likewise.
38548 * conf/i386-coreboot.mk: Likewise.
38549 * conf/i386-efi.mk: Likewise.
38550 * conf/i386-ieee1275.mk: Likewise.
38551 * conf/i386.mk: Likewise.
38552 * conf/i386-pc.mk: Likewise.
38553 * conf/powerpc-ieee1275.mk: Likewise.
38554 * conf/sparc64-ieee1275.mk: Likewise.
38555 * conf/x86_64-efi.mk: Likewise.
38556
38557 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38558 develop on GRUB.
38559
7dd4a573 385602009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38561 David S. Miller <davem@davemloft.net>
38562
38563 * util/hostdisk.c (make_device_name): Fix buffer length
38564 calculations.
38565
e25b5a8c 385662009-04-14 Felix Zielcke <fzielcke@z-51.de>
38567
38568 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38569 <sys/param.h> and <sys/sysctl.h>.
38570 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38571 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38572 opening the device and reset them afterwards.
38573
1f1f580c 385742009-04-13 Pavel Roskin <proski@gnu.org>
38575
38576 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38577 Reported by John Stanley <jpsinthemix@verizon.net>
38578
7ebc2d6b 385792009-04-13 Robert Millan <rmh@aybabtu.com>
38580
38581 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38582 that name for menuentries when appropriate.
7ebc2d6b 38583
d8ba3667 385842009-04-13 Felix Zielcke <fzielcke@z-51.de>
38585
38586 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38587
cba416eb 385882009-04-13 Robert Millan <rmh@aybabtu.com>
38589
38590 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38591 to Linux, simply abort telling the user it's no longer supported.
38592
a547a745 385932009-04-13 Felix Zielcke <fzielcke@z-51.de>
38594
38595 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38596 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38597 `freebsd_loadenv' only when devices.hints exist.
38598
232a769c 385992009-04-13 Pavel Roskin <proski@gnu.org>
38600
38601 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38602
c3012039 386032009-04-13 Felix Zielcke <fzielcke@z-51.de>
38604
38605 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38606 partition number.
38607 (grub_drive): Likewise.
38608
234022fe 386092009-04-13 David S. Miller <davem@davemloft.net>
38610
38611 * kern/sparc64/ieee1275/ieee1275.c: New file.
38612 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38613 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38614 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38615 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38616 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38617 grub_ieee1275_alloc_physmem): Declare new exported functions.
38618
d8e1836c 38619 * include/grub/sparc64/ieee1275/loader.h: New file.
38620 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38621 * include/grub/sparc64/kernel.h: Likewise.
38622 * loader/sparc64/ieee1275/linux.c: Likewise.
38623
96bd81ec 38624 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38625 (grub_fstest_SOURCES): Likewise.
38626
6a4737e5 38627 * util/hostdisk.c (make_device_name): Do not make any assumptions
38628 about the length of drive names.
38629
1d7a72fd 38630 * kern/dl.c (grub_dl_load_file): Close file immediately when
38631 we are done using it.
38632
56bc2471 386332009-04-12 David S. Miller <davem@davemloft.net>
38634
38635 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38636 values. Noticed by Pavel Roskin.
38637
df38d0bb 38638 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38639 target compiler.
7dd4a573 38640
e382e93a 38641 * genmk.rb: Add more flexible image type specification, also
38642 pass --strip-unneeded to objcopy.
38643 * conf/i386-pc.rmk: Use *_FORMAT.
38644 * conf/i386-pc.mk: Rebuilt.
38645
f5dbbca9 38646 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38647 (OFDISK_HASH_SZ): Define.
38648 (ofdisk_hash): New hash table.
38649 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38650 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38651 instead of device phandle which is not unique.
38652
91c88b12 38653 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38654 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38655 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38656 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38657 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38658 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38659 GRUB_KERNEL_MACHINE_DATA_END): Define.
38660 (grub_kernel_image_size, grub_total_module_size): Declare.
38661
5b5d4aa5 386622009-04-12 Pavel Roskin <proski@gnu.org>
38663
7dd4a573 38664 * configure.ac: Change the logic when we check for target tools.
38665 Do it when the target is specified and it's different from the
38666 specified value of the host.
5b5d4aa5 38667
c91e1793 386682009-04-11 Felix Zielcke <fzielcke@z-51.de>
38669
38670 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38671 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38672 GNU/kFreeBSD. Check if a device is a character device. Use
38673 DIOCGMEDIASIZE to get the size.
38674 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38675 support for GNU/kFreeBSD.
38676 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38677 is a character device instead of a block device. Add support for
38678 FreeBSD device names.
38679
38680 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38681 is a character device instead of a block device.
38682
38683 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38684 is a character device instead of a block device.
38685
b1ac8644 386862009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38687
38688 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38689 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38690 FreeBSD. Check if a device is a character device. Use
38691 DIOCGMEDIASIZE to get the size.
38692 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38693 support for FreeBSD.
38694 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38695 is a character device instead of a block device. Add support for
38696 FreeBSD device names.
38697
38698 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38699 a character device instead of a block device.
38700 (grub_util_check_char_device): New function.
38701
38702 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38703 a character device instead of a block device.
38704
38705 * include/grub/util/getroot.h (grub_util_check_char_device): New
38706 prototype.
38707
a3f7515a 387082009-04-11 David S. Miller <davem@davemloft.net>
38709
38710 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38711 static libgcc.
38712 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38713 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38714 function, if present.
38715 (__bswapdi2): Likewise.
38716
0d44993d 38717 * include/grub/sparc64/ieee1275/boot.h: New file.
38718 * boot/sparc64/ieee1275/boot.S: Likewise.
38719 * boot/sparc64/ieee1275/diskboot.S: Likewise.
38720
ed3d2bc2 38721 * kern/misc.c (grub_ltoa): New function.
38722 (grub_vsprintf): Use it to format 'long' integers.
38723
d3bfb59c 387242009-04-10 David S. Miller <davem@davemloft.net>
38725
38726 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
38727 slots are of type grub_ieee1275_cell_t.
38728 (grub_nand_read): Likewise.
38729 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
38730 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
38731 macros are used to compare values in arg/ret block of the call.
38732 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38733 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
38734 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
38735 grub_ieee1275_instance_to_path, grub_ieee1275_write,
38736 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
38737 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
38738 grub_ieee1275_close, grub_ieee1275_set_property,
38739 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
38740 grub_ieee1275_cell_t.
38741 * kern/ieee1275/openfw.c (grub_map): Likewise.
38742 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
38743 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
38744
450e2238 38745 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
38746 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
38747 (grub_devalias_iterate): Likewise.
38748
7dd4a573 387492009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 38750
38751 UFS improvements
38752
38753 * fs/ufs.c (INODE_NBLOCKS): new definition
38754 (struct grub_ufs_dirent): added fields for non-BSD dirents
38755 (grub_ufs_get_file_block): fixed double indirect handling
38756 (grub_ufs_lookup_symlink): use more robust way to determine whether
38757 symlink is inline
38758 (grub_ufs_find_file): support for non-BSD dirents
38759 (grub_ufs_dir): support for non-BSD dirents
38760
e7e6862a 387612009-04-10 Bean <bean123ch@gnail.com>
38762
38763 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
38764 attribute, otherwise the size would be wrong for i386 platform.
38765
38766 * include/grub/pci.h (grub_pci_read_word): New inline function.
38767 (grub_pci_read_byte): Likewise.
38768 (grub_pci_write): Likewise.
38769 (grub_pci_write_word): Likewise.
38770 (grub_pci_write_byte): Likewise.
38771
38772 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
38773
38774 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
38775 (find_framebuf): Scan pci to locate the frame buffer address.
38776
38777 * commands/efi/fixvideo.c: New file.
38778
38779 * commands/efi/loadbios.c: Likewise.
38780
38781 * commands/memrw.c: Likewise.
38782
38783 * util/grub-dumpbios.in: Likewise.
38784
38785 * conf/common.rmk (grub-dumpbios): New utility.
38786 (pkglib_MODULES): New module memrw.mod.
38787 (memrw_mod_SOURCE): New macro.
38788 (memrw_mod_CFLAGS): Likewise.
38789 (memrw_mod_LDFLAGS): Likewise.
38790
7dd4a573 38791 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38792 fixvideo.mod.
38793 (loadbios_mod_SOURCE): New macro.
38794 (loadbios_mod_CFLAGS): Likewise.
38795 (loadbios_mod_LDFLAGS): Likewise.
38796 (fixvideo_mod_SOURCE): Likewise.
38797 (fixvideo_mod_CFLAGS): Likewise.
38798 (fixvideo_mod_LDFLAGS): Likewise.
38799
7dd4a573 38800 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 38801 fixvideo.mod.
38802 (loadbios_mod_SOURCE): New macro.
38803 (loadbios_mod_CFLAGS): Likewise.
38804 (loadbios_mod_LDFLAGS): Likewise.
38805 (fixvideo_mod_SOURCE): Likewise.
38806 (fixvideo_mod_CFLAGS): Likewise.
38807 (fixvideo_mod_LDFLAGS): Likewise.
38808
af63ada2 388092009-04-08 Felix Zielcke <fzielcke@z-51.de>
38810
38811 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
38812
c2cdde70 388132009-04-07 David S. Miller <davem@davemloft.net>
38814
38815 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
38816 support for R_SPARC_OLO10 relocations. Fix compile warning for
38817 R_SPARC_WDISP30 case.
ea3f72cf 38818 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 38819
761319cf 388202009-04-06 Pavel Roskin <proski@gnu.org>
38821
1007d1f5 38822 * include/grub/misc.h (ARRAY_SIZE): New macro.
38823 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
38824 New macro.
38825 * loader/i386/linux.c (allocate_pages): Use free_pages().
38826 (grub_linux_unload): Don't use free_pages().
38827 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
38828 wrong index. Treat all other modes as text modes.
38829 (grub_cmd_linux): Initialize vid_mode unconditionally to
38830 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
38831
761319cf 38832 * commands/help.c (print_command_help): Use cmd->prio, not
38833 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38834
ea761d40 388352009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38836
ea761d40 38837 Parttool
38838
38839 * parttool/pcpart.c: new file
38840 * commands/parttool.c: likewise
38841 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38842 (parttool_mod_SOURCES): new variable
38843 (parttool_mod_CFLAGS): likewise
38844 (parttool_mod_LDFLAGS): likewise
38845 (pcpart_mod_SOURCES): likewise
38846 (pcpart_mod_CFLAGS): likewise
38847 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38848 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38849 and parttool/pcpart.c
38850 * conf/i386-efi.rmk: likewise
38851 * conf/i386-ieee1275.rmk: likewise
38852 * conf/i386-pc.rmk: likewise
38853 * conf/powerpc-ieee1275.rmk: likewise
38854 * conf/sparc64-ieee1275.rmk: likewise
38855 * conf/x86_64-ieee1275.rmk: likewise
38856
05aaebfb 388572009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38858
38859 Support for mtime and further expandability of dir command
38860
38861 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38862 * include/grub/datetime.h: ... moved here and added
05aaebfb 38863 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38864 * include/grub/fs.h: new syntax for dir and mtime functions in
38865 struct grub_fs
05aaebfb 38866 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38867 and GRUB_FSHELP_FLAGS_MASK
38868 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38869 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38870 (grub_ext2_mtime): new function
38871 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38872 (grub_hfsplus_mtime): new function
38873 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38874 (GRUB_UFS_ATTR_FILE): likewise
38875 (GRUB_UFS_ATTR_LNK): likewise
38876 (struct grub_ufs_sblock): new fields mtime
38877 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38878 all users updated
38879 (grub_ufs_dir): mtime support
38880 (grub_ufs_mtime): new function
38881 * fs/affs.c (grub_affs_dir): use new dir syntax
38882 * fs/afs.c (grub_afs_dir): likewise
38883 * fs/cpio.c (grub_cpio_dir): likewise
38884 * fs/fat.c (grub_fat_find_dir): likewise
38885 * fs/hfs.c (grub_hfs_dir): likewise
38886 * fs/iso9660.c (grub_iso9660_dir): likewise
38887 * fs/jfs.c (grub_jfs_dir): likewise
38888 * fs/minix.c (grub_minix_dir): likewise
38889 * fs/ntfs.c (grub_ntfs_dir): likewise
38890 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38891 * fs/sfs.c (grub_sfs_dir): likewise
38892 * fs/xfs.c (grub_xfs_dir): likewise
38893 * util/hostfs.c (grub_hostfs_dir): likewise
38894 * lib/datetime.c: moved to ...
38895 * normal/datetime.c: ... moved here
38896 (grub_unixtime2datetime): new function
38897 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38898 * normal/completion.c (iterate_dir): use new dir syntax
38899 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38900 last modification time of a volume
7dd4a573 38901 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38902 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38903 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38904 (normal_mod_SOURCES): likewise
38905 (datetime_mod_SOURCES): Removed lib/datetime.c
38906 * conf/i386-efi.rmk: likewise
7dd4a573 38907 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38908 * conf/i386-pc.rmk: likewise
38909 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38910 * conf/sparc64-ieee1275.rmk: likewise
38911 * conf/x86_64-efi.rmk: likewise
05aaebfb 38912
8a7e1a14 389132009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38914
38915 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38916
38917 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38918 on grub_fat_find_dir
38919 (grub_fat_find_dir): use grub_fat_iterate_dir
38920 (grub_fat_label): likewise
38921
04186a9c 389222009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38923
7dd4a573 38924 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38925 and command.h
38926 remove extraneous kernel_elf_HEADERS
38927
da4c0bb6 389282009-04-04 Bean <bean123ch@gnail.com>
38929
38930 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38931
38932 * util/misc.c: Likewise.
38933
54ad9555 389342009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38935
38936 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38937 instead of grub_printf.
38938
7a6bf9f2 389392009-04-03 Robert Millan <rmh@aybabtu.com>
38940
38941 * loader/i386/linux.c (grub_linux_setup_video): Fill
38942 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38943 values from `mode info' structure instead of hardcoded
38944 values.
38945
3fcc2083 389462009-04-01 Pavel Roskin <proski@gnu.org>
38947
38948 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38949 unused now.
38950 * genmk.rb: Likewise.
38951 * configure.ac: Likewise.
38952
5ec9740b 389532009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38954
38955 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38956 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38957
5270cec8 389582009-04-01 David S. Miller <davem@davemloft.net>
38959
38960 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38961 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38962 (grub_setjmp): Mark with 'returns_twice' attribute.
38963 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38964 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38965 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38966
9c3dd854 389672009-04-01 Robert Millan <rmh@aybabtu.com>
38968
38969 Reapply fix from 2008-07-28 which was accidentally reverted; also
38970 perform the same fix to a similar check in same function.
38971
38972 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38973 with the same number are found, just use issue a warning with
38974 grub_dprintf(), as this error has been reported to be non-fatal.
38975
0d818b7e 389762009-03-31 Pavel Roskin <proski@gnu.org>
38977
38978 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38979 for cross-compilation.
38980
95646d92 389812009-03-30 Robert Millan <rmh@aybabtu.com>
38982
38983 Fix i386-ieee1275 build.
38984
38985 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38986 Remove declaration.
38987
6a003ed1 389882009-03-30 Pavel Roskin <proski@gnu.org>
38989
38990 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38991 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38992 zero-terminated, rely only on the strlen value. Fix comparison
38993 of strings differing in length.
38994
92f33540 389952009-03-30 Robert Millan <rmh@aybabtu.com>
38996
38997 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38998 checking for abi version. Improve error messages on BIOS to notify
38999 user about `linux16' command.
39000
a8c48fd5 390012009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39002
f968172e 39003 Leak fixes
a8c48fd5 39004
f968172e 39005 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39006 in case of collision
39007 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 39008
9c323f09 390092009-03-29 Robert Millan <rmh@aybabtu.com>
39010
39011 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39012 set `vid_mode' accordingly.
39013 (grub_linux_boot): Process `vid_mode' and set video mode.
39014
ae68f423 390152009-03-29 Robert Millan <rmh@aybabtu.com>
39016
39017 * util/grub.d/10_linux.in (linux_entry): New function.
39018 Factorize generation of Linux boot entries.
39019
5709cfc4 390202009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39021
39022 Make the format of Environment Block plain text. The boot loader
39023 part is not tested well yet.
7dd4a573 39024
5709cfc4 39025 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39026 (buffer): Removed.
39027 (envblk): Likewise.
39028 (usage): Remove "info" and "clear". Add "unset". Update the
39029 description of "set", as this does not delete variables any
39030 longer.
39031 (create_envblk_file): Complete rewrite.
39032 (open_envblk_file): Likewise.
39033 (cmd_info): Removed.
39034 (cmd_list): Likewise.
39035 (cmd_set): Likewise.
39036 (cmd_clear): Likewise.
39037 (list_variables): New function.
39038 (write_envblk): Likewise.
39039 (set_variables): Likewise.
39040 (unset_variables): Likewise.
39041 (main): Complete rewrite.
39042
39043 * commands/loadenv.c (buffer): Removed.
39044 (envblk): Likewise.
39045 (open_envblk_file): New function.
39046 (read_envblk_file): Complete rewrite.
39047 (grub_cmd_load_env): Likewise.
39048 (grub_cmd_list_env): Likewise.
39049 (struct blocklist): New struct.
39050 (free_blocklists): New function.
39051 (check_blocklists): Likewise.
39052 (write_blocklists): Likewise.
39053 (grub_cmd_save_env): Complete rewrite.
39054
39055 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39056 a plain text signature.
39057 (GRUB_ENVBLK_MAXLEN): Removed.
39058 (struct grub_envblk): Complete rewrite.
39059 (grub_envblk_find): Removed.
39060 (grub_envblk_insert): Likewise.
39061 (grub_envblk_open): New prototype.
39062 (grub_envblk_set): Likewise.
39063 (grub_envblk_delete): Put const to VALUE.
39064 (grub_envblk_iterate): Put const to NAME and VALUE.
39065 (grub_envblk_close): New prototype.
39066 (grub_envblk_buffer): New inline function.
39067 (grub_envblk_size): Likewise.
39068
39069 * lib/envblk.c: Include grub/mm.h.
39070 (grub_env_find): Removed.
39071 (grub_envblk_open): New function.
39072 (grub_envblk_close): Likewise.
39073 (escaped_value_len): Likewise.
39074 (find_next_line): Likewise.
39075 (grub_envblk_insert): Removed.
39076 (grub_envblk_set): New function.
39077 (grub_envblk_delete): Complete rewrite.
39078 (grub_envblk_iterate): Likewise.
39079
a9368fd3 390802009-03-28 Robert Millan <rmh@aybabtu.com>
39081
39082 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
39083 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
39084 variables. Use 16-bit loader.
39085 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
39086 loader.
39087 * kern/i386/loader.S (grub_linux_boot): Rename to ...
39088 (grub_linux16_boot): ... this. Update all users.
39089 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39090 (grub_linux_boot): ... this. Update all users.
39091
39092 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39093 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39094 commands to `linux16' and `initrd16'.
39095 (GRUB_MOD_FINI(linux)): Rename to ...
39096 (GRUB_MOD_FINI(linux16)): ... this.
39097
e4dd5a7e 390982009-03-24 Pavel Roskin <proski@gnu.org>
39099
39100 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39101 not just for compilation.
39102
c04d6e05 391032009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39104
39105 Move multiboot helper out of kernel
39106
39107 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39108 `loader/i386/multiboot_helper.S'.
39109 * conf/i386-coreboot.rmk: Likewise
39110 * conf/i386-ieee1275.rmk: Likewise
39111
39112 * kern/i386/loader.S: Move multiboot helpers from here...
39113 * loader/i386/multiboot_helper.S: ...moved here
39114 * include/grub/i386/loader.h: Move declarations of multiboot
39115 helpers from here...
39116 * include/grub/i386/multiboot.h: ...moved here
39117 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
39118
42a5b3fc 391192009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39120
39121 * kern/env.c (grub_env_context_open): Added an argument to specify
39122 whether a new context inherits exported variables from current
39123 one. This is useful when making a sandbox to interpret a config
39124 file.
39125 All callers updated.
39126
39127 * include/grub/env.h (grub_env_context_open): Updated the prototype.
39128
b28bbc4e 391292009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39130
39131 * kern/env.c (grub_env_context_close): Fix memory leaks.
39132
f04f02e4 391332009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39134
39135 * normal/main.c (grub_normal_execute): Added an argument
39136 BATCH to specify if an interactive interface should be provided
39137 after reading a config file.
39138 All callers updated.
39139 (read_command_list): Prevent being executed twice.
39140 (read_fs_list): Likewise.
39141
42a5b3fc 39142 * include/grub/normal.h (grub_normal_execute): Updated the
39143 prototype.
f04f02e4 39144
41473ac2 391452009-03-22 Pavel Roskin <proski@gno.org>
39146
fbc00b0c 39147 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
39148 _start.
39149 * kern/i386/pc/startup.S: Likewise.
39150 * kern/i386/efi/startup.S: Likewise.
39151 * kern/i386/ieee1275/startup.S: Likewise.
39152 * kern/i386/coreboot/startup.S: Likewise.
39153 * kern/x86_64/efi/startup.S: Likewise.
39154
41473ac2 39155 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
39156 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
39157 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
39158
2274cc8f 391592009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
39160
39161 Bugfixes in multiboot for bugs uncovered by solaris kernel.
39162
39163 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
39164 limit detection.
39165 Use vaddr of correct segment for entry_point.
39166
b1b797cb 391672009-03-21 Bean <bean123ch@gmail.com>
39168
39169 * commands/blocklist.c: Add include file <grub/command.h>, remove
39170 <grub/normal.h> and <grub/arg.h>.
39171 (grub_cmd_blocklist): Use the new command interface.
39172 (GRUB_MOD_INIT): Likewise.
39173 (GRUB_MOD_FINI): Likewise.
39174 * commands/boot.c: Likewise.
39175 * commands/cat.c: Likewise.
39176 * commands/cmp.c: Likewise.
39177 * commands/configfile.c: Likewise.
39178 * commands/crc.c: Likewise.
39179 * commands/echo.c: Likewise.
39180 * commands/halt.c: Likewise.
39181 * commands/handler.c: Likewise.
39182 * commands/hdparm.c: Likewise.
39183 * commands/help.c: Likewise.
39184 * commands/hexdump.c: Likewise.
39185 * commands/loadenv.c: Likewise.
39186 * commands/ls.c: Likewise.
39187 * commands/lsmmap.c: Likewise.
39188 * commands/lspci.c: Likewise.
39189 * commands/loadenv.c: Likewise.
39190 * commands/read.c: Likewise.
39191 * commands/reboot.c: Likewise.
39192 * commands/search.c: Likewise.
39193 * commands/sleep.c: Likewise.
39194 * commands/test.c: Likewise.
39195 * commands/usbtest.c: Likewise.
39196 * commands/videotest.c: Likewise.
39197 * commands/i386/cpuid.c: Likewise.
39198 * commands/i386/pc/halt.c: Likewise.
39199 * commands/i386/pc/play.c: Likewise.
39200 * commands/i386/pc/pxecmd.c: Likewise.
39201 * commands/i386/pc/vbeinfo.c: Likewise.
39202 * commands/i386/pc/vbetest.c: Likewise.
39203 * commands/ieee1275/suspend.c: Likewise.
39204 * disk/loopback.c: Likewise.
39205 * font/font_cmd.c: Likewise.
39206 * hello/hello.c: Likewise.
39207 * loader/efi/appleloader.c: Likewise.
39208 * loader/efi/chainloader.c: Likewise.
39209 * loader/i386/bsd.c: Likewise.
39210 * loader/i386/efi/linux.c: Likewise.
39211 * loader/i386/ieee1275/linux.c: Likewise.
39212 * loader/i386/linux.c: Likewise.
39213 * loader/i386/pc/chainloader.c: Likewise.
39214 * loader/i386/pc/linux.c: Likewise.
39215 * loader/powerpc/ieee1275/linux.c: Likewise.
39216 * loader/multiboot_loader.c: Likewise.
39217 * term/gfxterm.c: Likewise.
39218 * term/i386/pc/serial.c: Likewise.
39219 * term/terminfo.c: Likewise.
39220
39221 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39222 * term/i386/pc/vga.c: Likewise.
39223 * video/readers/jpeg.c: Likewise.
39224 * video/readers/png.c: Likewise.
39225 * video/readers/tga.c: Likewise.
39226
39227 * util/grub-fstest (cmd_loopback): Removed.
39228 (cmd_blocklist): Likewise.
39229 (cmd_ls): Likewise.
39230 (grub_register_command): Likewise.
39231 (grub_unregister_command): Likewise.
39232 (execute_command): Use grub_command_find to locate command and execute
39233 it.
39234
39235 * include/grub/efi/chainloader.h: Removed.
39236 * loader/efi/chainloader_normal.c: Likewise.
39237 * loader/i386/bsd_normal.c: Likewise.
39238 * loader/i386/pc/chainloader_normal.c: Likewise.
39239 * loader/i386/pc/multiboot_normal.c: Likewise.
39240 * loader/linux_normal.c: Likewise.
39241 * loader/multiboot_loader_normal.c: Likewise.
39242 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39243
39244 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39245 and grub_register_command_p1.
39246
39247 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39248 kern/command.c, lib/arg.c and commands/extcmd.c.
39249 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39250 (minicmd_mod_SOURCES): New variable.
39251 (minicmd_mod_CFLAGS): Likewise.
39252 (minicmd_mod_LDFLAGS): Likewise.
39253 (extcmd_mod_SOURCES): Likewise.
39254 (extcmd_mod_CFLAGS): Likewise.
39255 (extcmd_mod_LDFLAGS): Likewise.
39256 (boot_mod_SOURCES): Removed.
39257 (boot_mod_CFLAGS): Likewise.
39258 (boot_mod_LDFLAGS): Likewise.
39259
39260 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39261 kern/corecmd.c.
39262 (kernel_img_HEADERS): Add command.h.
39263 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39264 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39265 and lib/arg.c.
39266 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39267 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39268 remove the corresponding normal mode command.
39269 (normal_mod_SOURCES): Remove normal/arg.c.
39270 * conf/i386-coreboot.rmk: Likewise.
39271 * conf/i386-efi.rmk: Likewise.
39272 * conf/i386-ieee1275.rmk: Likewise.
39273 * conf/powerpc-ieee1275.rmk: Likewise.
39274 * conf/x86_64-efi.rmk: Likewise.
39275
39276 * include/grub/arg.h: Move from here ...
39277 * include/grub/lib/arg.h: ... to here.
39278
39279 * normal/arg.c: Move from here ...
39280 * lib/arg.c: ... to here.
39281
39282 * commands/extcmd.c: New file.
39283 * commands/minicmd.c: Likewise.
39284 * include/grub/command.h: Likewise.
39285 * include/grub/extcmd.h: Likewise.
39286 * kern/command.c: Likewise.
39287 * kern/corecmd.c: Likewise.
39288
39289 * kern/list.c (grub_list_iterate): Return int instead of void.
39290 (grub_list_insert): New function.
39291 (grub_prio_list_insert): Likewise.
39292
39293 * kern/rescue.c (grub_rescue_command): Removed.
39294 (grub_rescue_command_list): Likewise.
39295 (grub_rescue_register_command): Likewise.
39296 (grub_rescue_unregister_command): Likewise.
39297 (grub_rescue_cmd_boot): Move to minicmd.c
39298 (grub_rescue_cmd_help): Likewise.
39299 (grub_rescue_cmd_info): Likewise.
39300 (grub_rescue_cmd_boot): Likewise.
39301 (grub_rescue_cmd_testload): Likewise.
39302 (grub_rescue_cmd_dump): Likewise.
39303 (grub_rescue_cmd_rmmod): Likewise.
39304 (grub_rescue_cmd_lsmod): Likewise.
39305 (grub_rescue_cmd_exit): Likewise.
39306 (grub_rescue_print_devices): Moved to corecmd.c.
39307 (grub_rescue_print_files): Likewise.
39308 (grub_rescue_cmd_ls): Likewise.
39309 (grub_rescue_cmd_insmod): Likewise.
39310 (grub_rescue_cmd_set): Likewise.
39311 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39312 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39313 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39314 commands, remove grub_rescue_register_command calls.
b1b797cb 39315
7d074e3c 39316 * normal/command.c (grub_register_command): Removed.
b1b797cb 39317 (grub_unregister_command): Likewise.
39318 (grub_command_find): Likewise.
39319 (grub_iterate_commands): Likewise.
39320 (rescue_command): Likewise.
39321 (export_command): Moved to corecmd.c.
39322 (set_command): Removed.
39323 (unset_command): Likewise.
39324 (insmod_command): Likewise.
39325 (rmmod_command): Likewise.
39326 (lsmod_command): Likewise.
39327 (grub_command_init): Likewise.
39328
39329 * normal/completion.c (iterate_command): Use cmd->prio to check for
39330 active command.
39331 (complete_arguments): Use grub_extcmd_t structure to find options.
39332 (grub_normal_do_completion): Change function grub_iterate_commands to
39333 grub_command_iterate.
39334
39335 * normal/execute.c (grub_script_execute_cmd): No need to parse
39336 argument here.
39337
39338 * normal/main.c (grub_dyncmd_dispatcher): New function.
39339 (read_command_list): Register unload commands as dyncmd.
39340 (grub_cmd_normal): Use new command interface, register rescue,
39341 unregister normal at entry, register normal, unregister rescue at exit.
39342
39343 * include/grub/list.h (grub_list_test_t): New type.
39344 (grub_list_iterate): Return int instead of void.
39345 (grub_list_insert): New function.
39346 (GRUB_AS_NAMED_LIST_P): New macro.
39347 (GRUB_AS_PRIO_LIST): Likewise.
39348 (GRUB_AS_PRIO_LIST_P): Likewise.
39349 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39350 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39351 (grub_prio_list): New structure.
39352 (grub_prio_list_insert): New function.
39353 (grub_prio_list_remove): New inline function.
39354
39355 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39356 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39357 (GRUB_COMMAND_FLAG_MENU): Likewise.
39358 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39359 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39360 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39361 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39362 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39363 (grub_command): Likewise.
39364 (grub_register_command): Likewise.
39365 (grub_command_find): Likewise.
39366 (grub_iterate_commands): Likewise.
39367 (grub_command_init): Likewise.
39368 (grub_arg_parse): Likewise.
39369 (grub_arg_show_help): Likewise.
39370
39371 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39372 (grub_rescue_unregister_command): Likewise.
39373
39374 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39375 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39376 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39377
39378 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39379 grub_rescue_cmd_initrd.
39380 * include/grub/i386/loader.h: Likewise.
39381 * include/grub/x86_64/loader.h: Likewise.
39382
39383 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39384
1f4147aa 393852009-03-21 Bean <bean123ch@gmail.com>
39386
39387 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39388 instead of stat in mingw environment.
39389
39390 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39391
39392 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39393
39394 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39395 AC_CONFIG_LINKS.
39396
2156d5ba 393972009-03-21 Bean <bean123ch@gmail.com>
39398
39399 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39400 out of range error.
39401
177b82ca 394022009-03-18 Michel Dänzer <michel@daenzer.net>
39403
39404 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39405 checking inode flags for EXT4_EXTENTS_FLAG.
39406
14aad807 394072009-03-18 Robert Millan <rmh@aybabtu.com>
39408
39409 * loader/i386/linux.c: Include `<grub/video.h>' and
39410 `<grub/i386/pc/vbe.h>'..
39411 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39412 (grub_linux32_boot): Attempt to configure video settings with
39413 grub_linux_setup_video().
39414 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39415 to avoid grub_console_fini() which would step out of graphical mode
39416 unconditionally.
39417
8cf83a27 394182009-03-14 Robert Millan <rmh@aybabtu.com>
39419
39420 Fix build on powerpc.
39421 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39422
40164e75 394232009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39424
39425 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39426 background image command.
39427
c58bc32a 394282009-03-12 Colin D Bennett <colin@gibibit.com>
39429
39430 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39431 (grub_gfxterm_putchar): Extract pairs of identical calls to
39432 draw_cursor out of conditional blocks.
39433
5415144a 394342009-03-11 Pavel Roskin <proski@gnu.org>
39435
39436 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39437 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39438
6394042e 394392009-03-11 Robert Millan <rmh@aybabtu.com>
39440
39441 * loader/i386/multiboot_elfxx.c
39442 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39443
b7b50e5f 394442009-03-11 Felix Zielcke <fzielcke@z-51.de>
39445
39446 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39447 `kern/handler.c'.
39448
1ca7fc96 394492009-03-11 Robert Millan <rmh@aybabtu.com>
39450
39451 * loader/i386/multiboot.c (code_size): New variable.
39452 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39453 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39454 4-byte alignment to MBI and others by increasing
7d074e3c 39455 `boot_loader_name_length' appropriately.
1ca7fc96 39456
39457 * loader/i386/multiboot_elfxx.c
39458 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39459
a83ea1d2 394602009-03-09 Felix Zielcke <fzielcke@z-51.de>
39461
39462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39463 `fs/ext2.c'.
39464
aa9f3bff 394652009-03-08 Robert Millan <rmh@aybabtu.com>
39466
39467 Make loader/i386/linux.c usable on i386-pc again.
39468
39469 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39470 memory to heap.
39471 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39472 `#error' stanza.
39473
d8b3b60e 394742009-03-07 Bean <bean123ch@gmail.com>
39475
39476 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39477 allocation.
39478
b362c9e9 394792009-03-06 Robert Millan <rmh@aybabtu.com>
39480
39481 Fix display issue on terminals with screen size other than 80x25
39482 (e.g. gfxterm with resolution higher than 640x480).
39483
39484 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39485 position relative to the center of the terminal instead of relying
b362c9e9 39486 on a hardcoded offset.
39487
9304eef1 394882009-03-04 Robert Millan <rmh@aybabtu.com>
39489
39490 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39491 installed.
39492
39493 * Makefile.in (host_kernel): New variable.
39494 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39495 scripts instead of just the windows one.
39496 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39497
eabc95fb 394982009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39499
39500 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39501 `kern/handler.c'.
39502 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39503 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39506 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39508
ceb1223c 395092009-03-04 Felix Zielcke <fzielcke@z-51.de>
39510
39511 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39512 or if there's no space for the disk label and print the partition number on a
39513 invalid magic.
39514
4910684a 395152009-03-04 Felix Zielcke <fzielcke@z-51.de>
39516
39517 * util/misc.c: Include <time.h>.
39518 (grub_millisleep): New function.
39519
7e9ca17a 395202009-03-04 Bean <bean123ch@gmail.com>
39521
39522 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39523 another option -mno-red-zone.
39524
39525 * commands/handler.c: Change module description.
39526
39527 * kern/handler.c: Add missing space at the end of description line.
39528
39529 * kern/list.c: Likewise.
39530
f501677c 395312009-03-03 Robert Millan <rmh@aybabtu.com>
39532
39533 Move more components to the relocation area, and fix mbi pointer
39534 handling to use the destination rather than the origin (thanks to
39535 Vladimir Serbinenko for spotting).
39536
39537 * loader/i386/multiboot.c (mbi_dest): New variable.
39538 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39539 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39540 relocation area.
39541
9902d047 395422009-03-01 Bean <bean123ch@gmail.com>
39543
50fb7002 39544 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39545 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39546 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39547 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39548
39549 * loader/i386/efi/linux.c (acpi_guid): New variable.
39550 (acpi_guid): Likewise.
39551 (EBDA_SEG_ADDR): New constant.
39552 (LOW_MEM_ADDR): Likewise.
39553 (FAKE_EBDA_SEG): Likewise.
39554 (fake_bios_data): New function.
39555 (grub_linux_boot): Call fake_bios_data.
39556
71b9f361 395572009-03-01 Bean <bean123ch@gmail.com>
39558
39559 * commands/terminal.c: Removed.
39560
39561 * commands/handler.c: New file.
39562
39563 * include/grub/list.h: Likewise.
39564
39565 * include/grub/handler.h: Likewise.
39566
39567 * kern/list.c: Likewise.
39568
39569 * kern/handler.c: Likewise.
39570
39571 * kern/term.h: Include header file <grub/handler.h>.
39572 (grub_term_input): Move next field to the beginning.
39573 (grub_term_output): Likewise.
39574 (grub_term_input_class): New variable.
39575 (grub_term_output_class): Likewise.
39576 (grub_term_register_input): Changed to inline function.
39577 (grub_term_register_output): Likewise.
39578 (grub_term_unregister_input): Likewise.
39579 (grub_term_unregister_output): Likewise.
39580 (grub_term_set_current_input): Likewise.
39581 (grub_term_set_current_output): Likewise.
39582 (grub_term_get_current_input): Likewise.
39583 (grub_term_get_current_output): Likewise.
39584 (grub_term_iterate_input): Removed.
39585 (grub_term_iterate_output): Likewise.
39586
39587 * kern/term.c (grub_term_list_input): Removed.
39588 (grub_term_list_output): Likewise.
39589 (grub_term_input_class): New variable.
39590 (grub_term_output_class): Likewise.
50fb7002 39591 (grub_cur_term_input): Change variable as macro.
71b9f361 39592 (grub_cur_term_output): Likewise.
39593 (grub_term_register_input): Removed.
39594 (grub_term_register_output): Likewise.
39595 (grub_term_unregister_input): Likewise.
39596 (grub_term_unregister_output): Likewise.
39597 (grub_term_set_current_input): Likewise.
39598 (grub_term_set_current_output): Likewise.
39599 (grub_term_iterate_input): Likewise.
39600 (grub_term_iterate_output): Likewise.
39601 (grub_term_get_current_input): Likewise.
39602 (grub_term_get_current_output): Likewise.
39603
39604 * util/grub-editenv.c: Include header file <grub/handler.h>.
39605 (grub_term_get_current_input): Removed.
39606 (grub_term_get_current_output): Likewise.
39607 (grub_term_input_class): New variable.
50fb7002 39608 (grub_term_output_class): Likewise.
71b9f361 39609
39610 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39611 (grub_term_get_current_output): Likewise.
39612 (grub_term_input_class): New variable.
50fb7002 39613 (grub_term_output_class): Likewise.
71b9f361 39614
39615 * util/grub-probe.c (grub_term_get_current_input): Removed.
39616 (grub_term_get_current_output): Likewise.
39617 (grub_term_input_class): New variable.
50fb7002 39618 (grub_term_output_class): Likewise.
71b9f361 39619
39620 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39621 (grub_term_get_current_output): Likewise.
39622 (grub_term_input_class): New variable.
50fb7002 39623 (grub_term_output_class): Likewise.
71b9f361 39624
39625 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39626 (terminal_mod_SOURCES): Likewise.
39627 (terminal_mod_CFLAGS): Likewise.
39628 (terminal_mod_LDFLAGS): Likewise.
39629
39630 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39631 handler.c.
39632 (kernel_img_SOURCES): Add list.c and handler.c.
39633 (kernel_img_HEADERS): Add list.h and handler.h.
39634
39635 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39636 handler.c.
39637 (kernel_mod_SOURCES): Add list.c and handler.c.
39638 (kernel_mod_HEADERS): Add list.h and handler.h.
39639
39640 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39641 handler.c.
39642 (kernel_elf_SOURCES): Add list.c and handler.c.
39643 (kernel_elf_HEADERS): Add list.h and handler.h.
39644
39645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39646 handler.c.
39647 (kernel_elf_SOURCES): Add list.c and handler.c.
39648 (kernel_elf_HEADERS): Add list.h and handler.h.
39649
39650 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39651 handler.c.
39652 (kernel_mod_SOURCES): Add list.c and handler.c.
39653 (kernel_mod_HEADERS): Add list.h and handler.h.
39654
39655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39656 handler.c.
39657 (kernel_elf_SOURCES): Add list.c and handler.c.
39658 (kernel_elf_HEADERS): Add list.h and handler.h.
39659
8a31787f 396602009-02-27 Robert Millan <rmh@aybabtu.com>
39661
39662 Factorize elf32 / elf64 code in Multiboot loader. This will
39663 prevent it from getting out of sync again.
39664
39665 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39666 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39667 grub_multiboot_load_elf64): Move from here ...
39668 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39669 grub_multiboot_load_elf): ... to here (new file).
39670
51cd3dfc 396712009-02-27 Robert Millan <rmh@aybabtu.com>
39672
39673 * util/grub.d/10_linux.in: Rename "single-user mode" to
39674 "recovery mode".
39675
6e8c9c3a 396762009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39677
39678 Don't leak in SCSI code.
39679 * disk/scsi.c (grub_scsi_close): free `scsi'.
39680
4b6bf4f9 396812009-02-27 Robert Millan <rmh@aybabtu.com>
39682
39683 * loader/i386/pc/multiboot.c: Move from here ...
39684 * loader/i386/multiboot.c: ... to here. Update all users.
39685
b9413424 396862009-02-27 Robert Millan <rmh@aybabtu.com>
39687
39688 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39689 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39690
50fb7002 396912009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39692
39693 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39694 b-tree.
39695
8cc50345 396962009-02-27 Robert Millan <rmh@aybabtu.com>
39697
39698 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39699 `0x' qualifier as 0 when base is specified as parameter).
39700
6e09b8b7 397012009-02-24 Bean <bean123ch@gmail.com>
39702
39703 * configure.ac: Check for -mcmodel=large in x86_64 target.
39704
39705 * include/grub/efi/api.h (efi_call_10): New macro.
39706 (efi_wrap_10): New function.
39707
39708 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39709 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39710 (GRUB_PE32_REL_BASED_LOW): Likewise.
39711 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39712 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39713 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39714 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39715 (GRUB_PE32_REL_BASED_REL): Likewise.
39716 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39717 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39718 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39719
39720 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
39721 issue.
39722
39723 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
39724 (efi_wrap_10): New function.
39725
39726 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
39727
39728 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
39729 MB/MBP model (NV chipset).
39730 (devdata_devs): Add devpath_5 to the list.
39731
39732 * load/i386/efi/linux.c (video_base): Remove variable.
39733 (RGB_MASK): New macro.
39734 (RGB_MAGIC): Likewise.
39735 (LINE_MIN): Likewise.
39736 (LINE_MAX): Likewise.
39737 (FBTEST_STEP): Likewise.
39738 (FBTEST_COUNT): Likewise.
39739 (fb_list): New variable.
39740 (grub_find_video_card): Remove function.
39741 (find_framebuf): New function.
39742 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
39743 line length.
39744
39745 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
39746 problem for x86_64.
39747
74b21bee 397482009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
39749
39750 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
39751
39752 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
39753 coding tool name.
39754
a455f472 397552009-02-22 Robert Millan <rmh@aybabtu.com>
39756
39757 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
39758 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
39759 in our relocation, instead of using it directly from heap. Also
39760 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
39761
6374daf3 397622009-02-21 Robert Millan <rmh@aybabtu.com>
39763
39764 Implement USB keyboard support (based on patch by Marco Gerards)
39765
39766 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
39767 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
39768 (usb_keyboard_mod_LDFLAGS): New variables.
39769
39770 * term/usb_keyboard.c: New file.
39771
8fa4ea70 397722009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
39773
39774 Corrected wrong declaration
39775
39776 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
39777
353976ac 397782009-02-14 Christian Franke <franke@computer.org>
39779
39780 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
39781 (grub_lspci_iter): Print class code and programming interface byte.
39782
6aa1169b 397832009-02-14 Christian Franke <franke@computer.org>
39784
39785 * gendistlist.sh: Ignore `.svn' directories.
39786
265372ca 397872009-02-14 Felix Zielcke <fzielcke@z-51.de>
39788
39789 * fs/fat.c: Add 2009 to Copyright line.
39790
9ff516f3 397912009-02-14 Christian Franke <franke@computer.org>
39792
39793 * commands/hdparm.c: New file. Provides `hdparm' command
39794 which sends ATA commands via grub_disk_ata_pass_through ().
39795
39796 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
39797
39798 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
39799 and <grub/cpu/io.h> to include/grub/ata.h.
39800 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
39801 (GRUB_CDROM_SECTOR_SIZE): Remove.
39802 (GRUB_ATA_*): Move to include/grub/ata.h.
39803 (GRUB_ATAPI_*): Likewise.
39804 (enum grub_ata_commands): Likewise.
39805 (enum grub_ata_timeout_milliseconds): Likewise.
39806 (struct grub_ata_device): Likewise.
39807 (grub_ata_regset): Likewise.
39808 (grub_ata_regget): Likewise.
39809 (grub_ata_regset2): Likewise.
39810 (grub_ata_regget2): Likewise.
39811 (grub_ata_check_ready): Likewise.
39812 (grub_ata_wait_not_busy): Remove static, exported in
39813 include/grub/ata.h.
39814 (grub_ata_wait_drq): Likewise.
39815 (grub_ata_pio_read): Likewise.
39816
39817 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
39818 function for hdparm.mod.
39819
39820 * include/grub/ata.h: New file, contains declarations from
39821 disk/ata.c.
39822 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
39823
39824 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
39825 (grub_disk_ata_pass_through): New exported variable.
39826
39827 * kern/disk.c (grub_disk_ata_pass_through): New variable.
39828
772e23da 398292009-02-13 Colin D Bennett <colin@gibibit.com>
39830
39831 Support multiple fallback entries, and provide an API to support
39832 executing default+fallback menu entries. Renamed the `terminal' menu
39833 viewer to `text'.
39834
39835 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39836 variable declaration.
39837 (grub_menu_execute_callback): New structure declaration.
39838 (grub_menu_execute_callback_t): New typedef.
39839 (grub_menu_execute_with_fallback): New function declaration.
39840 (grub_menu_get_entry): Likewise.
39841 (grub_menu_get_timeout): Likewise.
39842 (grub_menu_set_timeout): Likewise.
39843
39844 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39845
39846 * normal/menu.c (grub_wait_after_message): Moved to
39847 `normal/menu_text.c'.
39848 (draw_border): Likewise.
39849 (print_message): Likewise.
39850 (print_entry): Likewise.
39851 (print_entries): Likewise.
39852 (grub_menu_init_page): Likewise.
39853 (get_entry_number): Likewise.
39854 (print_timeout): Likewise.
39855 (run_menu): Likewise.
39856 (grub_menu_execute_entry): Likewise.
39857 (show_text_menu): Likewise.
39858 (get_and_remove_first_entry_number): New function.
39859 (grub_menu_execute_with_fallback): Likewise.
39860 (get_entry): Renamed to ...
39861 (grub_menu_get_entry): .. this and made it global.
39862 (get_timeout): Renamed to ...
39863 (grub_menu_get_timeout): ... this and made it global.
39864 (set_timeout): Renamed to ...
39865 (grub_menu_set_timeout): ... this and made it global.
39866 (grub_normal_terminal_menu_viewer): Renamed to ...
39867 (grub_normal_text_menu_viewer): ... this.
39868
39869 * normal/menu_text.c: New file. Extracted text-menu-specific code
39870 from normal/menu.c.
39871
39872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39873 (normal_mod_SOURCES): Likewise.
39874
39875 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39876 (normal_mod_SOURCES): Likewise.
39877
39878 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39879 (normal_mod_SOURCES): Likewise.
39880
39881 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39882 (normal_mod_SOURCES): Likewise.
39883
39884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39885 (normal_mod_SOURCES): Likewise.
39886
39887 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39888 (normal_mod_SOURCES): Likewise.
39889
39890 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39891 (normal_mod_SOURCES): Likewise.
39892
16ac430e 398932009-02-11 Robert Millan <rmh@aybabtu.com>
39894
39895 * util/grub.d/00_header.in: Update old reference to `font' command.
39896
06ff20fc 398972009-02-10 Felix Zielcke <fzielcke@z-51.de>
39898
39899 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39900
39901 Based on patch from Javier Martín.
39902
96da9407 399032009-02-09 Felix Zielcke <fzielcke@z-51.de>
39904
39905 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39906 to avoid false positives with FAT.
96da9407 39907 (grub_fstest_SOURCES): Likewise.
39908 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39909 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39911 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39912 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39913 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39914
6dca6fe4 399152009-02-09 Felix Zielcke <fzielcke@z-51.de>
39916
06ff20fc 39917 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39918 bpb.version_specific.fat12_or_fat16.fstype and
39919 bpb.version_specific.fat32.fstype.
39920
2550c62f 399212009-02-08 Robert Millan <rmh@aybabtu.com>
39922
be110b30 39923 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39924
56978920 399252009-02-08 Robert Millan <rmh@aybabtu.com>
39926
39927 * Makefile.in (host_os, host_cpu): New variables.
39928 (target_os): Remove. Update all users.
39929
d64399b5 399302009-02-08 Marco Gerards <marco@gnu.org>
39931
39932 * Makefile.in (enable_grub_emu_usb): New variable.
39933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39934 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39935 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39936 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39937 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39938 `usbtest.mod' and `usbms.mod'.
39939 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39940 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39941 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39942 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39943 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39944 variables.
39945
39946 * disk/usbms.c: New file.
39947
39948 * include/grub/usb.h: Likewise.
39949
39950 * include/grub/usbtrans.h: Likewise.
39951
39952 * include/grub/usbdesc.h: Likewise.
39953
39954 * bus/usb/usbtrans.c: Likewise.
39955
39956 * bus/usb/ohci.c: Likewise.
39957
39958 * bus/usb/uhci.c: Likewise.
39959
39960 * bus/usb/usbhub.c: Likewise.
39961
39962 * bus/usb/usb.c: Likewise.
39963
39964 * commands/usbtest.c: Likewise.
39965
39966 * util/usb.c: Likewise.
50fb7002 39967
d64399b5 39968 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39969
39970 * configure.ac: Test for libusb presence.
50fb7002 39971
d64399b5 39972 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39973
2b40d6bb 399742009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39975
39976 * kern/mm.c: Add more comments.
39977
73a4ce81 399782009-02-08 Robert Millan <rmh@aybabtu.com>
39979
39980 Patch from Javier Martín.
39981 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39982 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39983
f821ce59 399842009-02-08 Robert Millan <rmh@aybabtu.com>
39985
39986 * fs/cpio.c: Split tar functionality to ...
39987 * fs/tar.c: ... here (new file). Update all users.
39988
aebfc4b0 399892009-02-07 Robert Millan <rmh@aybabtu.com>
39990
39991 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39992 backward-incompatible features.
39993
39994 Based on patch from Javier Martín, with some adjustments.
39995
50fb7002 399962009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39997
39998 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39999
0bb5115e 400002009-02-07 Robert Millan <rmh@aybabtu.com>
40001
40002 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40003 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40004 after the RAID stuff.
40005
38a0f8e7 400062009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40007
50fb7002 40008 Fixes problem when running vbetest command as reported by
38a0f8e7 40009 Vladimir Serbinenko <phcoder@gmail.com>.
40010
40011 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40012
3143cc1c 400132009-02-04 Felix Zielcke <fzielcke@z-51.de>
40014
40015 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40016 /dev/md/NpN style mdraid devices.
40017
9cba6fce 400182009-02-03 Felix Zielcke <fzielcke@z-51.de>
40019
40020 * util/unifont2pff.rb: Remove.
40021
e507a2c1 400222009-02-03 Felix Zielcke <fzielcke@z-51.de>
40023
40024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40025 `#'.
40026
d2c2b4cd 400272009-02-03 Felix Zielcke <fzielcke@z-51.de>
40028
40029 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40030 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40031 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40034 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40035 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40036
b4315fb0 400372009-02-02 Christian Franke <franke@computer.org>
40038
40039 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40040
de3aa260 400412009-02-01 Felix Zielcke <fzielcke@z-51.de>
40042
7c3ff286 40043 * INSTALL: Note that we now require at least autoconf 2.59 and
40044 that LZO is optional.
de3aa260 40045
825a182b 400462009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40047
40048 Base on patch on bug #24154 created by Tomas Tintera
40049 <trosos@seznam.cz>.
40050
40051 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40052
a69ef770 400532009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40054
7c3ff286 40055 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 40056 <bero@arklinux.org>.
40057
40058 * normal/parser.y (script_init): Add missing semicolon.
40059
6fa42fa6 400602009-01-31 Colin D Bennett <colin@gibibit.com>
40061
7c3ff286 40062 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 40063 (free_menu_entry_classes): Added.
40064 (grub_normal_menu_addentry): Added class property handling.
40065 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40066 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40067
40068 * normal/menu_viewer.c: New file.
40069
40070 * normal/menu.c (run_menu_entry): Renamed to ...
40071 (grub_menu_execute_entry): ... this and made it as global.
40072 (grub_menu_run): Renamed to ...
40073 (show_text_menu): ... this and made it local.
40074 (show_text_menu): Adapt to new function names.
40075 (grub_normal_terminal_menu_viewer): New global variable.
40076
40077 * include/grub/menu.h: New file.
40078
40079 * include/grub/menu_viewer.h: New file.
40080
40081 * include/grub/normal.h: Added include to grub/menu.h.
40082 (grub_menu_entry): Moved to include/grub/menu.h.
40083 (grub_menu_entry_t): Likewise.
40084 (grub_menu): Likewise.
40085 (grub_menu_t): Likewise.
40086 (grub_normal_terminal_menu_viewer): Added.
40087 (grub_menu_execute_entry): Likewise.
40088 (grub_menu_run): Removed.
40089
40090 * DISTLIST: Added include/grub/menu.h.
40091 Added include/grub/menu_viewer.h.
40092 Added normal/menu_viewer.c.
40093
400942009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40095
40096 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40097 arglist for menutitle arguments.
40098
40099 * normal/main.c (grub_normal_menu_addentry): Likewise.
40100
40101 * normal/parser.y (menuentry): Likewise.
40102
40103 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40104
40105 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40106 (grub_script_create_cmdmenu): Likewise.
40107
40108 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40109
40110 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40111 changes.
40112
40113 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
40114
40115 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
40116
40117 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
40118
40119 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40120
40121 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40122
40123 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40124
56192c23 401252009-01-30 Christian Franke <franke@computer.org>
40126
40127 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
40128 in option help text.
40129
d72521b3 401302009-01-27 Pavel Roskin <proski@gnu.org>
40131
40132 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
40133
994b5e84 401342009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40135
40136 * commands/lsmmap.c: Add include to grub/machine/memory.h.
40137
40138 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
40139
40140 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
40141 unregister function.
40142
6a7eab2c 401432009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40144
40145 * disk/scsi.c (grub_scsi_read): Fix sign problem.
40146
40147 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
40148
40149 * util/grub-mkfont.c (usage): Fix typo.
40150
40151 * util/elf/grub-mkimage.c (load_modules): Fix warning.
40152
1806b56e 401532009-01-26 Daniel Mierswa <impulze@impulze.org>
40154
3fb18f09 40155 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
40156
336e1fb9 40157 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
40158
1806b56e 40159 * kern/misc.c (grub_strcasecmp): New function.
40160 (grub_strcasecmp): Use grub_size_t instead of int for length.
40161 Fix return value.
40162 * include/grub/misc.h: Update function prototypes.
40163
580b2a0f 401642009-01-26 Robert Millan <rmh@aybabtu.com>
40165
40166 * configure.ac: Fix cross-compilation check.
ef257b36 40167
d31c24f1 401682009-01-22 Christian Franke <franke@computer.org>
40169
40170 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
40171 (precision) digit string. Allow `.format2' without `format1' (width).
40172 Limit input chars for `%s' output to `format2' if specified. This is
40173 compatible with standard printf ().
40174
3138b44c 401752009-01-22 Christian Franke <franke@computer.org>
40176
40177 * disk/ata.c (grub_ata_wait_status): Replace by ...
40178 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
40179 other status bits may be invalid while BSY is asserted.
40180 (grub_ata_check_ready): New function.
40181 (grub_ata_cmd): Removed.
40182 (grub_ata_wait_drq): New function.
40183 (grub_ata_strncpy): Remove inline.
40184 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
40185 and error check now done by grub_ata_wait_drq ().
40186 (grub_ata_pio_write): Likewise.
40187 (grub_atapi_identify): Set DEV before check for !BSY. Use
40188 grub_ata_wait_drq () to wait for data.
40189 (grub_ata_device_initialize): Add status register check to
40190 detect missing SATA slave devices. Add debug messages.
40191 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
40192 (grub_atapi_packet): Set DEV before check for !BSY. Replace
40193 transfer loop by grub_ata_pio_write ().
40194 (grub_ata_identify): Set DEV before check for !BSY. Use
40195 grub_ata_wait_drq () to wait for data.
ef257b36 40196 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 40197 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
40198 read/write in one loop. Fix invalid command on write. Fix incomplete
40199 command on (size % batch) == 0. Add missing error check after write of
40200 last block. Add debug messages.
40201 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40202
59a64ef6 402032009-01-19 Christian Franke <franke@computer.org>
40204
40205 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40206 (GRUB_ATAPI_IREASON_*): Likewise.
40207 (grub_ata_pio_write): Fix timeout error return.
40208 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40209 (grub_atapi_wait_drq): New function.
40210 (grub_atapi_packet): New parameter `size'.
40211 Use grub_atapi_wait_drq () and direct write instead of
40212 grub_ata_pio_write ().
40213 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40214 reads the number of bytes requested by the device for each DRQ
40215 assertion.
40216 (grub_atapi_write): Remove old implementation, return not
40217 implemented instead.
40218
1cfe20b3 402192009-01-19 Christian Franke <franke@computer.org>
40220
40221 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40222 of 512 to calculate data size.
40223 (grub_scsi_read12): Likewise.
40224 (grub_scsi_write10): Likewise.
40225 (grub_scsi_write12): Likewise.
40226 (grub_scsi_read): Adjust size according to blocksize.
40227 Add checks for invalid blocksize and unaligned transfer.
40228
bee5fe5d 402292009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40230
40231 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40232
ef257b36 40233 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 40234 width glyphs.
40235
3e643f8c 402362009-01-19 Robert Millan <rmh@aybabtu.com>
40237
40238 * config.guess: Update to latest version from config git.
40239 * config.sub: Likewise.
40240
4fa80998 402412009-01-17 Felix Zielcke <fzielcke@z-51.de>
40242
40243 * Makefile.in: Change font compilation to use new grub-mkfont instead
40244 of java version.
40245
40246 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40247 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40248 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40249 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40250 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40251 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40252 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40253 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40254 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40255
7086085b 402562009-01-16 Christian Franke <franke@computer.org>
40257
40258 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40259 (enum grub_ata_timeout_milliseconds): New enum.
40260 (grub_ata_wait_status): Add parameter milliseconds.
40261 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40262 recovery from timed-out commands.
40263 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40264 return grub_errno instead of REG_ERROR.
40265 (grub_ata_pio_write): Add parameter milliseconds.
40266 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40267 Pass milliseconds to grub_ata_wait_status () and
40268 grub_ata_pio_read ().
40269 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40270 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40271 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40272 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40273 It is not suitable for device detection, because DEV bit is ignored,
40274 the command may run too long, and not all devices set the signature
40275 properly.
40276 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40277 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40278 Fix device selection, DEV bit must be set first to address the registers
40279 of the correct device.
40280 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40281 grub_ata_pio_read/write ().
40282 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40283 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40284
4a412913 402852009-01-13 Carles Pina i Estany <carles@pina.cat>
40286
40287 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40288
7795c55e 402892009-01-13 Bean <bean123ch@gmail.com>
d913988c 40290
40291 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40292
7795c55e 402932009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40294
40295 * Makefile.in: (enable_grub_mkfont): New variable.
40296 (freetype_cflags): Likewise.
40297 (freetype_libs): Likewise.
40298
40299 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40300 (grub_mkfont_SOURCES): New variable.
40301 (grub_mkfont_CFLAGS): Likewise.
40302 (grub_mkfont_LDFLAGS): Likewise.
40303
40304 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40305 library if `--enable-grub-mkfont' is requested.
40306 (enable_grub_mkfont): New variable.
40307 (freetype_cflags): Likewise.
40308 (freetype_libs): Likewise.
40309
40310 * util/grub-mkfont.c: New file.
40311
093af1fe 403122009-01-12 Christian Franke <franke@computer.org>
40313
40314 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40315 mode check. Fix setting of compat_use[].
40316
f36cc108 403172009-01-10 Robert Millan <rmh@aybabtu.com>
40318
40319 Update a few copyright years which we forgot to do in 2008 (only for
40320 files whose changes made in 2008 were copyright-significant)
40321
40322 * Makefile.in: Add 2008 to Copyright line.
40323 * disk/ieee1275/ofdisk.c: Likewise.
40324 * disk/efi/efidisk.c: Likewise.
40325 * kern/dl.c: Likewise.
40326 * kern/sparc64/ieee1275/init.c: Likewise.
40327 * kern/mm.c: Likewise.
40328 * kern/efi/mm.c: Likewise.
40329 * boot/i386/pc/boot.S: Likewise.
40330 * genfslist.sh: Likewise.
40331 * fs/iso9660.c: Likewise.
40332 * fs/hfs.c: Likewise.
40333 * fs/jfs.c: Likewise.
40334 * fs/minix.c: Likewise.
40335 * fs/ufs.c: Likewise.
40336 * gensymlist.sh.in: Likewise.
40337 * genkernsyms.sh.in: Likewise.
40338 * include/grub/misc.h: Likewise.
40339 * include/grub/types.h: Likewise.
40340 * include/grub/symbol.h: Likewise.
40341 * include/grub/elf.h: Likewise.
40342 * include/grub/kernel.h: Likewise.
40343 * include/grub/disk.h: Likewise.
40344 * include/grub/dl.h: Likewise.
40345 * include/grub/i386/linux.h: Likewise.
40346 * include/grub/i386/pc/biosdisk.h: Likewise.
40347 * include/grub/efi/api.h: Likewise.
40348 * include/grub/efi/pe32.h: Likewise.
40349 * include/grub/util/misc.h: Likewise.
40350 * normal/execute.c: Likewise.
40351 * normal/arg.c: Likewise.
40352 * normal/completion.c: Likewise.
40353 * normal/lexer.c: Likewise.
40354 * normal/parser.y: Likewise.
40355 * normal/misc.c: Likewise.
40356 * commands/i386/pc/vbeinfo.c: Likewise.
40357 * commands/hexdump.c: Likewise.
40358 * commands/terminal.c: Likewise.
40359 * commands/ls.c: Likewise.
40360 * commands/help.c: Likewise.
40361 * partmap/pc.c: Likewise.
40362 * loader/efi/chainloader.c: Likewise.
40363 * loader/multiboot_loader.c: Likewise.
40364 * loader/i386/pc/multiboot2.c: Likewise.
40365 * term/efi/console.c: Likewise.
40366 * term/i386/pc/serial.c: Likewise.
40367 * util/lvm.c: Likewise.
40368 * util/console.c: Likewise.
40369 * util/i386/efi/grub-mkimage.c: Likewise.
40370 * util/raid.c: Likewise.
40371
7f02114b 403722009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40373
40374 * commands/videotest.c: Removed include to grub/machine/memory.h.
40375
40376 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40377 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40378 (video_mod_SOURCES): Removed.
40379 (video_mod_CFLAGS): Likewise.
40380 (video_mod_LDFLAGS): Likewise.
40381 (gfxterm_mod_SOURCES): Likewise.
40382 (gfxterm_mod_CFLAGS): Likewise.
40383 (gfxterm_mod_LDFLAGS): Likewise.
40384 (videotest_mod_SOURCES): Likewise.
40385 (videotest_mod_CFLAGS): Likewise.
40386 (videotest_mod_LDFLAGS): Likewise.
40387 (bitmap_mod_SOURCES): Likewise.
40388 (bitmap_mod_CFLAGS): Likewise.
40389 (bitmap_mod_LDFLAGS): Likewise.
40390 (tga_mod_SOURCES): Likewise.
40391 (tga_mod_CFLAGS): Likewise.
40392 (tga_mod_LDFLAGS): Likewise.
40393 (jpeg_mod_SOURCES): Likewise.
40394 (jpeg_mod_CFLAGS): Likewise.
40395 (jpeg_mod_LDFLAGS): Likewise.
40396 (png_mod_SOURCES): Likewise.
40397 (png_mod_CFLAGS): Likewise.
40398 (png_mod_LDFLAGS): Likewise.
40399
40400 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40401 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40402 (video_mod_SOURCES): Added.
40403 (video_mod_CFLAGS): Likewise.
40404 (video_mod_LDFLAGS): Likewise.
40405 (videotest_mod_SOURCES): Likewise.
40406 (videotest_mod_CFLAGS): Likewise.
40407 (videotest_mod_LDFLAGS): Likewise.
40408 (bitmap_mod_SOURCES): Likewise.
40409 (bitmap_mod_CFLAGS): Likewise.
40410 (bitmap_mod_LDFLAGS): Likewise.
40411 (tga_mod_SOURCES): Likewise.
40412 (tga_mod_CFLAGS): Likewise.
40413 (tga_mod_LDFLAGS): Likewise.
40414 (jpeg_mod_SOURCES): Likewise.
40415 (jpeg_mod_CFLAGS): Likewise.
40416 (jpeg_mod_LDFLAGS): Likewise.
40417 (png_mod_SOURCES): Likewise.
40418 (png_mod_CFLAGS): Likewise.
40419 (png_mod_LDFLAGS): Likewise.
40420 (gfxterm_mod_SOURCES): Likewise.
40421 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40422 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40423
40424 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40425 grub/machine/console.h.
40426
644fff97 404272009-01-04 Jerone Young <jerone@gmail.com>
40428
40429 Make on screen instructions clearer
40430
40431 Based on patch created by Jidanni <jidanni@jidanni.org>
40432
40433 * normal/menu.c: print clearer instructions on the screen
40434
1e901a75 404352009-01-02 Colin D Bennett <colin@gibibit.com>
40436
40437 New font engine.
34c44600 40438
1e901a75 40439 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40440 build system and fixed gfxterm.c to work with different sized fonts.
40441
40442 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40443
1e901a75 40444 * configure: Re-generated.
34c44600 40445
1e901a75 40446 * DISTLIST: Removed font/manager.c.
40447 Added font/font.c.
40448 Added font/font_cmd.c.
34c44600 40449
1e901a75 40450 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40451 compilation.
34c44600 40452
1e901a75 40453 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40454
40455 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40456
40457 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40458
1e901a75 40459 * normal/menu.c: Likewise.
34c44600 40460
1e901a75 40461 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40462 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40463
1e901a75 40464 * include/grub/font.h: Replaced with new file.
34c44600 40465
1e901a75 40466 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40467 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40468 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40469 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40470 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40471 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40472 fg_red, fg_green, fg_blue, fg_alpha.
40473 (grub_video_adapter): Removed blit_glyph.
34c44600 40474 (grub_video_blit_glyph): Removed.
40475
1e901a75 40476 * font/manager.c: Removed file.
34c44600 40477
40478 * font/font.c: New file.
40479
1e901a75 40480 * font/font_cmd.c: Likewise.
34c44600 40481
1e901a75 40482 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40483
1e901a75 40484 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40485 (grub_video_vbe_map_rgba): Likewise.
40486 (grub_video_vbe_unmap_color_int): Likewise.
40487 (grub_video_vbe_blit_glyph): Removed.
40488 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40489
1e901a75 40490 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40491 (get_pixel): Likewise.
34c44600 40492 (set_pixel): Likewise.
40493
1e901a75 40494 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40495
1e901a75 40496 * term/gfxterm.c: Adapted to new font engine.
34c44600 40497
1e901a75 40498 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40499
1e901a75 40500 * term/i386/pc/vga.c: Likewise.
34c44600 40501
1e901a75 40502 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40503
1e901a75 40504 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40505
1e901a75 40506 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40507
1e901a75 40508 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40509
1e901a75 40510 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40511
1e901a75 40512 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40513
1e901a75 40514 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40515
1e901a75 40516 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40517
1e901a75 40518 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40519
40520 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40521
1e901a75 40522 * util/grub-mkconfig_lib.in: Changed font extension.
40523
278922e8 405242008-12-28 Felix Zielcke <fzielcke@z-51.de>
40525
40526 * util/getroot.c (grub_util_get_grub_dev): Add support for
40527 /dev/md/dNNpNN style partitionable mdraid devices.
40528
3ced05cf 405292008-12-12 Alex Smith <alex@alex-smith.me.uk>
40530
40531 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40532 at a time limit of the PXE TFTP API correctly.
40533 (grub_pxefs_close): Likewise.
40534
7fd0ee30 405352008-11-29 Robert Millan <rmh@aybabtu.com>
40536
34c44600 40537 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40538 grub_ata_device_initialize() calls.
40539
34c44600 405402008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40541
40542 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40543 iteration failed.
40544 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40545
89313780 405462008-11-28 Robert Millan <rmh@aybabtu.com>
40547
40548 Fix build on powerpc-ieee1275. Based on patch created by
40549 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40550 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40551 `kern/ieee1275/mmap.c'.
40552 * include/grub/powerpc/ieee1275/memory.h: New file.
40553
15257703 40554 Provide grub-install on coreboot.
40555 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40556 (grub_install_SOURCES): New variable.
40557 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40558 usable on coreboot.
40559
9fc5388a 405602008-11-25 Felix Zielcke <fzielcke@z-51.de>
40561
40562 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40563 to `grub_term_input_t'.
40564 (grub_term_get_current_output): Change return type to
40565 `grub_term_output_t'.
40566
bc3a2f31 405672008-11-22 Robert Millan <rmh@aybabtu.com>
40568
34c44600 40569 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40570 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40571 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40572 grub_vga_text_cls().
40573
80fc88f2 40574 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40575 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40576
cbf36fd3 40577 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40578 to 0x200000 (avoids trouble with some OFW implementations, and matches
40579 with the one in Yaboot).
40580 Reported by Manoel Abranches
40581
73e8e268 405822008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40583
40584 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40585 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40586
73e8e268 40587 * util/grub-mkconfig_lib.in (grub_warn): New function.
40588 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40589 warnings, to obtain consistent formatting.
40590 * util/grub.d/00_header.in: Likewise.
40591 * util/update-grub_lib.in: Likewise.
40592
e94045a1 40593 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40594 Move comment text to `#error' stanza.
e94045a1 40595
79d29fd7 40596 Harmonize ieee1275's grub_available_iterate() with the generic
40597 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40598 build problem on i386-ieee1275):
40599 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40600 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40601 parameter `type'. Update all users of this function.
40602 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40603 `kern/ieee1275/mmap.c'.
40604 * kern/ieee1275/init.c
40605 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40606 with ...
40607 (grub_machine_mmap_iterate): ... this.
40608 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40609 return type to `grub_err_t'. Update all implementations of this
40610 function prototype.
40611 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40612 Likewise.
40613
60d6b16e 40614 Add `lsmmap' command (lists firmware-provided memory map):
40615 * commands/lsmmap.c: New file.
40616 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40617 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40618 variables.
40619 * conf/powerpc-ieee1275.rmk: Likewise.
40620 * conf/i386-coreboot.rmk: Likewise.
40621 * conf/i386-ieee1275.rmk: Likewise.
40622
ebaaf49b 406232008-11-19 Robert Millan <rmh@aybabtu.com>
40624
40625 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40626 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40627 constraints to initrd allocation (based on code from
40628 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40629 for Linux to find it.
ebaaf49b 40630
dfab719f 406312008-11-14 Robert Millan <rmh@aybabtu.com>
40632
40633 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40634 order to cope with duplicate slashes.
40635
10fc3eb9 406362008-11-14 Robert Millan <rmh@aybabtu.com>
40637
40638 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40639 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40640 don't want to mess with lower memory, because it is used in the Linux
40641 loader.
40642
40643 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40644 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40645 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40646 is in our heap (probably as a result of it being corrupted during
2f2a3442 40647 decompression). Add #error instance with comment to explain why this
40648 loader isn't currently usable on PC/BIOS.
10fc3eb9 40649
e2e07847 406502008-11-14 Robert Millan <rmh@aybabtu.com>
40651
40652 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40653 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40654
fe8e8d69 406552008-11-12 Robert Millan <rmh@aybabtu.com>
40656
40657 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40658
40659 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40660 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40661 from here ...
40662 * include/grub/i386/pc/memory.h: ... to here.
40663
976b07d0 406642008-11-12 Robert Millan <rmh@aybabtu.com>
40665
40666 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40667 split).
40668
40669 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40670 (grub_console_cur_color, grub_console_real_putchar)
40671 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40672 (grub_console_setcolorstate, grub_console_setcolor)
40673 (grub_console_getcolor): Move from here ...
40674 * include/grub/i386/vga_common.h: ... to here (new file).
40675
40676 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40677 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40678 `<grub/i386/io.h>'.
40679 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40680 `<grub/i386/vga_common.h>'.
40681
76679cd3 406822008-11-12 Robert Millan <rmh@aybabtu.com>
40683
40684 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40685 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40686 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40687 variables.
40688 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40689 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40690
40691 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40692 grub_console_init() with call to grub_vga_text_init().
40693 (grub_machine_fini): Replace call to
40694 grub_console_fini() with call to grub_vga_text_fini() and
40695 grub_at_keyboard_fini().
40696
40697 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40698 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40699 (grub_console_setcolorstate, grub_console_setcolor)
40700 (grub_console_getcolor): New function prototypes.
40701
40702 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40703 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40704 (grub_vga_text_setcursor): Static-ize.
40705 (grub_vga_text_term): New structure.
40706 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40707
40708 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40709 (grub_console_cur_color, grub_console_standard_color)
40710 (grub_console_normal_color, grub_console_highlight_color)
40711 (map_char, grub_console_putchar, grub_console_getcharwidth)
40712 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40713 (grub_console_getcolor): Move from here ...
40714 * term/i386/vga_common.c: ... to here (same function names).
40715
95b841d3 407162008-11-12 Robert Millan <rmh@aybabtu.com>
40717
40718 Use newly-added Multiboot support in coreboot.
40719
40720 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40721 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
40722
40723 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
40724 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
40725 (codestart): Store the MBI in `startup_multiboot_info' when we're
40726 being loaded using Multiboot.
40727
40728 * kern/i386/coreboot/init.c (grub_machine_init): Move
40729 grub_at_keyboard_init() call to beginning of function (useful for
40730 debugging). Call grub_machine_mmap_init() before attempting to use
40731 grub_machine_mmap_iterate().
40732 (grub_lower_mem, grub_upper_mem): Move from here ...
40733 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
40734 here (new file).
40735
40736 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
40737 function prototype.
40738
761ca975 407392008-11-12 Robert Millan <rmh@aybabtu.com>
40740
40741 Fix a regression introduced by the at_keyboard.mod split. Because
40742 some terminals are default on some platforms and non-default on
40743 others, the first terminal being registered determines which is
40744 going to be default.
40745
40746 * kern/term.c (grub_term_register_input): If this is the first
40747 terminal being registered, set it as the current one.
40748 (grub_term_register_output): Likewise.
40749
40750 * term/efi/console.c (grub_console_init): Do not call
40751 grub_term_set_current_output() or grub_term_set_current_input().
40752 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
40753 * term/i386/pc/console.c (grub_console_init): Likewise.
40754 (grub_console_fini): Do not call grub_term_set_current_input()
40755 (but leave grub_term_set_current_output() to restore text mode).
40756
6c529df7 407572008-11-10 Robert Millan <rmh@aybabtu.com>
40758
40759 * util/grub.d/00_header.in: Add backward compatibility check for
40760 versions of terminal.mod that don't understand `terminal_input' or
40761 `terminal_output'.
40762
132e4113 407632008-11-09 Robert Millan <rmh@aybabtu.com>
40764
40765 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
40766 `terminal_input' / `terminal_output', not `terminal'.
40767
ac293d50 407682008-11-08 Robert Millan <rmh@aybabtu.com>
40769
40770 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 40771 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 40772
0025933a 407732008-11-08 Robert Millan <rmh@aybabtu.com>
40774
40775 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 40776 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 40777 members. Update all users.
40778 * util/console.c (grub_ncurses_term): Split in ...
40779 (grub_ncurses_term_input): ... this, and ...
40780 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 40781 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 40782
37c86336 407832008-11-08 Robert Millan <rmh@aybabtu.com>
40784
40785 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
40786 (PKGDATA): Add $(pkgdata_SRCDIR).
40787 (pkglib_BUILDDIR): New variable.
40788 (pkgdata_SRCDIR): New variable.
40789 (build_env.mk): New target.
40790 (include_DATA): New variable.
40791 (install-local): Install $(include_DATA) files in $(includedir).
40792
b6c15a2d 407932008-11-07 Pavel Roskin <proski@gnu.org>
40794
d99d46f1 40795 * gendistlist.sh: Use C locale for sorting to ensure consistent
40796 output on all systems.
40797
b6c15a2d 40798 * util/grub.d/00_header.in: Remove incorrect space before
40799 "serial".
40800
c32ee8c9 408012008-11-07 Robert Millan <rmh@aybabtu.com>
40802
40803 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
40804 per specification.
40805 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
40806 * loader/multiboot_loader.c (find_multi_boot2_header): New function
40807 (based on find_multi_boot1_header).
40808 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
40809 using find_multi_boot2_header(), and abort if neither Multiboot or
40810 Multiboot headers were found.
40811
651c29b7 408122008-11-07 Robert Millan <rmh@aybabtu.com>
40813
40814 Modularize at_keyboard.mod:
40815
40816 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
40817 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
40818 (at_keyboard_mod_LDFLAGS): New variables.
40819
40820 Actual terminal split:
40821
40822 * include/grub/term.h (struct grub_term): Split in ...
40823 (struct grub_term_input): ... this, and ...
40824 (struct grub_term_output): ... this. Update all users.
40825 (grub_term_set_current): Split in ...
40826 (grub_term_set_current_input): ... this, and ...
40827 (grub_term_set_current_output): ... this.
40828 (grub_term_get_current): Split in ...
40829 (grub_term_get_current_input): ... this, and ...
40830 (grub_term_get_current_output): ... this.
40831 (grub_term_register): Split in ...
40832 (grub_term_register_input): ... this, and ...
40833 (grub_term_register_output): ... this.
40834 (grub_term_unregister): Split in ...
40835 (grub_term_unregister_input): ... this, and ...
40836 (grub_term_unregister_output): ... this.
40837 (grub_term_iterate): Split in ...
40838 (grub_term_iterate_input): ... this, and ...
40839 (grub_term_iterate_output): ... this.
40840
40841 * kern/term.c (grub_term_list): Split in ...
40842 (grub_term_list_input): ... this, and ...
40843 (grub_term_list_output): ... this. Update all users.
40844 (grub_cur_term): Split in ...
40845 (grub_cur_term_input): ... this, and ...
40846 (grub_cur_term_output): ... this. Update all users.
40847 (grub_term_set_current): Split in ...
40848 (grub_term_set_current_input): ... this, and ...
40849 (grub_term_set_current_output): ... this.
40850 (grub_term_get_current): Split in ...
40851 (grub_term_get_current_input): ... this, and ...
40852 (grub_term_get_current_output): ... this.
40853 (grub_term_register): Split in ...
40854 (grub_term_register_input): ... this, and ...
40855 (grub_term_register_output): ... this.
40856 (grub_term_unregister): Split in ...
40857 (grub_term_unregister_input): ... this, and ...
40858 (grub_term_unregister_output): ... this.
40859 (grub_term_iterate): Split in ...
40860 (grub_term_iterate_input): ... this, and ...
40861 (grub_term_iterate_output): ... this.
40862
40863 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40864 a check for input and one for output (and only attempt to get keys
40865 from user when input works).
40866
40867 * util/grub-probe.c (grub_term_get_current): Split in ...
40868 (grub_term_get_current_input): ... this, and ...
40869 (grub_term_get_current_output): ... this.
40870 * util/grub-fstest.c: Likewise.
40871 * util/i386/pc/grub-setup.c: Likewise.
40872 * util/grub-editenv.c: Likewise.
40873
40874 Portability adjustments:
40875
40876 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40877 `term/i386/pc/at_keyboard.c'.
40878 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40879 grub_keyboard_controller_init() (now handled by terminal .init).
40880 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40881 grub_at_keyboard_init().
40882 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40883 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40884 at_keyboard.mod via input terminal interface).
40885 * include/grub/i386/coreboot/console.h: Convert into a stub for
40886 `<grub/i386/pc/console.h>'.
40887
40888 Migrate full terminals to new API:
40889
40890 * term/efi/console.c (grub_console_term): Split into ...
40891 (grub_console_term_input): ... this, and ...
40892 (grub_console_term_output): ... this. Update all users.
40893 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40894 (grub_ofconsole_init): Split into ...
40895 (grub_ofconsole_init_input): ... this, and ...
40896 (grub_ofconsole_init_output): ... this.
40897 (grub_ofconsole_term): Split into ...
40898 (grub_ofconsole_term_input): ... this, and ...
40899 (grub_ofconsole_term_output): ... this. Update all users.
40900 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40901 (grub_serial_term_input): ... this, and ...
40902 (grub_serial_term_output): ... this. Update all users.
40903 * term/i386/pc/console.c (grub_console_term): Split into ...
40904 (grub_console_term_input): ... this, and ...
40905 (grub_console_term_output): ... this. Update all users.
40906 (grub_console_term_input): Only enable it on PC/BIOS platform.
40907 (grub_console_init): Remove grub_keyboard_controller_init() call.
40908
40909 Migrate input terminals to new API:
40910
40911 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40912 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40913 i386-specific anyway).
40914 (grub_console_checkkey): Rename to ...
40915 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40916 users.
40917 (grub_keyboard_controller_orig): New variable.
40918 (grub_console_getkey): Rename to ...
40919 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40920 users.
40921 (grub_keyboard_controller_init): Static-ize. Save original
40922 controller value so that it can be restored ...
40923 (grub_keyboard_controller_fini): ... here (new function).
40924 (grub_at_keyboard_term): New structure.
40925 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40926 functions.
40927
40928 Migrate output terminals to new API:
40929
40930 * term/i386/pc/vga.c (grub_vga_term): Change type to
40931 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40932 members. Update all users.
40933 * term/gfxterm.c (grub_video_term): Change type to
40934 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40935 members. Update all users.
40936 * include/grub/i386/pc/console.h (grub_console_checkkey)
40937 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40938 etc).
40939
40940 Migrate `terminal' command and userland tools to new API:
40941
40942 * commands/terminal.c (grub_cmd_terminal): Split into ...
40943 (grub_cmd_terminal_input): ... this, and ...
40944 (grub_cmd_terminal_output): ... this.
40945 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40946 `terminal_input' and `terminal_output'.
40947 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40948 `terminal_input' / `terminal_output' API.
40949 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40950 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40951 provided ${GRUB_TERMINAL}, convert it).
40952
96e5d876 409532008-11-04 Robert Millan <rmh@aybabtu.com>
40954
40955 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40956 for FreeBSD.
40957 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40958
556f3775 409592008-11-03 Bean <bean123ch@gmail.com>
40960
40961 * kern/elf.c (grub_elf32_load): Revert to previous code.
40962 (grub_elf64_load): Likewise.
40963
40964 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40965
926b9823 409662008-11-01 Robert Millan <rmh@aybabtu.com>
40967
40968 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40969 (TARGET_CPPFLAGS): Likewise.
40970 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40971
1432e958 409722008-11-01 Carles Pina i Estany <carles@pina.cat>
40973
40974 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40975
dba3f844 409762008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40977
40978 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40979 addition of objects until the code is not going to be able to fail.
40980
dba3f844 409812008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40982
40983 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40984 (add a missing NULL check, and correct them by moving the pointer
40985 operations after the actual check).
40986
7ab28c21 409872008-10-29 Robert Millan <rmh@aybabtu.com>
40988
40989 * util/i386/pc/grub-install.in: Handle empty string as output from
40990 make_system_path_relative_to_its_root().
40991
1b7748eb 409922008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40993
40994 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40995 circular metadata worst case scenario. If the metadata is circular
40996 then copy the wrap in place.
40997 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40998 project lib/format_text/layout.h
40999 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41000
c9618ab2 410012008-10-03 Felix Zielcke <fzielcke@z-51.de>
41002
7a36edca 41003 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 41004
bf981c62 410052008-10-03 Felix Zielcke <fzielcke@z-51.de>
41006
41007 * util/update-grub_lib.in: Mention filename in warning message.
41008
6d994591 410092008-09-29 Felix Zielcke <fzielcke@z-51.de>
41010
41011 * NEWS: Update for rename of update-grub to grub-mkconfig.
41012
18ade780 410132008-09-29 Felix Zielcke <fzielcke@z-51.de>
41014
41015 * util/update-grub_lib.in: Copy to ...
41016 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 41017 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 41018 * util/update-grub.in: Rename to ...
41019 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41020 option. Add `--output' option to allow users to specify the generated
41021 configuration file. Default to stdout.
41022 (update_grub_dir): Rename to ...
41023 (grub_mkconfig_dir): ... this.
41024 (grub_cfg): Default to an empty string.
41025 * conf/common.rmk (update-grub): Rename to ...
41026 (grub-mkconfig): ... this.
41027 (update-grub_lib): Copy to ...
41028 (grub-mkconfig_lib): ... this.
41029 (update-grub_SCRIPTS): Copy to ...
41030 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41031 (update-grub_DATA): Rename to ...
41032 (grub-mkconfig_DATA): ... this.
41033
556ce6ac 410342008-09-28 Robert Millan <rmh@aybabtu.com>
41035
41036 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41037 to `modified'. Add the real `created' field.
41038 (grub_iso9660_uuid): Use `modified' rather than `created' for
41039 constructing the UUID.
41040
410412008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 41042
41043 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41044 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41045
92274e85 410462008-09-28 Bean <bean123ch@gmail.com>
41047
41048 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41049 Thanks to Christian Franke for finding this bug.
41050
add6f17a 410512008-09-25 Robert Millan <rmh@aybabtu.com>
41052
41053 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41054 instances of grub_util_get_disk_name() (see previous commit).
41055
d2a367b8 410562008-09-25 Robert Millan <rmh@aybabtu.com>
41057
41058 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41059 `util/i386/get_disk_name.c'.
41060 * conf/i386-efi.rmk: Likewise.
41061 * conf/x86_64-efi.rmk: Likewise.
41062 * conf/i386-coreboot.rmk: Likewise.
41063 * conf/i386-ieee1275.rmk: Likewise.
41064 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41065 `util/ieee1275/get_disk_name.c'.
41066 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41067 * util/ieee1275/get_disk_name.c: Remove file.
41068 * util/i386/get_disk_name.c: Remove file.
41069 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41070 "hd%d" for device.map entries, rather than using
41071 grub_util_get_disk_name().
41072
81a06771 410732008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 41074
41075 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41076 warning.
41077 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
41078
5a004279 410792008-09-24 Carles Pina i Estany <carles@pina.cat>
41080
41081 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
41082 Changed to 0x5100.
41083 (GRUB_TERM_PPAGE): Changed to 0x4900.
41084
397093d3 410852008-09-24 Robert Millan <rmh@aybabtu.com>
41086
41087 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
41088 macros (they were i386-pc specific).
41089 * include/grub/sparc64/ieee1275/console.h: Likewise.
41090 * include/grub/efi/console.h: Likewise.
41091
a91b6c7c 410922008-09-22 Bean <bean123ch@gmail.com>
41093
41094 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41095 resident and in attribute list.
41096
41097 * include/grub/ntfs.h (BMP_LEN): Removed.
41098
c40fd116 410992008-09-22 Bean <bean123ch@gmail.com>
41100
81a06771 41101 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 41102 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41103
41104 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41105 error occurs, as grub_disk_open will call grub_disk_close, which will
41106 call p->close (scsi).
41107
81a06771 411082008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 41109
41110 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41111 (AC_PREREQ): Bumped to 2.59.
41112 (AC_TRY_COMPILE): Replace obsolete macro with ...
41113 (AC_COMPILE_IFELSE): ... this.
41114 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
41115 (AC_LINK_IFELSE): ... this.
41116
5dc43410 411172008-09-21 Felix Zielcke <fzielcke@z-51.de>
41118
41119 * autogen.sh: Add a call to `gendistlist.sh'.
41120
9035dce4 411212008-09-19 Christian Franke <franke@computer.org>
41122
41123 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
41124 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
41125 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
41126 Export __enable_execute_stack() to modules.
41127 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
41128 New function.
41129
7fd75377 411302008-09-09 Felix Zielcke <fzielcke@z-51.de>
41131
040030b3 41132 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
41133 Sort the list.
41134
411352008-09-09 Felix Zielcke <fzielcke@z-51.de>
41136
41137 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 41138 #include <grub/util/hostdisk.h>.
41139
89d5ffcf 411402008-09-08 Robert Millan <rmh@aybabtu.com>
41141
41142 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
41143 segments when their filesz is zero (grub_file_read() interprets
81a06771 41144 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 41145 Use `lowest_segment' rather than 0 for calculating the current
41146 segment load address.
41147
40da438f 411482008-09-08 Robert Millan <rmh@aybabtu.com>
41149
41150 * util/hostdisk.c (open_device): Replace a grub_util_info() call
41151 with grub_dprintf("hostdisk", ...), as it was so verbose that it
41152 clobbered useful information.
41153
ddbf5556 411542008-09-08 Robert Millan <rmh@aybabtu.com>
41155
41156 * include/grub/util/biosdisk.h: Move to ...
41157 * include/grub/util/hostdisk.h: ... here. Update all users.
41158 * util/biosdisk.c: Move to ...
41159 * util/hostdisk.c: ... here. Update all users.
41160
783d0f48 411612008-09-07 Robert Millan <rmh@aybabtu.com>
41162
41163 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
41164 variables.
41165 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
41166 and length can be stored directly in the `mbi->mmap_addr' and
41167 `mbi->mmap_length' struct fields.
41168
548e2ea5 411692008-09-07 Robert Millan <rmh@aybabtu.com>
41170
41171 * conf/i386.rmk: New file. Provides declaration for building
41172 `cpuid.mod'.
41173 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
41174 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
41175 variables.
41176 Include `conf/i386.mk'.
41177 * conf/i386-efi.rmk: Likewise.
41178 * conf/x86_64-efi.rmk: Likewise.
41179 * conf/i386-coreboot.rmk: Likewise.
41180 * conf/i386-ieee1275.rmk: Likewise.
41181
0ea85a37 411822008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
41183
41184 Based on patch created by Colin D Bennett <colin@gibibit.com>.
41185 Adds optimization support for BGR based modes.
41186
41187 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
41188 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41189 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41190 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41191 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41192 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41193 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41194 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41195 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41196 (grub_video_i386_vbeblit_index_index): Likewise.
41197 (grub_video_i386_vbeblit_replace_directN): Added.
41198 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41199 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41200 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41201 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41202 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41203 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 41204 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 41205 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41206 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41207 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41208 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41209 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41210 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41211
41212 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41213 (grub_video_i386_vbefill_R8G8B8): Likewise.
41214 (grub_video_i386_vbefill_index): Likewise.
41215 (grub_video_i386_vbefill_direct32): Added.
41216 (grub_video_i386_vbefill_direct24): Likewise.
41217 (grub_video_i386_vbefill_direct16): Likewise.
41218 (grub_video_i386_vbefill_direct8): Likewise.
41219
81a06771 41220 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 41221 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41222 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41223 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41224 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41225 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 41226
0ea85a37 41227 * video/video.c (grub_video_get_blit_format): Updated to use new
41228 blit formats. Added handling for 16 bit color modes.
81a06771 41229
41230 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 41231 fillers.
41232 (common_blitter): Updated to use new blitters.
41233
41234 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41235 Removed.
41236 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41237 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41238 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41239 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41240 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41241 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41242 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41243 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41244 (grub_video_i386_vbeblit_index_index): Likewise.
41245 (grub_video_i386_vbeblit_replace_directN): Added.
41246 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41247 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41248 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41249 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41250 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41251 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41252 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41253 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41254 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41255 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41256 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41257 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41258 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 41259
0ea85a37 41260 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41261 (grub_video_i386_vbefill_R8G8B8): Likewise.
41262 (grub_video_i386_vbefill_index): Likewise.
41263 (grub_video_i386_vbefill_direct32): Added.
41264 (grub_video_i386_vbefill_direct24): Likewise.
41265 (grub_video_i386_vbefill_direct16): Likewise.
41266 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 41267
0ea85a37 41268 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41269 types.
81a06771 41270
0ea85a37 41271 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41272 types.
81a06771 41273
0ea85a37 41274 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41275 blitter types.
81a06771 41276
0ea85a37 41277 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41278 types.
41279
e8a83df6 412802008-09-06 Felix Zielcke <fzielcke@z-51.de>
41281
41282 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41283 RAID level 1.
41284
6bcd8ee5 412852008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41286
6bcd8ee5 41287 * fs/iso9660.c (grub_iso9660_date): New structure.
41288 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41289 (grub_iso9660_uuid): New function.
c375ae58 41290
59261157 412912008-09-05 Bean <bean123ch@gmail.com>
41292
41293 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41294
41295 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41296 insensitive bit for names in Win32 and Win32 & DOS namespace.
41297
41298 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41299
41300 * include/grub/types.h (LONG_MAX): Likewise.
41301
58b6645a 413022008-09-04 Felix Zielcke <fzielcke@z-51.de>
41303
4ee55921 41304 * util/getroot.c: Include <config.h>.
41305 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41306 add support for /dev/md/N devices and handle LVM double dash escaping.
41307
413082008-09-04 Felix Zielcke <fzielcke@z-51.de>
41309
41310 * config.guess: Update to latest version from config git.
41311 * config.sub: Likewise.
58b6645a 41312
9124f65d 413132008-09-03 Robert Millan <rmh@aybabtu.com>
41314
41315 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41316 `disk->total_sectors'.
41317
81a06771 413182008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41319
41320 * include/grub/normal.h: Fixed incorrect comment for
41321 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41322
81a06771 413232008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41324
41325 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41326 values with defines.
41327
41328 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41329 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41330 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41331 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41332 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41333 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41334 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41335 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41336 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41337 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41338 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41339 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41340 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41341 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41342 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41343 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41344 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41345 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41346 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41347
93d5cbf8 413482008-08-31 Robert Millan <rmh@aybabtu.com>
41349
41350 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41351 declaration.
41352 (grub_multiboot): Fix a few warnings.
41353
21751d50 413542008-08-31 Robert Millan <rmh@aybabtu.com>
41355
41356 * loader/i386/pc/multiboot.c: Update comment not to say that
41357 boot_device support is unimplemented.
41358
e27a75c5 413592008-08-31 Robert Millan <rmh@aybabtu.com>
41360
41361 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41362 or memory map support are unimplemented.
41363
81a06771 413642008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41365
41366 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41367
81a06771 413682008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41369
41370 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41371 total video memory in 'vbeinfo' output; show color format details for
41372 each video mode.
41373
7c5d8d95 413742008-08-30 Pavel Roskin <proski@gnu.org>
41375
41376 * util/genmoddep.c: Remove for real this time.
41377 * DISTLIST: Remove util/genmoddep.c.
41378
4cebd25a 413792008-08-30 Robert Millan <rmh@aybabtu.com>
41380
41381 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41382 as required by Multiboot spec (it was already 4-byte aligned, but
41383 only by chance).
41384
b497a269 413852008-08-29 Pavel Roskin <proski@gnu.org>
41386
e3925185 41387 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41388 * kern/powerpc/ieee1275/startup.S: ... this.
41389 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41390 * DISTLIST: Likewise.
41391
b497a269 41392 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41393 grub/cpu/kernel.h. Add start label for consistency with other
41394 platforms. Add grub_prefix immediately after start. Add jump
41395 to the code after grub_prefix.
41396 * include/grub/powerpc/kernel.h: Provide valid values for
41397 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41398
6e5a42fe 413992008-08-29 Bean <bean123ch@gmail.com>
41400
41401 * configure.ac: Change host_os to cygwin for mingw.
41402 (asprintf): New check for function.
41403
41404 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41405 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41406
41407 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41408 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41409 sync, sleep and grub_util_get_disk_size for mingw.
41410
41411 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41412 to get size in mingw.
41413 (open_device): Use flag O_BINARY if it's defined.
41414 (find_root_device): Add dummy code for mingw.
41415
41416 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41417 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41418 (get_scsi_disk_name): Return 0 for mingw.
41419
41420 * util/hostfs.c: #include <grub/util/misc.h>.
41421 (grub_hostfs_open): Use "rb" flag to open file, use
41422 grub_util_get_disk_size to get disk size for mingw.
41423
41424 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41425 (asprintf): New function if HAVE_ASPRINTF is not set.
41426 (sync): New function for mingw.
41427 (sleep): Likewise.
41428 (grub_util_get_disk_size): Likewise.
41429
ab3f2673 414302008-08-28 Pavel Roskin <proski@gnu.org>
41431
41432 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41433 kern/time.c.
41434
1c282483 414352008-08-28 Robert Millan <rmh@aybabtu.com>
41436
41437 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41438
678e849c 414392008-08-28 Robert Millan <rmh@aybabtu.com>
41440
41441 Change find_grub_drive() syntax so it doesn't prevent it from
41442 detecting NULL names as errors.
41443
41444 * util/biosdisk.c (find_grub_drive): Move free slot search code
41445 from here ...
41446 (find_free_slot): ... to here.
41447 (read_device_map): Use find_free_slot() to search for free slots.
41448
965c75ca 414492008-08-27 Marco Gerards <marco@gnu.org>
41450
41451 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41452 (scsi_mod_SOURCES): New variable.
41453 (scsi_mod_CFLAGS): Likewise
41454 (scsi_mod_LDFLAGS): Likewise.
41455
41456 * disk/scsi.c: New file.
41457
41458 * include/grub/scsi.h: Likewise.
41459
41460 * include/grub/scsicmd.h: Likewise.
41461
41462 * disk/ata.c: Include <grub/scsi.h>.
41463 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41464 instead.
41465 (grub_ata_iterate): Skip ATAPI devices.
41466 (grub_ata_open): Only handle ATAPI devices.
41467 (struct grub_atapi_read): Removed.
41468 (grub_atapi_readsector): Likewise.
41469 (grub_ata_read): No longer handle ATAPI devices.
41470 (grub_ata_write): Likewise.
41471 (grub_atapi_iterate): New function.
41472 (grub_atapi_read): Likewise.
41473 (grub_atapi_write): Likewise.
41474 (grub_atapi_open): Likewise.
41475 (grub_atapi_close): Likewise.
41476 (grub_atapi_dev): New variable.
41477 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41478 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41479
41480 * include/grub/disk.h (enum grub_disk_dev_id): Add
41481 `GRUB_DISK_DEVICE_SCSI_ID'.
41482
c07ae501 414832008-08-26 Robert Millan <rmh@aybabtu.com>
41484
41485 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41486 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41487 descriptive.
41488
5ed20adc 414892008-08-23 Bean <bean123ch@gmail.com>
41490
41491 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41492 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41493 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41494 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41495 dm_nv.mod.
41496 (raid5rec_mod_SOURCES): New macro.
41497 (raid5rec_mod_CFLAGS): Likewise.
41498 (raid5rec_mod_LDFLAGS): Likewise.
41499 (raid6rec_mod_SOURCES): Likewise.
41500 (raid6rec_mod_CFLAGS): Likewise.
41501 (raid6rec_mod_LDFLAGS): Likewise.
41502 (mdraid_mod_SOURCES): Likewise.
41503 (mdraid_mod_CFLAGS): Likewise.
41504 (mdraid_mod_LDFLAGS): Likewise.
41505 (dm_nv_mod_SOURCES): Likewise.
41506 (dm_nv_mod_CFLAGS): Likewise.
41507 (dm_nv_mod_LDFLAGS): Likewise.
41508
41509 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41510 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41511 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41512
41513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41514 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41515
41516 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41517
41518 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41519
41520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41521
41522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41523
41524 * disk/raid5_recover.c: New file.
41525
41526 * disk/raid6_recover.c: Likewise.
41527
41528 * disk/mdraid_linux.c: Likewise.
41529
41530 * disk/dmraid_nvidia.c: Likewise.
41531
41532 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41533 ULONG_MAX.
41534
41535 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41536 calculate the size of raid device.
41537 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41538 different layout of raid5.
41539 (grub_raid_scan_device): Remove code specific to mdraid.
41540 (grub_raid_list): New variable.
41541 (free_array): New function.
41542 (grub_raid_register): Likewise.
41543 (grub_raid_unregister): Likewise.
41544 (grub_raid_rescan): Likewise.
41545 (GRUB_MOD_INIT): Don't iterate device here.
41546 (GRUB_MOD_FINI): Use free_array to release resource.
41547
41548 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41549 (grub_raid5_recover_func_t): New function variable type.
41550 (grub_raid6_recover_func_t): Likewise.
41551 (grub_raid5_recover_func): New variable.
41552 (grub_raid6_recover_func): Likewise.
41553 (grub_raid_register): New function.
41554 (grub_raid_unregister): Likewise.
41555 (grub_raid_rescan): Likewise.
41556 (grub_raid_block_xor): Likewise.
41557
41558 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41559 (CMD_CRC): New macro.
41560 (part): Removed.
41561 (read_file): Handle device as well as file.
41562 (cmd_crc): New function.
41563 (fstest): Handle multiple disks.
41564 (options): Remove part, raw and long, add root and diskcount.
41565 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41566 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41567 add handling for the new options, support multiple disks.
41568
41569 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41570
29c18915 415712008-08-23 Bean <bean123ch@gmail.com>
41572
41573 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41574
41575 * genfslist.sh: Ignore kernel.mod.
41576
41577 * genpartmaplist.sh: Likewise.
41578
8415f261 415792008-08-23 Robert Millan <rmh@aybabtu.com>
41580
41581 * util/getroot.c (find_root_device): Skip anything that starts with
41582 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41583
d5a7dc5b 415842008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41585
d5a7dc5b 41586 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41587 * util/grub.d/00_header.in: Allow the administrator to change default
41588 gfxmode via ${GRUB_GFXMODE}.
41589
380cfbb4 415902008-08-21 Felix Zielcke <fzielcke@z-51.de>
41591
41592 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41593
c9baafe7 415942008-08-21 Robert Millan <rmh@aybabtu.com>
41595
41596 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41597 loader.
41598 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41599 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41600
e290bef2 416012008-08-20 Carles Pina i Estany <carles@pina.cat>
41602
41603 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41604 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41605
f9dbfc96 416062008-08-19 Robert Millan <rmh@aybabtu.com>
41607
41608 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41609 (struct grub_virtual_screen): Remove `cursor_color'.
41610 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41611 initialization.
41612 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41613
dd6bd6ab 416142008-08-18 Robert Millan <rmh@aybabtu.com>
41615
41616 Unify (identical) linux_normal.c files.
41617 * loader/i386/efi/linux_normal.c: Move from here ...
41618 * loader/linux_normal.c: ... to here. Update all users.
41619 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41620 * loader/i386/ieee1275/linux_normal.c: Likewise.
41621
7f42f83e 416222008-08-18 Robert Millan <rmh@aybabtu.com>
41623
41624 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41625 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41626 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41627 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41628 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41629 New macros.
41630 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41631 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41632 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41633 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41634 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41635 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41636 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41637 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41638 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41639 portably using grub_getxy().
41640 Replace `-EFI' with `-bzImage' in boot message.
41641
38487ddb 416422008-08-17 Robert Millan <rmh@aybabtu.com>
41643
41644 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41645
deceb3ec 416462008-08-17 Robert Millan <rmh@aybabtu.com>
41647
41648 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41649
41650 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41651 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41652 (grub_machine_mmap_iterate): New function declaration.
41653 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41654 structure.
41655 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41656 macros.
41657
41658 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41659 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41660 Move e820 parsing from here ...
41661 * kern/i386/pc/mmap.c: New file.
41662 (grub_machine_mmap_iterate): ... to here.
41663
41664 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41665 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41666 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41667 (grub_available_iterate): Redeclare to return `void', and redeclare
41668 its hook to use grub_uint64_t as addr and size parameters, and rename
41669 to ...
41670 (grub_machine_mmap_iterate): ... this. Update all users.
41671
41672 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41673 to make it more readable. Rename to ...
41674 (grub_machine_mmap_iterate): ... this.
41675
41676 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41677 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41678 (grub_multiboot): Allocate an extra region after the payload, and fill
41679 it with a Multiboot memory map. Adjust a.out loader to calculate size
41680 with the extra space.
41681 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41682 with the extra space.
41683
f8aa0f43 416842008-08-17 Carles Pina i Estany <carles@pina.cat>
41685
9807deb9 41686 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41687
605f5bb6 416882008-08-17 Felix Zielcke <fzielcke@z-51.de>
41689
41690 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41691 mdate-sh to the list `find' searches for.
41692 * DISTLIST: Regenerated.
41693
210db6c6 416942008-08-16 Felix Zielcke <fzielcke@z-51.de>
41695
41696 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41697 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41698 genmoddep.awk, gensymlist.sh.in.
41699 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41700 * DISTLIST: Regenerated.
48cdbfd4 41701 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41702
1082b929 417032008-08-16 Robert Millan <rmh@aybabtu.com>
41704
41705 * disk/raid.c (grub_raid_init): Handle/report errors set by
41706 grub_device_iterate().
41707 * disk/lvm.c (grub_lvm_init): Likewise.
41708
42ce5170 417092008-08-15 Bean <bean123ch@gmail.com>
41710
41711 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41712 and datehook.mod.
41713 (datetime_mod_SOURCES): New macro.
41714 (datetime_mod_CFLAGS): Likewise.
41715 (datetime_mod_LDFLAGS): Likewise.
41716 (date_mod_SOURCES): Likewise.
41717 (date_mod_CFLAGS): Likewise.
41718 (date_mod_LDFLAGS): Likewise.
41719 (datehook_mod_SOURCES): Likewise.
41720 (datehook_mod_CFLAGS): Likewise.
41721 (datehook_mod_LDFLAGS): Likewise.
41722
41723 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41724 and datehook.mod.
41725 (datetime_mod_SOURCES): New macro.
41726 (datetime_mod_CFLAGS): Likewise.
41727 (datetime_mod_LDFLAGS): Likewise.
41728 (date_mod_SOURCES): Likewise.
41729 (date_mod_CFLAGS): Likewise.
41730 (date_mod_LDFLAGS): Likewise.
41731 (datehook_mod_SOURCES): Likewise.
41732 (datehook_mod_CFLAGS): Likewise.
41733 (datehook_mod_LDFLAGS): Likewise.
41734
41735 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41736 and datehook.mod.
41737 (datetime_mod_SOURCES): New macro.
41738 (datetime_mod_CFLAGS): Likewise.
41739 (datetime_mod_LDFLAGS): Likewise.
41740 (date_mod_SOURCES): Likewise.
41741 (date_mod_CFLAGS): Likewise.
41742 (date_mod_LDFLAGS): Likewise.
41743 (datehook_mod_SOURCES): Likewise.
41744 (datehook_mod_CFLAGS): Likewise.
41745 (datehook_mod_LDFLAGS): Likewise.
41746
41747 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41748 and datehook.mod.
41749 (datetime_mod_SOURCES): New macro.
41750 (datetime_mod_CFLAGS): Likewise.
41751 (datetime_mod_LDFLAGS): Likewise.
41752 (date_mod_SOURCES): Likewise.
41753 (date_mod_CFLAGS): Likewise.
41754 (date_mod_LDFLAGS): Likewise.
41755 (datehook_mod_SOURCES): Likewise.
41756 (datehook_mod_CFLAGS): Likewise.
41757 (datehook_mod_LDFLAGS): Likewise.
41758
41759 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41760 and datehook.mod.
41761 (datetime_mod_SOURCES): New macro.
41762 (datetime_mod_CFLAGS): Likewise.
41763 (datetime_mod_LDFLAGS): Likewise.
41764 (date_mod_SOURCES): Likewise.
41765 (date_mod_CFLAGS): Likewise.
41766 (date_mod_LDFLAGS): Likewise.
41767 (datehook_mod_SOURCES): Likewise.
41768 (datehook_mod_CFLAGS): Likewise.
41769 (datehook_mod_LDFLAGS): Likewise.
41770
41771 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
41772
41773 * commands/date.c: New file.
41774
41775 * hook/datehook.c: Likewise.
41776
41777 * include/grub/lib/datetime.h: Likewise.
41778
41779 * include/grub/i386/cmos.h: Likewise.
41780
41781 * lib/datetime.c: Likewise.
41782
41783 * lib/i386/datetime.c: Likewise.
41784
41785 * lib/efi/datetime.c: Likewise.
41786
0e9242da 417872008-08-14 Robert Millan <rmh@aybabtu.com>
41788
41789 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
41790 (grub_mkelfimage_SOURCES): New variable.
41791 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
41792
41793 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
41794 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
41795 * conf/powerpc-ieee1275.rmk: Likewise.
41796 * conf/i386-ieee1275.rmk: Likewise.
41797
41798 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
41799 * kern/i386/coreboot/init.c: Likewise.
41800
41801 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
41802 with `<grub/cpu/kernel.h>'.
41803 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
41804 to ...
41805 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
41806 * kern/i386/coreboot/startup.S: Likewise.
41807
41808 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
41809 (GRUB_MOD_GAP): Remove.
41810 * include/grub/powerpc/kernel.h: New file.
41811 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
41812 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41813 * include/grub/i386/kernel.h: New file.
41814 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
41815 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
41816 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
41817
41818 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
41819 `grub-mkelfimage'.
41820 Use --directory when invoking grub_mkimage.
41821
41822 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
41823 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
41824 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
41825 and GRUB_KERNEL_CPU_PREFIX.
41826
b86408f8 418272008-08-14 Felix Zielcke <fzielcke@z-51.de>
41828
d5e619ca 41829 * include/grub/err.h (grub_err_printf): New function prototype.
41830 * util/misc.c (grub_err_printf): New function.
41831 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
41832 grub_printf.
41833 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41834
7161f0e0 418352008-08-13 Robert Millan <rmh@aybabtu.com>
41836
41837 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41838
a1967522 418392008-08-13 Robert Millan <rmh@aybabtu.com>
41840
41841 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41842 boot entry.
41843
371458b5 418442008-08-12 Robert Millan <rmh@aybabtu.com>
41845
41846 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41847 of the relocation code from here ...
41848 (grub_multiboot): ... to here.
41849 (forward_relocator, backward_relocator): Move from here ...
41850 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41851 (grub_multiboot_backward_relocator): ... to here.
41852 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41853 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41854 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41855 (grub_multiboot_forward_relocator_end)
41856 (grub_multiboot_backward_relocator)
41857 (grub_multiboot_backward_relocator_end): New variables.
41858
05f9452b 418592008-08-12 Bean <bean123ch@gmail.com>
41860
41861 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41862
20024ab0 418632008-08-11 Robert Millan <rmh@aybabtu.com>
41864
41865 * kern/i386/linuxbios/startup.S: Move from here ...
41866 * kern/i386/coreboot/startup.S: ... to here.
41867
41868 * kern/i386/linuxbios/init.c: Move from here ...
41869 * kern/i386/coreboot/init.c: ... to here.
41870
41871 * kern/i386/linuxbios/table.c: Move from here ...
41872 * kern/i386/coreboot/mmap.c: ... to here.
41873
41874 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41875
e352e9cd 418762008-08-11 Robert Millan <rmh@aybabtu.com>
41877
41878 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41879 errors. Leave it to the upper layer to handle them.
41880
2d05bc6a 418812008-08-09 Christian Franke <franke@computer.org>
41882
41883 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41884 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41885 Install `grub.d/10_windows' only on Cygwin.
41886 * configure.ac: Add subst of `target_os'.
41887 Check `target_os' also before setting TARGET_OBJ2ELF.
41888 Add `--enable-grub-pe2elf'.
41889
042bd419 418902008-08-08 Robert Millan <rmh@aybabtu.com>
41891
41892 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41893 (grub_last_time): Change type to grub_uint64_t.
41894 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41895 (grub_disk_close): Likewise.
41896
41897 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41898 (run_menu): Migrate code from to using grub_get_time_ms().
41899
41900 * util/misc.c (grub_get_time_ms): New function.
41901
7f280db5 419022008-08-08 Marco Gerards <marco@gnu.org>
41903
41904 * disk/ata.c (grub_ata_regget): Change return type to
41905 `grub_uint8_t'.
41906 (grub_ata_regget2): Likewise.
41907 (grub_ata_wait_status): New function.
41908 (grub_ata_wait_busy): Removed function, updated all users to use
41909 `grub_ata_wait_status'.
41910 (grub_ata_wait_drq): Likewise.
41911 (grub_ata_cmd): New function.
41912 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41913 error handling.
41914 (grub_ata_pio_write): Add error handling.
41915 (grub_atapi_identify): Likewise.
41916 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41917 handling.
41918 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41919 handling. Actually use the detected registers. Reorder the
41920 detection logic such that it is easier to read.
41921 (grub_ata_pciinit): Do not assign the same ID to each controller.
41922 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41923 handling.
41924 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41925
41926 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41927
1fbc5e66 419282008-08-08 Marco Gerards <marco@gnu.org>
41929
41930 * NEWS: Update.
41931
819ce6c0 419322008-08-07 Bean <bean123ch@gmail.com>
41933
41934 * include/grub/x86_64/pci.h: New file.
41935
5c41d44d 419362008-08-07 Christian Franke <franke@computer.org>
41937
41938 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41939 (TIMER2_GATE): Likewise.
41940 (grub_pit_wait): Add enable/disable of the timer2 gate
41941 bit of port 0x61. This fixes a possible infinite loop.
41942
5ebc275d 419432008-08-07 Bean <bean123ch@gmail.com>
41944
41945 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41946 kern/i386/tsc.c and kern/i386/pit.c.
41947
41948 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41949 x86_64 platform.
41950
41951 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41952 <grub/i386/tsc.h>.
41953
41954 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41955
e383b3d0 419562008-08-07 Bean <bean123ch@gmail.com>
41957
41958 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41959
41960 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41961
41962 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41963 multiple inclusion. Add #include <grub/types.h>.
41964
1cbb58ac 419652008-08-06 Christian Franke <franke@computer.org>
41966
41967 * conf/common.rmk: Build and install `10_windows'.
41968 * util/grub.d/10_windows.in: New script.
41969
337f5a1e 419702008-08-06 Pavel Roskin <proski@gnu.org>
41971
41972 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41973
057bc4ac 419742008-08-06 Robert Millan <rmh@aybabtu.com>
41975
41976 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41977 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41978
2b99f123 419792008-08-06 Bean <bean123ch@gmail.com>
41980
41981 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41982 (grub_pxefs_fs_int): Remove dummy definition.
41983 (grub_pxefs_open): Use data->block_size to store the current block
41984 size setting.
41985 (grub_pxefs_read): Use block size stored in data->block_size. As the
41986 value of grub_pxe_blksize can be changed after the file is opened.
41987
9f0234cb 419882008-08-06 Bean <bean123ch@gmail.com>
41989
41990 * fs/i386/pc/pxe.c (curr_file): new variable.
41991 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41992 require the dummy internal file system anymore.
41993 (grub_pxefs_read): Removed.
41994 (grub_pxefs_close): Likewise.
41995 (grub_pxefs_fs_int): Likewise.
41996 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41997 connection when we switch file.
41998 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41999
a55d42e0 420002008-08-06 Robert Millan <rmh@aybabtu.com>
42001
42002 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42003 `halt.mod'.
42004 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42005 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42006
42007 * kern/i386/halt.c: New file.
42008 * kern/i386/reboot.c: Likewise.
42009 * include/grub/i386/reboot.h: Likewise.
42010 * include/grub/i386/halt.h: Likewise.
42011
42012 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42013 Include `<grub/cpu/halt.h>'.
42014 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42015 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42016
42017 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42018 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42019 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42020 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42021 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42022 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42023 from here ...
42024 * include/grub/i386/at_keyboard.h: ... to here.
42025
24371d26 420262008-08-05 Robert Millan <rmh@aybabtu.com>
42027
42028 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42029 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42030 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42031 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42032 `kern/generic/millisleep.c'.
42033
42034 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42035 instead of grub_get_rtc().
42036 (grub_tsc_init): Initialize `tsc_boot_time'.
42037
42038 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42039 (grub_machine_init): Use grub_tsc_init() rather than
42040 installing an RTC-based handler via grub_install_get_time_ms().
42041
42042 * kern/i386/pit.c: New file.
42043 * include/grub/i386/pit.h: Likewise.
42044
9e7007b3 420452008-08-05 Bean <bean123ch@gmail.com>
42046
42047 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42048
42049 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42050 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42051 (pxe_mod_SOURCES): New macro.
42052 (pxe_mod_CFLAGS): Likewise.
42053 (pxe_mod_LDFLAGS): Likewise.
42054 (pxecmd_mod_SOURCES): Likewise.
42055 (pxecmd_mod_CFLAGS): Likewise.
42056 (pxecmd_mod_LDFLAGS): Likewise.
42057
42058 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42059 (grub_pxe_call): Likewise.
42060
42061 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42062
42063 * commands/i386/pc/pxecmd.c: New file.
42064
9f0234cb 42065 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 42066
42067 * include/grub/i386/pc/pxe.h: Likewise.
42068
6977d49f 420692008-08-05 Bean <bean123ch@gmail.com>
42070
42071 * util/console.c (grub_console_cur_color): New variable.
42072 (grub_console_standard_color): Likewise.
42073 (grub_console_normal_color): Likewise.
42074 (grub_console_highlight_color): Likewise.
42075 (color_map): Likewise.
42076 (use_color): Likewise.
42077 (NUM_COLORS): New macro.
42078 (grub_ncurses_setcolorstate): Handle color properly.
42079 (grub_ncurses_setcolor): Don't change color here, just remember the
42080 settings, color will be set in grub_ncurses_setcolorstate.
42081 (grub_ncurses_getcolor): New function.
42082 (grub_ncurses_init): Initialize color pairs.
42083 (grub_ncurses_term): New member grub_ncurses_getcolor.
42084
9c2ff3ee 420852008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 42086
9c2ff3ee 42087 High resolution timer support. Implemented for x86 CPUs using TSC.
42088 Extracted generic grub_millisleep() so it's linked in only as needed.
42089 This requires a Pentium compatible CPU; if the RDTSC instruction is
42090 not supported, then it falls back on the generic grub_get_time_ms()
42091 implementation that uses the machine's RTC.
42092
42093 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42094 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42095 `kern/generic/millisleep.c'.
42096
42097 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42098 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42099
42100 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42101 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42102
42103 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42104
42105 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42106 `kern/generic/millisleep.c'.
42107
42108 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42109
42110 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42111
42112 * kern/generic/rtc_get_time_ms.c: New file.
42113
42114 * kern/generic/millisleep.c: New file.
337f5a1e 42115
9c2ff3ee 42116 * kern/misc.c: Don't include
42117 <kern/time.h> anymore.
42118 (grub_millisleep_generic): Removed.
42119
42120 * commands/sleep.c (grub_interruptible_millisleep): Uses
42121 grub_get_time_ms() instead of grub_get_rtc().
42122
42123 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
42124 function.
42125 (grub_cpu_is_cpuid_supported): New inline function.
42126 (grub_cpu_is_tsc_supported): New inline function.
42127 (grub_tsc_init): New function prototype.
42128 (grub_tsc_get_time_ms): New function prototype.
42129
42130 * kern/i386/tsc.c (grub_get_time_ms): New file.
42131
42132 * include/grub/time.h: Include <grub/types.h.
42133 (grub_millisleep_generic): Removed.
42134 (grub_get_time_ms): New prototype.
42135 (grub_install_get_time_ms): New prototype.
42136 (grub_rtc_get_time_ms): New prototype.
42137
42138 * kern/time.c (grub_get_time_ms): New function.
42139 (grub_install_get_time_ms): New function.
42140
42141 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
42142 <grub/time.h> anymore.
42143 (grub_millisleep): Removed.
42144 (grub_machine_init): Call grub_tsc_init.
42145
42146 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
42147 get_time_ms() implementation.
42148
42149 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
42150 (ieee1275_get_time_ms): New function.
42151 (grub_machine_init): Install get_time_ms() implementation.
42152
42153 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
42154 (grub_machine_init): Call grub_tsc_init().
42155 (grub_millisleep): Removed.
bf06a93f 42156
9c2ff3ee 42157 * kern/ieee1275/init.c (grub_millisleep): Removed.
42158 (grub_machine_init): Install ieee1275_get_time_ms()
42159 implementation.
42160 (ieee1275_get_time_ms): New function.
42161 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
42162 real work.
42163
9ec92aaf 421642008-08-05 Marco Gerards <marco@gnu.org>
42165
42166 * disk/ata.c: Include <grub/pci.h>.
42167 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
42168 (grub_ata_initialize): Rewritten.
42169 (grub_ata_device_initialize): New function.
42170
8d23f507 421712008-08-04 Pavel Roskin <proski@gnu.org>
42172
42173 * kern/main.c: Include grub/mm.h.
42174
5e15ee3d 421752008-08-04 Robert Millan <rmh@aybabtu.com>
42176
42177 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
42178 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
42179 corruption problem).
42180
a9053f8f 421812008-08-04 Robert Millan <rmh@aybabtu.com>
42182
42183 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
42184 warnings introduced in my last commit.
42185
dd19c7d7 421862008-08-03 Robert Millan <rmh@aybabtu.com>
42187
42188 Make PCI available on all i386 architectures.
42189
42190 * include/grub/i386/pc/pci.h: Move from here ...
42191 * include/grub/i386/pci.h: ... to here.
42192
42193 * include/grub/i386/pc/pci.h: Remove.
42194 * include/grub/i386/efi/pci.h: Remove.
42195 * include/grub/x86_64/efi/pci.h: Remove.
42196
42197 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
42198 `<grub/cpu/pci.h>'.
42199
42200 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42201 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42202 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42203
42204 * conf/i386-ieee1275.rmk: Likewise.
42205
e14a6184 422062008-08-03 Robert Millan <rmh@aybabtu.com>
42207
42208 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42209 (grub_console_setcursor): Make it possible to set cursor off.
42210
52768e37 422112008-08-03 Robert Millan <rmh@aybabtu.com>
42212
42213 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42214 of modules instead of assuming which platform provides what.
42215 * util/update-grub.in: Likewise.
42216
2d52f57f 422172008-08-03 Robert Millan <rmh@aybabtu.com>
42218
42219 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42220 instead of `grub_install_dos_part' to determine whether a drive needs
42221 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 42222 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 42223
2a5cd121 422242008-08-02 Robert Millan <rmh@aybabtu.com>
42225
42226 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42227
93808428 422282008-08-02 Robert Millan <rmh@aybabtu.com>
42229
42230 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42231 of informational grub_dprintf() calls.
42232
3bd0a12a 422332008-08-02 Robert Millan <rmh@aybabtu.com>
42234
42235 * disk/memdisk.c (memdisk_size): Don't initialize.
42236 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42237
42238 * include/grub/i386/pc/kernel.h
42239 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42240 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42241 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42242 (grub_arch_memdisk_size): Remove.
42243
42244 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42245 field (was only used to transfer a constant). Add `type' field to
42246 support multiple module types.
42247 (grub_module_iterate): New function.
42248
42249 * kern/device.c (grub_device_open): Do not hide error messages
42250 when grub_disk_open() fails. Use grub_print_error() instead.
42251
42252 * kern/i386/pc/init.c (grub_arch_modules_addr)
42253 (grub_arch_memdisk_size): Remove functions.
42254 (grub_arch_modules_addr): Return the module address in high memory
42255 (now that it isn't copied anymore).
42256
42257 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42258 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42259 decompression routine (grub_total_module_size already includes that
42260 now). Don't copy modules back to low memory.
42261
42262 * kern/main.c: Include `<grub/mm.h>'.
42263 (grub_load_modules): Split out (and use) ...
42264 (grub_module_iterate): ... this function, which iterates through
42265 module objects and runs a hook.
42266 Comment out grub_mm_init_region() call, as it would cause non-ELF
42267 modules to be overwritten.
42268
42269 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42270 the memdisk image in its own region, make it part of the module list.
42271 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42272 (main): Parse --memdisk|-m option, and pass user-provided path as
42273 parameter to generate_image().
42274 (add_segments): Pass `memdisk_path' down to load_modules().
42275 (load_modules): Embed memdisk image in module section when requested.
42276 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42277 `header.type' instead of `header.offset'.
42278
42279 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42280 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42281 (memdisk_mod_LDFLAGS): New variables.
42282 * conf/i386-coreboot.rmk: Likewise.
42283 * conf/i386-ieee1275.rmk: Likewise.
42284
a927cc73 422852008-08-02 Robert Millan <rmh@aybabtu.com>
42286
42287 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42288 (backward_relocator): New variables. Used to allocate and relocate
42289 the payload, respectively.
42290 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42291 address, install the appropriate relocator code in each bound of
a927cc73 42292 the payload, and set the entry point such that
42293 grub_multiboot_real_boot() will jump to one of them.
42294
42295 * kern/i386/loader.S (grub_multiboot_payload_size)
42296 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42297 (grub_multiboot_payload_entry_offset): New variables.
42298 (grub_multiboot_real_boot): Set cpu context to what the relocator
42299 expects, and jump to the relocator instead of the payload.
42300
42301 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42302 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42303 (grub_multiboot_payload_entry_offset): Export.
42304
b15d8a0c 423052008-08-01 Bean <bean123ch@gmail.com>
42306
42307 * normal/menu_entry.c (editor_getline): Don't return the original
42308 string as result, as it will be released by lexer once it has done
42309 using it.
42310
cdfb3d22 423112008-08-01 Robert Millan <rmh@aybabtu.com>
42312
42313 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42314 within menuentries, not before them.
42315 util/grub.d/10_hurd.in: Likewise.
42316
9175e93d 423172008-08-01 Bean <bean123ch@gmail.com>
42318
42319 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42320 (bufio_mod_SOURCES): New macro.
42321 (bufio_mod_CFLAGS): Likewise.
42322 (bufio_mod_LDFLAGS): Likewise.
42323
42324 * include/grub/bufio.h: New file.
42325
42326 * io/bufio.c: Likewise.
42327
42328 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42329 (grub_video_reader_png): Use grub_buffile_open to open file.
42330
42331 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42332 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42333
42334 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42335 (grub_video_reader_tga): Use grub_buffile_open to open file.
42336
42337 * font/manager.c: Include <grub/bufio.h>.
42338 (add_font): Use grub_buffile_open to open file.
42339
3d8383e7 423402008-07-31 Robert Millan <rmh@aybabtu.com>
42341
42342 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42343 ELF segments, use a macro for arbitrarily accessing any of them instead
42344 of preparing a pointer that allows access to one at a time.
42345 (grub_multiboot_load_elf64): Likewise.
42346
16e641b6 423472008-07-31 Bean <bean123ch@gmail.com>
42348
42349 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42350 GRUB_KERNEL_MACHINE_DATA_END.
42351
59198b72 423522008-07-30 Robert Millan <rmh@aybabtu.com>
42353
42354 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42355 Increase from 0x50 to 0x60.
42356 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42357 use UUIDs to identify the root drive for them. If that's not
42358 possible, abort.
42359 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42360 check, for cross-disk installs.
42361
ae88bca3 423622008-07-30 Robert Millan <rmh@aybabtu.com>
42363
42364 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42365 is non-empty, use it to set the `prefix' environment variable instead
42366 of the usual approach.
42367 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42368 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42369 environment variable instead of dummy make_install_device().
42370
42371 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42372 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42373 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42374
42375 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42376 New variable reference.
42377 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42378 New macro. Defines offset of `grub_prefix' within startup.S (relative
42379 to `start').
42380 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42381 section within startup.S (relative to `start').
42382 * include/grub/i386/coreboot/kernel.h: Likewise.
42383
42384 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42385 Overwrite grub_prefix with its contents, at the beginning of the
42386 first segment.
42387 (main): Understand -p|--prefix.
42388
14f41dd1 423892008-07-30 Robert Millan <rmh@aybabtu.com>
42390
42391 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42392
4ca049a3 423932008-07-30 Robert Millan <rmh@aybabtu.com>
42394
42395 * term/i386/pc/vga_text.c (grub_console_cls): Use
42396 grub_console_gotoxy() to go back to beginning of the screen.
42397 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42398
2921d337 423992008-07-29 Christian Franke <franke@computer.org>
42400
42401 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42402 Add conversion of emulated mount points on Cygwin.
42403
b609876d 424042008-07-29 Christian Franke <franke@computer.org>
42405
42406 * util/update-grub.in: Add a check for admin
42407 group on Cygwin.
42408 Remove old `grub.cfg.new' before creation.
42409 Add `-f' to `mv' to handle the different filesystem
42410 semantics of Windows.
42411
e93e4679 424122008-07-29 Bean <bean123ch@gmail.com>
42413
42414 * normal/main.c (get_line): Fix buffer overflow bug.
42415
41694fd0 424162008-07-28 Robert Millan <rmh@aybabtu.com>
42417
42418 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42419 (struct grub_apple_header): New struct. Describes the layout of
42420 the partmap header.
42421 (apple_partition_map_iterate): Check the header magic as well as the
42422 partition magic (which was already being checked).
42423
cfd0b4e6 424242008-07-28 Pavel Roskin <proski@gnu.org>
42425
42426 * genmk.rb: Add a warning to the beginning of the output that
42427 it's a generated file and should not be edited.
42428
93cce016 424292008-07-28 Robert Millan <rmh@aybabtu.com>
42430
42431 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42432 with the same number are found, just use issue a warning with
42433 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42434
cd1df915 424352008-07-27 Robert Millan <rmh@aybabtu.com>
42436
42437 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42438 information.
42439
b70a8427 424402008-07-27 Bean <bean123ch@gmail.com>
42441
42442 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42443 (grub_fat_find_dir): Ignore case when comparing filename.
42444
8f5e379f 424452008-07-27 Bean <bean123ch@gmail.com>
42446
42447 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42448 smallino, as it's more descriptive, and i8count can be confused with
42449 the other field count.
42450 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42451 inode type.
42452
a85cd5a0 424532008-07-27 Bean <bean123ch@gmail.com>
42454
42455 * commands/crc.c: New file.
42456
42457 * lib/crc.c: Likewise.
42458
42459 * include/grub/lib/crc.h: Likewise.
42460
42461 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42462
42463 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42464 (hexdump): Move this function to ...
42465
42466 * lib/hexdump.c: ... here.
42467
42468 * include/grub/hexdump.h: Renamed to ...
42469
42470 * include/grub/lib/hexdump.h: ... this.
42471
42472 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42473
42474 * util/grub-editenv.c: Likewise.
42475
42476 * include/envblk.h: Renamed to ...
42477
42478 * include/lib/envblk.h: ... this.
42479
42480 * util/envblk.c: Renamed to ...
42481
42482 * lib/envblk.c: ... this.
42483
42484 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42485 lib/hexdump.c.
42486 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42487 (pkglib_MODULES): Add crc.mod.
42488 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42489 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42490 (crc_mod_SOURCES): New macro.
42491 (crc_mod_CFLAGS): Likewise.
42492 (crc_mod_LDFLAGS): Likewise.
42493
42494 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42495
42496 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42497
42498 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42499
42500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42501
42502 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42503
c298def0 425042008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42505
42506 * commands/help.c: Include <grub/term.h>.
42507 (TERM_WIDTH): Removed. Updated all users.
42508
cc349fb3 425092008-07-27 Pavel Roskin <proski@gnu.org>
42510
42511 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42512 spurious warnings about a comment within a comment.
42513
9051607e 425142008-07-25 Robert Millan <rmh@aybabtu.com>
42515
42516 * util/getroot.c (find_root_device): Skip devices that match
42517 /dev/dm-[0-9]. This lets the real device be found for any type of
42518 abstraction (LVM, EVMS, RAID..).
42519 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42520 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42521 device is found first, find_root_device() will now skip it.
42522
01453bfc 425232008-07-24 Pavel Roskin <proski@gnu.org>
42524
42525 * include/grub/types.h: Use __builtin_bswap32() and
42526 __builtin_bswap64() with gcc 4.3 and newer.
42527
6af9849f 425282008-07-24 Christian Franke <franke@computer.org>
42529
3a0fa256 42530 * util/i386/pc/grub-install.in: If `--debug' is specified,
42531 pass `--verbose' to grub-setup.
42532 Abort script if make_system_path_relative_to_its_root() fails.
42533
7810e747 425342008-07-24 Bean <bean123ch@gmail.com>
42535
42536 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42537 variable `target_platform' should be `platform'.
42538
42290e17 425392008-07-24 Bean <bean123ch@gmail.com>
42540
51cc5193 42541 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42542 (grub_png_init_fixed_block): New function.
42543 (grub_png_decode_image_data): Handle fixed huffman code compression.
42544
2a8a80e4 425452008-07-24 Bean <bean123ch@gmail.com>
42546
42547 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42548 (grub_pe2elf_SOURCES): New macro.
42549 (CLEANFILES): Add grub-pe2elf.
42550
42551 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42552 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42553 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42554 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42555 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42556 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42557 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42558 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42559 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42560 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42561 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42562 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42563 (GRUB_PE32_DT_FUNCTION): Likewise.
42564 (GRUB_PE32_REL_I386_DIR32): Likewise.
42565 (GRUB_PE32_REL_I386_REL32): Likewise.
42566 (grub_pe32_symbol): New structure.
42567 (grub_pe32_reloc): Likewise.
42568
42569 * util/grub-pe2elf.c: New file.
42570
42571 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42572 start symbol in non pc platform.
42573
42574 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42575
42576 The following patches are from Christian Franke.
42577
42578 * include/grub/dl.h: Remove .previous, gas supports this only
42579 for ELF format.
42580
42581 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42582 Remove .type, gas supports this only for ELF format.
42583
42584 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42585 nullbytes in symbol table. This fixes an infinite loop if table is
42586 zero filled.
42587
42588 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42589 TARGET_IMG_LDFLAGS and EXEEXT.
42590
42591 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42592 TARGET_IMG_LDFLAGS_AC.
42593 (grub_CHECK_STACK_ARG_PROBE): New function.
42594
42595 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42596
42597 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42598
42599 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42600 to set TARGET_IMG_LD* accordingly.
42601 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42602 Add call to grub_CHECK_STACK_ARG_PROBE.
42603 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42604
42605 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42606
42607 * genmk.rb: Add EXEEXT to CLEANFILES.
42608
12ccdb75 426092008-07-23 Robert Millan <rmh@aybabtu.com>
42610
42611 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42612 define the codes for arrows and lines used for the menu).
42613 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42614 as well.
42615
42616 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42617 fonts, because the latter are too slow.
42618
18eeaf04 426192008-07-21 Bean <bean123ch@gmail.com>
42620
42621 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42622 a20. Run keyboard test last, as it will cause macbook to halt.
42623
b095e2ad 426242008-07-18 Pavel Roskin <proski@gnu.org>
42625
42626 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42627 load foreign architecture modules correctly anyway. Keep
42628 support for loading host architecture modules, whether we
42629 compile them or not.
42630
737feb35 426312008-07-17 Pavel Roskin <proski@gnu.org>
42632
3f4ce737 42633 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42634 change target_cpu. The compiler default can mismatch target_cpu
42635 in any case.
42636
4ad2d049 42637 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42638 * kern/efi/efi.c: Likewise.
42639
f6130a12 42640 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42641 target compiler is functional.
42642 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42643 are set up.
42644
58393a2d 42645 * configure.ac: Default to efi platform for x86_64-apple. Allow
42646 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42647 adjustments from the rest, only do them if target is not
42648 explicitly given. Merge other adjustments with the final sanity
42649 check. Remove an extraneous check for supported CPU. Be
42650 specific which CPU and which platform is not supported.
42651
737feb35 42652 * configure.ac: Default to pc platform for x86_64.
42653
546f966a 426542008-07-17 Robert Millan <rmh@aybabtu.com>
42655
42656 Partial LinuxBIOS -> Coreboot rename.
42657
42658 * conf/i386-linuxbios.rmk: Renamed to ...
42659 * conf/i386-coreboot.rmk: ... this.
42660 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42661 * configure.ac: Accept "coreboot" as input platform (but maintain
42662 compatibility with "linuxbios").
42663 * include/grub/i386/linuxbios: Renamed to ...
42664 * include/grub/i386/coreboot: ... this.
42665
20011694 426662008-07-17 Bean <bean123ch@gmail.com>
42667
42668 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42669 (appleldr_mod_SOURCE): New variable.
20011694 42670 (appleldr_mod_CFLAGS): Likewise.
42671 (appleldr_mod_LDFLAGS): Likewise.
42672 (pci_mod_SOURCES): Likewise.
42673 (pci_mod_CFLAGS): Likewise.
42674 (pci_mod_LDFLAGS): Likewise.
42675 (lspci_mod_SOURCES): Likewise.
42676 (lspci_mod_CFLAGS): Likewise.
42677 (lspci_mod_LDFLAGS): Likewise.
42678
42679 * conf/x86_64-efi.rmk: New file.
42680
42681 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42682 macro.
42683 (grub_efidisk_write): Likewise.
42684
42685 * include/efi/api.h (efi_call_0): New macro.
42686 (efi_call_1): Likewise.
42687 (efi_call_2): Likewise.
42688 (efi_call_3): Likewise.
42689 (efi_call_4): Likewise.
42690 (efi_call_5): Likewise.
42691 (efi_call_6): Likewise.
42692
42693 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42694 grub_rescue_cmd_chainloader.
42695
42696 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42697 (grub_pe32_optional_header): Change some fields based on i386 or
42698 x86_64 platform.
42699 (GRUB_PE32_PE32_MAGIC): Likewise.
42700
42701 * include/grub/efi/uga_draw.h: New file.
42702
42703 * include/grub/elf.h (STN_ABS): New constant.
42704 (R_X86_64_NONE): Relocation constant for x86_64.
42705 (R_X86_64_64): Likewise.
42706 (R_X86_64_PC32): Likewise.
42707 (R_X86_64_GOT32): Likewise.
42708 (R_X86_64_PLT32): Likewise.
42709 (R_X86_64_COPY): Likewise.
42710 (R_X86_64_GLOB_DAT): Likewise.
42711 (R_X86_64_JUMP_SLOT): Likewise.
42712 (R_X86_64_RELATIVE): Likewise.
42713 (R_X86_64_GOTPCREL): Likewise.
42714 (R_X86_64_32): Likewise.
42715 (R_X86_64_32S): Likewise.
42716 (R_X86_64_16): Likewise.
42717 (R_X86_64_PC16): Likewise.
42718 (R_X86_64_8): Likewise.
42719 (R_X86_64_PC8): Likewise.
42720
42721 * include/grub/i386/efi/pci.h: New file.
42722
42723 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
42724 Change it value based on platform.
42725 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
42726 (GRUB_E820_RAM): Likewise.
42727 (GRUB_E820_RESERVED): Likewise.
42728 (GRUB_E820_ACPI): Likewise.
42729 (GRUB_E820_NVS): Likewise.
42730 (GRUB_E820_EXEC_CODE): Likewise.
42731 (GRUB_E820_MAX_ENTRY): Likewise.
42732 (grub_e820_mmap): New structure.
42733 (linux_kernel_header): Change the efi field according to different
42734 kernel version, also field from linux_kernel_header.
42735
42736 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
42737
42738 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
42739 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
42740 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
42741 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
42742 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
42743 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
42744 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
42745 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
42746 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
42747 (GRUB_PCI_ADDR_IO_MASK): Likewise.
42748
42749 * include/grub/x86_64/efi/kernel.h: New file.
42750
42751 * include/grub/x86_64/efi/loader.h: Likewise.
42752
42753 * include/grub/x86_64/efi/machine.h: Likewise.
42754
42755 * include/grub/x86_64/efi/pci.h: Likewise.
42756
42757 * include/grub/x86_64/efi/time.h: Likewise.
42758
42759 * include/grub/x86_64/linux.h: Likewise.
42760
42761 * include/grub/x86_64/setjmp.h: Likewise.
42762
42763 * include/grub/x86_64/time.h: Likewise.
42764
42765 * include/grub/x86_64/types.h: Likewise.
42766
42767 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
42768 GRUB_TARGET_SIZEOF_VOID_P.
42769
42770 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
42771 (grub_efi_locate_handle): Likewise.
42772 (grub_efi_open_protocol): Likewise.
42773 (grub_efi_set_text_mode): Likewise.
42774 (grub_efi_stall): Likewise.
42775 (grub_exit): Likewise.
42776 (grub_reboot): Likewise.
42777 (grub_halt): Likewise.
42778 (grub_efi_exit_boot_services): Likewise.
42779 (grub_get_rtc): Likewise.
42780
42781 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
42782 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
42783 (grub_efi_allocate_pages): Wrap efi calls.
42784 (grub_efi_free_pages): Wrap efi calls.
42785 (grub_efi_get_memory_map): Wrap efi calls.
42786
42787 * kern/x86_64/dl.c: New file.
42788
42789 * kern/x86_64/efi/callwrap.S: Likewise.
42790
42791 * kern/x86_64/efi/startup.S: Likewise.
42792
42793 * loader/efi/appleloader.c: Likewise.
42794
42795 * loader/efi/chainloader.c (cmdline): New variable.
42796 (grub_chainloader_unload): Wrap efi calls.
42797 (grub_chainloader_boot): Likewise.
42798 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
42799 command line.
42800
42801 * loader/efi/chainloader_normal.c (chainloader_command):
42802 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
42803 command line.
42804
42805 * loader/i386/efi/linux.c (allocate_pages): Change allocation
42806 method.
42807 (grub_e820_add_region): New function.
42808 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
42809 booting.
42810 (grub_find_video_card): New function.
42811 (grub_linux_setup_video): New function.
42812 (grub_rescue_cmd_linux): Probe for video information.
42813
42814 * normal/x86_64/setjmp.S: New file.
42815
42816 * term/efi/console.c (map_char): New function.
42817 (grub_console_putchar): Map unicode char.
42818 (grub_console_checkkey): Wrap efi calls.
42819 (grub_console_getkey): Likewise.
42820 (grub_console_getwh): Likewise.
42821 (grub_console_gotoxy): Likewise.
42822 (grub_console_cls): Likewise.
42823 (grub_console_setcolorstate): Likewise.
42824 (grub_console_setcursor): Likewise.
42825
42826 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
42827
59652a20 428282008-07-16 Pavel Roskin <proski@gnu.org>
42829
ef294055 42830 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
42831 format strings.
42832
59652a20 42833 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42834 pointer, not an integer. This fixes a warning and prevents
42835 precision loss on 64-bit systems.
42836 (relocate_addresses): Remove unneeded cast.
42837
afc3b5d7 428382008-07-15 Pavel Roskin <proski@gnu.org>
42839
506b2b3e 42840 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42841
62ead89c 42842 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42843
c4cd51d7 42844 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42845 Fix comparison between signed and unsigned.
42846
0d3d8f28 42847 * include/grub/i386/ieee1275/console.h: Declare
42848 grub_console_init() and grub_console_fini().
42849
8804b286 42850 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42851 It's empty and unused.
42852
ee01cf35 42853 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42854 beginning to avoid warnings with some compilers.
42855
afc3b5d7 42856 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42857 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42858
e4e8eaa5 428592008-07-14 Pavel Roskin <proski@gnu.org>
42860
407aceb4 42861 * kern/env.c (grub_register_variable_hook): Don't copy empty
42862 string, it leaks memory. Pass "" to grub_env_set(), it should
42863 handle constant strings.
42864
e4e8eaa5 42865 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42866 * commands/cmp.c (grub_cmd_cmp): Likewise.
42867 * kern/dl.c (grub_dl_flush_cache): Likewise.
42868 (grub_dl_load_core): Likewise.
42869 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42870 (grub_elf64_load_phdrs): Likewise.
42871
d4e2dad3 428722008-07-13 Pavel Roskin <proski@gnu.org>
42873
42874 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42875 between signed and unsigned.
42876 (LzmaEnc_Finish): Fix warning about an unused parameter.
42877
aa24b516 428782008-07-13 Bean <bean123ch@gmail.com>
42879
42880 * Makefile.in (enable_lzo): New rule.
42881
42882 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42883
42884 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42885
42886 * boot/i386/pc/lnxboot.S: #include <config.h>.
42887
42888 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42889 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42890
42891 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42892 compression algorithm according to configure macro.
42893
42894 * kern/i386/pc/startup.S (codestart): Likewise.
42895
42896 * kern/i386/pc/lzma_decode.S: New file.
42897
42898 * include/grub/lib/LzFind.h: Likewise.
42899
42900 * include/grub/lib/LzHash.h: Likewise.
42901
42902 * include/grub/lib/LzmaDec.h: Likewise.
42903
42904 * include/grub/lib/LzmaEnc.h: Likewise.
42905
42906 * include/grub/lib/LzmaTypes.h: Likewise.
42907
42908 * lib/LzFind.c: Likewise.
42909
42910 * lib/LzmaDec.c: Likewise.
42911
42912 * lib/LzmaEnc.c: Likewise.
42913
4ae821ac 429142008-07-13 Bean <bean123ch@gmail.com>
42915
42916 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42917 (grub_ext4_extent_header): New structure.
42918 (grub_ext4_extent): Likewise.
42919 (grub_ext4_extent_idx): Likewise.
42920 (grub_ext4_find_leaf): New function.
42921 (grub_ext2_read_block): Handle extents.
42922
9a745147 429232008-07-12 Robert Millan <rmh@aybabtu.com>
42924
42925 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42926
d49a4cf6 429272008-07-11 Robert Millan <rmh@aybabtu.com>
42928
42929 * util/grub.d/40_custom.in: New file. Example on how to add custom
42930 entries to /etc/grub.d.
42931 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42932 40_custom (implicitly, by merging all the grub.d rules).
42933
947414b4 429342008-07-11 Pavel Roskin <proski@gnu.org>
42935
0059cf6f 42936 * commands/read.c (grub_getline): Fix invalid memory access.
42937 Don't add newline to the variable value.
42938
947414b4 42939 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42940 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42941 (serial_hw_get_port): Check validity of the port number.
42942 (grub_cmd_serial): Check return value of serial_hw_get_port().
42943
62a02d00 429442008-07-07 Pavel Roskin <proski@gnu.org>
42945
42946 * boot/i386/pc/diskboot.S (notification_string): Replace
42947 "Loading kernel" with just "loading". This is shorter, less
42948 confusing and saves a few bytes for possible future changes.
42949
3e5581b0 429502008-07-05 Pavel Roskin <proski@gnu.org>
42951
ea387a48 42952 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42953 size for ATAPI devices, they are undefined. Output sector
42954 number in decimal form.
42955
3e5581b0 42956 * disk/ata.c: Use named constants for status bits.
42957
fdecb8fd 429582008-07-04 Pavel Roskin <proski@gnu.org>
42959
bcd35b90 42960 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42961 grub_addr_t before casting it to the void pointer to fix a
42962 warning. Non-addressable regions are discarded earlier.
42963 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42964 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42965 (check_signature): Don't shadow table_header.
42966 (grub_linuxbios_table_iterate): Cast numeric constants to
42967 grub_linuxbios_table_header_t.
42968 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42969 grub_stop().
42970
af58ab3d 42971 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42972 prevent warnings.
42973
1759aa57 42974 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42975 pointer, which can cause warnings. Support 64-bit addresses.
42976
fdecb8fd 42977 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42978 of sizeof(long). This fixes PowerPC image generation on x86_64.
42979
8516d2a8 429802008-07-04 Robert Millan <rmh@aybabtu.com>
42981
42982 This fixes a performance issue when pc & gpt partmap iterators
42983 didn't abort iteration even after our hook found what it was
fe987087 42984 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42985
42986 Some callers relied on previous buggy behaviour, since they would
34c44600 42987 raise an error when their own hooks caused early abortion of its
8516d2a8 42988 iteration.
42989
42990 * kern/device.c (grub_device_open): Improve error message.
42991 * disk/lvm.c (grub_lvm_open): Likewise.
42992 * disk/raid.c (grub_raid_open): Likewise.
42993
42994 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42995 when hook requests it, independently of grub_errno.
42996 (pc_partition_map_probe): Do not fail when find_func() caused
42997 early abortion of pc_partition_map_iterate().
42998
42999 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43000 when hook requests it, independently of grub_errno.
43001 (gpt_partition_map_probe): Do not fail when find_func() caused
43002 early abortion of gpt_partition_map_iterate().
43003
43004 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43005 when hook requests it, independently of grub_errno. Do not fail when
43006 part_map_iterate_hook() caused early abortion of p->iterate().
43007
43008 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43009 when grub_partition_iterate() returned with non-zero.
43010
277d0de9 430112008-07-03 Pavel Roskin <proski@gnu.org>
43012
43013 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43014 like we do in grub_ata_pio_read().
43015 (grub_ata_readwrite): Always write individual sectors. Fix the
43016 sector count for the remainder.
43017 (grub_ata_write): Enable writing to ATA devices. Correctly
43018 report error for ATAPI devices.
43019
d4c9b428 430202008-07-02 Pavel Roskin <proski@gnu.org>
43021
e43fc690 43022 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43023 warning.
43024
f707af42 43025 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43026 for every read sector, we already increment it for the whole
43027 batch. This fixes reading more than 256 sectors at once.
43028
11e16b15 43029 * util/grub-editenv.c (cmd_info): Cast argument to long
43030 explicitly. ptrdiff_t reduces to int on i386.
43031
cbabfdd4 43032 * util/grub-editenv.c (main): Be specific which parameter is
43033 missing.
43034
b8fbce0a 43035 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43036 (memdisk): Make memdisk_orig_addr a pointer.
43037
c9c8e606 43038 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43039 for file offsets, use grub_off_t instead. Fix printf format
43040 warnings.
43041
ca62e598 43042 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43043 there. Real unexpected warnings should not drown in the noise
43044 about known problems.
43045
ce8d1766 43046 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43047 grub_disk_addr_t for memory addresses.
43048
00c7a56a 43049 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43050 explicitly to fix a warning.
43051
08d3ef09 43052 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43053
cb71ba20 43054 * Makefile.in (MODULE_LDFLAGS): New variable.
43055 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43056 the linker accepts --build-id=none.
43057 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43058 MODULE_LDFLAGS.
43059 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43060
d4c9b428 43061 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43062 those in Linux XFS code. Provide a way to access 64-bit parent
43063 inode.
43064 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43065 the end of struct grub_xfs_dir_header.
43066
d4156eee 430672008-07-02 Bean <bean123ch@gmail.com>
43068
43069 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43070 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43071 and GRUB_IEEE1275_FLAG_NO_ANSI.
43072
43073 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43074 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43075 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43076
43077 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
43078 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
43079
43080 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
43081 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
43082
43083 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
43084 esc sequence on non ANSI terminal.
43085 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
43086
43087 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
43088 beginning of file.
43089
2270f77b 430902008-07-02 Bean <bean123ch@gmail.com>
43091
43092 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43093 (grub_editenv_SOURCES): New variable.
43094 (pkglib_MODULES): Add loadenv.mod.
43095 (loadenv_mod_SOURCES): New variable.
43096 (loadenv_mod_CFLAGS): Likewise.
43097 (loadenv_mod_LDFLAGS): Likewise.
43098
43099 * include/grub/envblk.h: New file.
43100
43101 * util/envblk.c: New file.
43102
43103 * util/grub-editenv.c: New file.
43104
43105 * commands/loadenv.c: New file.
43106
0e9e51ec 431072008-07-01 Pavel Roskin <proski@gnu.org>
43108
d89b7634 43109 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43110 not unsigned char. This fixes warnings and is consistent with
43111 other tags.
43112
bf1835b1 43113 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
43114
8222a04b 43115 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
43116
6a42d99d 43117 * term/tparm.c (analyze): Always set *popcount.
43118
10b159d1 43119 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
43120 cast to fix a warning.
43121
b8789f6c 43122 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
43123 cast to suppress a warning.
43124
29d7e38a 43125 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
43126 grub_fshelp_read_file() expects.
43127
f341f669 43128 * fs/fat.c: Fix UUID calculation on big-endian systems. We
43129 write uuid as a 32-bit value in CPU byte order, so declare and
43130 use it as such.
43131
0e9e51ec 43132 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
43133 long if the format specifier expects it.
43134 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
43135 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43136 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
43137 long to fix a warning.
43138 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
43139 grub_dprintf() arguments to fix warnings.
43140
3aefa857 431412008-06-30 Pavel Roskin <proski@gnu.org>
43142
56c7668b 43143 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
43144 install_bsd_part immediately before core.img is embedded or
43145 modified on disk. This fixes core.img verification if core.img
43146 cannot be embedded.
43147
3aefa857 43148 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
43149 core_path to calculate the blocklist.
43150 Patch from Javier Martín <lordhabbit@gmail.com>
43151
5444088d 431522008-06-29 Robert Millan <rmh@aybabtu.com>
43153
43154 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
43155 block to disk block.
43156 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
43157 Patch from Niels Böhm <bitbucket@arcor.de>
43158
674835c8 431592008-06-29 Robert Millan <rmh@aybabtu.com>
43160
43161 * util/update-grub_lib.in (font_path): Search for fonts in
43162 /boot/grub first, which is more likely to be readable (we aren't
43163 deciding where fonts live, just looking for them).
43164
f527dbc8 431652008-06-26 Pavel Roskin <proski@gnu.org>
43166
6c2d8df6 43167 * util/biosdisk.c (read_device_map): Don't leave dead map
43168 entries for devices failing stat() check.
43169
f527dbc8 43170 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
43171 core_path_dev for the core.img path on the target device.
43172
aebe3d13 431732008-06-26 Robert Millan <rmh@aybabtu.com>
43174
43175 * disk/fs_uuid.c: New file.
43176 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
43177 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
43178 (fs_uuid_mod_LDFLAGS): New variables.
43179 * include/grub/disk.h (grub_disk_dev_id): Add
43180 `GRUB_DISK_DEVICE_UUID_ID'.
43181 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
43182 implement iterate().
43183
37aaf354 431842008-06-26 Robert Millan <rmh@aybabtu.com>
43185
43186 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
43187 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
43188 Linux image includes no initrd.
43189
25ff262a 431902008-06-21 Javier Martín <lordhabbit@gmail.com>
43191
43192 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
43193 call to resolve the core image location that effectively appended the
43194 name twice.
43195
76a2bd44 431962008-06-21 Robert Millan <rmh@aybabtu.com>
43197
43198 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43199 call from here ...
43200
43201 * util/grub.d/10_hurd.in: ... to here ...
43202 * util/grub.d/10_linux.in: ... and here.
43203
650e1c79 432042008-06-19 Robert Millan <rmh@aybabtu.com>
43205
fe987087 43206 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 43207 after it has been set by grub_machine_set_prefix().
43208
6ce63911 432092008-06-19 Robert Millan <rmh@aybabtu.com>
43210
43211 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43212 search result when not saving to variable, not the other way around.
43213 When saving to variable, abort iteration as soon as a match is found.
43214
73940cec 432152008-06-19 Robert Millan <rmh@aybabtu.com>
43216
43217 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43218 check for partition that provides /boot/grub. Its logic is flawed,
43219 as it prevents prepare_grub_to_access_device() from being called
43220 multiple times.
43221
3c62a39d 432222008-06-19 Robert Millan <rmh@aybabtu.com>
43223
43224 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43225 "insmod" command directly when abstraction modules are needed,
fe987087 43226 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 43227 since it had already been processed).
43228
47395a42 432292008-06-19 Pavel Roskin <proski@gnu.org>
43230
43231 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43232 changed. This is needed in case GRUB_LIBDIR changes.
43233 * conf/i386-ieee1275.rmk: Likewise.
43234 * conf/i386-linuxbios.rmk: Likewise.
43235 * conf/i386-pc.rmk: Likewise.
43236 * conf/powerpc-ieee1275.rmk: Likewise.
43237
a145ac2d 432382008-06-18 Pavel Roskin <proski@gnu.org>
43239
43240 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43241 kernel_elf_symlist.c to symlist.c for consistency with other
43242 architectures. Update all users.
43243 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43244
7847c51e 432452008-06-18 Robert Millan <rmh@aybabtu.com>
43246
43247 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43248 it in prefix.
43249
43250 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43251 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43252 a RAID device, run setup() for all members independently on whether
43253 LVM abstraction is being used.
43254 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43255 If grub-mkimage has set `*install_dos_part == -2', don't override this
43256 value.
43257 Perform *install_dos_part adjustments independently on whether
43258 we're embedding or not.
43259 Clarify error message when image is too big for embedding.
43260 Remove duplicate *install_dos_part stanza.
43261
b23e5644 432622008-06-17 Robert Millan <rmh@aybabtu.com>
43263
43264 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43265 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43266 variables.
43267 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43268 values in grub_ofconsole_normal_color and
43269 grub_ofconsole_highlight_color (they're not directly related to
43270 background and foreground).
43271 (grub_ofconsole_setcolorstate): Extract background and foreground
43272 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43273
0aac2f79 432742008-06-17 Robert Millan <rmh@aybabtu.com>
43275
43276 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43277 /boot/grub for the check in last commit, not /boot (they could be
43278 different partitions).
43279
3cca7ef3 432802008-06-16 Robert Millan <rmh@aybabtu.com>
43281
43282 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43283 asked to setup access for the same partition that provides /boot,
43284 don't bother using UUIDs since our root already has the value we
43285 want.
43286
347396d8 432872008-06-16 Robert Millan <rmh@aybabtu.com>
43288
43289 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43290 I2O devices.
43291 Patch from Sven Mueller <sven@debian.org>.
43292
991477f8 432932008-06-16 Robert Millan <rmh@aybabtu.com>
43294
43295 * util/update-grub.in: Check for $EUID instead of $UID.
43296 Reported by Vincent Zweije.
43297
d31a32a1 432982008-06-16 Bean <bean123ch@gmail.com>
43299
fe987087 43300 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43301 (grub_ext2_read_block): Likewise.
43302 (grub_ext2_read_inode): Likewise.
43303 (grub_ext2_mount): Likewise.
43304 (grub_ext2_close): Likewise.
43305 (grub_ext3_get_journal): Removed.
43306
fe987087 43307 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43308 (grub_reiserfs_read_symlink): Likewise.
43309 (grub_reiserfs_mount): Likewise.
43310 (grub_reiserfs_open): Likewise.
43311 (grub_reiserfs_read): Likewise.
43312 (grub_reiserfs_close): Likewise.
43313 (grub_reiserfs_get_journal): Removed.
43314
43315 * fs/fshelp.c (grub_fshelp_read): Removed.
43316 (grub_fshelp_map_block): Likewise.
43317
43318 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43319 (grub_fshelp_journal): Likewise.
43320 (grub_fshelp_read): Likewise.
43321 (grub_fshelp_map_block): Likewise.
43322
3540a760 433232008-06-16 Pavel Roskin <proski@gnu.org>
43324
43325 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43326 floating point anymore.
43327 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43328
95614c84 433292008-06-15 Pavel Roskin <proski@gnu.org>
43330
43331 * commands/ls.c (grub_ls_list_files): Use integer calculations
43332 for human readable format, avoid floating point use.
43333 * kern/misc.c (grub_ftoa): Remove.
43334 (grub_vsprintf): Remove floating point support.
43335
50465dd6 433362008-06-15 Robert Millan <rmh@aybabtu.com>
43337
fe6b695a 43338 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43339 devices.
43340 Reported by Max Vozeler.
43341
a9207284 433422008-06-15 Robert Millan <rmh@aybabtu.com>
43343
43344 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43345 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43346 skipped later.
43347 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43348 the beginning of the prefix.
43349
43350 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43351 It is assumed that if we have a memdisk, grub-mkimage has set
43352 grub_prefix to include the "(memdisk)" drive in it.
43353
a7cbd45a 433542008-06-15 Robert Millan <rmh@aybabtu.com>
43355
43356 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43357 Initialize keyboard controller after registering the terminal, so that
43358 grub_printf() can be called from grub_keyboard_controller_init().
43359
21cf716a 433602008-06-15 Robert Millan <rmh@aybabtu.com>
43361
43362 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43363 extent-btree which is written as big endian on disk.
43364 Reported by Alain Greppin <al@chilibi.org>.
43365
23a64d8e 433662008-06-14 Robert Millan <rmh@aybabtu.com>
43367
43368 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43369 * util/i386/pc/grub-install.in (modules): Likewise.
43370
d687651c 433712008-06-13 Pavel Roskin <proski@gnu.org>
43372
43373 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43374
dfe9ddd4 433752008-06-13 Bean <bean123ch@gmail.com>
43376
43377 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43378
43379 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43380
43381 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43382 to indicate sparse block.
43383
16ae7781 433842008-06-12 Pavel Roskin <proski@gnu.org>
43385
e6d1a308 43386 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43387 number, grub_fshelp_read() does it for us.
43388
16ae7781 43389 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43390 linear disk read with journal translation.
43391 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43392 * include/grub/fshelp.h: Declare grub_fshelp_read().
43393
40fd3a2b 433942008-06-09 Pavel Roskin <proski@gnu.org>
43395
43396 * fs/minix.c (grub_minix_mount): Handle error reading
43397 superblock.
43398
f5679726 433992008-06-08 Robert Millan <rmh@aybabtu.com>
43400
43401 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43402 don't append the RAID prefix afterwards.
43403 Reported by Clint Adams.
43404
ce525529 434052008-06-08 Robert Millan <rmh@aybabtu.com>
43406
43407 Based on description from Pavel:
43408 * kern/disk.c (grub_disk_check_range): Rename to ...
43409 (grub_disk_adjust_range): ... this. Add a comment explaining the
43410 tasks performed by this function.
43411
ad4936a0 434122008-06-08 Robert Millan <rmh@aybabtu.com>
43413
43414 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43415 `num_serial' (for consistency with other variables).
43416 (struct grub_ntfs_data): Add `uuid' member.
43417 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43418 (grub_ntfs_uuid): New function.
43419 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43420
dc20b0f9 434212008-06-07 Pavel Roskin <proski@gnu.org>
43422
43423 * util/biosdisk.c (open_device): Revert last change to the
43424 function, it broke installation. The sector needs to be
43425 different dependent on which device is opened.
43426
c5e3cfba 434272008-06-06 Robert Millan <rmh@aybabtu.com>
43428
43429 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43430 rest of GRUB, and breakage doesn't happen if its value were modified.
43431
43432 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43433 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43434 a constant (same value).
43435 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43436 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43437
26a1f8c4 434382008-06-06 Robert Millan <rmh@aybabtu.com>
43439
43440 * util/biosdisk.c (open_device): Do not modify sector offset when
43441 accessing a partition. kern/disk.c already handles this for us.
43442
25d6b327 434432008-06-06 Robert Millan <rmh@aybabtu.com>
43444
43445 * util/grub-emu.c (grub_machine_init): Move code in this function from
43446 here ...
43447 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43448 segfault in case grub_printf() is called).
43449
43450 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43451 grub_probe. Update all users not to explicitly add it again.
43452 (grub_device): New variable; contains corresponding device for grubdir.
43453 (fs_module, partmap_module, devabstraction_module): Pass
43454 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43455 every time.
43456
9ece62fb 434572008-06-05 Robert Millan <rmh@aybabtu.com>
43458
43459 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43460 is found, print it (same layout as with labels).
43461
1ad36d37 434622008-06-04 Robert Millan <rmh@aybabtu.com>
43463
43464 * util/biosdisk.c (get_drive): Rename to ...
43465 (find_grub_drive): ... this. Update all users.
43466
43467 (get_os_disk): Rename to ...
43468 (convert_system_partition_to_system_disk): ... this. Update all users.
43469
43470 (find_drive): Rename to ...
43471 (find_system_device): ... this. Update all users.
43472
e6a30859 434732008-06-04 Robert Millan <rmh@aybabtu.com>
43474
43475 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43476 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43477 (make_device_map): Likewise.
43478
00c108a4 434792008-06-01 Robert Millan <rmh@aybabtu.com>
43480
43481 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43482 before dereferencing it.
43483
43484 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43485 union with fat12/fat16-specific ones. Add some new fields, including
43486 `num_serial' for both versions.
43487 (struct grub_fat_data): Add `uuid' member.
43488 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43489 names. Initialize `data->uuid' using `num_serial'.
43490 (grub_fat_uuid): New function.
43491 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43492
43493 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43494 (grub_reiserfs_uuid): New function.
43495 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43496 member.
43497
43498 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43499 (grub_xfs_uuid): New function.
43500 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43501
1385c5bb 435022008-06-01 Robert Millan <rmh@aybabtu.com>
43503
43504 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43505 code that is backward compatible with pre-uuid search command.
43506
c682dfd7 435072008-05-31 Robert Millan <rmh@aybabtu.com>
43508
43509 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43510 floppies after everything else, to ensure floppy drive isn't accessed
43511 unnecessarily (patch from Bean).
43512
b7db5d47 435132008-05-31 Robert Millan <rmh@aybabtu.com>
43514
43515 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43516 not print device names when we were asked to set a variable.
43517
6e037aa9 435182008-05-31 Robert Millan <rmh@aybabtu.com>
43519
43520 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43521 using "cursor-on" and "cursor-off" commands (understood at least by
43522 the Open Firmware flavour on OLPC).
43523
41305bc8 435242008-05-31 Michael Gorven <michael@gorven.za.net>
43525
43526 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43527 on and off sequences.
43528
69ba137e 435292008-05-31 Robert Millan <rmh@aybabtu.com>
43530
43531 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43532 * util/update-grub.in: Likewise.
43533
520ae21b 435342008-05-30 Pavel Roskin <proski@gnu.org>
43535
43536 * util/biosdisk.c (linux_find_partition): Simplify logic and
43537 make the code more universal. Keep special processing for
43538 devfs, but use a simple rule for all other devices. If the
43539 device ends with a number, append 'p' and the partition number.
43540 Otherwise, append only the partition number.
43541
5786569b 435422008-05-30 Robert Millan <rmh@aybabtu.com>
43543
43544 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43545 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43546 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43547 the `root' parameter to Linux.
43548
51500452 435492008-05-30 Robert Millan <rmh@aybabtu.com>
43550
43551 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43552 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43553 --fs_uuid with --fs-uuid.
43554 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43555 all filesystems support them).
43556
811d3878 435572008-05-30 Robert Millan <rmh@aybabtu.com>
43558
43559 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43560 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43561
cab63c95 435622008-05-30 Robert Millan <rmh@aybabtu.com>
43563
43564 * util/grub.d/00_header.in: Remove obsolete comment referencing
43565 convert_system_path_to_grub_path().
43566 * util/update-grub.in: Likewise.
43567 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43568 (convert_system_path_to_grub_path): Add a warning message explaining
43569 that this function is deprecated. Rely on is_path_readable_by_grub()
43570 for the readability checks.
43571 (font_path): Use is_path_readable_by_grub() for the readability
43572 check rather than convert_system_path_to_grub_path().
43573
972e2f7a 435742008-05-30 Robert Millan <rmh@aybabtu.com>
43575
43576 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43577 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43578 converting it first.
43579 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43580 grub.cfg for access to font file, and afterwards call it again to set
43581 the root device.
43582
62191274 435832008-05-30 Robert Millan <rmh@aybabtu.com>
43584
43585 * commands/search.c (options): Add --fs_uuid option.
43586 (search_fs_uuid): New function.
43587 (grub_cmd_search): Fix --set argument passing.
43588 Use search_fs_uuid() when requested via --fs_uuid.
43589 (grub_search_init): Update help message.
43590 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43591 and redeclare it as an array of 16-bit words.
43592 (grub_ext2_uuid): New function.
43593 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43594 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43595 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43596 (GRUB_DEVICE_BOOT_UUID): New variables.
43597 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43598 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43599 whenever possible.
43600 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43601 just assume `root' variable has the right value.
43602 * util/grub.d/10_linux.in: Likewise.
43603 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43604 via PRINT_FS_UUID.
43605 (main): Recognise `-t fs_uuid' argument.
43606
01b73ec8 436072008-05-30 Robert Millan <rmh@aybabtu.com>
43608
43609 * util/biosdisk.c (map): Redefine structure to hold information
43610 about GRUB drive name.
fe6b695a 43611 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43612 drive names.
43613 (call_hook): Remove.
43614 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43615 member. Assume drive has partitions.
43616 (grub_util_biosdisk_open): Access device names via `.device' struct
43617 member.
43618 (open_device): Likewise.
43619 (find_drive): Likewise.
43620 (read_device_map): Adjust map[] usage to match the new struct
43621 definition. Don't check for duplicates (still possible, but not cheap
43622 anymore).
43623 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43624 (make_device_name): Remove assumption of BIOS-like drive names.
43625
22f16596 436262008-05-30 Pavel Roskin <proski@gnu.org>
43627
43628 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43629 compiling execute.c doesn't need grub_script.tab.h anymore.
43630 (normal/command.c_DEPENDENCIES): Likewise.
43631 (normal/function.c_DEPENDENCIES): Likewise.
43632 * conf/i386-ieee1275.rmk: Likewise.
43633 * conf/i386-linuxbios.rmk: Likewise.
43634 * conf/i386-pc.rmk: Likewise.
43635 * conf/powerpc-ieee1275.rmk: Likewise.
43636 * conf/sparc64-ieee1275.rmk: Likewise.
43637
528ad8f2 436382008-05-29 Pavel Roskin <proski@gnu.org>
43639
d1dff95d 43640 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43641 when scanning metadata for volume group name.
43642
528ad8f2 43643 * include/grub/script.h: Don't include grub_script.tab.h. It's
43644 a generated file, which may only be included from the files with
43645 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43646 use union YYSTYPE, as the later allows forward declaration.
43647 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43648
47248e08 436492008-05-29 Robert Millan <rmh@aybabtu.com>
43650
43651 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43652 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43653 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43654 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43655 scan codes.
43656
ee632529 436572008-05-29 Robert Millan <rmh@aybabtu.com>
43658
43659 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43660 control key combinations.
43661
eee96e08 436622008-05-29 Robert Millan <rmh@aybabtu.com>
43663
43664 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43665 * util/ieee1275/grub-install.in: ... to here.
43666 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43667 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43668 (grub_install_SOURCES): Likewise.
43669
da9a6a94 436702008-05-29 Robert Millan <rmh@aybabtu.com>
43671
43672 * fs/affs.c: Update copyright year.
43673 * fs/ext2.c: Likewise.
43674 * fs/fshelp.c: Likewise.
43675 * fs/hfsplus.c: Likewise.
43676 * fs/ntfs.c: Likewise.
43677 * fs/xfs.c: Likewise.
43678 * include/grub/fshelp.h: Likewise.
43679 * util/grub-mkdevicemap.c: Likewise.
43680
12e65f3a 436812008-05-28 Robert Millan <rmh@aybabtu.com>
43682
43683 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43684 might need to be fatfs to support some firmware implementations
43685 (e.g. OFW or EFI).
43686
23023641 436872008-05-28 Robert Millan <rmh@aybabtu.com>
43688
43689 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43690 devices.
43691 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43692 (make_device_map): Likewise.
43693
887d2619 436942008-05-20 Bean <bean123ch@gmail.com>
43695
43696 * fs/fshelp.c (grub_fshelp_map_block): New function.
43697 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43698 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43699
43700 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43701 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43702 (grub_fshelp_journal): New structure.
43703 (grub_fshelp_map_block): New function prototype.
43704 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43705 (grub_fshelp_map_block): Likewise.
43706
43707 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43708 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43709 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43710 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43711 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43712 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43713 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43714 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43715 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43716 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43717 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43718 (grub_ext2_sblock): New members for journal support.
43719 (grub_ext3_journal_header): New structure.
43720 (grub_ext3_journal_revoke_header): Likewise.
43721 (grub_ext3_journal_block_tag): Likewise.
43722 (grub_ext3_journal_sblock): Likewise.
43723 (grub_fshelp_node): New members logfile and journal.
43724 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
43725 grub_fshelp_map_block to get real block number.
43726 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
43727 number.
43728 (grub_ext2_read_inode): Likewise.
43729 (grub_ext3_get_journal): New function.
43730 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
43731 (grub_ext2_close): Release memory used by journal.
43732
43733 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
43734 (REISERFS_MAGIC_DESC_BLOCK): New macro.
43735 (grub_reiserfs_transaction_header): Renamed to
43736 grub_reiserfs_description_block, replace field data with real_blocks.
43737 (grub_reiserfs_commit_block): New structure.
43738 (grub_reiserfs_data): New member journal.
43739 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
43740 number.
43741 (grub_reiserfs_read_symlink): Likewise.
43742 (grub_reiserfs_iterate_dir): Likewise.
43743 (grub_reiserfs_open): Likewise.
43744 (grub_reiserfs_read): Likewise.
43745 (grub_reiserfs_get_journal): New function.
43746 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
43747 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
43748 using grub_reiserfs_get_journal.
43749 (grub_reiserfs_close): Release memory used by journal.
43750
43751 * fs/affs.c (grub_affs_read_block): Change block type to
43752 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
43753
43754 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
43755
43756 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
43757
43758 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
43759
43760 * fs/udf.c (grub_udf_read_block): Change block type to
43761 grub_disk_addr_t. Use type cast to avoid warning.
43762
43763 * fs/xfs.c (grub_xfs_read_block): Likewise.
43764
b7c6bed5 437652008-05-16 Christian Franke <franke@computer.org>
43766
43767 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
43768 to ensure that break with ESC will always work.
43769 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
43770 Remove ESC from keyboard queue.
43771
eedf167f 437722008-05-16 Christian Franke <franke@computer.org>
43773
43774 * util/biosdisk.c: [__CYGWIN__] Add includes.
43775 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
43776 (get_os_disk): Move variable declarations to OS specific
43777 parts to avoid warning.
43778 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
43779 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
43780 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
43781 Cygwin.
43782 * util/getroot.c: [__CYGWIN__] Add includes.
43783 (strip_extra_slashes): Fix "/" case.
43784 [__CYGWIN__] (get_win32_path): New function.
43785 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
43786 [__CYGWIN__] (find_root_device): Disable.
43787 [__CYGWIN__] (get_bootsec_serial): New function.
43788 [__CYGWIN__] (find_cygwin_root_device): Likewise.
43789 [__linux__] (grub_guess_root_device): Add early returns to simplify
43790 structure.
43791 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
43792 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
43793 check for Linux only.
43794
a079699e 437952008-05-15 Bean <bean123ch@gmail.com>
43796
43797 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
43798 keyboard hang problem in apple's intel mac.
43799
1cf4059a 438002008-05-09 Robert Millan <rmh@aybabtu.com>
43801
43802 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
43803 devices.
43804 * util/grub-mkdevicemap.c (get_virtio_disk_name)
43805 (make_device_map): Likewise.
43806 Reported by Aurelien Jarno <aurel32@debian.org>
43807
ed759390 438082008-05-07 Ian Campbell <ijc@hellion.org.uk>
43809
43810 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
43811 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
43812 (make_device_map): Output entries for xvd type disks.
43813
b56c4eaa 438142008-05-07 Robert Millan <rmh@aybabtu.com>
43815
43816 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
43817 devices.
43818 * util/grub-mkdevicemap.c (get_cciss_disk_name)
43819 (make_device_map): Likewise.
43820 Reported by Roland Dreier <rdreier@cisco.com>
43821
7f8866ed 438222008-05-07 Robert Millan <rmh@aybabtu.com>
43823
43824 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
43825 grub_strstr() call. Correct a few mistakes in failure path handling.
43826
b0346e0f 438272008-05-06 Robert Millan <rmh@aybabtu.com>
43828
43829 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43830 Do not print a trailing slash (therefore, the root directory is an
43831 empty string).
43832 (convert_system_path_to_grub_path): Do not remove trailing slash
43833 from make_system_path_relative_to_its_root() output.
43834
43835 * util/i386/pc/grub-install.in: Add trailing slash to output from
43836 make_system_path_relative_to_its_root().
43837
6cf12cbd 438382008-05-06 Robert Millan <rmh@aybabtu.com>
43839
43840 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43841 ensures that output lines aren't intermangled with those sent to
43842 stderr (via grub_util_info()).
43843 * util/grub-probe.c (grub_refresh): Likewise.
43844 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43845
0fbb3117 438462008-05-05 Christian Franke <franke@computer.org>
43847
43848 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43849 Add Cygwin device names.
43850 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43851 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43852 (check_device): Return error instead of success on empty name.
43853 (make_device_map): Move label inside linux specific code to
43854 prevent compiler warning.
43855
8124cdb7 438562008-04-30 Robert Millan <rmh@aybabtu.com>
43857
43858 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43859 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43860 first boot option.
43861 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43862
094c01d0 438632008-04-29 Robert Millan <rmh@aybabtu.com>
43864
43865 * docs/grub.cfg: New file (example GRUB configuration).
43866
f4b1fc02 438672008-04-26 Robert Millan <rmh@aybabtu.com>
43868
329ce2a5 43869 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43870 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43871 and `disk/ieee1275/nand.c'.
f4b1fc02 43872
25f16ec1 438732008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43874
25f16ec1 43875 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43876 i386-linuxbios.
43877
43878 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43879 change the buffer size to 4096 for cdrom device.
43880
43881 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43882 and nand.mod.
43883 (_linux_mod_SOURCES): New variable.
43884 (_linux_mod_CFLAGS): Likewise.
43885 (_linux_mod_LDFLAGS): Likewise.
43886 (linux_mod_SOURCES): Likewise.
43887 (linux_mod_CFLAGS): Likewise.
43888 (linux_mod_LDFLAGS): Likewise.
43889 (nand_mod_SOURCES): Likewise.
43890 (nand_mod_CFLAGS): Likewise.
43891 (nand_mod_LDFLAGS): Likewise.
43892
43893 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43894 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43895 type property. (nand device in olpc don't have this property)
43896
43897 * include/grub/disk.h (grub_disk_dev_id): New macro
43898 GRUB_DISK_DEVICE_NAND_ID.
43899
43900 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43901 function prototype.
43902 (grub_rescue_cmd_initrd): Likewise.
43903
43904 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43905 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43906 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43907
25f16ec1 43908 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43909 GRUB_MACHINE_IEEE1275 is defined.
43910
43911 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43912 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43913
43914 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43915 on nested function heap_init.
43916 (grub_upper_mem): New variable for i386-ieee1275.
43917 (grub_get_extended_memory): New function for i386-ieee1275.
43918 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43919
43920 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43921 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43922 property.
f19dbdb7 43923
25f16ec1 43924 * loader/i386/ieee1275/linux.c: New file.
43925
43926 * loader/i386/ieee1275/linux_normal.c: New file.
43927
43928 * disk/ieee1275/nand.c: New file.
43929
e89d61e9 439302008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43931
43932 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43933 value.
43934 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43935
602566f6 439362008-04-18 Robert Millan <rmh@aybabtu.com>
43937
43938 Restructures early code path on ieee1275 to unify grub_main() as
43939 the first C function that is executed in every platform.
43940
43941 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43942 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43943 cmain().
43944 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43945 * kern/ieee1275/cmain.c (cmain): Rename to ...
43946 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43947 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43948 at the beginning.
43949
57490c2b 439502008-04-18 Robert Millan <rmh@aybabtu.com>
43951
43952 * util/update-grub.in: Fix syntax error when setting
43953 `GRUB_PRELOAD_MODULES'.
43954 Reported by Stephane Chazelas <stephane@artesyncp.com>
43955
1977517d 439562008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43957
43958 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43959 section into account, newer toolchains generate unique build ids
43960 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43961 we want build ids to be preserved
1977517d 43962 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43963 far from other sections don't cause the raw binary images grow
43964 size
43965
bfb1f1a2 439662008-04-15 Robert Millan <rmh@aybabtu.com>
43967
43968 * disk/lvm.c: Update copyright year.
43969 * kern/misc.c: Likewise.
43970
01979850 439712008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43972
43973 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43974 there is no memory left for physical volume name.
01979850 43975
0a1150e2 439762008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43977
43978 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43979 volume name mapping to support bigger than 9 character names properly.
43980
82ead3fe 439812008-04-13 Robert Millan <rmh@aybabtu.com>
43982
43983 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43984 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43985
e54a72f5 439862008-04-13 Christian Franke <franke@computer.org>
43987
43988 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43989 to create a floppy emulation boot CD when non emulation mode
43990 does not work.
43991 Enable Joliet CD filesystem extension.
43992
9fe86034 439932008-04-13 Robert Millan <rmh@aybabtu.com>
43994
43995 * kern/misc.c (grub_strncat): Fix off-by-one error.
43996 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43997
43998 * kern/env.c (grub_env_context_close): Clear current context, not
43999 previous one.
44000 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44001
44002 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44003
7ceeee39 440042008-04-13 Robert Millan <rmh@aybabtu.com>
44005
44006 Improve robustness when handling LVM.
44007
44008 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 44009 (and leave `*p' unmodified).
7ceeee39 44010 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44011 through it.
44012 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44013 iterating through it.
44014 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44015 through it.
fe6b695a 44016 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 44017 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44018 Don't assume `vg->pvs != NULL' when iterating through it.
44019
58cd3d85 440202008-04-13 Robert Millan <rmh@aybabtu.com>
44021
44022 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44023 * genmk.rb (partmap): New variable.
44024 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44025 (#{partmap}): New target rule.
44026 * genpartmaplist.sh: New file.
44027 * Makefile.in (pkglib_DATA): Add partmap.lst.
44028 (partmap.lst): New target rule.
44029 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44030 modules (including all partition maps), instead of preloading them.
44031
78b51059 440322007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44033
44034 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44035 `linux-boot-prober' (if installed) to detect other operating
44036 systems which are installed on the computer and add them to
44037 the boot menu.
44038 * conf/common.rmk: Build and install 30_os-prober.
44039
a91627b4 440402008-04-12 Robert Millan <rmh@aybabtu.com>
44041
44042 * kern/powerpc/ieee1275/init.c: Move from here ...
44043 * kern/ieee1275/init.c: ... to here. Update all users.
44044
44045 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44046 * kern/ieee1275/cmain.c: ... to here. Update all users.
44047
44048 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44049 * kern/ieee1275/openfw.c: ... to here. Update all users.
44050
44051 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44052 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44053
322562ea 440542008-04-10 Pavel Roskin <proski@gnu.org>
44055
44056 * configure.ac: Always use "_cv_" in cache variables for
44057 compatibility with Autoconf 2.62.
44058
a02a73c5 440592008-04-07 Robert Millan <rmh@aybabtu.com>
44060
44061 Revert grub/machine/init.h addition by Pavel (since it breaks on
44062 i386-ieee1275 and others):
44063 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44064 * util/powerpc/ieee1275/misc.c: Likewise.
44065
25c024b1 440662008-04-07 Robert Millan <rmh@aybabtu.com>
44067
44068 * util/grub-probe.c (probe): Improve error message.
44069
3cbd2f98 440702008-04-07 Robert Millan <rmh@aybabtu.com>
44071
44072 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44073 (this prevents the presence of a bogus entry from ruining the whole
44074 thing).
44075
87a297bf 440762008-04-06 Pavel Roskin <proski@gnu.org>
44077
36747a62 44078 * util/biosdisk.c: Include grub/util/biosdisk.h.
44079 * util/grub-fstest.c (execute_command): Make static.
44080 * util/grub-mkdevicemap.c (check_device): Likewise.
44081 * util/i386/pc/misc.c: Include grub/machine/init.h.
44082 * util/powerpc/ieee1275/misc.c: Likewise.
44083 * util/lvm.c: Include grub/util/lvm.h.
44084 * util/misc.c: Include grub/kernel.h, grub/misc.h and
44085 grub/cache.h.
44086 * util/raid.c: Include grub/util/raid.h.
44087 (grub_util_getdiskname): Make static.
44088
87a297bf 44089 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44090 grub_hostfs_fini(), as they are called from grub_init_all() and
44091 grub_fini_all() respectively. This fixes an infinite loop in
44092 grub-fstest due to double registration of hostfs.
44093 Reported by Christian Franke <Christian.Franke@t-online.de>
44094
f6ce7629 440952008-04-05 Pavel Roskin <proski@gnu.org>
44096
44097 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44098 all 8 functions. Otherwise, probe function 0 only.
44099
070e49e4 441002008-04-04 Pavel Roskin <proski@gnu.org>
44101
8b088a4c 44102 * commands/lspci.c (grub_lspci_iter): Print the bus number
44103 correctly.
44104
4f657021 44105 * commands/lspci.c (grub_pci_classes): Fix typos.
44106 (grub_lspci_iter): Don't print func twice. Print vendor ID
44107 before device ID, as it's normally done.
44108
070e49e4 44109 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44110 Fix signedness warnings.
44111 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44112 Likewise.
44113 * util/ieee1275/get_disk_name.c: Include config.h so that
44114 _GNU_SOURCE is defined and getline() is declared. Mark an
44115 unused argument as such. Fix a signedness warning.
44116
ba7328dc 441172008-04-02 Pavel Roskin <proski@gnu.org>
44118
26887f22 44119 * genkernsyms.sh.in: Use more robust assignments for CC and
44120 srcdir. Quote srcdir.
44121 * gensymlist.sh.in: Likewise. Assert at the compile time that
44122 the symbol table is not empty.
44123
ba7328dc 44124 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
44125 * fs/cpio.c (grub_cpio_read): Likewise.
44126
0f582c6b 441272008-04-01 Pavel Roskin <proski@gnu.org>
44128
4b6e1995 44129 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
44130 * disk/host.c (grub_host_open): Likewise.
44131 * disk/loopback.c (grub_loopback_open): Likewise.
44132 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
44133 disk->id as in disk/host.c, not a multi-character constant.
44134
828a2768 44135 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
44136 later is obsolete, potentially dangerous and sets a bad example.
44137 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
44138 * util/misc.c (grub_util_get_image_size): Likewise.
44139
2bb4fb47 44140 * disk/loopback.c (options): Improve help for "--partitions".
44141
0f582c6b 44142 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
44143 options to align them with the short options, e.g. "echo -e".
44144
a33224e0 441452008-03-31 Bean <bean123ch@gmail.com>
44146
44147 * video/reader/png.c (grub_png_data): New member is_16bit and
44148 image_data.
44149 (grub_png_decode_image_header): Detect 16 bit png image.
44150 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
44151 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
44152 (grub_video_reader_png): Release memory occupied by image_data.
44153
44154 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
44155 4096 bytes.
44156 (grub_nfs_mount): Skip the test for sector per cluster.
44157
44158 * include/grub/ntfs.h (MAX_SPC): Removed.
44159
86cb4f54 441602008-03-31 Bean <bean123ch@gmail.com>
44161
44162 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
44163 (grub_probe_SOURCES): Add fs/afs.c.
44164 (grub_fstest_SOURCES): Likewise.
44165 (afs_mod_SOURCES): New variable.
44166 (afs_mod_CFLAGS): Likewise.
44167 (afs_mod_LDFLAGS): Likewise.
44168
44169 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
44170 (grub_emu_SOURCES): Likewise.
44171
44172 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44173
44174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44175
44176 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44177
44178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44179
44180 * fs/afs.c: New file.
44181
17c74c21 441822008-03-30 Pavel Roskin <proski@gnu.org>
44183
4cb68e89 44184 * disk/host.c: Include grub/misc.h to fix a warning.
44185 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
44186 warnings about implicit declarations.
44187
8790bb04 44188 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
44189 variable.
44190 * include/grub/i386/loader.h: Change declaration of
44191 grub_linux_boot() to match what grub_loader_set() expects.
44192 * util/getroot.c (grub_guess_root_device): Return const char* to
44193 fix a warning.
44194 * util/grub-probe.c (probe): Fix a warning about uninitialized
44195 abstraction_name variable.
44196 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
44197 second argument as unused to fix a warning.
44198
9a3f3296 44199 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44200 missing grub_error() call.
44201
0ecef90d 44202 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44203 2.60 and newer uses it to define datadir.
44204
0bf6d401 44205 * commands/sleep.c: Fix warning about implicit declaration.
44206 * disk/memdisk.c: Likewise.
44207 * loader/aout.c: Likewise.
44208 * loader/i386/bsd_normal.c: Likewise.
44209 * util/grub-probe.c: Likewise.
44210
7cdacf97 44211 * commands/i386/cpuid.c (has_longmode): Make static.
44212 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44213 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44214
17c74c21 44215 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44216 GDT. This is more robust, as %ds can change.
44217 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44218 calling real_to_prot().
44219 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44220
80a3e68b 442212008-03-28 Pavel Roskin <proski@gnu.org>
44222
44223 * kern/i386/pc/startup.S: Assert that uncompressed functions
44224 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44225 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44226 code, as they push parts of the code (error handlers) beyond
44227 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44228 code as correctness and size.
44229
77bcd272 442302008-03-28 Pavel Roskin <proski@gnu.org>
44231
44232 * kern/i386/pc/startup.S
44233 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44234 data block address to the real mode, keep offset minimal. This
44235 works around a bug in AWARD BIOS on old Athlon systems, which
44236 makes CD detection hang.
44237
c5dfd43b 442382008-03-26 Pavel Roskin <proski@gnu.org>
44239
44240 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44241 const.
44242 * include/grub/normal.h: Add grub_parse_color_name_pair()
44243 declaration.
44244
bf962df2 442452008-03-24 Bean <bean123ch@gmail.com>
44246
44247 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44248 (cd_count): Removed.
44249 (cd_drive): New variable.
44250 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44251 (grub_biosdisk_call_hook): Likewise.
44252 (grub_biosdisk_iterate): Change cdrom detection method.
44253 (grub_biosdisk_open): Replace cd_start with cd_drive.
44254 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44255 detect cdrom device.
44256
44257 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44258 Removed.
44259 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44260 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44261 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44262 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44263 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44264 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44265 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44266 (grub_biosdisk_cdrp): New structure.
44267 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44268
44269 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44270
44271 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44272 device.
44273
44274 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44275 New function.
44276
68e7fc7a 442772008-03-20 Robert Millan <rmh@aybabtu.com>
44278
44279 Remove 2 TiB limit in ata.mod.
44280 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44281 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44282 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44283 grub_uint64_t instead of grub_uint32_t.
44284
38ad2cf5 442852008-03-05 Bean <bean123ch@gmail.com>
44286
44287 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44288 (grub_multiboot): Set boot device.
44289
44290 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44291
2b89344e 442922008-03-02 Bean <bean123ch@gmail.com>
44293
44294 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44295 symlink_buffer.
44296
87a95d1f 442972008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44298
44299 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44300 texinfo.tex.
44301
44302 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44303 modified.
44304
44305 * docs/fdl.texi: New file.
f19dbdb7 44306
87a95d1f 44307 * docs/mdate-sh: New file. Copied from gnulib.
44308 * docs/texinfo.tex: Likewise.
44309
44310 * config.guess: Updated from gnulib.
44311 * install-sh: Likewise.
44312
7dc15d8e 443132008-02-28 Robert Millan <rmh@aybabtu.com>
44314
44315 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44316 (aout_mod_SOURCES): New variable.
44317 (aout_mod_CFLAGS): Likewise.
44318 (aout_mod_LDFLAGS): Likewise.
44319
44320 * conf/i386-ieee1275.rmk: Likewise.
44321
b00ab696 443222008-02-28 Robert Millan <rmh@aybabtu.com>
44323
44324 * util/update-grub.in: Reorganise terminal validity check. Accept
44325 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44326 Based on suggestion by Franklin PIAT.
44327
79ca2d78 443282008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44329
44330 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44331 function.
44332 * util/getroot.c (grub_util_check_block_device): New function that
44333 returns the given argument if it is a block device and returns NULL else.
44334 * util/grub-probe.c (argument_is_device): New variable.
44335 (probe): Promote device_name from a variable to an argument. Receive
44336 device_name from grub_util_check_block_device() if path is NULL and from
44337 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44338 (options): Introduce new parameter '-d, --device'.
79ca2d78 44339 (main): Add description of the new parameter to the help screen.
44340 Rename path variable to argument. Set argument_is_device if the '-d'
44341 option is given. Pass argument to probe() depending on
44342 argument_is_device.
44343
0d16e571 443442008-02-24 Bean <bean123ch@gmail.com>
44345
44346 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44347 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44348 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44349 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44350 (GRUB_ISO9660_VOLDESC_END): Likewise.
44351 (grub_iso9660_primary_voldesc): New member escape.
44352 (grub_iso9660_data): New member joliet.
44353 (grub_iso9660_convert_string): New function.
44354 (grub_iso9660_mount): Detect joliet extension.
44355 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44356 (grub_iso9660_iso9660_label): Likewise.
44357
44358 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44359 (grub_setup_SOURCES): Add fs/udf.c.
44360 (grub_fstest_SOURCES): Likewise.
44361 (udf_mod_SOURCES): New variable.
44362 (udf_mod_CFLAGS): Likewise.
44363 (udf_mod_LDFLAGS): Likewise.
44364
44365 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44366 (grub_emu_SOURCES): Likewise.
44367
44368 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44369
44370 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44371
44372 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44373
44374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44375
44376 * fs/udf.c: New file.
44377
8a594a17 443782008-02-24 Robert Millan <rmh@aybabtu.com>
44379
44380 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44381 (normal/lexer.c_DEPENDENCIES): New variables.
44382 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44383 (normal/lexer.c_DEPENDENCIES): Likewise.
44384 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44385 (normal/lexer.c_DEPENDENCIES): Likewise.
44386 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44387 (normal/lexer.c_DEPENDENCIES): Likewise.
44388 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44389 (normal/lexer.c_DEPENDENCIES): Likewise.
44390 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44391 (normal/lexer.c_DEPENDENCIES): Likewise.
44392
2dc33c03 443932008-02-23 Robert Millan <rmh@aybabtu.com>
44394
44395 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44396 since they were intended to be in hex. This didn't break previously
44397 because of a bug in gpt_partition_map_iterate() (see below).
44398
44399 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44400 when checking the validity of GPT header.
44401 Remove `partno', since it always provides the same information as `i'.
44402
f6f4cfb0 444032008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44404
44405 * include/grub/efi/time.h: Fix a wrong comment.
44406
79ff665f 444072008-02-19 Pavel Roskin <proski@gnu.org>
44408
44409 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44410 message.
44411
d38e24c2 444122008-02-19 Bean <bean123ch@gmail.com>
44413
44414 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44415 (aout_mod_SOURCES): New variable.
44416 (aout_mod_CFLAGS): Likewise.
44417 (aout_mod_LDFLAGS): Likewise.
44418 (_bsd_mod_SOURCES): New variable.
44419 (_bsd_mod_CFLAGS): Likewise.
44420 (_bsd_mod_LDFLAGS): Likewise.
44421 (bsd_mod_SOURCES): New variable.
44422 (bsd_mod_CFLAGS): Likewise.
44423 (bsd_mod_LDFLAGS): Likewise.
44424
44425 * include/grub/aout.h: New file.
44426
44427 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44428
44429 * include/grub/i386/bsd.h: New file.
44430
44431 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44432 to make it public.
44433
44434 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44435 function is called, so that it's possible to change it inside the hook.
44436 (grub_elf64_load): Likewise.
44437 (grub_elf_file): Don't close the file if elf header is not found.
44438 (grub_elf_close): Close the file if grub_elf_file fails (The new
44439 grub_elf_file won't close it).
44440 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44441 (grub_elf64_size): Likewise.
44442
44443 * kern/i386/loader.S (grub_unix_real_boot): New function.
44444
44445 * loader/aout.c: New file.
44446
44447 * loader/i386/bsd.c: New file.
44448
44449 * loader/i386/bsd_normal.c: New file.
44450
44451 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44452
44453 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44454 can test other formats.
d38e24c2 44455
b93bdb0f 444562008-02-19 Robert Millan <rmh@aybabtu.com>
44457
44458 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44459 (grub_gpt_partition_type_empty): Redefine with macro from
44460 `<grub/gpt_partition.h>'.
44461 (gpt_partition_map_iterate): Adjust partition type comparison.
44462
44463 Export `entry' as partmap-specific `part.data' struct.
44464 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44465
44466 * include/grub/gpt_partition.h (grub_gpt_header)
44467 (grub_gpt_partentry): ... to here (new file).
44468
44469 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44470
44471 (grub_gpt_partition_type_bios_boot): New const variable, defined
44472 with macro from `<grub/gpt_partition.h>'.
44473
44474 (setup): Replace `first_start' with `embed_region', which keeps
44475 track of the embed region (and is partmap-agnostic).
44476
44477 Replace find_first_partition_start() with find_usable_region(),
44478 which finds a usable region for embedding using partmap-specific
44479 knowledge (supports PC/MSDOS and GPT).
44480
44481 Fix all assumptions that the embed region start at sector 1, using
44482 `embed_region.start' from now on. Similarly, use `embed_region.end'
44483 rather than `first_start' to calculate available size.
44484
44485 In grub_util_info() message, replace "into after the MBR" with an
44486 indication of the specific sector our embed region starts at.
44487
66cb40f6 444882008-02-19 Robert Millan <rmh@aybabtu.com>
44489
44490 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44491 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44492 `commands/reboot.c'.
44493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44494 (halt_mod_SOURCES): Likewise.
44495 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44496 (halt_mod_SOURCES): Likewise.
44497
b7202015 444982008-02-17 Christian Franke <franke@computer.org>
44499
44500 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44501
32b0fc49 445022008-02-17 Robert Millan <rmh@aybabtu.com>
44503
44504 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44505 set `first_start' to 0 for non-PC/MSDOS partition maps.
44506
aca63502 445072008-02-16 Robert Millan <rmh@aybabtu.com>
44508
44509 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44510 do not assume partition map is PC/MSDOS before performing checks that
44511 are specific to that layout.
44512
0de8be86 445132008-02-13 Robert Millan <rmh@aybabtu.com>
44514
44515 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44516 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44517 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44518
c3db8364 445192008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44520
44521 * configure.ac: Only a cosmetic change on the handling of
44522 -fno-stack-protector.
44523
f714229e 445242008-02-12 Alexandre Boeglin <alex@boeglin.org>
44525
c3db8364 44526 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44527 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44528 reboot.c.
f714229e 44529 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44530 (halt_mod_SOURCES): New variable.
44531 (halt_mod_CFLAGS): Likewise.
44532 (halt_mod_LDFLAGS): Likewise.
44533 (reboot_mod_SOURCES): Likewise.
44534 (reboot_mod_CFLAGS): Likewise.
44535 (reboot_mod_LDFLAGS): Likewise.
44536
c3db8364 44537 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44538 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44539 reboot.c.
f714229e 44540 (halt_mod_SOURCES): Likewise.
44541 (reboot_mod_SOURCES): Likewise.
44542
c3db8364 44543 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44544 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44545 (reboot_mod_SOURCES): Likewise.
44546
44547 * commands/i386/pc/reboot.c: merge this file ...
44548
44549 * commands/ieee1275/reboot.c: ... and this file ...
44550
44551 * commands/reboot.c: ... to this file.
c3db8364 44552 Add some precompiler directive to include the correct header for
44553 each machine.
f714229e 44554
44555 * commands/ieee1275/halt.c: move this file ...
44556
44557 * commands/halt.c: ... to here.
c3db8364 44558 Add some precompiler directive to include the correct header for
44559 each machine.
f714229e 44560
44561 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44562 (grub_halt): Likewise.
44563
44564 * kern/efi/efi.c (grub_reboot): New function.
44565 (grub_halt): Likewise.
44566
c74493e0 445672008-02-12 Robert Millan <rmh@aybabtu.com>
44568
44569 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44570 /dev (like it is done for /dev/mapper). This doesn't provide support
44571 for EVMS, but at least it is now easy to identify the problem when it
44572 arises.
44573
d0db4b04 445742008-02-11 Robert Millan <rmh@aybabtu.com>
44575
44576 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44577 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44578 comparing it with -1, not 0.
44579
bf748642 445802008-02-10 Robert Millan <rmh@aybabtu.com>
44581
44582 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44583 `disk/lvm.c'.
44584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44585 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44586
44587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44588 `disk/lvm.c' to the end of the list.
44589 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44590 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44591
b5db202a 445922008-02-10 Robert Millan <rmh@aybabtu.com>
44593
44594 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44595 grub_print_error() instead. This will let user know why we're entering
44596 rescue mode.
44597 Based on suggestions from Sam Morris.
44598
83abee31 445992008-02-10 Alexandre Boeglin <alex@boeglin.org>
44600
44601 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44602 on remaining N args, instead of "--" arg N times.
44603
78d5a08b 446042008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44605
44606 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44607 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44608 pattern for unknown glyphs.
44609
68807e5f 446102008-02-09 Robert Millan <rmh@aybabtu.com>
44611
44612 * configure.ac: Probe for `help2man'.
44613 * Makefile.in (builddir): New variable.
44614 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44615 or otherwise add a few flags/options to it.
44616 (install-local): For every executable utility or script that is
44617 installed, invoke $(HELP2MAN) to install a manpage based on --help
44618 output.
44619
44620 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44621 that it doesn't prevent --help from working in build tree.
44622
44623 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44624 with `bug-grub@gnu.org'.
44625 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44626 * util/update-grub.in (usage): New function.
44627 Implement proper argument check, with support for --help and --version
44628 (as well as existing -y).
44629
446302008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44631
44632 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44633 avoid overwriting previous output.
44634 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44635
c1962162 446362008-02-09 Robert Millan <rmh@aybabtu.com>
44637
44638 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44639 drawing the menu.
44640
3dac2e3f 446412008-02-09 Robert Millan <rmh@aybabtu.com>
44642
44643 * commands/sleep.c: New file.
44644 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44645 (sleep_mod_SOURCES): New variable.
44646 (sleep_mod_CFLAGS): Likewise.
44647 (sleep_mod_LDFLAGS): Likewise.
44648
7a634e08 446492008-02-09 Robert Millan <rmh@aybabtu.com>
44650
44651 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44652 situations in which we can deduce the RAID size and the superblock
44653 doesn't match it.
44654
b92f0c18 446552008-02-09 Robert Millan <rmh@aybabtu.com>
44656
44657 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44658 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44659 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44660
44661 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44662 and return a grub_diskmemberlist_t composed of physical array members.
44663 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44664
44665 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44666 prototype.
44667 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44668 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44669 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44670
44671 * util/grub-probe.c (probe): Move partmap probing code from here ...
44672 (probe_partmap): ... to here.
44673 (probe): Use probe_partmap() once for the disk we're probing, and
44674 additionally, when such disk contains a memberlist() struct member,
44675 once for each disk that is contained in the structure returned by
44676 memberlist().
44677
91a4bf68 446782008-02-09 Robert Millan <rmh@aybabtu.com>
44679
44680 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44681 environment variable to 'all' in order to obtain debug output from
44682 non-util/ code.
44683 * util/i386/pc/grub-setup.c (main): Likewise.
44684
a96f9caa 446852008-02-08 Robert Millan <rmh@aybabtu.com>
44686
44687 * disk/raid.c (grub_raid_scan_device): Check for
44688 `array->device[sb.this_disk.number]' rather than for
44689 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44690 guaranteed to be accessible.
a96f9caa 44691
b37a9222 446922008-02-08 Robert Millan <rmh@aybabtu.com>
44693
44694 * disk/raid.c: Update copyright.
44695 * fs/cpio.c: Likewise.
44696 * include/grub/raid.h: Likewise.
44697 * loader/i386/pc/multiboot.c: Likewise.
44698 * util/hostfs.c: Likewise.
44699
5626aee1 447002008-02-08 Robert Millan <rmh@aybabtu.com>
44701
44702 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44703 to a grub_disk_t array.
44704 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44705 `device[x]'.
44706 (grub_raid_scan_device): Replace `device[x].name' accesses with
44707 `device[x]->name'. Simplify initialization of `array->device[x]'.
44708
554f0187 447092008-02-08 Robert Millan <rmh@aybabtu.com>
44710
44711 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44712 grub_dprintf() calls.
44713 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44714 error message.
44715
1ec8425d 447162008-02-07 Christian Franke <franke@computer.org>
44717
44718 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44719 instead of fseek and ftell to support large files.
44720 (grub_hostfs_read): Likewise.
44721
f2156fda 447222008-02-07 Robert Millan <rmh@aybabtu.com>
44723
44724 Patch from Jeroen Dekkers.
44725 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 44726 failure, since successfully reading all array members might not be
f2156fda 44727 required.
44728
9216e0e7 447292008-02-06 Robert Millan <rmh@aybabtu.com>
44730
44731 * util/grub-probe.c (probe): Simplify partmap probing (with the
44732 assumption that the first word up to the underscore equals to
44733 the module name).
44734
b0dfd29a 447352008-02-06 Christian Franke <franke@computer.org>
44736
44737 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
44738 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
44739 last block of a cpio or tar stream.
44740 Check for "TRAILER!!!" instead of any empty data
44741 block to detect last block of a cpio stream.
44742 (grub_cpio_dir): Fix constness of variable np.
44743 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
44744 cpio or tar trailer is detected. This fixes a crash
44745 on open of a non existing file.
44746
c32865bf 447472008-02-05 Bean <bean123ch@gmail.com>
44748
44749 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
44750 address of entry.
44751 (grub_multiboot_load_elf64): Likewise.
44752 (grub_multiboot): Initialize mbi structure.
44753
44754 * util/grub-fstest.c: Don't include unused header file script.h.
44755
fe6b695a 44756 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 44757 of file.
44758 (grub_fstest_SOURCES): Likewise.
44759
409480b7 447602008-02-05 Robert Millan <rmh@aybabtu.com>
44761
44762 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
44763 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
44764 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
44765 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
44766
44767 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
44768 (translation_table): Replace hardcoded values with macros
44769 provided by `<grub/term.h>'.
44770
44771 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
44772 (keyboard_map): Correct/add a few values, with macros provided
44773 by `<grub/term.h>'.
44774 (keyboard_map_shift): Zero values that don't differ from their
44775 `keyboard_map' equivalents.
44776 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
44777 Discard the second scan code that is always sent by Caps lock.
44778 Only use `keyboard_map_shift' when it provides a non-zero value,
44779 otherwise fallback to `keyboard_map'.
44780
99fadbaa 447812008-02-04 Bean <bean123ch@gmail.com>
44782
44783 * Makefile.in (enable_grub_fstest): New variable.
44784
44785 * conf/common.rmk (grub_fstest_init.lst): New rule.
44786 (grub_fstest_init.h): Likewise.
44787 (grub_fstest_init.c): Likewise.
44788 (util/grub-fstest.c_DEPENDENCIES): New variable.
44789 (grub_fstest_SOURCES): Likewise.
44790
44791 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
44792
44793 * util/grub-fstest.c: New file.
44794
bf567c50 447952008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44796
44797 Make grub-setup handle a separate root device.
f19dbdb7 44798
bf567c50 44799 * util/i386/pc/grub-setup.c (setup): Always open the root device,
44800 so that the root device can be compared with the destination
44801 device.
44802 When embedding the core image, if the root and destination devices
44803 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
44804 0xFF.
44805 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 44806
9be6b98b 448072008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44808
44809 Add support for having a grub directory in a different drive. This
44810 is still only the data handling part.
f19dbdb7 44811
9be6b98b 44812 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
44813 (codestart): Save %dh in GRUB_ROOT_DRIVE.
44814 (grub_root_drive): New variable.
44815
44816 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
44817 instead of GRUB_BOOT_DRIVE to construct a device name. Set
44818 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
44819 as it was.
44820
44821 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
44822
44823 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
44824 macro.
44825 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
44826
44827 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
44828 is bogus, because PXE booting does not specify any drive
44829 correctly.
44830
44831 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
44832 am not sure if this is really correct.
44833
44834 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44835 is always identical to the boot drive when booting from a CD.
44836
44837 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44838 longer.
44839 (root_drive): New variable.
44840 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44841 (setup_sectors): Push %dx right after popping it, because %dh will
44842 be modified later.
44843 (copy_buffer): Restore %dx.
44844
e0ca0677 448452008-02-03 Robert Millan <rmh@aybabtu.com>
44846
44847 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44848 use `cdboot.img' for cdrom images.
44849
3b3f6629 448502008-02-03 Robert Millan <rmh@aybabtu.com>
44851
44852 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44853 only setup gfxterm when `font' command has succeeded.
44854
d42b3672 448552008-02-03 Robert Millan <rmh@aybabtu.com>
44856
44857 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44858 (grub_rescue_cmd_multiboot_loader)
44859 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44860
fa370ea6 448612008-02-03 Pavel Roskin <proski@gnu.org>
44862
e0c5dacb 44863 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44864 %edx and %esi from stack only after grub_gate_a20() is called.
44865 grub_gate_a20() clobbers %edx.
44866
f2a76e1d 448672008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44868
44869 * configure.ac (AC_INIT): Bumped to 1.96.
44870
44871 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44872 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44873 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44874 video/readers/png.c.
44875
90fd32d1 448762008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44877
44878 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44879 (cdboot_img_SOURCES): New variable.
44880 (cdboot_img_ASFLAGS): New variable.
44881 (cdboot_img_LDFLAGS): New variable.
44882
44883 * boot/i386/pc/cdboot.S: New file.
44884
44885 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44886 (cd_count): Likewise.
44887 (grub_biosdisk_get_drive): Add support for cd device.
44888 (grub_biosdisk_call_hook): Likewise.
44889 (grub_biosdisk_iterate): Likewise.
44890 (grub_biosdisk_open): Likewise.
44891 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44892 (grub_biosdisk_rw): Support reading from cd device.
44893 (GRUB_MOD_INIT): Iterate cd devices.
44894
44895 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44896 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44897 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44898
44899 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44900
4020aa53 449012008-02-02 Robert Millan <rmh@aybabtu.com>
44902
44903 * commands/read.c: New file.
44904 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44905 (read_mod_SOURCES): New variable.
44906 (read_mod_CFLAGS): Likewise.
44907 (read_mod_LDFLAGS): Likewise.
44908
e03a1132 449092008-02-02 Robert Millan <rmh@aybabtu.com>
44910
44911 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44912 determining whether menu has to be displayed.
44913
58c69220 449142008-02-02 Marco Gerards <marco@gnu.org>
44915
44916 * bus/pci.c: New file.
44917
44918 * include/grub/pci.h: Likewise.
44919
44920 * include/grub/i386/pc/pci.h: Likewise.
44921
44922 * commands/lspci.c: Likewise.
44923
44924 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44925 `lspci.mod'.
44926 (pci_mod_SOURCES): New variable.
44927 (pci_mod_CFLAGS): Likewise.
44928 (pci_mod_LDFLAGS): Likewise.
44929 (lspci_mod_SOURCES): Likewise.
44930 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44931 (lspci_mod_LDFLAGS): Likewise.
58c69220 44932
c004e1b4 449332008-02-02 Bean <bean123ch@gmail.com>
44934
44935 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44936 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44937
44938 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44939 (grub_xfs_btree_node): New structure.
44940 (grub_xfs_btree_root): New structure.
44941 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44942 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44943 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44944 (GRUB_XFS_EXTENT_SIZE): Likewise.
44945 (grub_xfs_read_block): Support btree format type.
44946 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44947 Use directory block as basic unit.
44948
44949 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44950
44951 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44952 __attribute__ ((__regparm__ (1))).
44953
f95562bf 449542008-02-01 Robert Millan <rmh@aybabtu.com>
44955
44956 Correct a mistake in previous commit.
44957
44958 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44959 top.
44960 (normal/command.c_DEPENDENCIES): New variable.
44961
7d31f41f 449622008-02-01 Robert Millan <rmh@aybabtu.com>
44963
44964 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44965 top.
44966 (normal/command.c_DEPENDENCIES): New variable.
44967 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44968 * conf/i386-ieee1275.rmk: Likewise.
44969 * conf/i386-linuxbios.rmk: Likewise.
44970 * conf/i386-pc.rmk: Likewise.
44971 * conf/sparc64-ieee1275.rmk: Likewise.
44972 * conf/powerpc-ieee1275.rmk: Likewise.
44973 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44974
44975 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44976
60b6be74 449772008-02-01 Robert Millan <rmh@aybabtu.com>
44978
44979 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44980 call at beginning of function.
44981
078522ab 449822008-01-31 Pavel Roskin <proski@gnu.org>
44983
44984 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44985 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44986 (grub_mkrescue_SOURCES): Likewise.
078522ab 44987 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44988
ccaa8a5f 449892008-01-30 Robert Millan <rmh@aybabtu.com>
44990
44991 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44992 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44993 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44994 (grub_probe_SOURCES): ... to here.
44995
44996 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44997 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44998 * conf/i386-ieee1275.rmk: Likewise.
44999 * conf/i386-linuxbios.rmk: Likewise.
45000 * conf/powerpc-ieee1275.rmk: Likewise.
45001
ae5a9cd7 450022008-01-30 Tristan Gingold <gingold@free.fr>
45003
45004 * kern/rescue.c: Silently accept empty lines.
45005
70bc2ef2 450062008-01-29 Bean <bean123ch@gmail.com>
45007
45008 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45009 (real_code_2): Code cleanup and change comment style.
45010 (move_memory): Avoid using 32-bit address mode.
45011
6a4d50ea 450122008-01-29 Bean <bean123ch@gmail.com>
45013
45014 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45015 (png_mod_SOURCES): New variable.
45016 (png_mod_CFLAGS): Likewise.
45017 (png_mod_LDFLAGS): Likewise.
45018
45019 * video/readers/png.c: New file.
45020
11cc30ac 450212008-01-28 Robert Millan <rmh@aybabtu.com>
45022
45023 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45024 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45025 `ifndef GRUB_MOD_GAP' hack.
45026 * util/elf/grub-mkimage.c (add_segments): Likewise.
45027
3abc589f 450282008-01-27 Robert Millan <rmh@aybabtu.com>
45029
45030 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45031 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 45032 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 45033
e1907778 450342008-01-27 Robert Millan <rmh@aybabtu.com>
45035
45036 Get grub-emu to build again (including parallel builds).
45037
45038 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45039 Split into ...
45040 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45041 (normal/execute.c_DEPENDENCIES): ... this, ...
45042 (grub-emu_DEPENDENCIES): ... and this.
45043
45044 * conf/i386-efi.rmk: Likewise.
45045 * conf/i386-linuxbios.rmk: Likewise.
45046 * conf/i386-ieee1275.rmk: Likewise.
45047 * conf/powerpc-ieee1275.rmk: Likewise.
45048 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45049
2216b101 450502008-01-27 Robert Millan <rmh@aybabtu.com>
45051
45052 * NEWS: Add a few items.
45053
f75172d9 450542008-01-27 Robert Millan <rmh@aybabtu.com>
45055
45056 Fix parallel builds with grub-emu. Based on earlier commit for
45057 grub-probe and grub-setup.
45058
45059 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45060 (util/grub-emu.c_DEPENDENCIES): ... this.
45061 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45062 (util/grub-emu.c_DEPENDENCIES): ... this.
45063 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45064 (util/grub-emu.c_DEPENDENCIES): ... this.
45065 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45066 (util/grub-emu.c_DEPENDENCIES): ... this.
45067 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45068 (util/grub-emu.c_DEPENDENCIES): ... this.
45069
3f51de77 450702008-01-27 Pavel Roskin <proski@gnu.org>
45071
45072 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45073 to create a gap between _end and the modules added to the image
45074 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45075 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45076 * util/elf/grub-mkimage.c (add_segments): Likewise.
45077
2033f53e 450782008-01-26 Pavel Roskin <proski@gnu.org>
45079
45080 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
45081 just return an error.
45082
22da1f6f 450832008-01-26 Bean <bean123ch@gmail.com>
45084
45085 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
45086 (grub_reiserfs_get_item): Save offset of the next item.
45087 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
45088
2a9525e6 450892008-01-25 Robert Millan <rmh@aybabtu.com>
45090
45091 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45092 make all filesystem sources appear together (possibly fixing omissions
45093 while at it).
45094 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45095 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45096 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45098
45099 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45100 add `kern/file.c'.
45101 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45102 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45103 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45104 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45105
45106 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45107 (probe): Add a sanity check to make sure of our ability to read
45108 requested files when probing for filesystem type.
45109
45110 * genmk.rb: Update copyright year (2007).
45111
45112 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
45113 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
45114 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
45115 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
45116 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
45117 : Remove function prototypes.
45118
b95f71b5 451192008-01-25 Robert Millan <rmh@aybabtu.com>
45120
45121 Revert my previous commits (based on wrong assumption of how grub_errno
45122 works).
45123
fe6b695a 45124 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 45125 * kern/file.c (grub_file_open): Likewise.
45126
d08bbb49 451272008-01-24 Pavel Roskin <proski@gnu.org>
45128
45129 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
45130 that hang if GRUB tries to setup colors.
45131 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
45132 colors for firmwares that don't support it.
45133 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
45134 Recognize Open Hack'Ware, set flags to work around its
45135 limitations.
45136
605e36ed 451372008-01-24 Robert Millan <rmh@aybabtu.com>
45138
45139 * kern/file.c (grub_file_open): Do not account previous failures of
45140 unrelated functions when grub_errno is checked for.
45141 Reported by Oleg Strikov.
45142
bac332a1 451432008-01-24 Bean <bean123ch@gmail.com>
45144
45145 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
45146 (grub_ufs_sblock): New member volume name.
45147 (grub_ufs_find_file): Fix string copy bug.
45148 (grub_ufs_label): Implement this function properly.
45149
45150 * fs/hfs.c (grub_hfs_cnid_type): New enum.
45151 (grub_hfs_iterate_records): Use the correct file number for extents
45152 and catalog file. Fix problem in next index calculation.
45153 (grub_hfs_find_node): Replace recursive function call with loop.
45154 (grub_hfs_iterate_dir): Replace recursive function call with loop.
45155
15c80c09 451562008-01-23 Robert Millan <rmh@aybabtu.com>
45157
45158 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
45159 `<grub/symbol.h>' and `<grub/multiboot.h>'.
45160 (grub_multiboot2_real_boot): New function prototype.
45161
45162 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
45163 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
45164
45165 * kern/i386/ieee1275/init.c (grub_os_area_addr)
45166 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
45167
305338fd 451682008-01-23 Robert Millan <rmh@aybabtu.com>
45169
45170 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
45171 #ifdef'ed out grub_printf().
45172
3ea52685 451732008-01-23 Robert Millan <rmh@aybabtu.com>
45174
45175 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
45176 grub_dprintf calls, since they make "debug=all" mode unusable.
45177 (grub_console_checkkey): Likewise.
45178
5882ae4b 451792008-01-23 Robert Millan <rmh@aybabtu.com>
45180
45181 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
45182 `term/i386/pc/at_keyboard.c'.
45183 (pkglib_MODULES): Add `serial.mod'.
45184 (serial_mod_SOURCES): New variable.
45185 (serial_mod_CFLAGS): Likewise.
45186 (serial_mod_LDFLAGS): Likewise.
45187
45188 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
45189 `<grub/powerpc/ieee1275/console.h>'.
45190 (grub_keyboard_controller_init): New function prototype.
45191 (grub_console_checkkey): Likewise.
45192 (grub_console_getkey): Likewise.
45193
45194 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
45195 keyboard on i386.
45196
45197 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
45198 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45199
06ab5303 452002008-01-23 Robert Millan <rmh@aybabtu.com>
45201
45202 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45203 present, "(memdisk)/boot/grub" becomes the default prefix.
45204
45205 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45206 a memdisk tarball with all the modules. Add --overlay=DIR option that
45207 allows users to overlay additional files into the image.
45208
dbb475a4 452092008-01-23 Robert Millan <rmh@aybabtu.com>
45210
45211 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45212 and `machine/memory.h'.
45213 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45214 (_multiboot_mod_SOURCES): New variable.
45215 (_multiboot_mod_CFLAGS): Likewise.
45216 (_multiboot_mod_LDFLAGS): Likewise.
45217 (multiboot_mod_SOURCES): Likewise.
45218 (multiboot_mod_CFLAGS): Likewise.
45219 (multiboot_mod_LDFLAGS): Likewise.
45220
45221 * include/grub/i386/ieee1275/loader.h: New file.
45222
45223 * include/grub/i386/ieee1275/machine.h: Likewise.
45224
45225 * include/grub/i386/ieee1275/memory.h: Likewise.
45226
45227 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45228 variable declaration.
45229 (grub_os_area_size): Likewise.
45230
45231 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45232 (grub_lower_mem, grub_upper_mem): New variables.
45233 (grub_stop_floppy): New function (just to make
45234 grub_multiboot2_real_boot() happy).
45235
45236 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45237 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45238 (grub_stop): New function.
45239 Include `"../realmode.S"' and `"../loader.S"'.
45240
45241 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45242 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45243
45244 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45245 rely on grub_multiboot2_real_boot() for final boot.
45246
25638629 452472008-01-22 Robert Millan <rmh@aybabtu.com>
45248
45249 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45250 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45251 device that doesn't look like an SD card.
45252 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45253 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45254 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45255 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45256 found.
45257
9dad816d 452582008-01-22 Robert Millan <rmh@aybabtu.com>
45259
45260 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45261 avoid claiming over our own code.
45262
34842f2d 452632008-01-22 Bean <bean123ch@gmail.com>
45264
45265 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45266 (jpeg_mod_SOURCES): New variable.
45267 (jpeg_mod_CFLAGS): Likewise.
45268 (jpeg_mod_LDFLAGS): Likewise.
45269
45270 * video/readers/jpeg.c : New file.
45271
44023a28 452722008-01-22 Bean <bean123ch@gmail.com>
45273
45274 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45275 there are no more items.
45276
bc2d8ac6 452772008-01-21 Robert Millan <rmh@aybabtu.com>
45278
45279 * kern/mm.c (grub_mm_init_region): Improve debug message.
45280
261bd4bc 452812008-01-21 Robert Millan <rmh@aybabtu.com>
45282
45283 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45284 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45285 address.
45286 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45287 a C macro.
45288 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45289 Indicates start of upper memory.
45290 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45291 (generate_image): Abort when image size is big enough to corrupt
45292 upper memory.
45293
45294 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45295 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45296 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45297 instead of hardcoding 0xA0000.
45298 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45299 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45300 instead of hardcoding 0xA0000.
45301
f970b55e 453022008-01-21 Robert Millan <rmh@aybabtu.com>
45303
45304 * disk/memdisk.c (memdisk_size): New variable.
45305 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45306 `memdisk_size'.
45307 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45308 image to dynamic memory.
45309 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45310 `memdisk_size'. Free memdisk block.
45311
1a8b0526 453122008-01-21 Robert Millan <rmh@aybabtu.com>
45313
45314 Fix detection of very small filesystems (like tar).
45315
45316 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45317 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45318 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45319 a problem with this disk).
45320
6e9b4aab 453212008-01-21 Robert Millan <rmh@aybabtu.com>
45322
45323 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45324 on grub_biosdisk_rw_standard() error.
45325
0d8837b2 453262008-01-21 Robert Millan <rmh@aybabtu.com>
45327
45328 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45329 recent changes.
45330 * kern/elf.c: Likewise.
45331 * kern/ieee1275/ieee1275.c: Likewise.
45332 * kern/powerpc/ieee1275/openfw.c: Likewise.
45333 * term/ieee1275/ofconsole.c: Likewise.
45334
ffd36e34 453352008-01-21 Robert Millan <rmh@aybabtu.com>
45336
45337 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45338
3f0093d0 45339 * include/grub/kernel.h (grub_arch_memdisk_addr)
45340 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45341
3f0093d0 45342 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45343 (grub_arch_memdisk_size): ... to here.
ffd36e34 45344
6c391b21 453452008-01-21 Robert Millan <rmh@aybabtu.com>
45346
45347 Mostly based on bugfix from Bean.
45348
45349 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45350 attribute with hook() parameter.
45351 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45352 declaration.
45353 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45354 attribute with hook() parameter.
45355 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45356 declaration.
45357
55a581dc 453582008-01-21 Robert Millan <rmh@aybabtu.com>
45359
45360 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45361 (pkglib_MODULES): Add `memdisk.mod'.
45362 (memdisk_mod_SOURCES): New variable.
45363 (memdisk_mod_CFLAGS): Likewise.
45364 (memdisk_mod_LDFLAGS): Likewise.
45365
45366 * disk/memdisk.c: New file.
45367
45368 * include/grub/disk.h (grub_disk_dev_id): Add
45369 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45370
45371 * include/grub/i386/pc/kernel.h
45372 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45373 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45374 (grub_kernel_image_size): New variable declaration.
45375 (grub_total_module_size): Likewise.
45376 (grub_memdisk_image_size): Likewise.
45377
45378 * include/grub/i386/pc/memory.h
45379 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45380
45381 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45382 (grub_arch_memdisk_addr): New variable declaration.
45383 (grub_arch_memdisk_size): Likewise.
45384
45385 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45386 (grub_arch_memdisk_size): Likewise.
45387
45388 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45389 (codestart): Replace hardcoded `0x100000' with
45390 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45391
45392 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45393 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45394 not NULL, append the contents of the file it refers to, at the end of
45395 the compressed kernel image. Initialize `grub_memdisk_image_size'
45396 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45397 (options): Add "memdisk"|'m' option.
45398 (main): Parse --memdisk|-m option, and pass user-provided path as
45399 parameter to generate_image().
45400
3d7f54c9 454012008-01-20 Robert Millan <rmh@aybabtu.com>
45402
45403 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45404 grub_dprintf() calls from here ...
45405 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45406
0bf74728 454072008-01-20 Robert Millan <rmh@aybabtu.com>
45408
45409 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45410
45411 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45412 declaration.
45413 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45414 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45415 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45416 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45417 property).
45418 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45419 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45420
33bf70a7 454212008-01-19 Robert Millan <rmh@aybabtu.com>
45422
fe6b695a 45423 Get rid of confusing function (superseded by
33bf70a7 45424 `grub_ieee1275_get_integer_property')
45425 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45426 prototype.
45427 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45428 function.
45429 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45430 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45431 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45432
e2da7d26 454332008-01-19 Robert Millan <rmh@aybabtu.com>
45434
45435 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45436 command after "shut-down", since implementations differ on which
45437 the command for halt is.
45438
59f1fd8d 454392008-01-19 Robert Millan <rmh@aybabtu.com>
45440
45441 * include/grub/i386/linuxbios/console.h: Add header protection.
45442 (grub_keyboard_controller_init): New function prototype.
45443 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45444 (KEYBOARD_COMMAND_READ): Likewise.
45445 (KEYBOARD_COMMAND_WRITE): Likewise.
45446 (KEYBOARD_SCANCODE_SET1): Likewise.
45447 (grub_keyboard_controller_write): New function.
45448 (grub_keyboard_controller_read): Likewise.
45449 (grub_keyboard_controller_init): Likewise.
45450
45451 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45452 (grub_console_init): On coreboot/LinuxBIOS, call
45453 grub_keyboard_controller_init().
45454
5f5a7c15 454552008-01-19 Robert Millan <rmh@aybabtu.com>
45456
45457 PowerPC changes provided by Pavel Roskin.
45458
45459 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45460 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45461 don't rely on cmain() doing it.
45462 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45463 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45464
1210e168 454652008-01-16 Robert Millan <rmh@aybabtu.com>
45466
45467 * include/grub/i386/linuxbios/memory.h
45468 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45469 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45470 receive `table_header' as argument. Instead, probe for it in the
45471 known memory ranges where it can be present.
45472 (grub_available_iterate): Do not pass a fixed `table_header' address
45473 to grub_linuxbios_table_iterate().
45474
3d04eab8 454752008-01-15 Robert Millan <rmh@aybabtu.com>
45476
45477 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45478 * conf/i386-ieee1275.rmk: New file.
45479 * include/grub/i386/ieee1275/console.h: Likewise.
45480 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45481 * include/grub/i386/ieee1275/kernel.h: Likewise.
45482 * include/grub/i386/ieee1275/time.h: Likewise.
45483 * kern/i386/ieee1275/init.c: Likewise.
45484 * kern/i386/ieee1275/startup.S: Likewise.
45485
d1bc1b73 454862008-01-15 Robert Millan <rmh@aybabtu.com>
45487
45488 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45489 when pointers are 32-bit (but still do set it to one when they are
45490 64-bit).
45491
66a65807 454922008-01-15 Robert Millan <rmh@aybabtu.com>
45493
45494 * include/grub/ieee1275/ieee1275.h
45495 (grub_ieee1275_get_integer_property): New function prototype.
45496
45497 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45498 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45499 grub_ieee1275_get_property() to handle endianness.
66a65807 45500
45501 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45502 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45503 where appropriate.
66a65807 45504 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45505 (grub_map): Likewise.
45506 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45507
a83ccafd 455082008-01-15 Bean <bean123ch@gmail.com>
45509
45510 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45511 (grub_script_execute_cmdline): Reset grub_errno.
45512
45513 * normal/main.c (read_config_file): Reset grub_errno.
45514
45515 * normal/parse.y (script_init): New.
45516 (script): Move function and menuentry here.
45517 (delimiter): New.
45518 (command): Add delimiter at the end of command.
45519 (commands): Adjust to match the new command.
45520 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45521 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45522 (if): Use the new commands.
45523
45524 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45525
df6ecfc6 455262008-01-15 Robert Millan <rmh@aybabtu.com>
45527
45528 * normal/menu.c (run_menu): Move timeout message from here ...
45529 (print_timeout): ... to here.
45530 (run_menu): Use print_timeout() once during initial draw to print
45531 the whole message, and again in every clock tick to update only
45532 the number of seconds.
45533
87ae25eb 455342008-01-15 Robert Millan <rmh@aybabtu.com>
45535
45536 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45537 actual size of `available' from grub_ieee1275_get_property(), and
45538 restrict parsing to that bound.
45539
47bf09a4 455402008-01-15 Christian Franke <franke@computer.org>
45541
45542 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45543 (argp_program_version): Remove variable.
45544 (argp_program_bug_address): Likewise.
45545 (options): Convert from struct argp_option to struct option.
45546 (struct arguments): Remove.
45547 (parse_opt): Remove.
45548 (usage): New function.
45549 (main): Replace struct args members by simple variables.
45550 Replace argp_parse() by getopt_long().
45551 Add switch to evaluate options.
45552 Add missing "(...)" around root_dev in prefix string.
45553
c86f1469 455542008-01-14 Robert Millan <rmh@aybabtu.com>
45555
45556 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45557 for grub_ieee1275_exit(), in order to improve portability.
45558
e622c559 455592008-01-14 Robert Millan <rmh@aybabtu.com>
45560
45561 * util/grub.d/10_linux.in (prefix): Define.
45562 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45563
44cb1ec8 455642008-01-13 Pavel Roskin <proski@gnu.org>
45565
45566 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45567 grub_errno if no errors have been detected.
45568
1eb8c802 455692008-01-12 Robert Millan <rmh@aybabtu.com>
45570
45571 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45572 (grub_util_get_dev_abstraction): New function prototype.
45573
45574 * util/getroot.c: Include `<grub/util/getroot.h>'
45575 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45576 (grub_util_get_dev_abstraction): ... here (new function).
45577
45578 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45579 `PRINT_ABSTRACTION'.
45580 (probe): Probe for abstraction type when requested.
45581 (main): Understand `--target=abstraction'.
45582
45583 * util/i386/efi/grub-install.in: Add abstraction module to core
45584 image when it is found to be necessary.
45585 * util/i386/pc/grub-install.in: Likewise.
45586 * util/powerpc/ieee1275/grub-install.in: Likewise.
45587
45588 * util/update-grub_lib.in (font_path): Return system path without
45589 converting to GRUB path.
45590 * util/update-grub.in: Convert system path returned by font_path()
45591 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45592 abstraction module is needed for loading fonts (if any). Export
45593 that as `GRUB_PRELOAD_MODULES'.
45594 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45595 insmod commands).
45596
52bd3de9 455972008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45598
45599 Remove some unused code from reiserfs.
f19dbdb7 45600
52bd3de9 45601 * fs/reiserfs.c (struct grub_reiserfs_key)
45602 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45603 (struct grub_reiserfs_node_body): Removed.
45604 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45605 Likewise.
45606 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45607 Likewise.
45608 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45609 Likewise.
45610 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45611 Likewise.
45612 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45613 Likewise.
45614 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45615 Likewise.
45616 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45617 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45618 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45619
2f80039d 456202008-01-10 Robert Millan <rmh@aybabtu.com>
45621
45622 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45623 Determines if a file is garbage left by packaging systems, etc.
45624 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45625 for processing /etc/grub.d scripts.
45626 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45627 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45628 as a condition for processing Linux images.
45629
87888032 456302008-01-10 Pavel Roskin <proski@gnu.org>
45631
45632 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45633 to compile reiserfs.c on PowerPC.
45634
7e54fced 456352008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45636
45637 * kern/device.c (grub_device_iterate): Do not abort device iteration
45638 when one of the devices cannot be opened.
45639 * kern/disk.c (grub_disk_open): Do not account previous failures of
45640 unrelated functions when grub_errno is checked for.
45641
5aa541e6 456422008-01-08 Robert Millan <rmh@aybabtu.com>
45643
45644 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45645 `! grub_linux_is_bzimage', change order of address comparison to make
45646 it more intuitive, and improve "too big zImage" error message.
45647
7076340d 456482008-01-08 Robert Millan <rmh@aybabtu.com>
45649
45650 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45651 `$(update-grub_DATA)'.
45652 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45653 targets.
45654
9ca70333 456552008-01-07 Robert Millan <rmh@aybabtu.com>
45656
45657 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45658 which instruction is modified by grub-setup during installation
45659 (since it wasn't obvious by only looking at this file).
45660
38ccf575 456612008-01-07 Robert Millan <rmh@aybabtu.com>
45662
45663 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45664 listing actual TODO items.
45665
f5db4291 456662008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45667
868967cf 45668 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45669 correctly.
45670 (grub_reiserfs_get_key_offset): Likewise.
45671 (grub_reiserfs_set_key_offset): Likewise.
45672 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45673 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45674
45675 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45676 better to remove the bitfield version completely.
f19dbdb7 45677
868967cf 456782008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45679
f5db4291 45680 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45681 allocated from the heap, due to the fshelp implementation.
45682 (grub_reiserfs_dir): Free NODE, due to the same reason.
45683
492e6d9d 456842008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45685
45686 Mostly from Vincent Pelletier:
f19dbdb7 45687
492e6d9d 45688 * fs/reiserfs.c: New file.
f19dbdb7 45689
492e6d9d 45690 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45691 (reiserfs_mod_SOURCES): New variable.
45692 (reiserfs_mod_CFLAGS): Likewise.
45693 (reiserfs_mod_LDFLAGS): Likewise.
45694
45695 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45696 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45697 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45698 normal/color.c.
45699
9ce3e7c1 457002008-01-06 Robert Millan <rmh@aybabtu.com>
45701
45702 * normal/color.c: Remove `<grub/env.h>'.
45703
f3b58148 457042008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45705
45706 * include/grub/normal.h: Include <grub/env.h>.
45707
7ac3bcfa 457082008-01-05 Robert Millan <rmh@aybabtu.com>
45709
45710 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45711 usage example with `(hd0,1)'.
fb358190 45712 Reported by Samuel Thibault.
7ac3bcfa 45713
c8ee99d7 457142008-01-05 Robert Millan <rmh@aybabtu.com>
45715
45716 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45717 (grub_linux_boot_zimage): Rename to ...
45718 (grub_linux_boot): ... this.
45719 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
45720 (grub_linux_boot_zimage): Conditionalize zImage copy.
45721
45722 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
45723 (grub_linux_boot_bzimage): Remove prototype.
45724 (grub_linux_boot_zimage): Rename to ...
45725 (grub_linux_boot): ... this.
45726
45727 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
45728 (grub_linux_boot): Remove function.
45729
0ece25b1 457302008-01-05 Robert Millan <rmh@aybabtu.com>
45731
45732 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
45733 (grub_env_write_color_highlight): Likewise.
45734 (grub_wait_after_message): Likewise.
45735
45736 * normal/color.c: New file.
45737
45738 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45739 (normal_mod_DEPENDENCIES): Likewise.
45740
45741 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45742 (normal_mod_DEPENDENCIES): Likewise.
45743
45744 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45745 (normal_mod_DEPENDENCIES): Likewise.
45746
45747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
45748 (normal_mod_DEPENDENCIES): Likewise.
45749
45750 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
45751 for waiting after a message is printed.
45752 * normal/main.c (read_config_file): Likewise.
45753 (grub_normal_init): Register grub_env_write_color_normal() and
45754 grub_env_write_color_highlight() hooks. Mark `color_normal' and
45755 `color_highlight' variables as global.
45756
45757 * normal/menu.c (grub_wait_after_message): New function.
45758 (grub_color_menu_normal): New variable. Replaces ...
45759 (GRUB_COLOR_MENU_NORMAL): ... this macro.
45760 (grub_color_menu_highlight): New variable. Replaces ...
45761 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
45762 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
45763 `GRUB_TERM_COLOR_STANDARD'.
45764 (print_message): Use `grub_setcolorstate' to reload colors. Rename
45765 `normal_code' and `highlight_code' to `old_color_normal' and
45766 `old_color_highlight', respectively.
45767 (grub_menu_init_page): Update colors when drawing the menu, based on
45768 `menu_color_normal' and `menu_color_highlight' variables.
45769 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
45770 a message is printed.
45771
182dd4e5 457722008-01-05 Robert Millan <rmh@aybabtu.com>
45773
45774 * kern/env.c (grub_env_context_open): Propagate hooks for global
45775 variables to new context.
45776
45777 * kern/main.c (grub_set_root_dev): Export `root' variable.
45778
ddf8f6ad 457792008-01-05 Robert Millan <rmh@aybabtu.com>
45780
45781 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 45782 discs unconditionally, since udev and others have options to provide
ddf8f6ad 45783 them.
45784
d8b43d9b 457852008-01-05 Robert Millan <rmh@aybabtu.com>
45786
45787 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
45788
2bff2de3 457892008-01-04 Christian Franke <franke@computer.org>
45790
45791 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
45792 of eisa_mmap.
45793
97eab917 457942008-01-03 Pavel Roskin <proski@gnu.org>
45795
45796 * kern/i386/linuxbios/init.c: Put "void" to all function
45797 declarations with no arguments.
45798 * kern/powerpc/ieee1275/init.c: Likewise.
45799 * term/i386/pc/at_keyboard.c: Likewise.
45800 * term/i386/pc/vga_text.c: Likewise.
45801 * util/grub-mkdevicemap.c: Likewise.
45802
b9416d00 458032008-01-02 Robert Millan <rmh@aybabtu.com>
45804
45805 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
45806 message when loaded image is out of bounds.
45807 (grub_multiboot_load_elf64): Likewise.
45808
92695df9 458092008-01-02 Pavel Roskin <proski@gnu.org>
45810
45811 * util/grub.d/10_linux.in: Try version without ".old" when
45812 looking for initrd. It's better to use initrd from the newer
45813 kernel of the same version than no initrd at all.
45814
d98d9cad 458152008-01-01 Robert Millan <rmh@aybabtu.com>
45816
45817 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
45818
dbfdce36 458192008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
45820
f19dbdb7 45821 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 45822 grub_video_get_active_render_target.
45823 (grub_video_adapter): Added unmap_color and get_active_render_target.
45824
f19dbdb7 45825 * video/video.c: Added grub_video_unmap_color and
dbfdce36 45826 grub_video_get_active_render_target.
45827 (grub_video_get_info): Changed method to accept NULL pointer as an
45828 argument to allow detection of active video adapter.
45829
45830 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
45831 grub_video_vbe_unmap_color_int.
45832 Added grub_video_vbe_unmap_color and
45833 grub_video_vbe_get_active_render_target.
45834 (grub_video_vbe_adapter): Added unmap_color and
45835 get_active_render_target.
45836
f19dbdb7 45837 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45838 with grub_video_vbe_unmap_color_int.
45839
45840 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45841 (DEFAULT_NORMAL_COLOR): Likewise.
45842 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45843 (DEFAULT_FG_COLOR): Removed.
45844 (DEFAULT_BG_COLOR): Likewise.
45845 (DEFAULT_CURSOR_COLOR): Changed value.
45846 (grub_virtual_screen): Added standard_color_setting,
45847 normal_color_setting, highlight_color_setting and term_color.
45848 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45849 (bitmap_width): Added.
45850 (bitmap_height): Likewise.
45851 (bitmap): Likewise.
45852 (set_term_color): Likewise.
45853 (grub_virtual_screen_setup): Changed to use new terminal coloring
45854 settings.
45855 (grub_gfxterm_init): Added init for bitmap.
45856 (grub_gfxterm_fini): Added destroy for bitmap.
45857 (redraw_screen_rect): Updated to use background bitmap and new
45858 terminal coloring.
45859 (scroll_up): Added optimization for case when there is no bitmap.
45860 (grub_gfxterm_cls): Fixed to use correct background color.
45861 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45862 coloring.
45863 (grub_virtual_screen_setcolor): Likewise.
45864 (grub_virtual_screen_getcolor): Added.
45865 (grub_gfxterm_background_image_cmd): Likewise.
45866 (grub_video_term): Added setcolor and getcolor.
45867 (MOD_INIT): Added registration of background_image command.
45868 (MOD_TERM): Added unregistration for background_image command.
45869
c3c20931 458702007-12-30 Pavel Roskin <proski@gnu.org>
45871
45872 * loader/multiboot_loader.c: Fix multiboot command
45873 unregistration. Fix all typos in the word "multiboot".
45874
df266716 458752007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45876
45877 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45878 support for initrd names used in Fedora.
45879
fc6e896c 458802007-12-26 Bean <bean123ch@gmail.com>
45881
45882 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45883 (cpio_mod_SOURCES): New variable.
45884 (cpio_mod_CFLAGS): Likewise.
45885 (cpio_mod_LDFLAGS): Likewise.
45886
45887 * fs/cpio.c: New file.
45888
45889 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45890
45891 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45892
45893 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45894
45895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45896
533110ad 458972007-12-25 Robert Millan <rmh@aybabtu.com>
45898
45899 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45900 (grub_getcolor): New function.
45901
45902 * kern/term.c (grub_getcolor): New function.
45903 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45904 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45905 (print_entry): Set normal and highlight colors to
45906 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45907 respectively, before printing and restore them to old
45908 values afterwards.
45909 (grub_menu_init_page): Likewise. Fill an additional colored space
45910 that would otherwise be left blank.
45911
45912 * term/efi/console.c (grub_console_getcolor): New function.
45913 (struct grub_console_term.getcolor): New variable.
45914 * term/i386/pc/console.c (grub_console_getcolor): New function.
45915 (struct grub_console_term.getcolor): New variable.
45916 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45917 (struct grub_console_term.getcolor): New variable.
45918
45919 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45920 (struct grub_console_term.setcolor): Remove variable.
45921 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45922 (struct grub_console_term.setcolor): Remove variable.
45923 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45924 (struct grub_console_term.setcolor): Remove variable.
45925 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45926 (struct grub_console_term.setcolor): Remove variable.
45927
4931827f 459282007-12-25 Robert Millan <rmh@aybabtu.com>
45929
45930 * configure.ac: Search for possible unifont.hex locations, and
45931 define UNIFONT_HEX if found.
45932
45933 * Makefile.in (UNIFONT_HEX): Define variable.
45934 (DATA): Rename to ...
45935 (PKGLIB): ... this. Update all users.
45936 (PKGDATA): New variable.
45937 (pkgdata_IMAGES): Rename to ...
45938 (pkglib_IMAGES): ... this. Update all users.
45939 (pkgdata_MODULES): Rename to ...
45940 (pkglib_MODULES): ... this. Update all users.
45941 (pkgdata_PROGRAMS): Rename to ...
45942 (pkglib_PROGRAMS): ... this. Update all users.
45943 (pkgdata_DATA): Rename to ...
45944 (pkglib_DATA): ... this. Update all users.
45945 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45946 (unicode.pff, ascii.pff): New rules.
45947 (all-local): Add `$(PKGDATA)' dependency.
45948 (install-local): Process `$(PKGDATA)'.
45949
45950 * util/update-grub_lib.in (font_path): Search for *.pff files in
45951 a few more locations, including `${pkgdata}'.
45952
57e57e31 459532007-12-23 Robert Millan <rmh@aybabtu.com>
45954
45955 Patch from Bean <bean123ch@gmail.com>:
45956 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45957 `size'.
45958
4bc72aa9 459592007-12-21 Bean <bean123ch@gmail.com>
45960
45961 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45962 (ntfscomp_mod_SOURCES): New variable.
45963 (ntfscomp_mod_CFLAGS): Likewise.
45964 (ntfscomp_mod_LDFLAGS): Likewise.
45965
45966 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45967 (grub_probe_SOURCES): Likewise.
45968 (grub_emu_SOURCES): Likewise.
45969
45970 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45971 (grub_emu_SOURCES): Likewise.
45972
45973 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45974 (grub_emu_SOURCES): Likewise.
45975
45976 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45977 (grub_emu_SOURCES): Likewise.
45978
45979 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45980 (read_run_list): Renamed to grub_ntfs_read_run_list.
45981 (decomp_nextvcn): Moved to ntfscomp.c.
45982 (decomp_getch): Likewise.
45983 (decomp_get16): Likewise.
45984 (decomp_block): Likewise.
45985 (read_block): Likewise.
45986 (read_data): Partially moved to ntfscomp.c.
45987 (fixup): Change unsigned to grub_uint16_t.
45988 (read_mft): Change unsigned long to grub_uint32_t.
45989 (read_attr): Likewise.
45990 (read_data): Likewise.
45991 (read_run_data): Likewise.
45992 (read_run_list): Likewise.
45993 (read_mft): Likewise.
45994
45995 * fs/ntfscomp.c: New file.
45996
45997 * include/grub/ntfs.h: New file.
45998
af680a87 459992007-12-16 Robert Millan <rmh@aybabtu.com>
46000
46001 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46002 IDE disk check, since Linux is known to support 20 IDE disks.
46003 Reported by Colin Watson.
46004
84be7599 460052007-12-15 Bean <bean123ch@gmail.com>
46006
46007 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46008 (lnxboot_img_SOURCES): New variable.
46009 (lnxboot_img_ASFLAGS): Likewise.
46010 (lnxboot_img_LDFLAGS): Likewise.
46011
46012 * boot/i386/pc/lnxboot.S: New file.
46013
6af9db01 460142007-11-24 Pavel Roskin <proski@gnu.org>
46015
46016 * configure.ac: Test if '--build-id=none' is supported by the
46017 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46018 objcopy to generate incorrect binary files (binutils
46019 2.17.50.0.18-1 as shipped by Fedora 8).
46020 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46021 linking, so that build ID doesn't break the test.
46022
7361cfe6 460232007-11-24 Pavel Roskin <proski@gnu.org>
46024
46025 * include/grub/i386/time.h: use "void" in the argument list
46026 of grub_cpu_idle().
46027 * include/grub/powerpc/time.h: Likewise.
46028 * include/grub/sparc64/time.h: Likewise.
46029
1593e10c 460302007-11-18 Christian Franke <franke@computer.org>
46031
46032 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46033 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46034 This fixes the problem that function keys did not work in grub-emu.
46035
3b8db1a8 460362007-11-18 Christian Franke <franke@computer.org>
46037
46038 * disk/host.c (grub_host_open): Remove attribute unused from
46039 name parameter. Add check for "host". This fixes the problem
46040 that grub-emu does not find partitions.
46041
2e29408d 460422007-11-18 Christian Franke <franke@computer.org>
46043
46044 * util/hostfs.c (is_dir): New function.
46045 (grub_hostfs_dir): Handle missing dirent.d_type case.
46046 (grub_hostfs_read): Add missing fseek().
46047 (grub_hostfs_label): Clear label pointer. This fixes a crash
46048 of grub-emu on "ls (host)".
46049
398cd047 460502007-11-18 Christian Franke <franke@computer.org>
46051
46052 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46053 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46054 to 64 bit boundary by default.
46055
c405c391 460562007-11-18 Bean <bean123ch@gmail.com>
46057
46058 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46059 (hexdump_mod_SOURCES): New variable.
46060 (hexdump_mod_CFLAGS): Likewise.
46061 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 46062
c405c391 46063 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46064
46065 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46066
46067 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46068
46069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46070
46071 * include/grub/hexdump.h: New file.
46072
46073 * commands/hexdump.c: New file.
46074
5cced7fd 460752007-11-10 Robert Millan <rmh@aybabtu.com>
46076
46077 * commands/i386/pc/play.c (beep_off): Switch order of arguments
46078 in grub_outb() calls.
46079 (beep_on): Likewise.
46080
8b714eb0 460812007-11-10 Christian Franke <franke@computer.org>
46082
46083 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
46084 (grub_menu_run): Likewise.
46085
ce0f1839 460862007-11-10 Robert Millan <rmh@aybabtu.com>
46087
46088 * include/grub/i386/efi/machine.h: New file.
46089 * include/grub/i386/linuxbios/machine.h: Likewise.
46090 * include/grub/i386/pc/machine.h: Likewise.
46091 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46092 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46093
46094 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46095 (serial_hw_io_addr): New variable.
46096 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46097 instead of `(unsigned short *) 0x400'.
46098
270c237d 460992007-11-10 Bean <bean123ch@gmail.com>
46100
46101 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46102
a87783bf 461032007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46104
46105 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46106 (vga_mod_SOURCES): Added.
46107 (vga_mod_CFLAGS): Likewise.
46108 (vga_mod_LDFLAGS): Likewise.
46109
46110 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46111 grub_outb() calls.
46112 (set_map_mask): Likewise.
46113 (set_read_map): Likewise.
46114 (set_read_address): Likewise.
46115 (vga_font): Removed variable.
46116 (get_vga_glyph): Removed function.
46117 (invalidate_char): Likewise.
46118 (write_char): Changed to use grub_font_get_glyph() for font
46119 information.
46120 (grub_vga_putchar): Likewise.
46121 (grub_vga_getcharwidth): Likewise.
46122
6433b448 461232007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46124
46125 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
46126 flags.
46127 (pxeboot_img_LDFLAGS): Likewise.
46128 (diskboot_img_LDFLAGS): Likewise.
46129 (kernel_img_LDFLAGS): Likewise.
46130
49178511 461312007-11-06 Robert Millan <rmh@aybabtu.com>
46132
46133 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
46134 in grub_outb() calls.
46135 (serial_hw_init): Likewise.
46136
53b052de 461372007-11-05 Robert Millan <rmh@aybabtu.com>
46138
46139 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
46140 spaces. Skip non-regular files.
46141
5ab33bba 461422007-11-05 Robert Millan <rmh@aybabtu.com>
46143
46144 * kern/disk.c (grub_disk_firmware_fini)
46145 (grub_disk_firmware_is_tainted): New variables.
46146
46147 * include/grub/disk.h (grub_disk_firmware_fini)
46148 (grub_disk_firmware_is_tainted): Likewise.
46149
46150 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
46151 (grub_disk_biosdisk_fini): ... to here.
46152 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
46153 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
46154 is set. Register grub_disk_biosdisk_fini() in
46155 `grub_disk_firmware_fini'.
46156
46157 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
46158 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
46159 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
46160 to finish existing firmware disk interface.
46161
46162 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
46163 (ata_mod_SOURCES): New variable.
46164 (ata_mod_CFLAGS): Likewise.
46165 (ata_mod_LDFLAGS): Likewise.
46166
0149ab7c 461672007-11-05 Robert Millan <rmh@aybabtu.com>
46168
46169 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
46170 (grub_ata_wait): Reimplement using grub_millisleep().
46171
46172 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
46173 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
46174
be7ac41e 461752007-11-03 Marco Gerards <marco@gnu.org>
46176
46177 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
46178 (CRTC_ADDR_PORT): New macro.
46179 (CRTC_DATA_PORT): Likewise.
46180 (CRTC_CURSOR): Likewise.
46181 (CRTC_CURSOR_ADDR_HIGH): Likewise.
46182 (CRTC_CURSOR_ADDR_LOW): Likewise.
46183 (update_cursor): New function.
46184 (grub_console_real_putchar): Call `update_cursor'.
46185 (grub_console_gotoxy): Likewise.
46186 (grub_console_cls): Set the default color when clearing the
46187 screen.
46188 (grub_console_setcursor): Implemented.
46189
bb06ab2e 461902007-11-03 Marco Gerards <marco@gnu.org>
46191
46192 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
46193 become activate.
46194 (grub_ata_pio_write): Likewise.
46195
46196 (grub_atapi_identify): Wait after issuing an ATA command.
46197 (grub_atapi_packet): Likewise.
46198 (grub_ata_identify): Likewise.
46199 (grub_ata_readwrite): Likewise.
46200
cf8f780b 462012007-11-03 Marco Gerards <marco@gnu.org>
46202
46203 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46204 (grub_ata_pio_write): Likewise.
46205 (grub_ata_readwrite): Use `grub_error', instead of
46206 returning `grub_errno'.
46207
ed649e54 462082007-11-03 Marco Gerards <marco@gnu.org>
46209
46210 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46211 grub_ata_pio_write once for every single sector, instead of for
46212 multiple sectors.
46213
ca25d8f0 462142007-10-31 Robert Millan <rmh@aybabtu.com>
46215
46216 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46217
46218 * conf/i386-linuxbios.rmk: New file.
46219
46220 * kern/i386/pc/hardware.c: Likewise.
46221 * term/i386/pc/at_keyboard.c: Likewise.
46222 * term/i386/pc/vga_text.c: Likewise.
46223
46224 * include/grub/i386/linuxbios/boot.h: Likewise.
46225 * include/grub/i386/linuxbios/console.h: Likewise.
46226 * include/grub/i386/linuxbios/init.h: Likewise.
46227 * include/grub/i386/linuxbios/kernel.h: Likewise.
46228 * include/grub/i386/linuxbios/loader.h: Likewise.
46229 * include/grub/i386/linuxbios/memory.h: Likewise.
46230 * include/grub/i386/linuxbios/serial.h: Likewise.
46231 * include/grub/i386/linuxbios/time.h: Likewise.
46232
46233 * kern/i386/linuxbios/init.c: Likewise.
46234 * kern/i386/linuxbios/startup.S: Likewise.
46235 * kern/i386/linuxbios/table.c: Likewise.
46236
e911ecc1 462372007-10-31 Marco Gerards <marco@gnu.org>
46238
46239 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46240 (ata_mod_SOURCES): New variable.
46241 (ata_mod_CFLAGS): Likewise.
46242 (ata_mod_LDFLAGS): Likewise.
46243
46244 * disk/ata.c: New file.
46245
46246 * include/grub/disk.h (grub_disk_dev_id): Add
46247 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 46248
7f66d0e0 462492007-10-31 Robert Millan <rmh@aybabtu.com>
46250
46251 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46252 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46253
46254 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46255 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46256
46257 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46258 `<grub/types.h>'.
46259
46260 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46261
5cd7dd46 462622007-10-27 Robert Millan <rmh@aybabtu.com>
46263
3236ca65 46264 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 46265
2ebfc90f 462662007-10-22 Robert Millan <rmh@aybabtu.com>
46267
46268 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46269 `"../realmode.S"'.
46270 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46271
73fcb0f3 462722007-10-22 Robert Millan <rmh@aybabtu.com>
46273
46274 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46275 (pkgdata_MODULES): Add `biosdisk.mod'.
46276 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46277 variables.
46278
46279 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46280 (grub_biosdisk_init): Replace with ...
46281 (GRUB_MOD_INIT(biosdisk)): ... this.
46282 (grub_biosdisk_fini): Replace with ...
46283 (GRUB_MOD_FINI(biosdisk)): ... this.
46284
46285 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46286 (grub_machine_init): Remove call to grub_biosdisk_init().
46287 (grub_machine_fini): Remove call to grub_machine_fini().
46288
46289 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46290
3381d274 462912007-10-22 Robert Millan <rmh@aybabtu.com>
46292
46293 * include/grub/time.h: New file.
46294 * include/grub/i386/time.h: Likewise.
46295 * include/grub/powerpc/time.h: Likewise.
46296 * include/grub/sparc64/time.h: Likewise.
46297
46298 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46299 instances to ...
46300 (KERNEL_MACHINE_TIME_HEADER): ... this.
46301 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46302 instances to ...
46303 (KERNEL_MACHINE_TIME_HEADER): ... this.
46304 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46305 instances to ...
46306 (KERNEL_MACHINE_TIME_HEADER): ... this.
46307
46308 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46309 (grub_millisleep): New function.
46310 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46311 (grub_millisleep): New function.
46312 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46313 Remove `grub/machine/time.h' include.
46314 (grub_millisleep): New function.
46315 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46316 Remove `grub/machine/time.h' include.
46317 (grub_millisleep): New function.
46318
46319 * include/grub/misc.h (grub_div_roundup): New function.
46320
46321 * kern/misc.c: Include `<grub/time.h>'.
46322 (grub_millisleep_generic): New function.
46323
46324 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46325 Add `time.h'.
46326 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46327 Add `time.h'.
46328 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46329 `machine/time.h'. Add `time.h'.
46330 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46331
a39a0312 463322007-10-21 Robert Millan <rmh@aybabtu.com>
46333
46334 * include/grub/misc.h (grub_max): New function.
46335
2aad70e2 463362007-10-21 Robert Millan <rmh@aybabtu.com>
46337
46338 * util/misc.c (grub_util_info): Call fflush() before returning.
46339
54b71c4b 463402007-10-20 Robert Millan <rmh@aybabtu.com>
46341
46342 * genmk.rb (Image): Copy `extra_flags' from here ...
46343 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46344
46345 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46346 to `argc' and `args' arguments.
46347
a979f513 463482007-10-17 Robert Millan <rmh@aybabtu.com>
46349
46350 * kern/i386/loader.S: New file.
46351
46352 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46353 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46354 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46355 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46356 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46357 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46358 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46359 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46360 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46361 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46362 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46363 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46364 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46365 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46366
46367 * kern/i386/realmode.S: New file.
46368
46369 * kern/i386/pc/startup.S (protstack): Moved from here ...
46370 * kern/i386/realmode.S (protstack)... to here.
46371 * kern/i386/pc/startup.S (gdt): Moved from here ...
46372 * kern/i386/realmode.S (gdt)... to here.
46373 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46374 * kern/i386/realmode.S (prot_to_real)... to here.
46375
46376 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46377 `kern/i386/realmode.S'.
46378
825fc8fd 463792007-10-17 Robert Millan <rmh@aybabtu.com>
46380
46381 * include/grub/i386/loader.h: New file.
46382
46383 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46384 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46385 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46386 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46387 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46388 * include/grub/i386/loader.h (grub_linux_prot_size)
46389 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46390 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46391 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46392 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46393
46394 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46395
e179b2f4 463962007-10-15 Robert Millan <rmh@aybabtu.com>
46397
46398 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46399 filesystem when dev->disk is unset.
46400 Do probe for filesystem even when dev->disk->has_partitions is set.
46401 In case a filesystem is found, always report it.
46402 In case it isn't, if dev->disk->has_partitions is set, report that
46403 a partition table was found instead of reporting that no filesystem
46404 could be identified.
46405
5db82af6 464062007-10-12 Robert Millan <rmh@aybabtu.com>
46407
46408 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46409 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46410
68f6ac74 46411 * include/grub/types.h (grub_host_to_target16): New macro.
46412 (grub_host_to_target32): Likewise.
46413 (grub_host_to_target64): Likewise.
46414 (grub_target_to_host16): Likewise.
46415 (grub_target_to_host32): Likewise.
46416 (grub_target_to_host64): Likewise.
5db82af6 46417
46418 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46419 Renamed from to ...
46420 (GRUB_MOD_ALIGN): ...this. Update all users.
46421
68f6ac74 46422 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46423 grub_host_to_target32.
46424 Replace grub_be_to_cpu32 with grub_target_to_host32.
46425 (load_modules): Likewise.
46426 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46427 Replace grub_be_to_cpu32 with grub_target_to_host32.
46428 Replace grub_cpu_to_be16 with grub_host_to_target16.
46429 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46430
3cf497cc 464312007-10-12 Robert Millan <rmh@aybabtu.com>
46432
46433 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46434 * util/elf/grub-mkimage.c: ... here.
46435
46436 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46437 `util/powerpc/ieee1275/grub-mkimage.c'.
46438
c8cc3692 464392007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46440
c8cc3692 46441 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46442 and make it easier to figure out.
46443 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46444 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46445 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46446 leave us with less than HEAP_MIN_SIZE total heap.
46447 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46448
5c58b791 464492007-10-03 Robert Millan <rmh@aybabtu.com>
46450
46451 * include/grub/i386/io.h: New file.
46452 * commands/i386/pc/play.c (inb): Removed.
46453 (outb): Removed.
46454 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46455 with grub_outb().
afcd2ef8 46456 * term/i386/pc/serial.c (inb): Removed.
46457 (outb): Removed.
46458 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46459 with grub_outb().
46460 * term/i386/pc/vga.c (inb): Removed.
46461 (outb): Removed.
46462 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46463 with grub_outb().
5c58b791 46464
1a477ed6 464652007-10-02 Robert Millan <rmh@aybabtu.com>
46466
46467 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46469 Reported by Marcin Kurek.
46470
6b5d80fa 464712007-09-07 Robert Millan <rmh@aybabtu.com>
46472
46473 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46474 SmartFirmware version updates (as released by Sven Luther), and avoid
46475 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46476 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46477 known broken.
46478
5618afbf 464792007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46480
46481 From Hitoshi Ozeki:
46482 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46483 when merging two regions.
46484
6139dcd9 464852007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46486
508e39ee 46487 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46488 * normal/completion.c (grub_normal_do_completion): Likewise.
46489 Reported by Hitoshi Ozeki.
46490
464912007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46492
6139dcd9 46493 Do not use devices at boot in chainloading.
f19dbdb7 46494
6139dcd9 46495 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46496 (boot_part_addr): Likewise.
46497 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46498 with BOOT_DRIVE and BOOT_PART_ADDR.
46499 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46500 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46501
38da6516 465022007-08-29 Robert Millan <rmh@aybabtu.com>
46503
46504 Patch from Simon Peter <dn.tlp@gmx.net>:
46505 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46506 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46507 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46508 util/i386/pc/grub-setup.c_DEPENDENCIES.
46509 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46510 util/grub-probe.c_DEPENDENCIES.
46511 * conf/powerpc-ieee1275.rmk: Likewise.
46512
29d0928c 465132007-08-28 Robert Millan <rmh@aybabtu.com>
46514
46515 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46516 to tell grub-mkdevicemap how to name devices.
46517 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46518 feature).
46519
46520 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46521 util/i386/get_disk_name.c.
46522 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46523 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46524 util/ieee1275/get_disk_name.c.
46525
46526 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46527
46528 * DISTLIST: Add util/i386/get_disk_name.c and
46529 util/ieee1275/get_disk_name.c.
46530
46531 * util/grub-mkdevicemap.c: Replace device naming logic with
46532 grub_util_get_disk_name() calls.
46533
5a0d3cca 465342007-08-20 Robert Millan <rmh@aybabtu.com>
46535
46536 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46537 (so that it works for both plural and singular quantities).
46538
8b72db2f 465392007-08-05 Robert Millan <rmh@aybabtu.com>
46540
46541 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46542 so that [xz] isn't taken into account when determining order.
46543
352466bf 465442007-08-02 Marco Gerards <marco@gnu.org>
46545
46546 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46547 `include/multiboot2.h', `include/grub/elfload.h',
46548 `include/multiboot.h', `include/grub/multiboot.h',
46549 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46550 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46551 `kern/elf.c', `loader/multiboot_loader.c',
46552 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46553 `loader/i386/pc/multiboot2.c',
46554 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46555 `util/i386/pc/grub-mkrescue.in'. Remove
46556 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46557 `include/grub/i386/pc/util/biosdisk.h' and
46558 `include/grub/powerpc/ieee1275/multiboot.h'.
46559
8f096014 465602007-08-02 Bean <bean123ch@gmail.com>
46561
46562 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46563 (ntfs_mod_SOURCES): New variable.
46564 (ntfs_mod_CFLAGS): Likewise.
46565 (ntfs_mod_LDFLAGS): Likewise.
46566
46567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46568 (grub_probe_SOURCES): Likewise.
46569 (grub_emu_SOURCES): Likewise.
46570
46571 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46572 (grub_emu_SOURCES): Likewise.
46573
46574 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46575 (grub_emu_SOURCES): Likewise.
f19dbdb7 46576
8f096014 46577 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46578
46579 * fs/ntfs.c: New file.
46580
9959f7db 465812007-08-02 Bean <bean123ch@gmail.com>
46582
46583 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46584
46585 * file.h (grub_file): Likewise.
46586
46587 * fshelp.h (grub_fshelp_read_file): Likewise.
46588
46589 * util/i386/pc/grub-setup.c (setup): Likewise.
46590 (save_first_sector): Likewise.
46591 (save_blocklists): Likewise.
f19dbdb7 46592
9959f7db 46593 * fs/affs.c (grub_affs_read_file): Likewise.
46594
46595 * fs/ext2.c (grub_ext2_read_file): Likewise.
46596
46597 * fs/fat.c (grub_fat_read_data): Likewise.
46598
46599 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46600
46601 * fs/hfs.c (grub_hfs_read_file): Likewise.
46602
46603 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46604
46605 * fs/jfs.c (grub_jfs_read_file): Likewise.
46606
46607 * fs/minix.c (grub_minix_read_file): Likewise.
46608
46609 * fs/sfs.c (grub_sfs_read_file): Likewise.
46610
46611 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46612
9959f7db 46613 * fs/xfs.c (grub_xfs_read_file): Likewise.
46614
46615 * command/blocklist.c (read_blocklist): Likewise.
46616 (print_blocklist): Likewise.
46617
0a203f83 466182007-08-02 Marco Gerards <marco@gnu.org>
46619
46620 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46621 `util/hostfs.c'.
46622
46623 * disk/host.c: New file.
46624
46625 * util/hostfs.c: Likewise.
46626
46627 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46628 return `GRUB_ERR_BAD_FS'.
46629 * fs/sfs.c (grub_sfs_mount): Likewise.
46630 * fs/xfs.c (grub_xfs_mount): Likewise.
46631
46632 * include/grub/disk.h (enum grub_disk_dev_id): Add
46633 `GRUB_DISK_DEVICE_HOST_ID'.
46634
46635 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46636
e5dfe777 466372007-07-24 Jerone Young <jerone@gmail.com>
46638
f19dbdb7 46639 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46640 modules for compilation.
46641 * conf/powerpc-ieee1275.rmk: Likewise.
46642
46643 * include/multiboot.h: Move multiboot definitions to one file. Rename
46644 many definitions to not get grub specific.
46645 * include/multiboot2.h: Create header with multiboot 2 definitions.
46646 * include/grub/multiboot.h: Header for grub specific function
46647 prototypes and definitions.
46648 * include/grub/multiboot2.h: Likewise.
46649 * include/grub/multiboot_loader.h: Likewise.
46650 * include/grub/i386/pc/multiboot.h: Removed.
46651 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46652
46653 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46654 and 2 to allow for one multiboot and module commands.
46655 * loader/multiboot2.c: Add multiboot2 functionality.
46656 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46657 and definition names.
46658 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46659 2 functions.
46660 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46661 ieee1275 specific multiboot2 code.
46662
46663 * kern/i386/pc/startup.S: Change headers and definition names for
46664 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46665
daf0f0ba 466662007-07-22 Robert Millan <rmh@aybabtu.com>
46667
46668 * geninitheader.sh: Process file specified in first parameter rather
46669 than hardcoding grub_modules_init.lst.
fe6b695a 46670 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46671 than hardcoding grub_modules_init.h.
46672
46673 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46674 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46675 grub_probe_init.[ch] and grub_setup_init.[ch].
46676
46677 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46678 grub_modules_init.h with grub_emu_init.h.
46679 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46680 grub_probe_init.[ch] files.
46681 * conf/i386-efi.rmk: Likewise.
46682 * conf/i386-pc.rmk: Likewise.
46683 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46684 grub_setup_init.[ch] files.
46685
46686 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46687 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46688 to initialize modules rather than a list of hardcoded functions.
46689 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46690 grub_init_all() to initialize modules rather than a list of hardcoded
46691 functions.
46692
54cdc1cc 466932007-07-22 Robert Millan <rmh@aybabtu.com>
46694
46695 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46696 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46697
ad0686cc 466982007-07-22 Robert Millan <rmh@aybabtu.com>
46699
46700 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46701 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46702 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46703 flag when running on SmartFirmware.
46704 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46705 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46706 was set.
46707
46708 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46709 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46710 rather than decreasing it.
46711
46712 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46713 there's not enough space to do it, fail in the same way as when it
46714 can't be done because there are no partitions.
46715
46716 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46717 when nvsetenv failed.
46718
969c02ec 467192007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46720
46721 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
46722 because this rule is automatically generated.
46723 (grub-mkrescue): Removed for the same reason as above.
46724
5a79f472 467252007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
46726
46727 Migrate to GNU General Public License Version 3.
f19dbdb7 46728
5a79f472 46729 * COPYING: Replaced with the plain text version of GPLv3.
46730
46731 * config.guess: Updated from gnulib.
46732 * config.sub: Likewise.
46733
46734 * geninit.sh: Output a GPLv3 copyright notice.
46735 * geninitheader.sh: Likewise.
46736 * genmodsrc.sh: Likewise.
46737 * gensymlist.sh.in: Likewise.
46738
46739 * boot/i386/pc/boot.S: Upgraded to GPLv3.
46740 * boot/i386/pc/diskboot.S: Likewise.
46741 * boot/i386/pc/pxeboot.S: Likewise.
46742 * commands/blocklist.c: Likewise.
46743 * commands/boot.c: Likewise.
46744 * commands/cat.c: Likewise.
46745 * commands/cmp.c: Likewise.
46746 * commands/configfile.c: Likewise.
46747 * commands/echo.c: Likewise.
46748 * commands/help.c: Likewise.
46749 * commands/ls.c: Likewise.
46750 * commands/search.c: Likewise.
46751 * commands/terminal.c: Likewise.
46752 * commands/test.c: Likewise.
46753 * commands/videotest.c: Likewise.
46754 * commands/i386/cpuid.c: Likewise.
46755 * commands/i386/pc/halt.c: Likewise.
46756 * commands/i386/pc/play.c: Likewise.
46757 * commands/i386/pc/reboot.c: Likewise.
46758 * commands/i386/pc/vbeinfo.c: Likewise.
46759 * commands/i386/pc/vbetest.c: Likewise.
46760 * commands/ieee1275/halt.c: Likewise.
46761 * commands/ieee1275/reboot.c: Likewise.
46762 * commands/ieee1275/suspend.c: Likewise.
46763 * disk/loopback.c: Likewise.
46764 * disk/lvm.c: Likewise.
46765 * disk/raid.c: Likewise.
46766 * disk/efi/efidisk.c: Likewise.
46767 * disk/i386/pc/biosdisk.c: Likewise.
46768 * disk/ieee1275/ofdisk.c: Likewise.
46769 * font/manager.c: Likewise.
46770 * fs/affs.c: Likewise.
46771 * fs/ext2.c: Likewise.
46772 * fs/fat.c: Likewise.
46773 * fs/fshelp.c: Likewise.
46774 * fs/hfs.c: Likewise.
46775 * fs/hfsplus.c: Likewise.
46776 * fs/iso9660.c: Likewise.
46777 * fs/jfs.c: Likewise.
46778 * fs/minix.c: Likewise.
46779 * fs/sfs.c: Likewise.
46780 * fs/ufs.c: Likewise.
46781 * fs/xfs.c: Likewise.
46782 * hello/hello.c: Likewise.
46783 * include/grub/acorn_filecore.h: Likewise.
46784 * include/grub/arg.h: Likewise.
46785 * include/grub/bitmap.h: Likewise.
46786 * include/grub/boot.h: Likewise.
46787 * include/grub/cache.h: Likewise.
46788 * include/grub/device.h: Likewise.
46789 * include/grub/disk.h: Likewise.
46790 * include/grub/dl.h: Likewise.
46791 * include/grub/elfload.h: Likewise.
46792 * include/grub/env.h: Likewise.
46793 * include/grub/err.h: Likewise.
46794 * include/grub/file.h: Likewise.
46795 * include/grub/font.h: Likewise.
46796 * include/grub/fs.h: Likewise.
46797 * include/grub/fshelp.h: Likewise.
46798 * include/grub/gzio.h: Likewise.
46799 * include/grub/hfs.h: Likewise.
46800 * include/grub/kernel.h: Likewise.
46801 * include/grub/loader.h: Likewise.
46802 * include/grub/lvm.h: Likewise.
46803 * include/grub/misc.h: Likewise.
46804 * include/grub/mm.h: Likewise.
46805 * include/grub/net.h: Likewise.
46806 * include/grub/normal.h: Likewise.
46807 * include/grub/parser.h: Likewise.
46808 * include/grub/partition.h: Likewise.
46809 * include/grub/pc_partition.h: Likewise.
46810 * include/grub/raid.h: Likewise.
46811 * include/grub/rescue.h: Likewise.
46812 * include/grub/script.h: Likewise.
46813 * include/grub/setjmp.h: Likewise.
46814 * include/grub/symbol.h: Likewise.
46815 * include/grub/term.h: Likewise.
46816 * include/grub/terminfo.h: Likewise.
46817 * include/grub/tparm.h: Likewise.
46818 * include/grub/types.h: Likewise.
46819 * include/grub/video.h: Likewise.
46820 * include/grub/efi/api.h: Likewise.
46821 * include/grub/efi/chainloader.h: Likewise.
46822 * include/grub/efi/console.h: Likewise.
46823 * include/grub/efi/console_control.h: Likewise.
46824 * include/grub/efi/disk.h: Likewise.
46825 * include/grub/efi/efi.h: Likewise.
46826 * include/grub/efi/pe32.h: Likewise.
46827 * include/grub/efi/time.h: Likewise.
46828 * include/grub/i386/linux.h: Likewise.
46829 * include/grub/i386/setjmp.h: Likewise.
46830 * include/grub/i386/types.h: Likewise.
46831 * include/grub/i386/efi/kernel.h: Likewise.
46832 * include/grub/i386/efi/loader.h: Likewise.
46833 * include/grub/i386/efi/time.h: Likewise.
46834 * include/grub/i386/pc/biosdisk.h: Likewise.
46835 * include/grub/i386/pc/boot.h: Likewise.
46836 * include/grub/i386/pc/chainloader.h: Likewise.
46837 * include/grub/i386/pc/console.h: Likewise.
46838 * include/grub/i386/pc/init.h: Likewise.
46839 * include/grub/i386/pc/kernel.h: Likewise.
46840 * include/grub/i386/pc/loader.h: Likewise.
46841 * include/grub/i386/pc/memory.h: Likewise.
46842 * include/grub/i386/pc/multiboot.h: Likewise.
46843 * include/grub/i386/pc/serial.h: Likewise.
46844 * include/grub/i386/pc/time.h: Likewise.
46845 * include/grub/i386/pc/vbe.h: Likewise.
46846 * include/grub/i386/pc/vbeblit.h: Likewise.
46847 * include/grub/i386/pc/vbefill.h: Likewise.
46848 * include/grub/i386/pc/vbeutil.h: Likewise.
46849 * include/grub/i386/pc/vga.h: Likewise.
46850 * include/grub/ieee1275/ieee1275.h: Likewise.
46851 * include/grub/ieee1275/ofdisk.h: Likewise.
46852 * include/grub/powerpc/libgcc.h: Likewise.
46853 * include/grub/powerpc/setjmp.h: Likewise.
46854 * include/grub/powerpc/types.h: Likewise.
46855 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46856 * include/grub/powerpc/ieee1275/console.h: Likewise.
46857 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46858 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46859 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46860 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46861 * include/grub/powerpc/ieee1275/time.h: Likewise.
46862 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46863 * include/grub/sparc64/libgcc.h: Likewise.
46864 * include/grub/sparc64/setjmp.h: Likewise.
46865 * include/grub/sparc64/types.h: Likewise.
46866 * include/grub/sparc64/ieee1275/console.h: Likewise.
46867 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46868 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46869 * include/grub/sparc64/ieee1275/time.h: Likewise.
46870 * include/grub/util/biosdisk.h: Likewise.
46871 * include/grub/util/getroot.h: Likewise.
46872 * include/grub/util/lvm.h: Likewise.
46873 * include/grub/util/misc.h: Likewise.
46874 * include/grub/util/raid.h: Likewise.
46875 * include/grub/util/resolve.h: Likewise.
46876 * io/gzio.c: Likewise.
46877 * kern/device.c: Likewise.
46878 * kern/disk.c: Likewise.
46879 * kern/dl.c: Likewise.
46880 * kern/elf.c: Likewise.
46881 * kern/env.c: Likewise.
46882 * kern/err.c: Likewise.
46883 * kern/file.c: Likewise.
46884 * kern/fs.c: Likewise.
46885 * kern/loader.c: Likewise.
46886 * kern/main.c: Likewise.
46887 * kern/misc.c: Likewise.
46888 * kern/mm.c: Likewise.
46889 * kern/parser.c: Likewise.
46890 * kern/partition.c: Likewise.
46891 * kern/rescue.c: Likewise.
46892 * kern/term.c: Likewise.
46893 * kern/efi/efi.c: Likewise.
46894 * kern/efi/init.c: Likewise.
46895 * kern/efi/mm.c: Likewise.
46896 * kern/i386/dl.c: Likewise.
46897 * kern/i386/efi/init.c: Likewise.
46898 * kern/i386/efi/startup.S: Likewise.
46899 * kern/i386/pc/init.c: Likewise.
46900 * kern/i386/pc/lzo1x.S: Likewise.
46901 * kern/i386/pc/startup.S: Likewise.
46902 * kern/ieee1275/ieee1275.c: Likewise.
46903 * kern/powerpc/cache.S: Likewise.
46904 * kern/powerpc/dl.c: Likewise.
46905 * kern/powerpc/ieee1275/cmain.c: Likewise.
46906 * kern/powerpc/ieee1275/crt0.S: Likewise.
46907 * kern/powerpc/ieee1275/init.c: Likewise.
46908 * kern/powerpc/ieee1275/openfw.c: Likewise.
46909 * kern/sparc64/cache.S: Likewise.
46910 * kern/sparc64/dl.c: Likewise.
46911 * kern/sparc64/ieee1275/init.c: Likewise.
46912 * kern/sparc64/ieee1275/openfw.c: Likewise.
46913 * loader/efi/chainloader.c: Likewise.
46914 * loader/efi/chainloader_normal.c: Likewise.
46915 * loader/i386/efi/linux.c: Likewise.
46916 * loader/i386/efi/linux_normal.c: Likewise.
46917 * loader/i386/pc/chainloader.c: Likewise.
46918 * loader/i386/pc/chainloader_normal.c: Likewise.
46919 * loader/i386/pc/linux.c: Likewise.
46920 * loader/i386/pc/linux_normal.c: Likewise.
46921 * loader/i386/pc/multiboot.c: Likewise.
46922 * loader/i386/pc/multiboot_normal.c: Likewise.
46923 * loader/powerpc/ieee1275/linux.c: Likewise.
46924 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46925 * normal/arg.c: Likewise.
46926 * normal/cmdline.c: Likewise.
46927 * normal/command.c: Likewise.
46928 * normal/completion.c: Likewise.
46929 * normal/execute.c: Likewise.
46930 * normal/function.c: Likewise.
46931 * normal/lexer.c: Likewise.
46932 * normal/main.c: Likewise.
46933 * normal/menu.c: Likewise.
46934 * normal/menu_entry.c: Likewise.
46935 * normal/misc.c: Likewise.
46936 * normal/parser.y: Likewise.
46937 * normal/script.c: Likewise.
46938 * normal/i386/setjmp.S: Likewise.
46939 * normal/powerpc/setjmp.S: Likewise.
46940 * normal/sparc64/setjmp.S: Likewise.
46941 * partmap/acorn.c: Likewise.
46942 * partmap/amiga.c: Likewise.
46943 * partmap/apple.c: Likewise.
46944 * partmap/gpt.c: Likewise.
46945 * partmap/pc.c: Likewise.
46946 * partmap/sun.c: Likewise.
46947 * term/gfxterm.c: Likewise.
46948 * term/terminfo.c: Likewise.
46949 * term/efi/console.c: Likewise.
46950 * term/i386/pc/console.c: Likewise.
46951 * term/i386/pc/serial.c: Likewise.
46952 * term/i386/pc/vesafb.c: Likewise.
46953 * term/i386/pc/vga.c: Likewise.
46954 * term/ieee1275/ofconsole.c: Likewise.
46955 * util/biosdisk.c: Likewise.
46956 * util/console.c: Likewise.
46957 * util/genmoddep.c: Likewise.
46958 * util/getroot.c: Likewise.
46959 * util/grub-emu.c: Likewise.
46960 * util/grub-mkdevicemap.c: Likewise.
46961 * util/grub-probe.c: Likewise.
46962 * util/lvm.c: Likewise.
46963 * util/misc.c: Likewise.
46964 * util/raid.c: Likewise.
46965 * util/resolve.c: Likewise.
46966 * util/update-grub.in: Likewise.
46967 * util/update-grub_lib.in: Likewise.
46968 * util/grub.d/00_header.in: Likewise.
46969 * util/grub.d/10_hurd.in: Likewise.
46970 * util/grub.d/10_linux.in: Likewise.
46971 * util/i386/efi/grub-install.in: Likewise.
46972 * util/i386/efi/grub-mkimage.c: Likewise.
46973 * util/i386/pc/grub-install.in: Likewise.
46974 * util/i386/pc/grub-mkimage.c: Likewise.
46975 * util/i386/pc/grub-mkrescue.in: Likewise.
46976 * util/i386/pc/grub-setup.c: Likewise.
46977 * util/i386/pc/misc.c: Likewise.
46978 * util/powerpc/ieee1275/grub-install.in: Likewise.
46979 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46980 * util/powerpc/ieee1275/misc.c: Likewise.
46981 * video/bitmap.c: Likewise.
46982 * video/video.c: Likewise.
46983 * video/i386/pc/vbe.c: Likewise.
46984 * video/i386/pc/vbeblit.c: Likewise.
46985 * video/i386/pc/vbefill.c: Likewise.
46986 * video/i386/pc/vbeutil.c: Likewise.
46987 * video/readers/tga.c: Likewise.
46988
3572d015 469892007-07-02 Robert Millan <rmh@aybabtu.com>
46990
46991 * conf/i386-efi.rmk: Replace obsolete reference to
46992 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46993 with util/getroot.c.
46994 * conf/powerpc-ieee1275.rmk: Likewise.
46995 * conf/sparc64-ieee1275.rmk: Likewise.
46996
46997 * util/grub-emu.c (main): Fix unchecked pointer handling.
46998
2c2a681b 469992007-07-02 Robert Millan <rmh@aybabtu.com>
47000
47001 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47002 invocation to fail, in order to support partition-less media.
47003
47004 * util/i386/pc/grub-install.in: Likewise.
47005
47006 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47007 which fs or partmap modules are needed (akin to its sister scripts).
47008
47009 Also use grub-probe to get rid of unportable /proc/mounts check.
47010
47011 Print the same informational message that the other scripts do, before
fe6b695a 47012 exiting.
2c2a681b 47013
6193defe 470142007-06-23 Robert Millan <rmh@aybabtu.com>
47015
fe6b695a 47016 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 47017 a font file can be found and, if so, echo the GRUB path to it.
47018
47019 * util/update-grub.in: Handle multiple terminals depending on user
47020 input, platform availability and font file presence. Propagate
47021 variables of our findings to /etc/grub.d/ children.
47022
47023 * util/grub.d/00_header.in: Handle multiple terminals, based on
47024 environment setup by update-grub.
47025
eface1dc 470262007-06-23 Robert Millan <rmh@aybabtu.com>
47027
ba50d28f 47028 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 47029
bf697e28 470302007-06-21 Robert Millan <rmh@aybabtu.com>
47031
47032 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47033 indicate end of data section in kernel image.
47034 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47035 GRUB_KERNEL_MACHINE_DATA_END.
47036
47037 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47038 space for it.
47039 * kern/i386/efi/startup.S: Likewise.
47040
47041 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47042 during image generation. Implement --prefix option to override this
47043 patch.
47044 * util/i386/efi/grub-mkimage.c: Likewise.
47045
47046 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47047 code to make path relative to its root into a separate function.
47048
47049 * util/i386/pc/grub-install.in: Use newly provided
47050 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47051 pass the result to grub-install --prefix.
47052
baa574b4 470532007-06-13 Robert Millan <rmh@aybabtu.com>
47054
47055 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47056 DEFAULT_DEVICE_MAP.
47057 * util/grub-emu.c: Use above definitions from misc.h instead of
47058 defining them.
47059 * util/grub-mkdevicemap.c: Likewise.
47060 * util/i386/pc/grub-setup.c: Likewise.
47061 * util/grub-probe.c: Likewise.
47062 (probe): Abort with grub_util_error() when either
47063 grub_guess_root_device or grub_util_get_grub_dev fails.
47064
0215dcbf 470652007-06-12 Robert Millan <rmh@aybabtu.com>
47066
47067 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47068 "pager" assignment.
47069 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47070 "pcdata".
47071 * util/grub-probe.c (probe): Likewise for "drive_name".
47072
8af2ab7b 470732007-06-11 Robert Millan <rmh@aybabtu.com>
47074
47075 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47076 not just the cdrom one.
47077
59d31694 470782007-06-11 Robert Millan <rmh@aybabtu.com>
47079
47080 * util/i386/pc/grub-mkrescue.in: Add "set -e".
47081 Add --pkglibdir=DIR option to override pkglibdir.
47082 Mention --image-type=TYPE in help output.
47083 Fix --grub-mkimage (it was a no-op).
fe6b695a 47084 Abort gracefully when no parameter is given.
59d31694 47085
7ee367e4 470862007-06-11 Robert Millan <rmh@aybabtu.com>
47087
47088 * util/i386/pc/grub-mkrescue.in: New file.
47089 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47090 * Makefile.in: Handle bin_SCRIPTS.
47091
29b0ed46 470922007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47093
47094 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47095 list of video modes.
47096
c0f90770 470972007-06-06 Robert Millan <rmh@aybabtu.com>
47098
47099 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47100 file doesn't exist, or if it is in a filesystem grub can't read.
47101
47102 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47103 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47104 header comment to fit in 80 columns when the variables are resolved.
47105
47106 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47107 could be identified by update-grub. Remove redundant check for
fe6b695a 47108 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 47109 handles that).
47110
fb36dc26 471112007-06-04 Robert Millan <rmh@aybabtu.com>
47112
47113 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
47114
47115 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
47116
47117 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
47118
0c68c93e 471192007-06-04 Robert Millan <rmh@aybabtu.com>
47120
47121 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
47122
47123 * include/grub/partition.h: Declare grub_apple_partition_map_init and
47124 grub_apple_partition_map_fini.
47125
47126 * util/biosdisk.c
47127 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
47128 to access >2 TiB disks).
47129
47130 Print disk->total_sectors with %llu instead of %lu, since this
47131 variable is always 64-bit (prevents wrong disk size from being displayed
47132 on either >2 TiB disk or big-endian CPU).
47133
47134 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
47135 into a generic case that supports all (sane) partition maps.
47136
47137 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
47138 breaks big-endian.
47139
47140 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
47141 and grub_apple_partition_map_fini() after that.
47142
0f23eb74 471432007-06-01 Robert Millan <rmh@aybabtu.com>
47144
47145 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
47146
47147 * util/grub.d/00_header.in: Only enable gfxterm when
47148 convert_system_path_to_grub_path() succeeds.
47149
42c71976 471502007-05-20 Robert Millan <rmh@aybabtu.com>
47151
47152 * util/update-grub_lib.in: New file.
47153 * DISTLIST: Add update-grub_lib.in.
47154 * conf/common.rmk: Generate update-grub_lib and install it in
47155 $(lib_DATA).
47156 * Makefile.in: Add install routine for $(lib_DATA).
47157
47158 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
47159 function provided by update-grub_lib to support arbitrary paths of
47160 unifont.pff.
47161 * util/update-grub.in: Use convert_system_path_to_grub_path() to
47162 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
47163
5beb2291 471642007-05-19 Robert Millan <rmh@aybabtu.com>
47165
47166 * commands/i386/cpuid.c: New module.
47167 * DISTLIST: Add it.
47168 * conf/i386-efi.rmk: Enable cpuid.mod.
47169 * conf/i386-pc.rmk: Likewise.
47170
7262eca1 471712007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47172
47173 * kern/disk.c (grub_disk_read): Check return value of
47174 grub_realloc().
47175
260ba823 471762007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47177
47178 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
47179 arrays.
47180 * disk/raid.c (grub_raid_open): Likewise.
47181
1ecb6cf2 471822007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47183
47184 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
47185 stack instead of on the heap.
47186
47187 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
47188 before doing a read on it.
47189
47190 * configure.ac: Only use -fno-stack-protector for the target
47191 environment.
f19dbdb7 47192
21c8cbb1 471932007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47194
47195 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
47196 __attribute_ ((unused)) to mode_type argument.
47197
47198 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 47199
21c8cbb1 47200 * kern/misc.c (memcmp): Fix prototype.
47201
47202 * include/grub/partition.h [GRUB_UTIL]
47203 (grub_gpt_partition_map_init): Add prototype.
47204 (grub_gpt_partition_map_fini): Likewise.
47205
47206 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47207 at the right place.
47208
47209 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47210 (grub_fat_read_data): Likewise.
47211 (grub_fat_find_dir): Likewise.
47212
47213 * font/manager.c (find_glyph): Make table a const.
47214 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 47215
849d55d3 472162007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47217
47218 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47219 code, first search for device in /dev/mapper, then in /dev.
47220 (grub_util_get_grub_dev): New function.
47221 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47222 prototype.
47223 * util/grub-probe.c (probe): Remove check for RAID, call
47224 grub_util_get_grub_dev() instead of
47225 grub_util_biosdisk_get_grub_dev().
47226 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47227 grub_util_biosdisk_get_grub_dev().
47228 * util/i386/pc/grub-setup.c (main): Likewise.
47229
8fff7c2f 472302007-05-16 Robert Millan <rmh@aybabtu.com>
47231
47232 * DISTLIST: Update for the latest changes.
47233 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47234 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47235 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47236 grub/util/biosdisk.h.
47237 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47238 grub/util/biosdisk.h.
47239
48e12b52 472402007-05-16 Robert Millan <rmh@aybabtu.com>
47241
47242 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47243
46b9d128 472442007-05-16 Robert Millan <rmh@aybabtu.com>
47245
47246 * util/i386/efi/grub-install.in: New.
47247 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47248 newly added grub-install.
47249 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47250 include.
47251 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47252 grub/util/biosdisk.h.
47253 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47254 grub/util/biosdisk.h.
47255
2d1a40a9 472562007-05-16 Robert Millan <rmh@aybabtu.com>
47257
47258 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47259 * include/grub/util/biosdisk.h: ... here.
47260 * util/i386/pc/biosdisk.c: Moved to ...
47261 * util/biosdisk.c: ... here.
47262 * util/i386/pc/getroot.c: Moved to ...
47263 * util/getroot.c: ... here.
47264 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47265 * util/grub-mkdevicemap.c: ... here.
47266 * util/i386/pc/grub-probe.c: Moved to ...
47267 * util/grub-probe.c: ... here.
47268
9e26e3bc 472692007-05-15 Robert Millan <rmh@aybabtu.com>
47270
47271 * util/update-grub.in: Remove duplicated line in grub.cfg header
47272 message.
47273
57f96397 472742007-05-13 Robert Millan <rmh@aybabtu.com>
47275
47276 * util/update-grub.in: Fix a few assumptions about the devices holding
47277 /, /boot and /boot/grub being the same.
47278 * util/grub.d/00_header.in: Likewise.
47279 * util/grub.d/10_hurd.in: Likewise.
47280 * util/grub.d/10_linux.in: Likewise.
47281
47282 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47283 patterns. Use that to define the `.old' suffix as older than `'.
47284
47285 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47286
47287 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47288 the grub.cfg header message.
47289
2e610d62 472902007-05-11 Robert Millan <rmh@aybabtu.com>
47291
47292 * util/update-grub.in: Create device.map if it doesn't already exist,
47293 before attempting to run grub-probe.
47294 Check for grub-probe and grub-mkdevicemap with the same code
47295 grub-install is using.
47296 Remove test mode.
47297
3f6a10ef 472982007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47299
47300 * Makefile.in: Add the datarootdir autoconf variable.
47301
02e7b75e 473022007-05-09 Robert Millan <rmh@aybabtu.com>
47303
47304 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47305 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47306
75f396cc 473072007-05-07 Robert Millan <rmh@aybabtu.com>
47308
47309 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47310 determine partition map module.
47311 * util/i386/pc/grub-install.in: Use this feature to decide which
47312 partition module to load, instead of hardcoding pc and gpt.
47313
da65cb36 473142007-05-07 Robert Millan <rmh@aybabtu.com>
47315
47316 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47317 source directory differs from build directory.
47318
b57d6a91 473192007-05-05 Robert Millan <rmh@aybabtu.com>
47320
47321 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47322 initialisation.
47323
509d00f1 473242007-05-05 Robert Millan <rmh@aybabtu.com>
47325
47326 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47327
c48f23ef 473282007-05-05 Robert Millan <rmh@aybabtu.com>
47329
47330 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47331 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47332
20b97658 473332007-05-05 Robert Millan <rmh@aybabtu.com>
47334
47335 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47336 (grub_probe_SOURCES): Likewise.
47337 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47338 GPT and initialize dos_part and bsd_part accordingly.
47339 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47340 install_bsd_part.
47341 (main): Activate gpt module for use during partition identification,
47342 and deactivate it afterwards.
47343 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47344 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47345 partition identification, and deactivate it afterwards.
47346
99123174 473472007-05-05 Robert Millan <rmh@aybabtu.com>
47348
47349 * term/i386/pc/console.c (grub_console_fini): Call
47350 grub_term_set_current() before grub_term_unregister().
47351
ebd97f6e 473522007-05-04 Robert Millan <rmh@aybabtu.com>
47353
47354 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47355 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47356 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47357 and update-grub_DATA.
47358 * conf/common.rmk: Build and install update-grub components.
47359 * conf/common.mk: Regenerate.
47360 * util/update-grub.in: New. Core of update-grub.
47361 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47362 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47363 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47364 * util/grub.d/README: New. Document grub.d directory layout.
47365
b06a264d 473662007-05-01 Robert Millan <rmh@aybabtu.com>
47367
47368 * util/grub-emu.c: Move initialization functions
47369 grub_util_biosdisk_init() and grub_init_all() before
47370 grub_util_biosdisk_get_grub_dev(), which relies on them.
47371
41f0050e 473722007-04-19 Robert Millan <rmh@aybabtu.com>
47373
47374 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47375 it is used later.
47376
04582bb3 473772007-04-18 Jerone Young <jerone@gmail.com>
47378
f19dbdb7 47379 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47380 stanza.
47381
08db4632 473822007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47383
08db4632 47384 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47385 continue on and look for device node with real device name.
47386
801b76be 473872007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47388
fe6b695a 47389 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47390 ability.
47391 * Makefile.in: Add autoconf package transformation code.
47392 * util/i386/pc/grub-install.in: Likewise.
47393 * util/powerpc/ieee1275/grub-install.in: Likewise.
47394
6795c4e1 473952007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47396
47397 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47398 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47399 (EXT2_REVISION): Likewise.
47400 (EXT2_INODE_SIZE): Likewise.
47401 (struct grub_ext2_block_group): Added a missing member
47402 "used_dirs".
47403 (grub_ext2_read_inode): Divide by the inode size in a superblock
47404 instead of 128 to obtain INODES_PER_BLOCK.
47405 Use the macro EXT2_INODE_SIZE instead of directly using
47406 SBLOCK->INODE_SIZE.
47407
d70af616 474082007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47409
47410 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47411 superblock instead of the structure size to compute an
47412 offset. This fixes the problem that GRUB could not read a
47413 filesystem when inode size is different from 128-byte.
47414
3b801603 474152007-03-05 Marco Gerards <marco@gnu.org>
47416
47417 * normal/main.c (read_config_file): When "menu" is not set, create
47418 an initial context.
47419
4785bfe4 474202007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47421
47422 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47423 (HEAP_LIMIT): New macro.
47424 (grub_claim_heap): Claim memory up to `heaplimit'.
47425
a0cbb023 474262007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47427
47428 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47429 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47430 (_start): Likewise.
47431 (grub_arch_modules_addr): Return address after `_end'.
47432 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47433 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47434 (add_segments): Calculate `_end' from phdr size and location.
47435 (ALIGN_UP): Moved to ...
47436 * include/grub/misc.h: here.
47437 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47438 New macro.
47439 (GRUB_IEEE1275_MODULE_BASE): Removed.
47440
fd7d8eba 474412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47442
47443 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47444 loop boundary.
47445
9b09e6fc 474462007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47447
47448 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47449 All users updated.
47450 (grub_elf64_load_hook_t): Likewise.
47451 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47452 debug output.
47453
3ce27299 474542007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47455
47456 * kern/mm.c: Update copyright.
47457 (grub_mm_debug): Correct syntax error.
47458 (grub_mm_dump_free): New function.
47459 (grub_debug_free): Call `grub_free'.
47460 * include/grub/mm.h: Update copyright.
47461 (grub_mm_dump_free): Add declaration.
47462
077d5fee 474632007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47464
47465 * include/grub/ieee1275/ieee1275.h: Update copyright.
47466 * kern/powerpc/ieee1275/init.c: Likewise.
47467 * kern/powerpc/ieee1275/openfw.c: Likewise.
47468
47469 * loader/powerpc/ieee1275/linux.c: Likewise.
47470 * include/grub/elfload.h: Likewise.
47471 * kern/elf.c: Likewise.
47472 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47473 callers.
47474 (grub_elf64_load): Likewise.
47475 (grub_elf32_load_segment): Move to a nested function.
47476 (grub_elf64_load_segment): Likewise.
47477
dc946850 474782007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47479
47480 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47481 prototype.
47482 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47483 (grub_heap_len): Likewise.
47484 (HEAP_SIZE): New macro.
47485 (grub_claim_heap): New function.
47486 (grub_machine_init): Don't claim heap directly. Call
47487 `grub_claim_heap'.
47488 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47489 (grub_available_iterate): New function.
47490
baa2a121 474912007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47492
47493 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47494 * configure.ac: Use it for testing the HOST and TARGET compilers.
47495
4fe9862e 474962006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47497
47498 * Makefile.in (enable_grub_emu): New variable.
47499 * configure.ac (--enable-grub-emu): New option.
47500 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47501 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47502 * conf/i386-pc.rmk: Likewise.
47503 * conf/powerpc-ieee1275.rmk: Likewise.
47504 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47505
a8aa5762 475062006-12-12 Marco Gerards <marco@gnu.org>
47507
47508 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47509
47510 * kern/env.c (grub_env_unset): Don't free the member `value' when
47511 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47512 pointer.
47513
47514 * normal/main.c (current_menu): Removed.
47515 (free_menu): Unset the `menu' environment variable.
47516 (grub_normal_menu_addentry): Make use of the environment variable
47517 `menu', instead of using the global `current_menu'. Allocate
47518 memory for the sourcecode of this entry.
47519 (read_config_file): New argument `nested', changed all callers.
47520 Only in the case of a new context, initialize a new menu. Set the
47521 `menu' environment variable.
47522 (grub_normal_execute): Don't set and unset the environment
47523 variable `menu' here anymore. Only free the menu when leaving the
47524 context.
47525
47526 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47527 leak.
47528
957b3a3e 475292006-12-11 Marco Gerards <marco@gnu.org>
47530
47531 * normal/menu_entry.c (run): Fix off by one bug so the last line
47532 is executed. Move the loader check to outside the loop.
47533
ef875714 475342006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47535
47536 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47537
4e739985 475382006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47539
47540 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47541 the number of sectors. Reported by Andrey Shuvikov
47542 <mr_hyro@yahoo.com>.
f19dbdb7 47543
790707f2 475442006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47545
47546 * kern/disk.c (grub_disk_read): When there is a read error, always
47547 try to read only the necessary data.
f19dbdb7 47548
790707f2 47549 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47550 disk/raid.c.
47551 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47552 prototype.
47553 [GRUB_UTIL] (grub_raid_fini): Likewise.
47554 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47555 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47556 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47557 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47558 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47559 and grub_raid_fini().
f19dbdb7 47560
03e58196 475612006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47562
47563 * include/grub/types.h (__unused): Rename to UNUSED.
47564 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47565 (grub_elf64_size): Likewise.
f19dbdb7 47566
ae4f23bf 475672006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47568
47569 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47570 grub_error_push and grub_error_pop in the error-handling path.
47571 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47572 length.
47573
2166cc83 475742006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47575
47576 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47577 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47579 (kernel_elf_SOURCES): Likewise.
47580 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47581 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47582 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47583 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47584 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47585 (elf_mod_SOURCES): New variable.
47586 (elf_mod_CFLAGS): Likewise.
47587 (elf_mod_LDFLAGS): Likewise.
47588 * include/grub/types.h (__unused): New macro.
47589 * include/grub/elfload.h: New file.
47590 * kern/elf.c: Likewise.
47591 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47592 (ELF32_LOADMASK): New macro.
47593 (ELF64_LOADMASK): Likewise.
47594 (vmlinux): Removed.
47595 (grub_linux_load32): New function.
47596 (grub_linux_load64): Likewise.
47597 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47598 Use grub_elf_t instead of grub_file_t.
47599
a09d5aa5 476002006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47601
47602 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47603 `catch_result' to struct set_color_args.
47604
d976fc51 476052006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47606
47607 * normal/menu.c: Include grub/script.h.
47608 * normal/menu_entry.c: Likewise.
47609 * include/grub/normal.h: Do not include grub/script.h.
47610
67507549 476112006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47612
47613 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47614
69203a99 476152006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47616
47617 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47618 disk.
47619 (grub_disk_close): Print debug messages when closing a disk.
47620 (grub_disk_read): Print debug messages when disk read fails.
47621 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47622 filesystem type.
47623 * kern/partition.c: Include misc.h.
47624 (grub_partition_iterate): Print debug messages when detecting
47625 partition type.
47626
e2b8278c 476272006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47628
47629 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47630 is negative.
47631 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47632
97b2f2ff 476332006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47634
47635 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47636 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47637
6555d655 476382006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47639
47640 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47641 instead of sizeof(lv). Patch by Michael Guntsche.
47642
4d42b77f 476432006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47644
47645 * disk/lvm.c: Rename VGS to VG_LIST.
47646 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47647 (grub_lvm_open): Likewise.
47648 Thanks to Michael Guntsche for finding this bug.
47649
5d74d927 476502006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47651
47652 * configure.ac (AC_INIT): Bumped to 1.95.
47653
a1bb27e4 476542006-10-14 Robert Millan <rmh@aybabtu.com>
47655
47656 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47657 with "/dev/.static/dev/md".
47658
e0994b8b 476592006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47660
47661 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47662 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47663 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47664 DRIVE_NAME are always freed.
47665
47666 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47667 DOS_PART, as a DOS partition is counted from one instead of zero
47668 now. Reported by Robert Millan.
47669
ddd5cee9 476702006-10-14 Robert Millan <rmh@aybabtu.com>
47671
47672 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47673 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47674 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47675 string returned by grub_guess_root_device.
47676 * util/i386/pc/grub-setup.c: Likewise.
47677 * util/i386/pc/grub-probefs.c: Likewise.
47678
47679 * util/i386/pc/grub-probefs.c: Rename to ...
47680 * util/i386/pc/grub-probe.c: ... this.
47681 * DISTLIST: Remove grub-probefs, add grub-probe.
47682 * conf/i386-efi.rmk: Likewise.
47683 * conf/i386-pc.rmk: Likewise.
47684 * util/i386/pc/grub-install.in: Likewise.
47685
47686 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47687 choose which information we want to print.
47688
2b002173 476892006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47690
47691 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47692 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47693 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47694 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47695 video/readers/tga.c and video/i386/pc/vbeutil.c.
47696
476972006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47698
47699 Added support for RAID and LVM.
f19dbdb7 47700
2b002173 47701 * disk/lvm.c: New file.
47702 * disk/raid.c: Likewise.
47703 * include/grub/lvm.h: Likewise.
f19dbdb7 47704 * include/grub/raid.h: Likewise.
2b002173 47705 * include/grub/util/lvm.h: Likewise.
47706 * include/grub/util/raid.h: Likewise.
47707 * util/lvm.c: Likewise.
47708 * util/raid.c: Likewise.
47709
47710 * include/grub/disk.h (grub_disk_dev_id): Add
47711 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47712 (grub_disk_get_size): New prototype.
47713 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47714 returns a partition.
47715 (grub_disk_get_size): New function.
f19dbdb7 47716
2b002173 47717 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47718 verbatim if grub_install_dos_part is -2.
47719
47720 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
47721 and LVM devices.
47722
47723 * util/i386/pc/grub-setup.c (setup): New argument
47724 MUST_EMBED. Force embedding of GRUB when the argument is
47725 true. Close FILE before returning.
47726 (main): Add support for RAID and LVM.
f19dbdb7 47727
2b002173 47728 * conf/common.rmk: Add RAID and LVM modules.
47729 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
47730 util/lvm.c.
47731 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
47732
47733 * kern/misc.c (grub_strstr): New function.
47734 * include/grub/misc.h (grub_strstr): New prototype.
47735
050548d0 477362006-10-10 Tristan Gingold <tristan.gingold@bull.net>
47737
47738 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
47739
da849d2d 477402006-10-05 Tristan Gingold <tristan.gingold@bull.net>
47741
47742 * kern/misc.c (grub_strtoull): Guess the base only if not
47743 specified.
47744
97b2f2ff 477452006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 47746
47747 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
47748 PowerMac support.
47749
97b2f2ff 477502006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 47751
47752 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
47753
47754 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
47755 Remove `flags' argument. All callers changed.
47756 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
47757 (IEEE1275_IHANDLE_INVALID): New variable.
47758 (IEEE1275_CELL_INVALID): New variable.
47759 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
47760 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
47761 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
47762 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
47763 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
47764 codes from Open Firmware. All callers updated.
47765 (grub_ieee1275_next_property): Directly return Open Firmware return
47766 code.
47767 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
47768 Standardize error checking from `grub_ieee1275_get_property'.
47769 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
47770 `devalias' to `aliases'. Correct comments. Consolidate error paths.
47771
97b2f2ff 477722006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 47773
47774 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
47775 `instance_to_package_args' to `instance_to_path_args'.
47776
47777 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
47778 `grub_ieee1275_chosen'.
47779
47780 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
47781 `grub_ieee1275_interpret'.
47782
97b2f2ff 477832006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 47784
47785 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
47786
97b2f2ff 477872006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 47788
47789 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
47790 (__cmpdi): Likewise.
47791
47792 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
47793 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
47794 `grub_ssize_t'.
47795
02bb8acc 47796 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 47797
47798 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
47799 to type `grub_ssize_t'.
47800 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
47801
7f9a8531 478022006-09-22 Marco Gerards <marco@gnu.org>
47803
47804 * normal/script.c (grub_script_create_cmdmenu): Skip leading
47805 newlines.
47806
b5ef1102 478072006-09-22 Marco Gerards <marco@gnu.org>
47808
47809 * commands/echo.c: New file.
47810
47811 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
47812
47813 * conf/common.rmk (echo_mod_SOURCES): New variable.
47814 (echo_mod_CFLAGS): Likewise.
47815 (echo_mod_LDFLAGS): Likewise.
47816
2cff3677 478172006-09-22 Marco Gerards <marco@gnu.org>
47818
47819 * normal/main.c (get_line): Malloc memory instead of using
47820 preallocated memory. Removed the arguments `cmdline' and
47821 `max_len'. Updated all callers.
47822
6ba4688b 478232006-09-22 Marco Gerards <marco@gnu.org>
47824
47825 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
47826 (normal_mod_DEPENDENCIES): Likewise.
47827
47828 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
47829 (normal_mod_DEPENDENCIES): Likewise.
47830
47831 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
47832
e02ac02c 478332006-09-22 Johan Rydberg <jrydberg@gnu.org>
47834
47835 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47836 programs.
47837 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47838 (normal_mod_DEPENDENCIES): Likewise.
47839 * conf/i386-pc.mk: Regenerate.
47840 * conf/i386-efi.mk: Likewise
47841 * conf/common.mk: Likewise.
47842 * conf/powerpc-ieee1275.mk: Likewise.
47843 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47844
8d252e44 478452006-09-22 Robert Millan <rmh@aybabtu.com>
47846
47847 Sync with i386 version.
47848 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47849 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47850
209bf7ac 478512006-09-21 Robert Millan <rmh@aybabtu.com>
47852
47853 Import from GRUB Legacy (lib/device.c):
47854 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47855 (init_device_map) [__linux__]: Add support for I2O devices.
47856
6b146090 478572006-09-14 Marco Gerards <marco@gnu.org>
47858
47859 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47860 `-melf_i386'.
47861
e38600a8 478622006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47863
47864 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47865 /boot/grub/*.lst.
78fa1790 47866
2952da5d 47867 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47868
2952da5d 47869 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47870 before adding it to device.map.
47871
01b82a64 478722006-08-15 Johan Rydberg <jrydberg@gnu.org>
47873
fe6b695a 47874 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47875 compiles a file; using the -MD option.
47876 * conf/common.mk: Regenerate.
47877 * conf/i386-pc.mk: Likewise.
47878 * conf/i386-efi.mk: Likewise.
47879 * conf/powerpc-ieee1275.mk: Likewise.
47880 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47881
1064790d 478822006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47883
47884 Move the prototypes of grub_setjmp and grub_longjmp to
47885 cpu/setjmp.h, so that each architecture may specify different
47886 attributes.
f19dbdb7 47887
1064790d 47888 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47889 (grub_longjmp): Likewise.
47890 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47891 (grub_longjmp): Likewise.
47892 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47893 (grub_longjmp): Likewise.
47894
47895 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47896 [!GRUB_UTIL] (grub_longjmp): Removed.
47897
29dda3ed 478982006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47899
47900 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47901 "color!" method does not return any value.
47902
ad2a06ed 479032006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47904
47905 * include/grub/bitmap.h: New file.
47906
47907 * include/grub/i386/pc/vbeutil.h: Likewise.
47908
47909 * video/bitmap.c: Likewise.
47910
47911 * video/readers/tga.c: Likewise.
47912
47913 * video/i386/pc/vbeutil.c: Likewise.
47914
47915 * commands/videotest.c: Code cleanup and updated to reflect to new
47916 video API.
47917
47918 * term/gfxterm.c: Likewise.
47919
47920 * video/video.c: Likewise.
47921
47922 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47923 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47924 (bitmap_mod_SOURCES): New entry.
47925 (bitmap_mod_CFLAGS): Likewise.
47926 (bitmap_mod_LDFLAGS): Likewise.
47927 (tga_mod_SOURCES): Likewise.
47928 (tga_mod_CFLAGS): Likewise.
47929 (tga_mod_LDFLAGS): Likewise.
47930
47931 * include/grub/video.h (grub_video_blit_operators): New enum type.
47932 (grub_video_render_target): Changed as forward declaration and moved
47933 actual definition to be video driver specific.
47934 (grub_video_adapter.blit_bitmap): Added blitting operator.
47935 (grub_video_adapter.blit_render_target): Likewise.
47936 (grub_video_blit_bitmap): Likewise.
47937 (grub_video_blit_render_target): Likewise.
47938
47939 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47940 driver specific render target definition.
47941 (grub_video_vbe_map_rgba): Added driver internal helper.
47942 (grub_video_vbe_unmap_color): Updated to use
47943 grub_video_i386_vbeblit_info.
47944 (grub_video_vbe_get_video_ptr): Likewise.
47945
47946 * include/grub/i386/pc/vbeblit.h
47947 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47948 grub_video_i386_vbeblit_info.
47949 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47950 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47951 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47952 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47953 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47954 (grub_video_i386_vbeblit_index_index): Likewise.
47955 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47956 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47957 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47958 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47959 operator.
47960 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47961 operator.
47962
47963 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47964 include/grub/i386/pc/vbeblit.h.
47965
47966 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47967 Updated to use grub_video_i386_vbeblit_info.
47968 (grub_video_i386_vbefill_R8G8B8): Likewise.
47969 (grub_video_i386_vbefill_index): Likewise.
47970 (grub_video_i386_vbefill): Added generic filler.
47971
47972 * video/i386/pc/vbefill.c: Updated to reflect changes on
47973 include/grub/i386/pc/vbefill.h.
47974
47975 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47976 grub_video_i386_vbeblit_info.
47977 (grub_video_vbe_unmap_color): Likewise.
47978 (grub_video_vbe_blit_glyph): Likewise.
47979 (grub_video_vbe_scroll): Likewise.
47980 (grub_video_vbe_draw_pixel): Removed function.
47981 (grub_video_vbe_get_pixel): Likewise.
47982 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47983 updated code to use it.
47984 (common_blitter): Added common blitter for render target and bitmap.
47985 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47986 (grub_video_vbe_blit_render_target): Likewise.
47987
bc8c036d 479882006-07-30 Johan Rydberg <jrydberg@gnu.org>
47989
47990 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47991 is in text mode if there is no console control protocol instance
47992 available.
47993
684a8eff 479942006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47995
47996 * include/grub/video.h: Code cleanup.
47997
47998 * include/grub/i386/pc/vbe.h: Likewise.
47999
48000 * video/i386/pc/vbe.c: Likewise.
48001
48002 * video/i386/pc/vbeblit.c: Likewise.
48003
48004 * video/i386/pc/vbefill.c: Likewise.
48005
48006 * video/video.c: Likewise. Also added more comments.
48007
5915059b 480082006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48009
48010 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48011 (struct grub_biosdisk_dap): Likewise.
48012
48013 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48014 linkage settings for all functions.
48015
90ce5d56 480162006-07-12 Marco Gerards <marco@gnu.org>
48017
48018 * configure.ac (--enable-mm-debug): Fix typo.
48019
48020 * genkernsyms.sh.in: Use proper quoting for `CC'.
48021
43e7f879 480222006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48023
48024 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48025 (normal_mod_ASFLAGS): Remove "-m32".
48026
4889bdec 480272006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
48028
48029 * util/misc.c: Include config.h.
48030 [!HAVE_MEMALIGN]: Do not include malloc.h.
48031 (grub_memalign): Use posix_memalign, if present. Then, use
48032 memalign, if present. Otherwise, emit an error.
48033
48034 * util/grub-emu.c: Do not include malloc.h.
48035
48036 * include/grub/util/misc.h: Include unistd.h. This is required for
48037 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48038 D. Eades III <hde@foobar-qux.org>.
48039
48040 * configure.ac (AC_GNU_SOURCE): Added.
48041 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48042 type.
48043
fd39d4da 480442006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48045
48046 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48047 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48048
b786f3b5 480492006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48050
48051 * include/grub/types.h (grub_host_addr_t): Rename to
48052 grub_target_addr_t.
48053 (grub_host_off_t): Rename to grub_target_off_t.
48054 (grub_host_size_t): Rename to grub_target_size_t.
48055 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48056 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48057
48058 * include/grub/kernel.h (struct grub_module_header): Change type
48059 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48060 (grub_module_info): Likewise.
f19dbdb7 48061
051988bb 480622006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48063
48064 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48065 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48066 Velazquez <jesus.velazquez@gmail.com>.
48067
deae281b 480682006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48069
48070 Count partitions from 1 instead of 0 in the string representation
48071 of partitions. Still use 0-based internally.
f19dbdb7 48072
deae281b 48073 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48074 (sun_partition_map_iterate): Use grub_partition_t instead of
48075 struct grub_partition *. Cast DESC->START_CYLINDER to
48076 grub_uint64_t after converting the endian.
48077 (sun_partition_map_probe): Subtract 1 for PARTNUM.
48078 (sun_partition_map_get_name): Add 1 to P->INDEX.
48079
48080 * partmap/pc.c (grub_partition_parse): Subtract 1 for
48081 PCDATA->DOS_PART.
48082 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
48083
48084 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
48085 zero instead of one.
48086 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
48087 (gpt_partition_map_get_name): Add 1 into P->INDEX.
48088
48089 * partmap/apple.c (apple_partition_map_iterate): Change the type
48090 of POS to unsigned.
48091 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48092 (apple_partition_map_get_name): Add 1 into P->INDEX.
48093
48094 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48095 of POS to unsigned.
48096 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48097 calculate the offset of a partition.
48098 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48099 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48100
48101 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48102 SECTOR to grub_disk_addr_t.
48103 (acorn_partition_map_iterate): Likewise.
48104 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48105 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48106 top.
48107 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48108
48109 * kern/i386/pc/init.c (make_install_device): Add 1 into
48110 GRUB_INSTALL_DOS_PART.
48111
48112 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
48113 conditional.
48114
524a1e6a 481152006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48116
48117 Clean up the code to support 64-bit addressing in disks and
48118 files. This change is not enough for filesystems yet.
f19dbdb7 48119
524a1e6a 48120 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
48121 type of "start" to grub_uint64_t.
48122 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
48123 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
48124 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
48125 convert addresses.
48126
48127 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
48128 to grub_disk_addr_t.
48129
48130 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
48131 string.
48132
48133 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48134
48135 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
48136 to char *.
48137
48138 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
48139
48140 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
48141
48142 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
48143
48144 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
48145 to grub_off_t, to detect an error from grub_file_seek.
48146 (grub_multiboot_load_elf32): Likewise.
48147
48148 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
48149 maximum unsigned long value when an overflow is detected.
48150 (grub_strtoull): New function.
48151 (grub_divmod64): Likewise.
48152 (grub_lltoa): use grub_divmod64.
48153
48154 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
48155 grub_disk_addr_t.
48156 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
48157 the pointer to next character. Use grub_strtoull instead of
48158 grub_strtoul.
48159 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
48160 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
48161 respectively.
48162
fe6b695a 48163 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 48164 return value is signed.
48165 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
48166 test if OFFSET is less than zero, as OFFSET is unsigned now.
48167
48168 * kern/disk.c (struct grub_disk_cache): Change the type of
48169 "sector" to grub_disk_addr_t.
48170 (grub_disk_cache_get_index): Change the type of SECTOR to
48171 grub_disk_addr_t. Calculate the hash with SECTOR casted to
48172 unsigned after shifting.
48173 (grub_disk_cache_invalidate): Change the type of SECTOR to
48174 grub_disk_addr_t.
48175 (grub_disk_cache_unlock): Likewise.
48176 (grub_disk_cache_store): Likewise.
48177 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
48178 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
48179 grub_disk_addr_t and grub_uint64_t, respectively.
48180 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
48181 body, as the value of OFFSET is tweaked by
48182 grub_disk_check_range. Change the types of START_SECTOR, LEN and
48183 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
48184 respectively.
48185 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
48186 body, as the value of OFFSET is tweaked by
48187 grub_disk_check_range. Change the types of LEN and N to
48188 grub_size_t.
48189
48190 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
48191 and "saved_offset" to grub_off_t.
48192 (test_header): Cast BUF to char *.
48193 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
48194 to char *.
48195 (grub_gzio_read): Change the types of OFFSET and SIZE to
48196 grub_off_t and grub_size_t, respectively.
48197
48198 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48199 Removed.
48200 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48201 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48202 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48203 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48204 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48205
48206 * include/grub/types.h (grub_off_t): Unconditionally set to
48207 grub_uint64_t.
48208 (grub_disk_addr_t): Changed to grub_uint64_t.
48209
48210 * include/grub/partition.h (struct grub_partition): Change the
48211 types of "start", "len" and "offset" to grub_disk_addr_t,
48212 grub_uint64_t and grub_disk_addr_t, respectively.
48213 (grub_partition_get_start): Return grub_disk_addr_t.
48214 (grub_partition_get_len): Return grub_uint64_t.
48215
48216 * include/grub/misc.h (grub_strtoull): New prototype.
48217 (grub_divmod64): Likewise.
48218
48219 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48220 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48221 grub_off_t, respectively.
48222 All callers and references changed.
48223
48224 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48225 grub_size_t in "read".
48226 All callers and references changed.
48227
48228 * include/grub/file.h (struct grub_file): Change the types of
48229 "offset" and "size" to grub_off_t and grub_off_t,
48230 respectively. Change the type of SECTOR to grub_disk_addr_t in
48231 "read_hook".
48232 (grub_file_read): Change the type of LEN to grub_size_t.
48233 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48234 grub_off_t.
48235 (grub_file_size): Return grub_off_t.
48236 (grub_file_tell): Likewise.
48237 All callers and references changed.
48238
48239 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48240 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48241 "write".
48242 (struct grub_disk): Change the type of "total_sectors" to
48243 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 48244 "read_hook".
524a1e6a 48245 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48246 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48247 (grub_disk_write): Likewise.
48248 All callers and references changed.
48249
48250 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48251 char * for grub_strncmp to silence gcc.
48252 (grub_iso9660_mount): Likewise.
48253 (grub_iso9660_mount): Likewise.
48254 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48255 return statement.
48256 (grub_iso9660_iterate_dir): Likewise.
48257 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48258
48259 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48260 LEN to grub_disk_addr_t and grub_size_t, respectively.
48261
48262 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48263
48264 * fs/jfs.c (grub_jfs_read_file): Likewise.
48265
48266 * fs/minix.c (grub_jfs_read_file): Likewise.
48267
48268 * fs/sfs.c (grub_jfs_read_file): Likewise.
48269
48270 * fs/ufs.c (grub_jfs_read_file): Likewise.
48271
48272 * fs/xfs.c (grub_jfs_read_file): Likewise.
48273
48274 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48275 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48276 respectively.
48277
48278 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48279 BLKNR to -1 instead of returning GRUB_ERRNO.
48280 (grub_ext2_read_file): Change the types of SECTOR and
48281 LEN to grub_disk_addr_t and grub_size_t, respectively.
48282
48283 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48284 LEN to grub_disk_addr_t and grub_size_t, respectively.
48285
48286 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48287 grub_file_read.
48288
48289 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48290 string. Do not cast SECTOR explicitly.
48291
48292 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48293 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48294 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48295 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48296 over 2TB and LBA mode is not supported, raise an error.
48297 (get_safe_sectors): New function.
48298 (grub_biosdisk_read): Use get_safe_sectors.
48299 (grub_biosdisk_write): Likewise.
48300
48301 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48302 (grub_efidisk_write): Likewise.
48303
48304 * disk/loopback.c (delete_loopback): Cosmetic changes.
48305 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48306 correctly.
48307 (grub_loopback_open): Likewise.
48308 (grub_loopback_read): Likewise. Also, change the type of POS to
48309 grub_off_t, and fix the usage of grub_memset.
48310
48311 * commands/i386/pc/play.c: Include grub/machine/time.h.
48312
48313 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48314 print FILE->SIZE.
48315
48316 * commands/configfile.c: Include grub/env.h.
48317
48318 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48319 GRUB_ERRNO directly instead. Change the type of POS to
48320 grub_off_t. Follow the coding standard.
48321
48322 * commands/blocklist.c: Include grub/partition.h.
48323 (grub_cmd_blocklist): Return an error if the underlying device is
48324 not a disk. Take the starting sector of a partition into account,
48325 if a partition is used.
48326
48327 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48328 a length field.
48329 (lba_mode): Support 64-bit addresses.
48330 (chs_mode): Likewise.
48331 (copy_buffer): Adapted to the new offsets of a length field and a
48332 segment field.
48333 (blocklist_default_start): Allocate 64-bit space.
48334
48335 * boot/i386/pc/boot.S (force_lba): Removed.
48336 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48337 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48338 space.
48339 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48340 is useless.
48341 (lba_mode): Refactored to support a 64-bit address. More size
48342 optimization.
48343 (setup_sectors): Likewise.
48344
53af98ad 483452006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48346
48347 * DISTLIST: Added include/grub/i386/linux.h. Removed
48348 include/grub/i386/pc/linux.h
48349
48350 * configure.ac (AC_INIT): Bumped to 1.94.
48351
48352 * config.guess: Updated from gnulib.
48353 * config.sub: Likewise.
48354 * install-sh: Likewise.
48355 * mkinstalldirs: Likewise.
48356
b4c1940a 483572006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48358
48359 * conf/common.rmk (grub_modules_init.lst): Depended on
48360 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48361 MODSRCFILES.
48362
48363 * genmk.rb (PModule::rule): Reverted the previous change.
48364
cfca1cfd 483652006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48366
48367 * conf/common.rmk (grub_modules_init.lst): Depends on
48368 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48369 that the target does not exist before producing.
48370 (grub_modules_init.h): Remove the target before generating.
48371 (grub_emu_init.c): Likewise.
48372
48373 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48374
aa6d7826 483752006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48376
48377 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48378 for the target-specific tests. Make sure that we also have the
48379 up-to-date target variables for those tests.
48380
26c607b9 483812006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48382
48383 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48384 (PModule::rule): Likewise.
48385
0162321a 483862006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48387
48388 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48389 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48390 target-specific flags should be prefixed.
48391 (PModule::rule): Likewise.
48392
6c826348 483932006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48394
48395 * configure.ac (CMP): Check if cmp is available explicitly.
48396
b977bf01 483972006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48398
48399 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48400 (target_cpu): New variable.
48401 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48402
b977bf01 48403 * util/i386/pc/grub-install.in (host_cpu): Removed.
48404 (target_cpu): New variable.
48405 (pkglibdir): Use target_cpu instead of host_cpu.
48406
48407 * util/genmoddep.c: Removed.
f19dbdb7 48408
b977bf01 48409 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48410 instead of GRUB_HOST_SIZEOF_VOID_P.
48411 * kern/dl.c: Likewise.
48412
48413 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48414 ...
48415 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48416 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48417 (GRUB_TARGET_SIZEOF_LONG): ... this.
48418 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48419 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48420 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48421 to ...
48422 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48423 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48424 (GRUB_TARGET_SIZEOF_LONG): ... this.
48425 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48426 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48427 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48428 to ...
48429 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48430 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48431 (GRUB_TARGET_SIZEOF_LONG): ... this.
48432 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48433 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48434
48435 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48436 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48437 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48438 instead of GRUB_HOST_SIZEOF_LONG.
48439 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48440 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48441 GRUB_CPU_WORDS_BIGENDIAN.
48442 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48443 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48444 grub_host_ssize_t.
48445
48446 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48447 (genmoddep_SOURCES): Likewise.
48448 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48449 (genmoddep_SOURCES): Likewise.
48450 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48451 (genmoddep_SOURCES): Likewise.
48452 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48453 Likewise.
48454 (genmoddep_SOURCES): Likewise.
48455
48456 * genmoddep.awk: New file.
48457
48458 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48459 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48460 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48461 (PModule::rule): Likewise.
48462 (Program::rule): Likewise.
48463 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48464 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48465 respectively.
48466
48467 * configure.ac: Rewritten intensively to use host and target
48468 instead of build and host, respectively.
48469
48470 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48471 (host_cpu): Removed.
48472 (target_cpu): New variable.
48473 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48474 (BUILD_CC): Removed.
48475 (BUILD_CFLAGS): Likewise.
48476 (BUILD_CPPFLAGS): Likewise.
48477 (TARGET_CC): New variable.
48478 (TARGET_CFLAGS): Likewise.
48479 (TARGET_CPPFLAGS): Likewise.
48480 (TARGET_LDFLAGS): Likewise.
48481 (AWK): Likewise.
48482 (include): Use target_cpu instead of host_cpu.
48483 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48484
b977bf01 48485 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48486
f09771a1 484872006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48488
48489 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48490 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48491 field 'false' to 'exec_on_false'.
48492 (grub_script_create_cmdif): Renamed argument names to reflect above
48493 changes.
48494
48495 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48496
48497 * normal/script.c (grub_script_create_cmdif): Likewise.
48498
118f4fb3 484992006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48500
48501 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48502 top.
48503 (grub_hfsplus_btree_recptr): Likewise.
48504 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48505 FILEBLOCK both to pass a block number and store next block
48506 number.
48507 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48508 overflow file correctly. Specify errors appropriately, because
48509 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48510 grub_hfsplus_btree_recptr to get the pointer to a found key.
48511 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48512 is found.
48513
48514 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48515 linux.mod.
48516 (_linux_mod_SOURCES): New variable.
48517 (_linux_mod_CFLAGS): Likewise.
48518 (_linux_mod_LDFLAGS): Likewise.
48519 (linux_mod_SOURCES): Likewise.
48520 (linux_mod_CFLAGS): Likewise.
48521 (linux_mod_LDFLAGS): Likewise.
48522
48523 * DISTLIST: Added loader/i386/efi/linux.c,
48524 loader/i386/efi/linux_normal.c and
48525 include/grub/i386/efi/loader.h.
48526
48527 * loader/i386/efi/linux.c: New file.
48528 * loader/i386/efi/linux_normal.c: Likewise.
48529 * include/grub/i386/efi/loader.h: Likewise.
48530
89a7d726 485312006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48532
48533 * commands/blocklist.c: New file.
48534
48535 * DISTLIST: Added commands/blocklist.c.
48536
48537 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48538 color for the background, and a darker color for the foreground.
89a7d726 48539 (grub_console_checkkey): Return READ_KEY.
48540 (grub_console_cls): Set the background to
48541 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48542
48543 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48544
48545 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48546 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48547
48548 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48549 prototype.
48550
48551 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48552 BG. The spec is wrong again.
48553
48554 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48555 prototype.
48556 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48557
48558 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48559 commands/blocklist.c.
48560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48561
89a7d726 48562 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48563 (blocklist_mod_SOURCES): New variable.
48564 (blocklist_mod_CFLAGS): Likewise.
48565 (blocklist_mod_LDFLAGS): Likewise.
48566
75c8f258 485672006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48568
48569 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48570 duplication.
48571 (lba_mode): Use %eax more intensively to reduce the code size.
48572
da2eb181 485732006-05-20 Marco Gerards <marco@gnu.org>
48574
48575 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48576
48577 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48578 for `menuentry'.
48579 (script): Accept leading newlines.
48580 (newlines): New rule to describe 0 or more newlines.
48581 (commands): Accept `command' with trailing newline. Fixed the
48582 order in which arguments were passed to `grub_script_add_cmd'.
48583 Accept commands separated by newlines.
48584 (function): Changed to accept newlines.
48585 (menuentry) Rewritten.
48586
48587 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48588 front of the list, instead of to the end.
48589
577b4050 485902006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48591
48592 * util/i386/pc/grub-install.in (bindir): New variable.
48593 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48594 Shaver <lbgwjl@gmail.com>.
48595
0d6e1189 485962006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48597
48598 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48599 grub/machine/linux.h
48600 * loader/i386/pc/linux.c: Likewise.
48601
48602 * include/grub/i386/pc/linux.h: Moved to ...
48603 * include/grub/i386/linux.h: ... here.
48604
48605 * include/grub/i386/linux.h (struct linux_kernel_params): New
48606 struct.
f19dbdb7 48607
31b86e9f 486082006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48609
48610 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48611 checking.
48612 (grub_video_vbe_blit_glyph): Likewise.
48613 (grub_video_vbe_blit_bitmap): Likewise.
48614 (grub_video_vbe_blit_render_target): Likewise.
48615
83b984de 486162006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48617
48618 * configure.ac (--with-platform): Properly quote the square
48619 brackets.
48620
5f0413bd 486212006-05-08 Marco Gerards <marco@gnu.org>
48622
48623 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48624 this...
48625 (kernel_elf_HEADERS): ...to this. Updated all users.
48626 (grubof_symlist.c): Renamed from this...
48627 (kernel_elf_symlist.c): ...to this. Updated all users.
48628 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48629 (grubof_SOURCES): Renamed from this...
48630 (kernel_elf_SOURCES): ...to this.
48631 (grubof_HEADERS): Renamed from this...
48632 (kernel_elf_HEADERS): ...to this.
48633 (grubof_CFLAGS): Renamed from this...
48634 (kernel_elf_CFLAGS): ...to this.
48635 (grubof_ASFLAGS): Renamed from this...
48636 (kernel_elf_ASFLAGS): ...to this.
48637 (grubof_LDFLAGS): Renamed from this...
48638 (kernel_elf_LDFLAGS): ...to this.
48639
48640 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48641 this...
48642 (kernel_elf_HEADERS): ...to this. Updated all users.
48643 (grubof_symlist.c): Renamed from this...
48644 (kernel_elf_symlist.c): ...to this. Updated all users.
48645 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48646 (grubof_SOURCES): Renamed from this...
48647 (kernel_elf_SOURCES): ...to this.
48648 (grubof_HEADERS): Renamed from this...
48649 (kernel_elf_HEADERS): ...to this.
48650 (grubof_CFLAGS): Renamed from this...
48651 (kernel_elf_CFLAGS): ...to this.
48652 (grubof_ASFLAGS): Renamed from this...
48653 (kernel_elf_ASFLAGS): ...to this.
48654 (grubof_LDFLAGS): Renamed from this...
48655 (kernel_elf_LDFLAGS): ...to this.
48656
48657 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48658 `kernel.elf' instead of `grubof'.
48659
05568c2e 486602006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48661
48662 Add --with-platform to configure. Use pkglibdir instead of
48663 pkgdatadir. This is reported by Roger Leigh.
48664
48665 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48666 (host_vendor): Likewise.
48667 (host_os): Likewise.
48668 (pkgdatadir): Likewise.
48669 (platform): New variable.
48670 (pkglibdir): Likewise.
48671 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48672
05568c2e 48673 * util/i386/pc/grub-install.in (datadir): Removed.
48674 (host_vendor): Likewise.
48675 (host_os): Likewise.
48676 (pkgdatadir): Likewise.
48677 (platform): New variable.
48678 (pkglibdir): Likewise.
48679 Use PKGLIBDIR instead of PKGDATADIR.
48680
48681 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48682 instead of GRUB_DATADIR.
48683 (main): Likewise.
48684 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48685 (main): Likewise.
48686 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48687 (main): Likewise.
48688
48689 * configure.ac (--with-platform): New option.
48690 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48691
48692 * Makefile.in: Include a makefile based on PLATFORM instead of
48693 HOST_VENDOR.
48694 (pkgdatadir): Not appended by the machine type.
48695 (pkglibdir): Appended by the machine type.
48696 (host_vendor): Removed.
48697 (platform): New variable.
48698 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48699 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48700 (uninstall): Likewise.
48701
4e93851c 487022006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48703
48704 Use the environment context in the menu. Remove the commands
48705 "default" and "timeout", and use variables instead.
f19dbdb7 48706
4e93851c 48707 * normal/menu.c: Include grub/env.h.
48708 (print_entry): Cast TITLE to silence gcc.
48709 (get_timeout): New function.
48710 (set_timeout): Likewise.
48711 (get_entry_number): Likewise.
48712 (run_menu): Use a default entry, a fallback entry and a timeout
48713 in the environment variables "default", "fallback" and
48714 "timeout". Also, tweak the default entry if it is not within the
48715 current menu entries.
48716 (grub_menu_run): Use a fallback entry in the environment variable
48717 "fallback".
48718
48719 * normal/main.c (read_config_file): Do not initialize
48720 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
48721 NEWMENU->TIMEOUT.
48722 (grub_normal_execute): Use a data slot to store the menu.
48723
48724 * include/grub/normal.h (struct grub_menu): Removed default_entry,
48725 fallback_entry and timeout.
48726 (struct grub_menu_list): Removed.
48727 (grub_menu_list_t): Likewise.
48728 (struct grub_context): Likewise.
48729 (grub_context_t): Likewise.
48730 (grub_context_get): Likewise.
48731 (grub_context_get_current_menu): Likewise.
48732 (grub_context_push_menu): Likewise.
48733 (grub_context_pop_menu): Likewise.
48734 (grub_default_init): Likewise.
48735 (grub_default_fini): Likewise.
48736 (grub_timeout_init): Likewise.
48737 (grub_timeout_fini): Likewise.
48738
48739 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
48740 and timeout.mod.
48741 (normal_mod_SOURCES): Removed normal/context.c.
48742
48743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
48744 commands/default.c, commands/timeout.c and normal/context.c.
48745 (normal_mod_SOURCES): Removed normal/context.c.
48746
48747 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
48748 commands/timeout.c and normal/context.c.
48749 (normal_mod_SOURCES): Removed normal/context.c.
48750
48751 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
48752 commands/default.c, commands/timeout.c and normal/context.c.
48753 (normal_mod_SOURCES): Removed normal/context.c.
48754
48755 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
48756 timeout.mod.
48757 (default_mod_SOURCES): Removed.
48758 (default_mod_CFLAGS): Likewise.
48759 (default_mod_LDFLAGS): Likewise.
48760 (timeout_mod_SOURCES): Removed.
48761 (timeout_mod_CFLAGS): Likewise.
48762 (timeout_mod_LDFLAGS): Likewise.
48763
48764 * DISTLIST: Removed commands/default.c, commands/timeout.c and
48765 normal/context.c.
48766
48767 * commands/default.c: Removed.
48768 * commands/timeout.c: Likewise.
48769 * normal/context.c: Likewise.
48770
1eb9cc1d 487712006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
48772
48773 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
48774
385bd9c1 487752006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
48776
48777 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
48778 "next" to "prev" for readability.
48779 (struct grub_env_sorted_var): New struct.
48780 (grub_env_context): Renamed to ...
48781 (initial_context): ... this.
48782 (grub_env_var_context): Renamed to ...
48783 (current_context): ... this.
48784 (grub_env_find): Look only at CURRENT_CONTEXT.
48785 (grub_env_context_open): Rewritten to copy exported variables from
48786 previous context.
48787 (grub_env_context_close): Rewritten according to the new
48788 scheme. Also, add an assertion to prevent the initial context from
48789 removed.
48790 (grub_env_insert): Removed the code for the sorted list.
48791 (grub_env_remove): Likewise.
48792 (grub_env_export): Simply mark the variable with
48793 GRUB_ENV_VAR_GLOBAL.
48794 (grub_env_set): A cosmetic change for naming consistency.
48795 (grub_env_get): Likewise.
48796 (grub_env_unset): Likewise.
48797 (grub_env_iterate): Rewritten to sort variables within this
48798 function.
48799 (grub_register_variable_hook): Fixed for naming consistency. Call
48800 grub_env_find again, only if NAME is not found at the first time.
48801 (mangle_data_slot_name): New function.
48802 (grub_env_set_data_slot): Likewise.
48803 (grub_env_get_data_slot): Likewise.
48804 (grub_env_unset_data_slot): Likewise.
48805
48806 * include/grub/env.h (grub_env_var_type): New enum.
48807 (GRUB_ENV_VAR_LOCAL): New constant.
48808 (GRUB_ENV_VAR_GLOBAL): Likewise.
48809 (GRUB_ENV_VAR_DATA): Likewise.
48810 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
48811 "type".
48812 (grub_env_set): Replace VAR with NAME for consistency.
48813 (grub_register_variable_hook): Likewise.
48814 (grub_env_export): Specify the name of the argument.
48815 (grub_env_set_data_slot): New prototype.
48816 (grub_env_get_data_slot): Likewise.
48817 (grub_env_unset_data_slot): Likewise.
48818
7f362539 488192006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48820
48821 Extend the loader so that GRUB can accept a loader which comes
48822 back to GRUB when a loaded image exits. Also, this change adds
48823 support for a chainloader on EFI.
f19dbdb7 48824
7f362539 48825 * term/efi/console.c: Include grub/misc.h.
48826 (grub_console_checkkey): Display a scan code on the top for
48827 debugging. This will be removed once the EFI port gets stable.
48828 Correct the scan code mapping.
48829
48830 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
48831 allocate memory from larger regions, in order to reduce the number
48832 of allocated regions. Otherwise, the MacOSX loader panics.
48833 (filter_memory_map): Avoid less than 1MB for compatibility with
48834 other loaders.
48835 (add_memory_regions): Allocate from the tail of a region, if
48836 possible, to avoid allocating a region near to 1MB, for the MacOSX
48837 loader.
48838
48839 * kern/efi/init.c (grub_efi_set_prefix): Specify
48840 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48841
48842 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48843 argument IMAGE_HANDLE and specify it to get a loaded image.
48844 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48845 grub_efi_get_loaded_image.
fe6b695a 48846 (grub_efi_get_filename): Divide the length by the size of
7f362539 48847 grub_efi_char16_t.
48848 (grub_efi_get_device_path): New function.
48849 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48850 the length by the size of grub_efi_char16_t for a file path device
48851 path node.
48852
48853 * kern/loader.c (grub_loader_noreturn): New variable.
48854 (grub_loader_set): Accept a new argument NORETURN. Set
48855 GRUB_LOADER_NORETURN to NORETURN.
48856 All callers changed.
48857 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48858 grub_machine_fini.
48859
48860 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48861 prototype.
48862 (grub_efi_get_loaded_image): Take an argument to specify an image
48863 handle.
48864
48865 * include/grub/loader.h (grub_loader_set): Added one more argument
48866 NORETURN.
48867
48868 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48869 instead of grub_efi_open_protocol.
48870 (grub_efidisk_get_device_name): Likewise.
48871 (grub_efidisk_close): Print a newline.
48872 (grub_efidisk_get_device_handle): Fixed to use
48873 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48874 GRUB_EFI_DEVICE_PATH_TYPE.
48875
48876 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48877 * kern/efi/efi.c (device_path_guid): ... here.
48878
48879 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48880 chain.mod.
48881 (kernel_mod_HEADERS): Added efi/disk.h.
48882 (_chain_mod_SOURCES): New variable.
48883 (_chain_mod_CFLAGS): Likewise.
48884 (_chain_mod_LDFLAGS): Likewise.
48885 (chain_mod_SOURCES): Likewise.
48886 (chain_mod_CFLAGS): Likewise.
48887 (chain_mod_LDFLAGS): Likewise.
48888
48889 * DISTLIST: Added include/grub/efi/chainloader.h,
48890 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48891
48892 * include/grub/efi/chainloader.h: New file.
48893 * loader/efi/chainloader.c: Likewise.
48894 * loader/efi/chainloader_normal.c: Likewise.
48895
c0111d6e 488962006-04-30 Marco Gerards <marco@gnu.org>
48897
48898 * commands/configfile.c (grub_cmd_source): New function.
48899 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48900 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48901
df5341da 489022006-04-30 Marco Gerards <marco@gnu.org>
48903
48904 * normal/execute.c (grub_script_execute_cmd): Change the return
48905 type to `grub_err_t'. Correctly return the error.
48906 (grub_script_execute_cmdline): In case a command line is not a
48907 command or a function, try to interpret it as an assignment.
48908
f85934bd 489092006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48910
48911 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48912 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48913 skip a node whose name is obviously invalid as UTF-16,
48914 i.e. contains a NUL character. Stop the iteration when the last
48915 directory entry is found. Instead of using the return value of
48916 grub_hfsplus_btree_iterate_node, store the value in RET and use
48917 it, because the iterator can be stopped by the last directory
48918 entry.
48919
8f8a2cf8 489202006-04-30 Marco Gerards <marco@gnu.org>
48921
48922 * include/grub/env.h (grub_env_export): New prototype. Reported
48923 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48924
a27e84ce 489252006-04-30 Marco Gerards <marco@gnu.org>
48926
48927 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48928 size of the extents in a catalog file record.
48929
eaef0553 489302006-04-29 Marco Gerards <marco@gnu.org>
48931
48932 * commands/configfile.c (grub_cmd_configfile): Execute the
48933 configfile within its own context.
48934
48935 * include/grub/env.h (grub_env_context_open): New prototype.
48936 (grub_env_context_close): Likewise.
48937
48938 * kern/env.c (grub_env): Removed.
48939 (grub_env_sorted): Likewise.
48940 (grub_env_context): New variable.
48941 (grub_env_var_context): Likewise.
48942 (grub_env_find): Search both the active context and the global
48943 context.
48944 (grub_env_context_open): New function.
48945 (grub_env_context_close): Likewise.
48946 (grub_env_insert): Likewise.
48947 (grub_env_remove): Likewise.
48948 (grub_env_export): Likewise.
48949 (grub_env_set): Changed to use helper functions to avoid code
48950 duplication.
48951 (grub_env_iterate): Rewritten so both the current context and the
48952 global context are being used.
48953
48954 * normal/command.c (export_command): New function.
48955 (grub_command_init): Register the `export' function.
48956
7b455f4d 489572006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48958
48959 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48960 explicitly to suppress gcc's warnings.
48961 * fs/fat.c (grub_fat_find_dir): Likewise.
48962 (grub_fat_label): Likewise.
48963 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48964 (grub_xfs_mount): Likewise.
48965 (grub_xfs_label): Likewise.
48966 * fs/affs.c (grub_affs_mount): Likewise.
48967 (grub_affs_label): Likewise.
48968 (grub_affs_iterate_dir): Likewise.
48969 * fs/sfs.c (grub_sfs_mount): Likewise.
48970 (grub_sfs_iterate_dir): Likewise.
48971 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48972 * fs/hfs.c (grub_hfs_mount): Likewise.
48973 (grub_hfs_cmp_catkeys): Likewise.
48974 (grub_hfs_find_dir): Likewise.
48975 (grub_hfs_dir): Likewise.
48976 (grub_hfs_label): Likewise.
48977 * fs/jfs.c (grub_jfs_mount): Likewise.
48978 (grub_jfs_opendir): Likewise.
48979 (grub_jfs_getent): Likewise.
48980 (grub_jfs_lookup_symlink): Likewise.
48981 (grub_jfs_label): Likewise.
48982 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48983 (grub_hfsplus_iterate_dir): Likewise.
48984 (grub_hfsplus_btree_iterate_node): Made static.
48985
48986 * util/grub-emu.c (prefix): New variable.
48987 (grub_machine_set_prefix): New function.
48988 (main): Do not set the environment variable "prefix" here. Only
48989 set PREFIX, which is used later by grub_machine_set_prefix.
48990
48991 * include/grub/video.h: Do not include grub/symbol.h.
48992 (grub_video_register): Not exported. This symbol is not defined in
48993 the kernel.
48994 (grub_video_unregister): Likewise.
48995 (grub_video_iterate): Likewise.
48996 (grub_video_setup): Likewise.
48997 (grub_video_restore): Likewise.
48998 (grub_video_get_info): Likewise.
48999 (grub_video_get_blit_format): Likewise.
49000 (grub_video_set_palette): Likewise.
49001 (grub_video_get_palette): Likewise.
49002 (grub_video_set_viewport): Likewise.
49003 (grub_video_get_viewport): Likewise.
49004 (grub_video_map_color): Likewise.
49005 (grub_video_map_rgb): Likewise.
49006 (grub_video_map_rgba): Likewise.
49007 (grub_video_fill_rect): Likewise.
49008 (grub_video_blit_glyph): Likewise.
49009 (grub_video_blit_bitmap): Likewise.
49010 (grub_video_blit_render_target): Likewise.
49011 (grub_video_scroll): Likewise.
49012 (grub_video_swap_buffers): Likewise.
49013 (grub_video_create_render_target): Likewise.
49014 (grub_video_delete_render_target): Likewise.
49015 (grub_video_set_active_render_target): Likewise.
49016
49017 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49018 Undefined.
49019 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49020
49021 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49022 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49023 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49024 instead of $(srcdir)/genkernsyms.sh.
49025
49026 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49027 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49028 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49029 instead of $(srcdir)/genkernsyms.sh.
49030
49031 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49032 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49033 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49034 instead of $(srcdir)/genkernsyms.sh.
49035
49036 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49037 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49038 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49039 instead of $(srcdir)/genkernsyms.sh.
49040
49041 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49042 genkernsyms.sh.
49043
49044 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49045 genkernsyms.sh.
49046 (gensymlist.sh): New target.
49047 (genkernsyms.sh): Likewise.
49048
49049 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49050 genkernsyms.sh.in and gensymlist.sh.in.
49051
49052 * genkernsyms.sh: Removed.
49053 * gensymlist.sh: Likewise.
f19dbdb7 49054
7b455f4d 49055 * genkernsyms.sh.in: New file.
49056 * gensymlist.sh.in: Likewise.
49057
1885bb27 490582006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49059
49060 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49061 clobber "prefix", since we may have already set it manually.
49062
71538dff 490632006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49064
49065 * kern/misc.c (abort): New alias for grub_abort.
49066
2965c7cc 490672006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49068
49069 A new machine-specific function "grub_machine_set_prefix" is
49070 defined. This is called after loading modules, so that a prefix
49071 initialization can use modules. Also, this change adds an
49072 intensive debugging feature for the memory manager via the
49073 configure option "--enable-mm-debug".
f19dbdb7 49074
2965c7cc 49075 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49076 PART.LEN.
49077
49078 * kern/sparc64/ieee1275/init.c (abort): Removed.
49079 (grub_stop): Likewise.
49080 (grub_exit): New function.
49081 (grub_set_prefix): Renamed to ...
49082 (grub_machine_set_prefix): ... this.
49083 (grub_machine_init): Do not call grub_set_prefix.
49084
49085 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
49086 (grub_machine_set_prefix): ... this.
49087 (grub_machine_init): Do not call grub_set_prefix.
49088
49089 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49090 (grub_machine_init): Do not set the prefix here.
49091
49092 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49093
49094 * kern/efi/init.c: Include grub/mm.h.
49095 (grub_efi_set_prefix): New function.
49096
49097 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49098 (grub_efi_get_filename): New function.
49099 (grub_print_device_path): Renamed to ...
49100 (grub_efi_print_device_path): ... this.
49101
49102 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49103 [MM_DEBUG] (grub_realloc): Likewise.
49104 [MM_DEBUG] (grub_free): Likewise.
49105 [MM_DEBUG] (grub_memalign): Likewise.
49106 [MM_DEBUG] (grub_mm_debug): New variable.
49107 [MM_DEBUG] (grub_debug_malloc): New function.
49108 [MM_DEBUG] (grub_debug_free): New function.
49109 [MM_DEBUG] (grub_debug_realloc): New function.
49110 [MM_DEBUG] (grub_debug_memalign): New function.
49111
49112 * kern/misc.c (grub_abort): Print a newline to distinguish
49113 the message.
49114
49115 * kern/main.c (grub_main): Call grub_machine_set_prefix and
49116 grub_set_root_dev after loading modules. This is necessary when
49117 setting a prefix depends on modules.
49118
49119 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
49120 (grub_efi_print_device_path): ... this.
49121 (grub_efi_get_filename): New prototype.
49122 (grub_efi_set_prefix): Likewise.
49123
49124 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
49125 and grub/disk.h.
49126 (grub_efidisk_get_device_handle): New prototype.
49127 (grub_efidisk_get_device_name): Likewise.
49128
49129 * include/grub/mm.h: Include config.h.
49130 (MM_DEBUG): Removed.
49131 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
49132 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
49133 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
49134 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
49135 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
49136 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
49137 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
49138 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
49139 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
49140
49141 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
49142
49143 * disk/efi/efidisk.c: Include grub/partition.h.
49144 (iterate_child_devices): New function.
49145 (add_device): First, compare only last device path nodes, so that
49146 devices are sorted by the types.
49147 (grub_efidisk_get_device_handle): New function.
49148 (grub_efidisk_get_device_name): Likewise.
49149
49150 * configure.ac (--enable-mm-debug): New option to enable the
49151 memory manager debugging feature. This makes the binary much
49152 bigger, so is disabled by default.
49153
9cacaa17 491542006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
49155
49156 Use grub_abort instead of grub_stop, and grub_exit must be
49157 define in each architecture now. Also, this change adds support
49158 for EFI disks.
f19dbdb7 49159
9cacaa17 49160 * util/i386/pc/grub-probefs.c: Include grub/term.h.
49161 (grub_getkey): New function.
49162 (grub_term_get_current): Likewise.
49163
49164 * util/i386/pc/grub-setup.c: Include grub/term.h.
49165 (grub_getkey): New function.
49166 (grub_term_get_current): Likewise.
49167
49168 * util/misc.c (grub_stop): Renamed to ...
49169 (grub_exit): ... this.
49170
49171 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
49172 (grub_exit): ... this.
49173 (grub_machine_init): Use grub_abort instead of abort.
49174 (grub_stop): Removed.
49175
49176 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
49177 abort.
49178
49179 * kern/i386/pc/startup.S (grub_exit): New function.
49180 (cold_reboot): New label.
49181
49182 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
49183 (grub_efi_init): Call grub_efidisk_init.
49184 (grub_efi_fini): Call grub_efidisk_fini.
49185
49186 * kern/efi/efi.c: Include grub/mm.h.
49187 (grub_efi_console_control_guid): Renamed to ...
49188 (console_control_guid): ... this.
49189 (grub_efi_loaded_image_guid): Renamed to ...
49190 (loaded_image_guid): ... this.
49191 (grub_efi_locate_handle): New function.
49192 (grub_efi_open_protocol): Likewise.
49193 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
49194 GRUB_EFI_CONSOLE_CONTROL_GUID.
49195 (grub_efi_exit): Removed.
49196 (grub_stop): Likewise.
49197 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
49198 (grub_exit): New function.
49199 (grub_print_device_path): Likewise.
49200
49201 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49202 (grub_enter_rescue_mode): Register "exit".
49203
49204 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49205 (grub_abort): New function.
49206
49207 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49208
49209 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49210
49211 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49212
49213 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49214 (grub_print_device_path): New prototype.
49215 (grub_efi_locate_handle): Likewise.
49216 (grub_efi_open_protocol): Likewise.
49217
49218 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49219 * disk/efi/efidisk.c: Likewise.
49220
49221 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49222
49223 * include/grub/efi/console_control.h
49224 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49225
49226 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49227 last 8 bytes as an array.
49228 (GRUB_EFI_DISK_IO_GUID): New macro.
49229 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49230 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49231 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49232 grub_uint8_t.
49233 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49234 (struct grub_efi_device_path): Rename the member "sub_type" to
49235 "subtype".
49236 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49237 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49238 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49239 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49240 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49241 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49242 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49243 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49244 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49245 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49246 (struct grub_efi_pci_device_path): New structure.
49247 (grub_efi_pci_device_path_t): New type.
49248 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49249 (struct grub_efi_pccard_device_path): New structure.
49250 (grub_efi_pccard_device_path_t): New type.
49251 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49252 (struct grub_efi_memory_mapped_device_path): New structure.
49253 (grub_efi_memory_mapped_device_path_t): New type.
49254 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49255 (struct grub_efi_vendor_device_path): New structure.
49256 (grub_efi_vendor_device_path_t): New type.
49257 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49258 (struct grub_efi_controller_device_path): New structure.
49259 (grub_efi_controller_device_path_t): New type.
49260 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49261 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49262 (struct grub_efi_acpi_device_path): New structure.
49263 (grub_efi_acpi_device_path_t): New type.
49264 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49265 (struct grub_efi_expanded_acpi_device_path): New structure.
49266 (grub_efi_expanded_acpi_device_path_t): New type.
49267 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49268 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49269 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49270 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49271 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49272 (struct grub_efi_atapi_device_path): New structure.
49273 (grub_efi_atapi_device_path_t): New type.
49274 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49275 (struct grub_efi_fibre_channel_device_path): New structure.
49276 (grub_efi_fibre_channel_device_path_t): New type.
49277 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49278 (struct grub_efi_1394_device_path): New structure.
49279 (grub_efi_1394_device_path_t): New type.
49280 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49281 (struct grub_efi_usb_device_path): New structure.
49282 (grub_efi_usb_device_path_t): New type.
49283 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49284 (struct grub_efi_usb_class_device_path): New structure.
49285 (grub_efi_usb_class_device_path_t): New type.
49286 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49287 (struct grub_efi_i2o_device_path): New structure.
49288 (grub_efi_i2o_device_path_t): New type.
49289 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49290 (struct grub_efi_mac_address_device_path): New structure.
49291 (grub_efi_mac_address_device_path_t): New type.
49292 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49293 (struct grub_efi_ipv4_device_path): New structure.
49294 (grub_efi_ipv4_device_path_t): New type.
49295 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49296 (struct grub_efi_ipv6_device_path): New structure.
49297 (grub_efi_ipv6_device_path_t): New type.
49298 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49299 (struct grub_efi_infiniband_device_path): New structure.
49300 (grub_efi_infiniband_device_path_t): New type.
49301 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49302 (struct grub_efi_uart_device_path): New structure.
49303 (grub_efi_uart_device_path_t): New type.
49304 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49305 (struct grub_efi_vendor_messaging_device_path): New structure.
49306 (grub_efi_vendor_messaging_device_path_t): New type.
49307 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49308 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49309 (struct grub_efi_hard_drive_device_path): New structure.
49310 (grub_efi_hard_drive_device_path_t): New type.
49311 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49312 (struct grub_efi_cdrom_device_path): New structure.
49313 (grub_efi_cdrom_device_path_t): New type.
49314 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49315 (struct grub_efi_vendor_media_device_path): New structure.
49316 (grub_efi_vendor_media_device_path_t): New type.
49317 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49318 (struct grub_efi_file_path_device_path): New structure.
49319 (grub_efi_file_path_device_path_t): New type.
49320 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49321 (struct grub_efi_protocol_device_path): New structure.
49322 (grub_efi_protocol_device_path_t): New type.
49323 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49324 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49325 (struct grub_efi_bios_device_path): New structure.
49326 (grub_efi_bios_device_path_t): New type.
49327 (struct grub_efi_disk_io): New structure.
49328 (grub_efi_disk_io_t): New type.
49329 (struct grub_efi_block_io_media): New structure.
49330 (grub_efi_block_io_media_t): New type.
49331 (struct grub_efi_block_io): New structure.
49332 (grub_efi_block_io_t): New type.
49333
49334 * include/grub/misc.h (grub_stop): Removed.
49335 (grub_exit): New prototype.
49336 (grub_abort): Likewise.
49337
49338 * include/grub/disk.h (enum grub_disk_dev_id): Added
49339 GRUB_DISK_DEVICE_EFIDISK_ID.
49340
49341 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49342 disk/efi/efidisk.c.
49343 (kernel_syms.lst): Remove the target if an error occurs.
49344
49986a9f 493452006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49346
49347 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49348 as it was simply too buggy.
49349
970d3b8a 493502006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49351
49352 * kern/misc.c (grub_lltoa): New function.
49353 (grub_vsprintf): Added support for the long long suffix,
49354 i.e. "ll".
49355
ff04ec24 493562006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49357
49358 * Makefile.in (LDFLAGS): Add variable.
49359 (LD): Remove variable.
49360 * configure.ac: Add -m32 to LDFLAGS.
49361 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49362 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49363 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49364 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49365 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49366 variables.
49367 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49368 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49369 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49370
37e5e1a4 493712006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49372
49373 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49374 length for unknown glyph.
49375
c352d8dd 493762006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49377
2eab1c0d 49378 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49379
2eab1c0d 49380 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49381 completely. Accept one more argument DIR. The caller has changed.
49382
49383 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49384
49385 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49386 (grub_efi_loaded_image_guid): New variable.
49387 (grub_efi_get_loaded_image): New function.
49388 (grub_arch_modules_addr): Likewise.
49389
49390 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49391 prototype.
49392
49393 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49394 (struct grub_efi_loaded_image): New structure.
49395 (grub_efi_loaded_image_t): New type.
49396
493972006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49398
c352d8dd 49399 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49400 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49401 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49402
6d01d6b4 494032006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49404
49405 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49406
976a4ea0 494072006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49408
49409 * DISTLIST: Added include/grub/efi/console.h,
49410 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49411 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49412
49413 * include/grub/efi/console.h: New file.
49414 * include/grub/efi/time.h: Likewise.
49415 * include/grub/i386/efi/kernel.h: Likewise.
49416 * kern/efi/init.c: Likewise.
49417 * kern/efi/mm.c: Likewise.
49418 * term/efi/console.c: Likewise.
f19dbdb7 49419
976a4ea0 49420 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49421 (grub_stop): Removed.
49422 (grub_get_rtc): Likewise.
49423 (grub_machine_init): Simply call grub_efi_init.
49424 (grub_machine_fini): Call grub_efi_fini.
49425
49426 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49427 (grub_efi_output_string): Removed.
49428 (grub_efi_stall): New function.
49429 (grub_stop): Likewise.
49430 (grub_get_rtc): Likewise.
49431
49432 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49433 (grub_efi_stall): New prototype.
49434 (grub_efi_allocate_pages): Likewise.
49435 (grub_efi_free_pages): Likewise.
49436 (grub_efi_get_memory_map): Likewise.
49437 (grub_efi_mm_init): Likewise.
49438 (grub_efi_mm_fini): Likewise.
49439 (grub_efi_init): Likewise.
49440 (grub_efi_fini): Likewise.
49441
49442 * include/grub/i386/efi/time.h: Do not include
49443 grub/symbol.h. Include grub/efi/time.h.
49444 (GRUB_TICKS_PER_SECOND): Removed.
49445 (grub_get_rtc): Likewise.
49446
49447 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49448 Added padding. The EFI spec is buggy.
49449 (GRUB_EFI_BLACK): New macro.
49450 (GRUB_EFI_BLUE): Likewise.
49451 (GRUB_EFI_GREEN): Likewise.
49452 (GRUB_EFI_CYAN): Likewise.
49453 (GRUB_EFI_RED): Likewise.
49454 (GRUB_EFI_MAGENTA): Likewise.
49455 (GRUB_EFI_BROWN): Likewise.
49456 (GRUB_EFI_LIGHTGRAY): Likewise.
49457 (GRUB_EFI_BRIGHT): Likewise.
49458 (GRUB_EFI_DARKGRAY): Likewise.
49459 (GRUB_EFI_LIGHTBLUE): Likewise.
49460 (GRUB_EFI_LIGHTGREEN): Likewise.
49461 (GRUB_EFI_LIGHTCYAN): Likewise.
49462 (GRUB_EFI_LIGHTRED): Likewise.
49463 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49464 (GRUB_EFI_YELLOW): Likewise.
49465 (GRUB_EFI_WHITE): Likewise.
49466 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49467 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49468 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49469 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49470 (GRUB_EFI_BACKGROUND_RED): Likewise.
49471 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49472 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49473 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49474 (GRUB_EFI_TEXT_ATTR): Likewise.
49475
49476 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49477 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49478 (kernel_mod_HEADERS): Added efi/time.h.
49479
83709125 494802006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49481
49482 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49483 include/grub/efi/api.h, include/grub/efi/console_control.h,
49484 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49485 include/grub/i386/efi/time.h, kern/efi/efi.c,
49486 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49487 and util/i386/efi/grub-mkimage.c.
49488
49489 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49490
49491 * genmk.rb (PModule#rule): Do not export symbols if
49492 #{prefix}_EXPORTS is set to "no".
49493
49494 * conf/i386-efi.mk: New file.
49495 * conf/i386-efi.rmk: Likewise.
49496 * include/grub/efi/api.h: Likewise.
49497 * include/grub/efi/console_control.h: Likewise.
49498 * include/grub/efi/efi.h: Likewise.
49499 * include/grub/efi/pe32.h: Likewise.
49500 * include/grub/i386/efi/time.h: Likewise.
49501 * kern/efi/efi.c: Likewise.
49502 * kern/i386/efi/init.c: Likewise.
49503 * kern/i386/efi/startup.S: Likewise.
49504 * util/i386/efi/grub-mkimage.c: Likewise.
49505
495062006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49507
49508 * include/grub/script.h: Include <grub/parser.h> and
49509 "grub_script.tab.h".
49510 (struct grub_lexer_param): New struct.
49511 (struct grub_parser_param): Likewise.
49512 (grub_script_create_arglist): Pass the state in an argument.
49513 (grub_script_add_arglist): Likewise.
49514 (grub_script_create_cmdline): Likewise.
49515 (grub_script_create_cmdblock): Likewise.
49516 (grub_script_create_cmdif): Likewise.
49517 (grub_script_create_cmdmenu): Likewise.
49518 (grub_script_add_cmd): Likewise.
49519 (grub_script_arg_add): Likewise.
49520 (grub_script_lexer_ref): Likewise.
49521 (grub_script_lexer_deref): Likewise.
49522 (grub_script_lexer_record_start): Likewise.
49523 (grub_script_lexer_record_stop): Likewise.
49524 (grub_script_mem_record): Likewise.
49525 (grub_script_mem_record_stop): Likewise.
49526 (grub_script_malloc): Likewise.
49527 (grub_script_yylex): Likewise.
49528 (grub_script_yyparse): Likewise.
49529 (grub_script_yyerror): Likewise.
49530 (grub_script_yylex): Likewise.
49531 (grub_script_lexer_init): Return the state.
49532
49533 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49534 (grub_script_lexer_done): Likewise.
49535 (grub_script_lexer_getline): Likewise.
49536 (grub_script_lexer_refs): Likewise.
49537 (script): Likewise.
49538 (newscript): Likewise.
49539 (record): Likewise.
49540 (recording): Likewise.
49541 (recordpos): Likewise.
49542 (recordlen): Likewise.
49543 (grub_script_lexer_init): Return the state instead of setting
49544 global variables.
49545 (grub_script_lexer_ref): Use the newly added argument for state
49546 instead of globals.
49547 (grub_script_lexer_deref): Likewise.
49548 (grub_script_lexer_record_start): Likewise.
49549 (grub_script_lexer_record_stop): Likewise.
49550 (recordchar): Likewise.
49551 (nextchar): Likewise.
49552 (grub_script_yylex2): Likewise.
49553 (grub_script_yylex): Likewise.
49554 (grub_script_yyerror): Likewise.
49555
49556 * normal/parser.y (func_mem): Removed variable.
49557 (menu_entry): Likewise.
49558 (err): Likewise.
49559 (%lex-param): New parser option.
49560 (%parse-param): Likewise.
49561 (script): Always return the AST.
49562 (argument): Pass the state around.
49563 (arguments): Likewise.
49564 (grubcmd): Likewise.
49565 (commands): Likewise.
49566 (function): Likewise.
49567 (menuentry): Likewise.
49568 (if_statement): Likewise.
49569 (if): Likewise.
49570
49571 * normal/script.c (grub_script_memused): Removed variable.
49572 (grub_script_parsed): Likewise.
49573 (grub_script_malloc): Added a state argument. Use that instead of
49574 global variables.
49575 (grub_script_mem_record): Likewise.
49576 (grub_script_mem_record_stop): Likewise.
49577 (grub_script_arg_add): Likewise.
49578 (grub_script_add_arglist): Likewise.
49579 (grub_script_create_cmdline): Likewise.
49580 (grub_script_create_cmdif): Likewise.
49581 (grub_script_create_cmdmenu): Likewise.
49582 (grub_script_add_cmd): Likewise.
49583 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49584
e2a8c904 495852006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49586
49587 * normal/command.c (grub_command_init): Remove the title command.
49588
49589 * normal/lexer.c (grub_script_yylex): Renamed from this...
49590 (grub_script_yylex2): ... to this.
49591 (grub_script_yylex): New function. Temporary
49592 introduced to filter some tokens.
49593 (grub_script_yyerror): Print a newline.
49594
49595 * normal/main.c (read_config_file): Output information about the
49596 lines that contain errors. Wait for a key after all lines have
49597 been processed. Don't return an empty menu.
49598
49599 * normal/parser.y (func_mem): Don't initialize.
49600 (menu_entry): Likewise.
49601 (err): New variable.
49602 (script): Don't return anything when an error was encountered.
49603 (ws, returns): Removed rules.
49604 (argument): Disabled concatenated variable support.
49605 (arguments): Remove explicit separators.
49606 (grubcmd): Likewise.
49607 (function): Likewise.
49608 (menuentry): Likewise.
49609 (if): Likewise.
49610 (commands): Likewise. Add error handling.
49611
49612 * normal/script.c (grub_script_create_cmdline): If
49613 `grub_script_parsed' is 0, assume the parser encountered an error.
49614
c9a86192 496152006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49616
49617 * configure.ac: Add support for EFI. Fix the typo
49618 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49619
70f3b243 496202006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49621
49622 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49623 foreign multibyte characters should be shown correctly.
49624
65f201ad 496252006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49626
49627 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49628 calculation.
49629 (read_config_file): Made it to close file before returning.
49630
b4b93674 496312006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49632
49633 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49634 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49635 video/i386/pc/vbefill.c.
49636
49637 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49638 video/i386/pc/vbefill.c.
49639
49640 * include/grub/video.h (grub_video_blit_format): New enum.
49641 (grub_video_mode_info): Added new member blit_format.
49642 (grub_video_get_blit_format): New function prototype.
49643
49644 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49645 function prototype.
49646 (grub_video_vbe_map_rgb): Likewise.
49647 (grub_video_vbe_unmap_color): Likewise.
49648
49649 * include/grub/i386/pc/vbeblit.h: New file.
49650
49651 * include/grub/i386/pc/vbefill.h: New file.
49652
49653 * video/video.c (grub_video_get_blit_format): New function.
49654 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49655 (grub_video_vbe_map_rgb): Likewise.
49656 (grub_video_vbe_unmap_color): Likewise.
49657
49658 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49659 optimized fills.
49660 (grub_video_vbe_blit_render_target): Changed to use more optimized
49661 blits.
49662 (grub_video_vbe_setup): Added detection for optimized settings.
49663 (grub_video_vbe_create_render_target): Likewise.
49664
49665 * video/i386/pc/vbeblit.c: New file.
49666
49667 * video/i386/pc/vbefill.c: New file.
49668
c2379b9c 496692006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49670
49671 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49672 here...
49673
49674 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49675 parsing to support both hex and dec ranges. If filename was missing
49676 show usage information.
49677
bd0d7896 496782006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49679
49680 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49681 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49682
49683 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49684 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49685 (video_mod_SOURCES): Added.
49686 (video_mod_CFLAGS): Likewise.
49687 (video_mod_LDFLAGS): Likewise.
49688 (gfxterm_mod_SOURCES): Likewise.
49689 (gfxterm_mod_CFLAGS): Likewise.
49690 (gfxterm_mod_LDFLAGS): Likewise.
49691 (videotest_mod_SOURCES): Likewise.
49692 (videotest_mod_CFLAGS): Likewise.
49693 (videotest_mod_LDFLAGS): Likewise.
49694 (vesafb_mod_SOURCES): Removed.
49695 (vesafb_mod_CFLAGS): Likewise.
49696 (vesafb_mod_LDFLAGS): Likewise.
49697 (vga_mod_SOURCES): Likewise.
49698 (vga_mod_CFLAGS): Likewise.
49699 (vga_mod_LDFLAGS): Likewise.
49700
49701 * commands/videotest.c: New file.
49702
49703 * font/manager.c (fill_with_default_glyph): Modified to use
49704 grub_font_glyph.
49705 (grub_font_get_glyph): Likewise.
49706 (fontmanager): Renamed from this...
49707 (font_manager): ... to this.
49708
49709 * include/grub/font.h (grub_font_glyph): Added new structure.
49710 (grub_font_get_glyph): Modified to use grub_font_glyph.
49711
49712 * include/grub/misc.h (grub_abs): Added as inline function.
49713
49714 * include/grub/video.h: New file.
49715
49716 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49717 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49718 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49719 (grub_vbe_get_controller_info): Renamed from this...
49720 (grub_vbe_bios_get_controller_info): ... to this.
49721 (grub_vbe_get_mode_info): Renamed from this...
49722 (grub_vbe_bios_get_mode_info): ... to this.
49723 (grub_vbe_set_mode): Renamed from this...
49724 (grub_vbe_bios_set_mode): ... to this.
49725 (grub_vbe_get_mode): Renamed from this...
49726 (grub_vbe_bios_get_mode): ... to this.
49727 (grub_vbe_set_memory_window): Renamed from this...
49728 (grub_vbe_bios_set_memory_window): ... to this.
49729 (grub_vbe_get_memory_window): Renamed from this...
49730 (grub_vbe_bios_get_memory_window): ... to this.
49731 (grub_vbe_set_scanline_length): Renamed from this...
49732 (grub_vbe_set_scanline_length): ... to this.
49733 (grub_vbe_get_scanline_length): Renamed from this...
49734 (grub_vbe_bios_get_scanline_length): ... to this.
49735 (grub_vbe_set_display_start): Renamed from this...
49736 (grub_vbe_bios_set_display_start): ... to this.
49737 (grub_vbe_get_display_start): Renamed from this...
49738 (grub_vbe_bios_get_display_start): ... to this.
49739 (grub_vbe_set_palette_data): Renamed from this...
49740 (grub_vbe_bios_set_palette_data): ... to this.
49741 (grub_vbe_set_pixel_rgb): Removed.
49742 (grub_vbe_set_pixel_index): Likewise.
49743
49744 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
49745 from this...
49746 (grub_vbe_bios_get_controller_info): ... to this.
49747 (grub_vbe_get_mode_info): Renamed from this...
49748 (grub_vbe_bios_get_mode_info): ... to this.
49749 (grub_vbe_set_mode): Renamed from this...
49750 (grub_vbe_bios_set_mode): ... to this.
49751 (grub_vbe_get_mode): Renamed from this...
49752 (grub_vbe_bios_get_mode): ... to this.
49753 (grub_vbe_set_memory_window): Renamed from this...
49754 (grub_vbe_bios_set_memory_window): ... to this.
49755 (grub_vbe_get_memory_window): Renamed from this...
49756 (grub_vbe_bios_get_memory_window): ... to this.
49757 (grub_vbe_set_scanline_length): Renamed from this...
49758 (grub_vbe_set_scanline_length): ... to this.
49759 (grub_vbe_get_scanline_length): Renamed from this...
49760 (grub_vbe_bios_get_scanline_length): ... to this.
49761 (grub_vbe_set_display_start): Renamed from this...
49762 (grub_vbe_bios_set_display_start): ... to this.
49763 (grub_vbe_get_display_start): Renamed from this...
49764 (grub_vbe_bios_get_display_start): ... to this.
49765 (grub_vbe_set_palette_data): Renamed from this...
49766 (grub_vbe_bios_set_palette_data): ... to this.
49767 (grub_vbe_bios_get_controller_info): Fixed problem with registers
49768 getting corrupted after calling it. Added more pushes and pops.
49769 (grub_vbe_bios_set_mode): Likewise.
49770 (grub_vbe_bios_get_mode): Likewise.
49771 (grub_vbe_bios_get_memory_window): Likewise.
49772 (grub_vbe_bios_set_scanline_length): Likewise.
49773 (grub_vbe_bios_get_scanline_length): Likewise.
49774 (grub_vbe_bios_get_display_start): Likewise.
49775 (grub_vbe_bios_set_palette_data): Likewise.
49776
49777 * normal/cmdline.c (cl_set_pos): Refresh the screen.
49778 (cl_insert): Likewise.
49779 (cl_delete): Likewise.
49780
49781 * term/gfxterm.c: New file.
49782
49783 * term/i386/pc/vesafb.c: Removed file.
49784
49785 * video/video.c: New file.
49786
49787 * video/i386/pc/vbe.c (real2pm): Added new function.
49788 (grub_video_vbe_draw_pixel): Likewise.
49789 (grub_video_vbe_get_video_ptr): Likewise.
49790 (grub_video_vbe_get_pixel): Likewise
49791 (grub_video_vbe_init): Likewise.
49792 (grub_video_vbe_fini): Likewise.
49793 (grub_video_vbe_setup): Likewise.
49794 (grub_video_vbe_get_info): Likewise.
49795 (grub_video_vbe_set_palette): Likewise.
49796 (grub_video_vbe_get_palette): Likewise.
49797 (grub_video_vbe_set_viewport): Likewise.
49798 (grub_video_vbe_get_viewport): Likewise.
49799 (grub_video_vbe_map_color): Likewise.
49800 (grub_video_vbe_map_rgb): Likewise.
49801 (grub_video_vbe_map_rgba): Likewise.
49802 (grub_video_vbe_unmap_color): Likewise.
49803 (grub_video_vbe_fill_rect): Likewise.
49804 (grub_video_vbe_blit_glyph): Likewise.
49805 (grub_video_vbe_blit_bitmap): Likewise.
49806 (grub_video_vbe_blit_render_target): Likewise.
49807 (grub_video_vbe_scroll): Likewise.
49808 (grub_video_vbe_swap_buffers): Likewise.
49809 (grub_video_vbe_create_render_target): Likewise.
49810 (grub_video_vbe_delete_render_target): Likewise.
49811 (grub_video_vbe_set_active_render_target): Likewise.
49812 (grub_vbe_set_pixel_rgb): Remove function.
49813 (grub_vbe_set_pixel_index): Likewise.
49814 (index_color_mode): Remove static variable.
49815 (active_mode): Likewise.
49816 (framebuffer): Likewise.
49817 (bytes_per_scan_line): Likewise.
49818 (grub_video_vbe_adapter): Added new static variable.
49819 (framebuffer): Likewise.
49820 (render_target): Likewise.
49821 (initial_mode): Likewise.
49822 (mode_in_use): Likewise.
49823 (mode_list): Likewise.
49824
5f97350b 498252006-03-10 Marco Gerards <marco@gnu.org>
49826
49827 * configure.ac (AC_INIT): Bumped to 1.93.
49828
49829 * DISTLIST: Added `include/grub/hfs.h'.
49830
a3c5c6f8 498312006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
49832
49833 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49834 18H, which might help the BIOS falling back to next boot media.
49835
6de53d26 498362006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49837
49838 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49839 Poe Chen <poe.poechen@gmail.com>.
49840
77c4a393 498412006-01-17 Marco Gerards <marco@gnu.org>
49842
49843 * include/grub/normal.h: Include <grub/script.h>.
49844 (grub_command_list): Removed struct.
49845 (grub_command_list_t): Removed type.
49846 (grub_menu_entry): Remove members `num' and `command_list'. Add
49847 members `commands' and `sourcecode'.
49848 * include/grub/script.h: Add inclusion guards.
49849 (grub_script_cmd_menuentry): New struct.
49850 (grub_script_execute_menuentry): New prototype.
49851 (grub_script_lexer_record_start): Likewise.
49852 (grub_script_lexer_record_stop): Likewise.
49853 * normal/execute.c (grub_script_execute_menuentry): New function.
49854 * normal/lexer.c (record, recording, recordpos, recordlen): New
49855 variables.
49856 (grub_script_lexer_record_start): New function.
49857 (grub_script_lexer_record_stop): Likewise.
49858 (recordchar): Likewise.
49859 (nextchar): Likewise.
49860 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49861 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49862 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49863 (current_menu): New variable.
49864 (free_menu): Mainly rewritten.
49865 (grub_normal_menu_addentry): New function.
49866 (read_config_file): Rewritten.
49867 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49868 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49869 the menu entry.
49870 (run): Mainly rewritten.
49871 * normal/parser.y (menu_entry): New variable.
49872 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49873 (menuentry): New rule.
49874 (command): Add `menuentry'.
49875 (if_statement): Allow additional returns before `fi'.
49876 * normal/script.c (grub_script_create_cmdmenu): New function.
49877
144f1f98 498782006-01-03 Marco Gerards <marco@gnu.org>
49879
49880 * INSTALL: GNU Bison is required.
49881 * configure.ac: Rewritten the test to detect Bison.
49882 * Makefile.in (YACC): New variable. Reported by Xun Sun
49883 <xun.sun.cn@gmail.com>.
49884
af4b2d89 498852006-01-03 Marco Gerards <marco@gnu.org>
49886
49887 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49888 the HFS+ filesystem to filesystem blocks.
49889 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49890 GCC warning is silenced.
49891
15643b71 498922006-01-03 Marco Gerards <marco@gnu.org>
49893
49894 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49895 read from disk from big endian to host byte order.
49896
00905879 498972006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49898
49899 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49900 documentation.
49901 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49902 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49903 embedded HFS+ filesystem.
49904 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49905 (grub_hfs_sblock): Move from here...
49906 * include/grub/hfs.h: To here... New file.
49907 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49908 documentation.
49909 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49910 New macros.
49911 (grub_hfsplus_volheader): Change type of member `magic' to
49912 `grub_uint16_t'.
49913 (grub_hfsplus_data): Add new member `embedded_offset'.
49914 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49915 returned block.
49916 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49917 Calculate the offset.
49918
8899bc3e 499192005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49920
49921 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49922 Removed.
49923 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49924
ae8c0277 499252005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49926
49927 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49928 ENV->NAME is NULL after allocating ENV->VALUE.
49929
07084456 499302005-12-25 Marco Gerards <marco@gnu.org>
49931
49932 * kern/env.c (grub_env_set): Rewritten the error handling code.
49933
4750f5f1 499342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49935
49936 * geninit.sh: Made more robust, and more portable.
49937
50214199 499382005-12-25 Marco Gerards <marco@gnu.org>
49939
49940 Add support for Apple HFS+ filesystems.
f19dbdb7 49941
50214199 49942 * fs/hfsplus.c: New file.
49943
49944 * DISTLIST: Added `fs/hfsplus.c'.
49945
49946 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49947 (hfsplus_mod_SOURCES): New variable.
49948 (hfsplus_mod_CFLAGS): Likewise.
49949 (hfsplus_mod_LDFLAGS): Likewise.
49950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49951 (grub_setup_SOURCES): Likewise.
49952 (grub_mkdevicemap_SOURCES): Likewise.
49953 (grub_emu_SOURCES): Likewise.
49954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49955
49956 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49957
49958 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49959
befaed6c 499602005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49961
49962 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49963 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49964 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49965 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49966 normal/lexer.c, normal/parser.y, normal/script.c, and
49967 partmap/gpt.c.
49968 Removed kern/sparc64/cache.c.
49969
49970 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49971 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49972 grub_emu_init.c.
49973
49974 * configure.ac (AC_INIT): Bumped to 1.92.
49975
6a124103 499762005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49977
49978 * kern/err.c (grub_error_push): Added new function to support error
49979 stacks.
49980 (grub_error_pop): Likewise.
49981 (grub_error_stack_items): New local variable to support error stacks.
49982 (grub_error_stack_pos): Likewise.
49983 (grub_error_stack_assert): Likewise.
49984 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49985 stack depth.
49986 (grub_print_error): Added support to print errors from error stack.
49987
49988 * include/grub/err.h (grub_error_push): Added function prototype.
49989 (grub_error_pop): Likewise.
49990
be973c1b 499912005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49992
49993 * configure.ac: Accept `powerpc64' as host_cpu.
49994 (amd64): Rename to `biarch32'.
49995
49996 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49997 non-cacheline-aligned addresses.
49998
49999 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50000 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50001 if `size' is non-zero.
50002
b04216ab 500032005-12-03 Marco Gerards <mgerards@xs4all.nl>
50004
50005 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50006 and `cd' to make sure the filename is not prefixed with a
50007 directory name.
50008 (pkgdata_MODULES): Add `gpt.mod'.
50009 (gpt_mod_SOURCES): New variable.
50010 (gpt_mod_CFLAGS): Likewise.
50011 (gpt_mod_LDFLAGS): Likewise.
50012
50013 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50014
50015 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50016 New macro.
50017
50018 * partmap/gpt.c: New file.
50019
50020 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50021 GPT partition map is detected.
50022
41730ed9 500232005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50024
50025 * commands/i386/pc/play.c: New file.
50026 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50027 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
50028 macros.
f19dbdb7 50029
95dc3643 500302005-11-27 Marco Gerards <mgerards@xs4all.nl>
50031
50032 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50033 ((unused))' to silence gcc warning.
50034
1569ec51 500352005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50036
50037 * configure.ac: Correct `AC_PROG_YACC' test.
50038
9abde152 500392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50040
50041 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50042 check before installing files.
50043
44b83271 500442005-11-22 Mike Small <smallm@panix.com>
50045
50046 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50047 number regex so multidigit numbers are recognized correctly.
50048
500492005-11-22 Mike Small <smallm@panix.com>
50050
50051 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50052 debugging message before attempting to claim memory.
50053 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50054 multiple addresses in case of failure.
50055
9c12956b 500562005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50057
50058 * term/tparm.c (get_space): Remove empty `if' statement.
50059
50060 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50061
50062 * kern/parser.c (check_varstate): Rename `state' to 's'.
50063
aeaf81d9 500642005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50065
50066 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50067 variable definitions to the beginning of each function. Sort stack
50068 variables by size.
50069 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50070 `buf' argument to `char *'.
50071
79bbb63f 500722005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50073
50074 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50075 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50076 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 50077 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50078 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50079 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50080 configfile.mod, search.mod, gzio.mod and test.mod.
50081 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50082 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50083 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50084 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50085 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50086 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50087 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50088 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50089 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50090 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50091 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50092 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50093 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50094 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50095 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50096 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50097 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50098 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50099 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50100 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50101 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50102 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50103 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50104
50105 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50106 `grep --include'.
50107 (pkgdata_MODULES): Add test.mod.
50108
233b1628 501092005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50110
50111 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50112 appending to variables with "+=".
50113 (PModule): Use full pathname to generate *.lst filenames.
50114
50115 * Makefile.in: Fixed list rules moved from genmk.rb.
50116 (.DELETE_ON_ERROR): New special target.
50117 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
50118
50119 * conf/i386-pc.rmk: Include conf/common.mk.
50120 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50121 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 50122 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50123 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50124 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50125 configfile.mod, search.mod, gzio.mod and test.mod.
50126 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50127 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50128 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50129 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50130 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50131 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50132 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50133 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50134 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50135 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50136 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50137 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50138 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50139 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50140 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50141 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50142 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50143 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50144 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50145 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50146 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50147 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50148 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
50149 here...
50150 * conf/common.rmk: ... to here. New file.
50151
50152 * conf/common.mk: New file.
50153
16f820c8 501542005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
50155
50156 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
50157 (grub_script.tab.c): ... here.
50158
50159 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
50160 (grub_script.tab.c): ... here.
50161
50162 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
50163 (grub_script.tab.c): ... here.
50164
50165 * normal/command.c (grub_command_find): Fixed a memory leak of
50166 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
50167
63ba1554 501682005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50169
50170 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
50171 "@" which marks the start of a comment on ARM.
50172 (VARIABLE): Likewise.
50173
7f67dc13 501742005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50175
79bbb63f 50176 Add support for Linux/ADFS partition tables.
7f67dc13 50177
50178 * partmap/acorn.c: New file.
50179
50180 * include/grub/acorn_filecore.h: Likewise.
50181
50182 * DISTLIST: Added `partmap/acorn.c' and
50183 `include/grub/acorn_filecore.h'.
f19dbdb7 50184
7f67dc13 50185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50186 `partmap/acorn.c'.
50187 (pkgdata_MODULES): Add `acorn.mod'.
50188 (acorn_mod_SOURCES): New variable.
50189 (acorn_mod_CFLAGS): Likewise.
50190
50191 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50192 `partmap/acorn.c'.
50193 (pkgdata_MODULES): Add `acorn.mod'.
50194 (acorn_mod_SOURCES): New variable.
50195 (acorn_mod_CFLAGS): Likewise.
50196
50197 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
50198 (pkgdata_MODULES): Add `acorn.mod'.
50199 (acorn_mod_SOURCES): New variable.
50200 (acorn_mod_CFLAGS): Likewise.
50201 (acorn_mod_LDFLAGS): Likewise.
50202
50203 * include/types.h (grub_disk_addr_t): New typedef.
50204
6d099807 502052005-11-13 Marco Gerards <mgerards@xs4all.nl>
50206
50207 * geninit.sh: New file.
50208
50209 * geninitheader.sh: Likewise.
50210
50211 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50212 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50213 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50214 * commands/configfile.c (grub_configfile_init)
50215 (grub_configfile_fini): Likewise.
50216 * commands/default.c (grub_default_init, grub_default_fini):
50217 Likewise.
50218 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50219 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50220 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50221 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50222 Likewise.
50223 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50224 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50225 Likewise.
50226 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 50227 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 50228 Likewise.
50229 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50230 Likewise.
fe6b695a 50231 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 50232 Likewise.
50233 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50234 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50235 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50236 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50237 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50238 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50239 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50240 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50241 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50242 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50243 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50244 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50245 * partmap/amiga.c (grub_amiga_partition_map_init)
50246 (grub_amiga_partition_map_fini): Likewise.
50247 * partmap/apple.c (grub_apple_partition_map_init)
50248 (grub_apple_partition_map_fini): Likewise.
50249 * partmap/pc.c (grub_pc_partition_map_init)
50250 (grub_pc_partition_map_fini): Likewise.
50251 * partmap/sun.c (grub_sun_partition_map_init,
50252 grub_sun_partition_map_fini): Likewise.
50253 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50254 Likewise.
50255
50256 * util/grub-emu.c: Include <grub_modules_init.h>.
50257 (main): Don't initialize and de-initialize any modules directly,
50258 use `grub_init_all' and `grub_fini_all' instead.
50259
50260 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50261 `grub_vesafb_mod_init'.
50262 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50263 all users.
50264 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50265 `grub_vga_mod_init'. Updated all users.
50266 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 50267
6d099807 50268 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50269 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50270 rules.
50271
50272 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50273 Generate a function to initialize the module in utilities.
50274 Updated all callers.
50275 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50276 initialize the module in utilities. Updated all callers.
50277
9046bcf0 502782005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50279
50280 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50281 escape sequence and a literal ^L to clear the screen.
50282
50283 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50284 when returning from Open Firmware.
50285
d13ea639 502862005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50287
50288 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50289 (grub_ofconsole_height): Likewise.
50290 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50291 manually insert a '\n'.
50292 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50293 `grub_ofconsole_height'. Return early if these are already set.
50294
a8fcf206 502952005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50296
50297 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50298 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50299 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50300 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50301 and `normal/script.c'.
50302 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50303 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50304 (test_mod_SOURCES): New variable.
50305 (test_mod_CFLAGS): Likewise.
50306 (test_mod_LDFLAGS): Likewise.
50307 (pkgdata_MODULES): Add `test.mod'.
50308 (grub_script.tab.c): New rule.
50309 (grub_script.tab.h): Likewise.
50310
b6b32745 503112005-11-07 Marco Gerards <mgerards@xs4all.nl>
50312
50313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50314 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50315 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50316 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50317 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50318 (test_mod_SOURCES): New variable.
50319 (test_mod_CFLAGS): Likewise.
50320 (pkgdata_MODULES): Add `test.mod'.
50321 (grub_script.tab.c): New rule.
50322 (grub_script.tab.h): Likewise.
50323
daac212a 503242005-11-06 Marco Gerards <mgerards@xs4all.nl>
50325
50326 Add initial scripting support.
50327
50328 * commands/test.c: New file.
50329 * include/grub/script.h: Likewise.
50330 * normal/execute.c: Likewise.
50331 * normal/function.c: Likewise.
50332 * normal/lexer.c: Likewise.
50333 * normal/parser.y: Likewise.
50334 * normal/script.c: Likewise.
50335
50336 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50337
daac212a 50338 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50339 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50340 `normal/function.c' and `normal/script.c'.
50341 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50342 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50343 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50344 variables.
daac212a 50345 (pkgdata_MODULES): Add `test.mod'.
50346 (grub_script.tab.c): New rule.
50347 (grub_script.tab.h): Likewise.
50348
50349 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50350
50351 * include/grub/normal.h (grub_test_init): New prototype.
50352 (grub_test_fini): Likewise.
f19dbdb7 50353
daac212a 50354 * normal/command.c: Include <grub/script.h>.
50355 (grub_command_execute): Rewritten.
f19dbdb7 50356
daac212a 50357 * util/grub-emu.c (main): Call `grub_test_init' and
50358 `grub_test_fini'.
50359
77500b2b 503602005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50361
50362 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50363 to 0.
50364 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50365 there are no pending characters.
50366
e45deb9e 503672005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50368
50369 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50370 `grub_strndup' to drop device arguments. Replace unnecessary
50371 `grub_strndup' with `grub_strdup'.
50372
4ce32619 503732005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50374
50375 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50376 `debug' environment variable has been set.
50377
503782005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50379
4ce32619 50380 * Makefile.in (install-local): Use $(DATA).
50381 (uninstall): Likewise.
50382 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50383 (sbin_UTILITIES): ... to here.
50384 (sbin_SCRIPTS): New variable.
50385 (grub_install_SOURCES): New variable.
50386 * util/powerpc/ieee1275/grub-install.in: New file.
50387 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50388 variable.
50389 (add_segments): Call `grub_util_get_path'.
50390
25fe6f03 503912005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50392
50393 From Timothy Baldwin:
50394 * commands/ls.c (grub_ls_list_files): Close FILE with
50395 grub_file_close.
50396 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50397
04ccf3ec 503982005-10-24 Marco Gerards <mgerards@xs4all.nl>
50399
50400 * include/grub/parser.h: New file.
50401
50402 * kern/parser.c: Likewise.
50403
50404 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50405 (grub_setup_SOURCES): Likewise.
50406 (grub_probefs_SOURCES): Likewise.
50407 (grub_emu_SOURCES): Likewise.
50408 (kernel_img_HEADERS): Add `parser.h'.
50409
50410 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50411 (grub_emu_SOURCES): Add `kern/parser.c'.
50412 (grubof_SOURCES): Likewise.
50413
50414 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50415 (grubof_SOURCES): Add `kern/parser.c'.
50416
50417 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50418
50419 * kern/misc.c (grub_split_cmdline): Removed function.
50420
50421 * kern/rescue.c: Include <grub/parser.h>.
50422 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50423 of `grub_split_cmdline'.
50424
50425 * normal/command.c: Include <grub/parser.h>.
50426 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50427 of `grub_split_cmdline'.
50428
50429 * normal/completion.c: Include <grub/parser.h>.
50430 (cmdline_state): New variable.
50431 (iterate_dir): End the filename with a quote depending on the
50432 command line state.
50433 (get_state): new function.
50434 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50435 split the arguments and determine the current argument. When the
50436 argument string is not quoted, escape all spaces.
50437
6d8f4b0e 504382005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50439
50440 * normal/sparc64/setjmp.S: New file.
50441
15cf03ed 504422005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50443
50444 * include/grub/sparc64/libgcc.h: New file.
50445 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50446 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50447 normal/sparc64/setjmp.c.
50448
03e8661a 504492005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50450
50451 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50452 * kern/sparc64/cache.S: New file.
50453 * kern/sparc64/cache.c: Removed.
50454 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50455 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50456 -mtune=ultrasparc.
50457 (COMMON_LDFLAGS): Add -melf64_sparc.
50458 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50459 (grubof_SOURCES): Use cache.S instead of cache.c.
50460 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50461 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50462 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50463 commented though.
50464 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50465 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50466 (linux_mod_CFLAGS): Commented out.
50467 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50468 out because module isn't built.
50469 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50470 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50471 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50472 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50473 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50474 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50475 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50476 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50477 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50478 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50479 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50480 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50481 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50482 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50483
34eeec8a 504842005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50485
50486 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50487 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50488 longer, because HFS should not be used on PC.
50489
708367a3 504902005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50491
50492 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50493 consistently within the loop.
50494
6fa1251a 504952005-10-15 Marco Gerards <mgerards@xs4all.nl>
50496
50497 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50498 directory can not be read.
50499
4801580b 505002005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50501
50502 * configure.ac (AC_INIT): Increase the version number to 1.91.
50503
50504 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50505 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50506 term/i386/pc/serial.c.
50507
219ad426 505082005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50509
50510 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50511 file size must be permitted.
50512
50513 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50514 between %ah and %al.
50515
688e5699 505162005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50517
50518 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50519 grub_uint64_t.
50520 Call the hook with a NUL-terminated filename.
50521 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50522 grub_cpu_to_be32.
50523
50524 * kern/term.c (cursor_state): New variable.
50525 (grub_term_set_current): Reset the cursor state on a new
50526 terminal.
50527 (grub_setcursor): Rewritten to use CURSOR_STATE.
50528 (grub_getcursor): New function.
50529
50530 * include/grub/term.h (grub_getcursor): New prototype.
50531
50532 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50533 integers on ARM. Reported by Timothy Baldwin
50534 <T.E.Baldwin99@members.leeds.ac.uk>.
50535
bb34586c 505362005-10-11 Marco Gerards <mgerards@xs4all.nl>
50537
50538 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50539 allocated.
50540 (grub_sfs_dir): Likewise.
50541
9a909877 505422005-10-09 Marco Gerards <mgerards@xs4all.nl>
50543
50544 Add support for the SFS filesystem.
50545
50546 * fs/sfs.c: New file.
50547
50548 * DISTLIST: Added `fs/sfs.c'.
50549
50550 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50551 (grub_probefs_SOURCES): Likewise.
50552 (grub_emu_SOURCES): Likewise.
50553 (pkgdata_MODULES): Add `sfs.mod'.
50554 (sfs_mod_SOURCES): New variable.
50555 (sfs_mod_CFLAGS): Likewise.
50556 (sfs_mod_LDFLAGS): Likewise.
50557
50558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50559 (pkgdata_MODULES): Add `sfs.mod'.
50560 (sfs_mod_SOURCES): New variable.
50561 (sfs_mod_CFLAGS): Likewise.
50562
50563 * util/grub-emu.c (main): Call `grub_sfs_init' and
50564 `grub_sfs_fini'.
50565
50566 * include/grub/fs.h (grub_sfs_init): New prototype.
50567 (grub_sfs_fini): Likewise.
50568
57bdbde3 505692005-10-07 Marco Gerards <mgerards@xs4all.nl>
50570
50571 Add support for the AFFS filesystem.
50572
50573 * fs/affs.c: New file.
50574
50575 * DISTLIST: Added `fs/affs.c'.
50576
50577 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50578 (grub_probefs_SOURCES): Likewise.
50579 (grub_emu_SOURCES): Likewise.
50580 (pkgdata_MODULES): Add `affs.mod'.
50581 (affs_mod_SOURCES): New variable.
50582 (affs_mod_CFLAGS): Likewise.
50583 (affs_mod_LDFLAGS): Likewise.
50584
50585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50586 (pkgdata_MODULES): Add `affs.mod'.
50587 (affs_mod_SOURCES): New variable.
50588 (affs_mod_CFLAGS): Likewise.
50589
50590 * util/grub-emu.c (main): Call `grub_affs_init' and
50591 `grub_affs_fini'.
50592
50593 * include/grub/fs.h (grub_affs_init): New prototype.
50594 (grub_affs_fini): Likewise.
50595
047b67e0 505962005-10-01 Marco Gerards <mgerards@xs4all.nl>
50597
50598 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50599
59b8208a 506002005-10-01 Marco Gerards <mgerards@xs4all.nl>
50601
50602 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50603 `-m32' to CFLAGS.
50604
50605 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50606 linking.
f19dbdb7 50607
59b8208a 50608 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50609 (COMMON_LDFLAGS): New variable.
50610 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50611 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50612 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50613 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50614 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50615 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50616 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50617 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50618 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50619 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50620 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50621 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50622 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50623 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50624 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50625 variables.
50626 (normal_mod_ASFLAGS): Add `-m32'.
50627
50628 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50629 (grub_host_size_t, grub_host_ssize_t): New types.
50630 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50631 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50632 `GRUB_HOST_SIZEOF_VOID_P'.
50633
50634 * include/grub/kernel.h (struct grub_module_header): Type of
50635 member offset changed to `grub_host_off_t'. Type of member size
50636 changed to `grub_host_size_t'.
50637 (struct grub_module_info): Type of member offset changed to
50638 `grub_host_off_t'. Type of member size changed to
50639 `grub_host_size_t'.
50640
b4093103 506412005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50642
50643 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50644
b4093103 50645 * kern/i386/pc/startup.S (multiboot_header): New label.
50646 (multiboot_entry): Likewise.
50647 (multiboot_trampoline): Likewise.
50648
50649 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50650 Increased to 0x4A0.
50651
50652 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50653 put parentheses after a question mark.
50654 [!GRUB_UTIL] (my_mod): New variable.
50655
50656 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50657
b2499b29 506582005-09-28 Marco Gerards <mgerards@xs4all.nl>
50659
50660 Adds support for the XFS filesystem. Btrees are not supported
50661 yet.
50662
50663 * fs/xfs.c: New file.
50664
50665 * DISTLIST: Added `fs/xfs.c'.
50666
50667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50668 (grub_probefs_SOURCES): Likewise.
50669 (grub_emu_SOURCES): Likewise.
50670 (pkgdata_MODULES): Add `xfs.mod'.
50671 (xfs_mod_SOURCES): New variable.
50672 (xfs_mod_CFLAGS): Likewise.
50673
50674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50675 (pkgdata_MODULES): Add `xfs.mod'.
50676 (xfs_mod_SOURCES): New variable.
50677 (xfs_mod_CFLAGS): Likewise.
50678
50679 * util/grub-emu.c (main): Call `grub_xfs_init' and
50680 `grub_xfs_fini'.
50681
50682 * include/grub/fs.h (grub_xfs_init): New prototype.
50683 (grub_xfs_fini): Likewise.
50684
f19dbdb7 50685
83d37a62 506862005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50687
50688 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50689 color modes, allow greater than 16 colors to be configured as
50690 a default palette.
50691
47d2d65e 506922005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50693
50694 * normal/completion.c (complete_arguments): Add the qualifier
50695 const into OPTIONS.
50696
50697 From Omniflux <omniflux+lists@omniflux.com>:
50698 * include/grub/terminfo.h: New file.
50699 * include/grub/tparm.h: Likewise.
50700 * include/grub/i386/pc/serial.h: Likewise.
50701 * term/terminfo.c: Likewise.
50702 * term/tparm.c: Likewise.
50703 * term/i386/pc/serial.c: Likewise.
50704 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50705 serial.mod.
50706 (terminfo_mod_SOURCES): New variable.
50707 (terminfo_mod_CFLAGS): Likewise.
50708 (serial_mod_SOURCES): Likewise.
50709 (serial_mod_CFLAGS): Likewise.
50710
48b671ff 507112005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50712
50713 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50714 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50715 and kern/powerpc/ieee1275/cmain.c, respectively.
50716
50717 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50718 * kern/powerpc/ieee1275/crt0.S: ... here.
50719
50720 * boot/powerpc/ieee1275/cmain.c: Moved to ...
50721 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 50722
48b671ff 50723 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
50724 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
50725 instead of boot/powerpc/ieee1275/crt0.S and
50726 boot/powerpc/ieee1275/cmain.c, respectively.
50727
50728 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
50729 sectors. It was not used anyway.
50730
09fc77a7 507312005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50732
50733 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
50734 `unused parameter' warning.
50735
003789c7 507362005-08-30 Hollis Blanchard <hollis@penguinppc.org>
50737
50738 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
50739 function.
50740 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
50741 getcharwidth.
50742
67f44c86 507432005-08-28 Marco Gerards <metgerards@student.han.nl>
50744
50745 * include/grub/normal.h (enum grub_completion_type): Added
50746 `GRUB_COMPLETION_TYPE_ARGUMENT'.
50747
50748 * normal/cmdline.c (print_completion): Handle
50749 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
50750 * normal/menu_entry.c (store_completion): Likewise.
50751
50752 * normal/completion.c (complete_arguments): New function.
50753 (grub_normal_do_completion): Call `complete_arguments' when the
50754 current words start with a dash.
50755
0b5abe02 507562005-08-27 Marco Gerards <metgerards@student.han.nl>
50757
50758 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
50759 `gzio.mod' instead of `io.mod').
50760
d9864ee1 507612005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
50762
50763 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
50764 (DISTDIRS): Added io and video.
50765 Rewrite the search routine to make an output consistently.
50766
50767 * DISTLIST: Added conf/sparc64-ieee1275.mk,
50768 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
50769 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
50770 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
50771 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
50772 util/powerpc/ieee1275/misc.c.
f19dbdb7 50773
d9864ee1 50774 * include/grub/gzio.h: New file.
50775 * io/gzio.c: Likewise.
f19dbdb7 50776
d9864ee1 50777 * kern/file.c (grub_file_close): Call grub_device_close only if
50778 FILE->DEVICE is not NULL.
50779
50780 * include/grub/mm.h [!NULL] (NULL): New macro.
50781
50782 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
50783
50784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
50785 (pkgdata_MODULES): Added gzio.mod.
50786 (gzio_mod_SOURCES): New variable.
50787 (gzio_mod_CFLAGS): Likewise.
50788
50789 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
50790 (pkgdata_MODULES): Added gzio.mod.
50791 (gzio_mod_SOURCES): New variable.
50792 (gzio_mod_CFLAGS): Likewise.
50793
50794 * commands/cat.c: Include grub/gzio.h.
50795 (grub_cmd_cat): Use grub_gzfile_open instead of
50796 grub_file_open.
f19dbdb7 50797
d9864ee1 50798 * commands/cmp.c: Include grub/gzio.h.
50799 (grub_cmd_cmp): Use grub_gzfile_open instead of
50800 grub_file_open.
50801
50802 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
50803 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
50804 grub_file_open.
50805 (grub_rescue_cmd_module): Likewise.
50806
fa46f4b5 508072005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50808
50809 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
50810 kern/sparc64/ieee1275/init.c because it contains _start.
50811 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
50812
e9211b5d 508132005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
50814
50815 * configure.ac: Add support for sparc64 host with ieee1275
50816 firmware.
50817 * configure: Generated from configure.ac.
50818 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
50819 instead of int.
50820 (grub_ofdisk_read): Likewise.
50821 (grub_ofdisk_open): Use %p to print pointer values, and cast the
50822 pointers as (void *) to remove a warning.
50823 (grub_ofdisk_close): Likewise.
50824 (grub_ofdisk_read): Likewise.
50825 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
50826 returns, so make it return void to remove a warning.
50827 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
50828 Corresponding prototype change.
50829 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
50830 values, and cast the pointers as (void *) to remove a warning.
50831 (grub_mm_dump): Likewise.
50832 * conf/sparc64-ieee1275.mk: New file.
50833 * conf/sparc64-ieee1275.rmk: Likewise.
50834 * include/grub/sparc64/setjmp.h: Likewise.
50835 * include/grub/sparc64/types.h: Likewise.
50836 * include/grub/sparc64/ieee1275/console.h: Likewise.
50837 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50838 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50839 * include/grub/sparc64/ieee1275/time.h: Likewise.
50840 * kern/sparc64/cache.c: Likewise.
50841 * kern/sparc64/dl.c: Likewise.
50842 * kern/sparc64/ieee1275/init.c: Likewise.
50843 * kern/sparc64/ieee1275/openfw.c: Likewise.
50844
385c6a92 508452005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50846
50847 * util/console.c (grub_ncurses_putchar): If C is greater than
50848 0x7f, set C to a question mark.
50849 (grub_ncurses_getcharwidth): New function.
50850 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50851 getcharwidth.
50852
50853 * normal/menu.c (print_entry): Made aware of Unicode. First,
50854 convert TITLE to UCS-4, and predict the cursor position by
50855 grub_getcharwidth.
50856
50857 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50858 const to SRC.
50859 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50860
16ccb8b1 508612005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50862
50863 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50864 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50865 grub_strcat.
50866
50867 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50868 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50869 grub_strcpy and grub_strlen. Take it into account that a space
50870 character is inserted as a delimiter.
50871
6a85ce79 508722005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50873
50874 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50875 invalid magic in the error.
6a85ce79 50876
50877 * commands/search.c: New file.
f19dbdb7 50878
6a85ce79 50879 * util/grub-emu.c (main): Call grub_search_init and
50880 grub_search_fini.
50881
50882 * kern/rescue.c (grub_rescue_print_disks): Removed.
50883 (grub_rescue_print_devices): New function.
50884 (grub_rescue_cmd_ls): Use grub_device_iterate with
50885 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50886 grub_rescue_print_disks.
50887
50888 * kern/partition.c (grub_partition_iterate): Return the result of
50889 PARTMAP->ITERATE instead of GRUB_ERRNO.
50890
50891 * kern/device.c: Include grub/partition.h.
50892 (grub_device_iterate): New function.
50893
50894 * include/grub/partition.h (grub_partition_iterate): Return int
50895 instead of grub_err_t.
50896
50897 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50898 prototype.
50899 [GRUB_UTIL] (grub_search_fini): Likewise.
50900
50901 * include/grub/device.h (grub_device_iterate): New prototype.
50902
50903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50904 commands/search.c.
50905 (pkgdata_MODULES): Added search.mod.
50906 (search_mod_SOURCES): New variable.
50907 (search_mod_CFLAGS): Likewise.
50908
50909 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50910 (pkgdata_MODULES): Added search.mod.
50911 (search_mod_SOURCES): New variable.
50912 (search_mod_CFLAGS): Likewise.
50913
50914 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50915 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50916 All callers changed.
50917
50918 * DISTLIST: Added commands/search.c.
50919
ef095434 509202005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50921
50922 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50923 conversion.
50924 (grub_getcharwidth): New function.
50925
50926 * kern/misc.c (grub_utf8_to_ucs4): New function.
50927
50928 * include/grub/term.h (struct grub_term): Added a new member
50929 "getcharwidth".
50930 (grub_getcharwidth): New prototype.
50931
50932 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50933
50934 * term/i386/pc/console.c (map_char): New function. Segregated from
50935 grub_console_putchar.
50936 (grub_console_putchar): Use map_char.
50937 (grub_console_getcharwidth): New function.
50938 (grub_console_term): Specified grub_console_getcharwidth as
50939 getcharwidth.
50940
50941 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50942 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50943
50944 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50945 GRUB_ERRNO.
50946 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50947 on grub_strtoul completely.
50948 (write_char): Declare local variables in the beginning of the
50949 function.
50950 (grub_vesafb_getcharwidth): New function.
50951 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50952 getcharwidth.
50953
1f0a95e4 509542005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50955
50956 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50957 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50958 commands/i386/pc/vbetest.c.
50959
50960 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50961 call grub_vbe_get_controller_info again, because the returned
50962 information is volatile.
50963 (grub_vbe_set_video_mode): Mostly rewritten.
50964 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50965 grub_vbe_status_t correctly.
50966 (grub_vbe_get_video_mode_info): Likewise.
50967 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50968 several if statements.
50969
50970 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50971 * commands/i386/pc/vbeinfo.c: ... this.
50972
50973 * commands/i386/pc/vbe_test.c: Renamed to ...
50974 * commands/i386/pc/vbetest.c: ... this.
50975
50976 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50977 ...
50978 (grub_cmd_vbeinfo): ... this. Save video modes before
50979 iterating. Skip a video mode, if it is not available, not enough
50980 information is given or it is monochrome. Show the memory
50981 model. Leave the interpretation of MODEVAR to grub_strtoul
50982 completely.
50983 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50984 (GRUB_MOD_FINI): Likewise.
50985
50986 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50987 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50988 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50989 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50990 grub_strtoul completely.
50991 (real2pm): Removed.
50992 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50993 (GRUB_MOD_FINI): Likewise.
50994
50995 * normal/misc.c: Include grub/mm.h.
50996
50997 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50998 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50999 (vbe_list_modes_mod_SOURCES): Removed.
51000 (vbe_list_modes_mod_CFLAGS): Likewise.
51001 (vbe_test_mod_SOURCES): Likewise.
51002 (vbe_test_mod_CFLAGS): Likewise.
51003 (vbeinfo_mod_SOURCES): New variable.
51004 (vbeinfo_mod_CFLAGS): Likewise.
51005 (vbetest_mod_SOURCES): Likewise.
51006 (vbetest_mod_CFLAGS): Likewise.
51007
992ffbbe 510082005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51009
51010 * normal/misc.c: New file.
51011
51012 * DISTLIST: Added normal/misc.c.
f19dbdb7 51013
992ffbbe 51014 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51015 DISK to HOOK. Call HOOK with DISK.
51016 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51017 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51018 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51019
51020 * normal/menu_entry.c (struct screen): Added a new member
51021 "completion_shown".
51022 (completion_buffer): New global variable.
51023 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51024 (store_completion): New function.
51025 (complete): Likewise.
51026 (clear_completions): Likewise.
51027 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
51028 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51029 a tab, call complete.
51030
51031 * normal/completion.c (disk_dev): Removed.
51032 (print_simple_completion): Likewise.
51033 (print_partition_completion): Likewise.
51034 (print_func): New global variable.
51035 (add_completion): Do not take the arguments WHAT or PRINT any
51036 longer. Added a new argument TYPE. Instead of printing directly,
51037 call PRINT_FUNC if not NULL.
51038 All callers changed.
51039 (complete_device): Use a local variable DEV instead of
51040 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51041 (grub_normal_do_completion): Take a new argument HOOK. Do not
51042 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51043 empty string, return NULL instead.
51044 All callers changed.
51045
51046 * normal/cmdline.c (print_completion): New function.
51047
51048 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51049 to HOOK.
51050 All callers changed.
51051
51052 * kern/disk.c (grub_print_partinfo): Removed.
51053
51054 * include/grub/partition.h (struct grub_partition_map): Add a new
51055 argument DISK into HOOK of ITERATE.
51056 (grub_partition_iterate): Add a new argument DISK to HOOK.
51057
51058 * include/grub/normal.h (enum grub_completion_type): New enum.
51059 (grub_completion_type_t): New type.
51060 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51061 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51062 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51063 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51064 (grub_normal_do_completion): Added a new argument HOOK.
51065 (grub_normal_print_device_info): New prototype.
51066
51067 * include/grub/disk.h (grub_print_partinfo): Removed.
51068
51069 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51070 (normal_mod_SOURCES): Likewise.
51071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51072 (normal_mod_SOURCES): Likewise.
51073
51074 * commands/ls.c (grub_ls_list_disks): Use
51075 grub_normal_print_device_info instead of grub_print_partinfo. Free
51076 PNAME.
51077 (grub_ls_list_files): Use grub_normal_print_device_info instead of
51078 duplicating the code.
51079
0bd41162 510802005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51081
51082 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 51083 follow GCS more precisely.
51084 * commands/i386/pc/vbe_test.c: Likewise.
51085 * include/grub/i386/pc/vbe.h: Likewise.
51086 * term/i386/pc/vesafb.c: Likewise.
51087 * video/i386/pc/vbe.c: Likewise.
0bd41162 51088
6323696a 510892005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51090
51091 * DISTLIST: Added term/i386/pc/vesafb.c
51092 DISTLIST: Added video/i386/pc/vbe.c
51093 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51094 DISTLIST: Added commands/i386/pc/vbe_test.c.
51095 * commands/i386/pc/vbe_list_modes.c: New file.
51096 * commands/i386/pc/vbe_test.c: Likewise.
51097 * term/i386/pc/vesafb.c: Likewise.
51098 * video/i386/pc/vbe.c: Likewise.
51099 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51100 (grub_vbe_probe) Added prototype.
51101 (grub_vbe_set_video_mode) Likewise.
51102 (grub_vbe_get_video_mode) Likewise.
51103 (grub_vbe_get_video_mode_info) Likewise.
51104 (grub_vbe_set_pixel_rgb) Likewise.
51105 (grub_vbe_set_pixel_index) Likewise.
51106 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51107 (pkgdata_MODULES): Added vesafb.mod.
51108 (pkgdata_MODULES): Added vbe_list_modes.mod.
51109 (pkgdata_MODULES): Added vbe_test.mod.
51110 (vbe_mod_SOURCES): Added.
51111 (vbe_mod_CFLAGS): Likewise.
51112 (vesafb_mod_SOURCES): Likewise.
51113 (vesafb_mod_CFLAGS): Likewise.
51114 (vbe_list_modes_mod_SOURCES): Likewise.
51115 (vbe_list_modes_mod_CFLAGS): Likewise.
51116 (vbe_test_mod_SOURCES): Likewise.
51117 (vbe_test_mod_CFLAGS): Likewise.
51118
0a74e62f 511192005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
51120
0a74e62f 51121 * normal/command.c (grub_command_execute): If INTERACTIVE is
51122 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
51123 CMDLINE. Disable the pager if INTERACTIVE is true.
51124 All callers are changed.
51125
51126 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
51127 before reading a config file.
51128 * normal/main.c (read_config_file): Even if a command is not
51129 found, register it if it is within an entry.
51130
51131 * util/grub-emu.c: Include sys/types.h and unistd.h.
51132 (options): Added --hold.
51133 (struct arguments): Added a new member "hold".
51134 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
51135 missing.
51136 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
51137 cleared by a debugger, if it is not zero.
51138
51139 * include/grub/normal.h (grub_command_execute): Add an argument
51140 INTERACTIVE.
51141
e51f85ae 511422005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
51143
51144 * DISTLIST: Added include/grub/i386/pc/vbe.h.
51145
e9c6f39b 511462005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
51147
51148 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
51149 program with another one, because the old one didn't detect a bug
51150 in gcc-3.4. Always use regparm 2, because the new test is still
51151 not enough for gcc-4.0. Someone must investigate a simple test
51152 case which detects a bug in gcc-4.0.
51153
8de3495c 511542005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
51155
51156 * DISTLIST: Added normal/completion.c.
51157
51158 * normal/completion.c: New file.
f19dbdb7 51159
8de3495c 51160 * term/i386/pc/console.c (grub_console_getwh): New function.
51161 (grub_console_term): Assign grub_console_getwh to getwh.
51162
51163 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
51164 function is defined in normal/completion.c as
51165 grub_normal_do_completion.
51166 (grub_cmdline_get): Use grub_normal_do_completion instead of
51167 grub_tab_complete.
51168
51169 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
51170 returns non-zero, otherwise return 0.
51171 (grub_partition_iterate): First, probe the partition map. Then,
51172 call ITERATE only for this partition map.
51173
51174 * kern/misc.c (grub_strncmp): Rewritten.
51175
51176 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
51177 returns non-zero. Otherwise return 0.
51178
51179 * include/grub/partition.h (grub_partition_map_iterate): Return
51180 int instead of void.
51181
51182 * include/grub/normal.h (grub_normal_do_completion): New prototype.
51183
51184 * include/grub/misc.h (grub_strncmp): Change the type of N to
51185 grub_size_t.
51186
51187 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
51188 of void.
51189
51190 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 51191 unsigned explicitly before comparing it with I.
8de3495c 51192
51193 * kern/main.c (grub_env_write_root): Add the attribute unused into
51194 VAR.
51195
51196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51197 normal/completion.c.
51198 (normal_mod_SOURCES): Likewise.
51199 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51200 (normal_mod_SOURCES): Likewise.
51201
51202 * normal/command.c (grub_iterate_commands): If ITERATE returns
51203 non-zero, return one immediately.
51204
e85e144b 512052005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51206
51207 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51208 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51209 descriptions.
51210 (grub_vbe_get_controller_info): New function.
51211 (grub_vbe_get_mode_info): Likewise.
51212 (grub_vbe_set_mode): Likewise.
51213 (grub_vbe_get_mode): Likewise.
51214 (grub_vbe_set_memory_window): Likewise.
51215 (grub_vbe_get_memory_window): Likewise.
51216 (grub_vbe_set_scanline_length): Likewise.
51217 (grub_vbe_get_scanline_length): Likewise.
51218 (grub_vbe_set_display_start): Likewise.
51219 (grub_vbe_get_display_start): Likewise.
51220 (grub_vbe_set_palette_data): Likewise.
51221 * include/grub/i386/pc/vbe.h: New file.
51222
c46153d2 512232005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51224
51225 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51226 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51227 * DISTLIST: Likewise.
51228 * kern/ieee1275/of.c: Moved to ...
51229 * kern/ieee1275/ieee1275.c: ... here.
51230
0cb90c45 512312005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51232
51233 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51234 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51235 Pass 0 as `end' parameter to grub_strtoul().
51236
a19fb360 512372005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51238
51239 * include/grub/powerpc/ieee1275/console.h: Do not include
51240 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51241 ifdef.
51242 (grub_console_cur_color): Remove i386-specific prototype.
51243 (grub_console_real_putchar): Likewise.
51244 (grub_console_checkkey): Likewise.
51245 (grub_console_getkey): Likewise.
51246 (grub_console_getxy): Likewise.
51247 (grub_console_gotoxy): Likewise.
51248 (grub_console_cls): Likewise.
51249 (grub_console_setcursor): Likewise.
51250 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51251 Include <grub/machine/console.h>.
51252 * term/ieee1275/ofconsole.c: Likewise.
51253
4ac9bd04 512542005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51255
51256 * Makefile.in (LIBLZO): New variable.
51257
51258 * configure.ac: Check for LZO version 2.
51259
51260 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51261 lzo/lzo1x.h instead of lzo1x.h.
51262
51263 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51264 of -llzo.
51265
51266 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51267 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51268
51269 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51270 copying the data from PARTITION to P.
51271
f4917dfd 512722005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51273
51274 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51275 negative, unload the module.
51276
51277 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51278 map is "pc_partition_map" but not "pc".
51279 (usage): Fix the description. The options are --boot-image and
51280 --core-image but not --boot-file or --core-file.
51281 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51282 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51283 DEFAULT_DIRECTORY.
51284
51285 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51286 --core-file. Specify INSTALL_DEVICE as an argument.
51287
51288 * util/console.c: Include config.h.
51289 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51290 [HAVE_NCURSES_H]: Include ncurses.h.
51291 [HAVE_CURSES_H]: Include curses.h.
51292 [!A_NORMAL] (A_NORMAL): Defined as zero.
51293 [!A_STANDOUT] (A_STANDOUT): Likewise.
51294
51295 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51296 -lncurses.
51297 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51298
51299 * configure.ac: Check for curses libraries and headers.
51300
51301 * Makefile.in (LIBCURSES): New variable.
51302
51303 * genmk.rb (Script::rule): Set the executable bits.
51304
51305 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51306 name of the PC partition map is "pc_partition_map" but not "pc".
51307
0e143073 513082005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51309
51310 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51311 (modules): Likewise.
51312 (usage): Added descriptions for --modules and --grub-probefs.
51313 Handle --modules and --grub-probefs. Save the arguments in MODULES
51314 and GRUB_PROBEFS, respectively.
51315 Auto-detect a filesystem module against GRUBDIR. If the result is
51316 empty and modules are not specified explicitly, abort the
51317 installation. Add the result to MODULES.
51318
51319 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51320 disk/powerpc/ieee1275/ofdisk.c,
51321 include/grub/powerpc/ieee1275/init.h and
51322 term/powerpc/ieee1275/ofconsole.c.
51323 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51324 term/ieee1275/ofconsole.c.
51325
51326 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51327
51328 * COPYING: Upgraded to the latest version. Only the address of the
51329 FSF office has changed.
f19dbdb7 51330
efd6e6d5 513312005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51332
51333 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51334 kern/ieee1275.c with kern/ieee1275/of.c.
51335
51336 * kern/ieee1275.c: Moved to ...
51337 * kern/ieee1275/of.c: ... here.
51338
8ceafda2 513392005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51340
51341 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51342 readability.
8ceafda2 51343
51344 * config.guess: Updated to the latest version from gnulib.
51345 * config.sub: Likewise.
51346 * install.sh: Likewise.
51347 * mkinstalldirs: Likewise.
51348
51349 * include/grub/console.h: Removed. This file is arch-specific. Do
51350 not put this in include/grub.
51351
51352 * include/grub/i386/pc/console.h: Resurrected.
51353
51354 * util/console.c: Include grub/machine/console.h instead of
51355 grub/console.h.
51356 * util/grub-emu.c: Likewise.
51357
267f6cd9 513582005-08-04 Marco Gerards <metgerards@student.han.nl>
51359
51360 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51361 hardcoded value.
f19dbdb7 51362
267f6cd9 51363 From Vincent Pelletier <subdino2004@yahoo.fr>
51364 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51365 Redefined to use grub_getwh.
51366 (grub_term): New member named getwh.
51367 (grub_getwh): New prototype.
51368 * kern/term.c (grub_getwh): New function.
51369 * term/i386/pc/console.c (grub_console_getwh): New function.
51370 (grub_console_term): New member `getwh'.
51371 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51372 (grub_vga_term): New member `getwh'.
0b5abe02 51373 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51374 grub_ssize_t.
51375 (grub_ofconsole_getw): New function.
51376 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51377 (grub_ofconsole_term): New field named getwh and new initial
51378 value.
51379
3be7266d 513802005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51381
51382 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51383 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51384 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51385 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51386 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51387 of <grub/machine/ieee1275.h>.
51388 * commands/ieee1275/reboot.c: Likewise.
51389 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51390 * kern/ieee1275.c: ... to here. All users updated. Change all
51391 parameter structs to use new type `grub_ieee1275_cell_t'.
51392 * term/powerpc/ieee1275/ofconsole.c: Move ...
51393 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51394 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51395 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51396 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51397 to return int.
51398 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51399 Remove unused prototypes. All users updated.
51400 * include/grub/powerpc/ieee1275/console.h: Removed.
51401 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51402 `grub_ieee1275_cell_t'.
51403 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51404 Cast comparisons with -1 to the correct type.
51405 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51406 type to match `grub_ieee1275_entry_fn'.
51407
8b5f3938 514082005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51409
51410 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51411
51412 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51413 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51414 partmap/sun.c.
51415 (grub_probefs_SOURCES): New variable.
51416
51417 * util/i386/pc/grub-probefs.c: New file.
51418
51419 * util/i386/pc/grub-setup.c (main): Call
51420 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51421 grub_hfs_init and grub_jfs_init to initialize the system. Call
51422 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51423 grub_pc_partition_map_fini to finish the system.
51424
ea409713 514252005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51426
51427 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51428 function.
51429 (grub_multiboot_load_elf32): Likewise.
51430 (grub_multiboot_is_elf64): Likewise.
51431 (grub_multiboot_load_elf64): Likewise.
51432 (grub_multiboot_load_elf): Likewise.
51433 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51434 an ELF32 or ELF64 file.
51435 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51436
51437 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51438 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51439 NULL before calling FS->LABEL.
51440 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51441 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51442 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51443 before calling FS->LABEL.
51444
141a288b 514452005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51446
51447 * util/i386/pc/grub-install.in (datadir): New variable.
51448 (libdir): Removed.
51449 (pkgdatadir): New variable.
51450 (pkglibdir): Removed.
51451
0d5f8a54 514522005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51453
51454 * DISTLIST: Added util/i386/pc/grub-install.in.
51455
51456 * util/i386/pc/grub-install.in: New file.
51457
51458 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51459 (grub_install_SOURCES): Likewise.
51460
51461 * genmk.rb: Added support for scripts.
51462 (Script): New class.
51463 (scripts): New variable.
51464
51465 * Makefile.in (install-local): Install sbin_SCRIPTS by
51466 INSTALL_SCRIPT.
51467 (uninstall): Remove sbin_SCRIPTS.
51468
51469 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51470 device, try to get a GRUB device by
51471 grub_util_biosdisk_get_grub_dev.
51472 Free DEST_DEV.
51473
51474 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51475 description for --device-map.
51476
5f968e1e 514772005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51478
51479 Change the semantics of variable hooks. They now return strings
51480 instead of error values.
f19dbdb7 51481
5f968e1e 51482 * util/i386/pc/grub-setup.c: Include grub/env.h.
51483 (setup): Use grub_device_set_root instead of grub_env_set.
51484
51485 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51486 grub_env_get instead of grub_device_set_root and
51487 grub_device_get_root, respectively.
51488
51489 * kern/main.c (grub_env_write_root): New function.
51490 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51491 grub_env_set instead of grub_device_set_root.
51492
51493 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51494 many variables.
51495 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51496 rather than calling ENV->WRITE_HOOK afterwards.
51497 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51498 passing a pointer of a pointer.
51499 (grub_register_variable_hook): Change the types of "read_hook" and
51500 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51501 respectively.
51502 Allocate the default empty string on the heap, because this string
51503 may be freed later.
51504
51505 * kern/device.c: Include grub/env.h.
51506 (grub_device_set_root): Removed.
51507 (grub_device_get_root): Likewise.
51508 (grub_device_open): Use grub_env_get instead of
51509 grub_device_get_root.
51510
51511 * include/grub/env.h (grub_env_read_hook_t): New type.
51512 (grub_env_write_hook_t): Likewise.
51513 (grub_env_var): Change the types of "read_hook" and "write_hook"
51514 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51515 (grub_register_variable_hook): Likewise.
51516
51517 * include/grub/device.h (grub_device_set_root): Removed.
51518 (grub_device_set_root): Likewise.
51519
51520 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51521 make sure that DIRNAME terminates with '/', so that
51522 grub_fat_find_dir will fail if PATH is not a directory.
51523
51524 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51525 from DIRNAME.
51526 Use the qualifier auto for print_files and print_files_long.
51527 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51528 as a regular file.
51529 Put a newline only if there is no error.
51530 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51531 used.
51532
896f0afd 515332005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51534
51535 * kern/partition.c (grub_partition_probe): Initialize PART to
51536 NULL. Otherwise, when no partition map is registered, this returns
51537 a garbage.
51538
b28b81b2 515392005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51540
51541 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51542 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51543 valid.
51544
5f3607e0 515452005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51546
51547 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51548 information on each device, if it does not have partitions. Print
51549 "Device" instead of "Disk", because this function is not specific
51550 to disk devices.
51551
51552 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51553 static to ensure that it is put on the memory rather than a
51554 register.
51555
502c87e8 515562005-07-17 Yoshinori Okuji <okuji@enbug.org>
51557
51558 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51559 (grub_cat_init): Likewise.
51560 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51561 (options): Likewise.
51562 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51563 (grub_configfile_init): Likewise.
51564 * font/manager.c (GRUB_MOD_INIT): Likewise.
51565 * commands/help.c (GRUB_MOD_INIT): Likewise.
51566 (grub_help_init): Likewise.
51567 * normal/command.c (grub_command_init): Likewise.
51568 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51569 * disk/loopback.c (grub_loop_init): Likewise.
51570 (GRUB_MOD_INIT): Likewise.
51571 * commands/ls.c (grub_ls_init): Likewise.
51572 (GRUB_MOD_INIT): Likewise.
51573 (options): Likewise.
51574 * commands/boot.c (grub_boot_init): Likewise.
51575 (GRUB_MOD_INIT): Likewise.
51576 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51577 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51578 (GRUB_MOD_INIT): Likewise.
51579 * commands/cmp.c (grub_cmp_init): Likewise.
51580 (GRUB_MOD_INIT): Likewise.
51581
51582 * normal/arg.c: Use <> instead of "" to include header files.
51583 (SHORT_ARG_HELP): New macro.
51584 (SHORT_ARG_USAGE): Likewise.
51585 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51586 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51587 descriptions.
51588 (find_short): Check if C is 'h' or 'u' explicitly.
51589 (grub_arg_show_help): Use space characters instead of tabs. Treat
51590 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51591 are shown with --help and --usage only if they are not used for
51592 the command itself.
51593 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51594 'h' and 'u'.
51595
51596 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51597 const into "longarg". Change the type of "shortarg" to int.
51598
f806d18e 515992005-07-17 Yoshinori Okuji <okuji@enbug.org>
51600
51601 * boot/i386/pc/boot.S (boot_drive_check): New label.
51602
51603 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51604 macro.
51605
51606 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51607 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51608
e293232b 516092005-07-17 Yoshinori Okuji <okuji@enbug.org>
51610
51611 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51612 When turning off Gate A20, skip the check and return immediately,
51613 because this is not fatal usually.
51614
ebedfd00 516152005-07-17 Yoshinori Okuji <okuji@enbug.org>
51616
51617 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51618 be 0x7C00 instead of 0x8000.
51619
51620 * boot/i386/pc/pxeboot.S: Rewritten.
51621
51622 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51623 EXT_C.
51624 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51625 result.
51626
654fc59f 516272005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51628
51629 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51630 robustness. This routine now supports a BIOS call and System
51631 Control Port A to modify the gate A20.
51632
51633 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51634 Increased to 0x440.
51635
09f9923f 516362005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51637
51638 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51639 device path and resulting ihandle.
51640 (grub_ofdisk_close): dprintf the ihandle being closed.
51641 (grub_ofdisk_read): dprintf function parameters.
51642 * kern/mm.c (grub_mm_init_region): Likewise.
51643 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51644 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51645 size, and boot arguments.
51646 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51647 before loading into memory.
51648 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51649 before loading into memory.
51650
7ef504d8 516512005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51652
51653 * kern/mm.c: Added much documentation.
51654 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51655 8, set to 5 instead of 8.
51656
e0f050c2 516572005-07-10 Yoshinori Okuji <okuji@enbug.org>
51658
51659 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51660
51661 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51662 (grub_mkdevicemap_SOURCES): New variable.
51663
51664 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51665 lib/device.c of GRUB Legacy.
51666
7224189a 516672005-07-10 Yoshinori Okuji <okuji@enbug.org>
51668
51669 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51670 instead of PATH is NULL.
51671
68c864eb 516722005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51673
51674 * commands/cmp.c (BUFFER_SIZE): New macro.
51675 (grub_cmd_cmp): Close the right file at the right time. Compare
51676 only data just read. Don't report files of different size as
51677 identical. Dynamically allocate buffers. Move variable
51678 declarations at the beginning of function.
51679
e6f3e614 516802005-07-09 Yoshinori Okuji <okuji@enbug.org>
51681
51682 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51683 reverse.
51684
f8f1559a 516852004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51686
51687 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51688 when backspace is pressed at beginning of line.
51689
39c9d41d 516902005-07-03 Yoshinori Okuji <okuji@enbug.org>
51691
51692 * DISTLIST: Added genfslist.sh.
51693
51694 * normal/main.c (fs_module_list): New variable.
51695 (autoload_fs_module): New function.
51696 (read_fs_list): Likewise.
51697 (grub_normal_execute): Call read_fs_list.
51698
51699 * kern/fs.c (grub_fs_autoload_hook): New variable.
51700 (grub_fs_probe): Added support for auto-loading.
51701
51702 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51703 (grub_fs_module_list_t): New type.
51704
51705 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51706 (grub_fs_autoload_hook): New prototype.
51707
51708 * genfslist.sh: New file.
f19dbdb7 51709
39c9d41d 51710 * genmk.rb: Added a rule to generate a filesystem list.
51711
121c1d83 517122005-06-30 Marco Gerards <metgerards@student.han.nl>
51713
51714 * configure.ac: Fix the test for cross-compiling.
51715
51716 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51717 define GRUB_UTIL anymore.
51718
51719 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
51720 so this function works on other systems than just big endian.
51721 (load_modules): Likewise.
51722 (add_segments): Likewise.
51723
e75d76e1 517242005-06-23 Hollis Blanchard <hollis@penguinppc.org>
51725
51726 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
51727 contains `l' modifier, get a long from va_arg().
51728
50b5a0a7 517292005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
51730
51731 * kern/mm.c (grub_free): If the next free block which is being
51732 merged is the first free block, set the first block to the block
51733 being freed.
51734 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
51735
89371b20 517362005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51737
51738 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
51739 `grub_ieee1275_chosen'.
51740
168d6e58 517412005-05-08 Hollis Blanchard <hollis@penguinppc.org>
51742
51743 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
51744 (grub_ieee1275_chosen): New variable.
51745 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
51746 `chosen'.
51747 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
51748 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51749 Rename first argument to `phandle' for consistency.
51750 (grub_ieee1275_get_property_length): Likewise.
51751 (grub_ieee1275_next_property): Likewise. Change type of first argument
51752 to grub_ieee1275_phandle_t.
51753 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
51754 Move export next to declaration.
51755 (grub_ieee1275_chosen): New variable.
51756 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
51757 Correct cosmetic typo.
51758 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
51759 `grub_ieee1275_chosen'.
51760 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
51761 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
51762 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
51763 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
51764 `grub_ieee1275_chosen'.
51765
ca5baa3f 517662005-05-10 Hollis Blanchard <hollis@penguinppc.org>
51767
51768 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
51769 /chosen/bootargs.
51770 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
51771 /chosen/bootargs as "variable=value" pairs.
51772
708b345f 517732005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
51774
51775 * include/grub/misc.h (grub_dprintf): New macro.
51776 (grub_real_dprintf): New prototype.
51777 (grub_strword): Likewise.
51778 (grub_iswordseparator): Likewise.
51779 * kern/misc.c (grub_real_dprintf): New function.
51780 (grub_strword): Likewise.
51781 (grub_iswordseparator): Likewise.
51782
f4c5e67c 517832005-04-30 Hollis Blanchard <hollis@penguinppc.org>
51784
51785 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
51786 (roundup): Remove macro.
51787 (grub_ieee1275_flags): Make static.
51788 (grub_ieee1275_realmode): Remove.
51789 (grub_ieee1275_test_flag): New function.
51790 (grub_ieee1275_set_flag): Likewise.
51791 (find_options): Rename to `grub_ieee1275_find_options'; update
51792 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
51793 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
51794 (cmain): New prototype.
51795 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
51796 `grub_ieee1275_flags' directly.
51797 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
51798 machine/biosdisk.h.
51799 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
51800 Don't include grub/machine/init.h.
51801 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
51802 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51803 Remove prototype.
51804 (grub_ieee1275_realmode): Likewise.
51805 (grub_ieee1275_flag): New enum.
51806 (grub_ieee1275_test_flag): New prototype.
51807 (grub_ieee1275_set_flag): New prototype.
51808 * include/grub/powerpc/ieee1275/init.h: Remove file.
51809 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
51810 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
51811 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
51812 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
51813 comment.
51814 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
51815 `grub_ieee1275_test_flag'.
51816 (grub_ieee1275_encode_devname): Likewise.
51817
ed16607e 518182005-04-21 Hollis Blanchard <hollis@penguinppc.org>
51819
51820 * include/grub/powerpc/ieee1275/ieee1275.h
51821 (grub_ieee1275_encode_devname): New prototype.
51822 (grub_ieee1275_get_filename): Likewise.
51823 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
51824 function.
51825 (grub_set_prefix): Likewise.
51826 (grub_machine_init): Call grub_set_prefix.
51827 * kern/powerpc/ieee1275/openfw.c: Fix typos.
51828 (grub_parse_type): New enum.
51829 (grub_ieee1275_get_devargs): New function.
51830 (grub_ieee1275_get_devname): Likewise.
51831 (grub_ieee1275_parse_args): Likewise.
51832 (grub_ieee1275_get_filename): Likewise.
51833 (grub_ieee1275_encode_devname): Likewise.
51834
be369920 518352005-03-30 Marco Gerards <metgerards@student.han.nl>
51836
51837 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51838 `grub_loader_unset'.
51839
a5ce3a4a 518402005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51841
51842 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51843 instead of grub_ieee1275_interpret.
51844 (grub_halt_init): New function.
51845 (grub_halt_fini): Likewise.
51846 (GRUB_MOD_INIT): Correct message grammar.
51847 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51848 instead of grub_ieee1275_interpret.
51849 (grub_reboot_init): New function.
51850 (grub_reboot_fini): Likewise.
51851 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51852 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51853 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51854 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51855 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51856 function.
51857 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51858 Add prototype.
51859 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51860 prototype.
51861 (grub_halt): Likewise.
51862 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51863 (cmain): Remove __attribute__((unused)).
51864 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51865 (grub_heap_len): Likewise.
51866 (grub_machine_fini): New function.
51867 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51868 (grub_halt): Likewise.
51869 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51870 function.
51871 * util/powerpc/ieee1275/misc.c: New file.
51872
0058f771 518732005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51874
51875 * DISTLIST: New file.
51876 * gendistlist.sh: Likewise.
f19dbdb7 51877
0058f771 51878 * Makefile.in (COMMON_DISTFILES): Removed.
51879 (BOOT_DISTFILES): Likewise.
51880 (CONF_DISTFILES): Likewise.
51881 (DISK_DISTFILES): Likewise.
51882 (FS_DISTFILES): Likewise.
51883 (INCLUDE_DISTFILES): Likewise.
51884 (KERN_DISTFILES): Likewise.
51885 (LOADER_DISTFILES): Likewise.
51886 (TERM_DISTFILES): Likewise.
51887 (UTIL_DISTFILES): Likewise.
51888 (DISTFILES): Likewise.
51889 (uninstall): Uninstall files in $(pkgdata_DATA).
51890 (DISTLIST): New target.
51891 (distdir): Use the contents of the file DISTLIST to get a list of
51892 distributed files.
51893
46b3b8a5 518942005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51895
51896 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51897 descriptor. This is ported from GRUB Legacy.
51898
51899 * gencmdlist.sh: Added an extra semicolon to make it work with
51900 old sed versions. Reported by Robert Bihlmeyer
51901 <robbe@orcus.priv.at>.
51902
5822ff87 519032005-03-08 Yoshinori Okuji <okuji@enbug.org>
51904
51905 Automatic loading of commands is supported.
f19dbdb7 51906
5822ff87 51907 * normal/main.c (read_command_list): New function.
51908 (grub_normal_execute): Call read_command_list.
51909
51910 * normal/command.c (grub_register_command): Return zero or CMD.
51911 Allocate CMD->NAME from the heap.
51912 Initialize CMD->MODULE_NAME to zero.
51913 Find the same name as well. If the same command is found and it is
51914 a dummy command, overwrite members. If it is not a dummy command,
51915 return zero.
51916 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51917 (grub_command_find): If a dummy command is found, load a module
51918 and retry to find a command only once.
51919
51920 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51921 make sure that each command is loaded.
51922
51923 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51924 macro.
51925 (struct grub_command): Remove const from the member `name'.
51926 Add a new member `module_name'.
51927 (grub_register_command): Return grub_command_t.
51928
51929 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51930 sure that each command is loaded.
51931
51932 * genmk.rb (PModule::rule): Specify a module name without the
51933 suffix ".mod" to gencmdlist.sh.
51934
7b1f4b57 519352005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51936
51937 * gencmdlist.sh: New file.
f19dbdb7 51938
7b1f4b57 51939 * genmk.rb (PModule::rule): Generate a rule for a command list.
51940 Clean command.lst.
51941 Generate command.lst from $(COMMANDFILES).
51942
51943 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51944 (DATA): Added $(pkgdata_DATA).
51945 (install-local): Install files in $(pkgdata_DATA).
51946
062aaf39 519472005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51948
51949 * term/i386/pc/vga.c (debug_command): Removed.
51950 (GRUB_MOD_INIT): Do not register the command "debug".
51951
51952 From Hollis Blanchard:
51953 * commands/configfile.c: New file.
51954 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51955 commands/configfile.c.
51956 (pkgdata_MODULES): Added configfile.mod.
51957 (configfile_mod_SOURCES): New variable.
51958 (configfile_mod_CFLAGS): Likewise.
51959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51960 commands/configfile.c.
51961 (pkgdata_MODULES): Added configfile.mod.
51962 (configfile_mod_SOURCES): New variable.
51963 (configfile_mod_CFLAGS): Likewise.
51964 * util/grub-emu.c (main): Call grub_configfile_init and
51965 grub_configfile_fini.
51966 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51967 prototype.
51968 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51969
cee01aa6 519702005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51971
51972 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51973 address.
51974
51975 * commands/help.c (grub_cmd_help): Do not print newlines after
51976 the last command in print_command_help.
51977
93f3a1d8 519782005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51979
51980 * commands/default.h: New file.
51981 * commands/timeout.h: Likewise.
51982 * normal/context.c: Likewise.
f19dbdb7 51983
93f3a1d8 51984 * util/misc.c: Do not include sys/times.h.
51985 Include sys/time.h and grub/machine/time.h.
51986 (grub_get_rtc): Rewritten with gettimeofday.
51987
51988 * util/grub-emu.c (main): Call grub_default_init and
51989 grub_timeout_init before grub_normal_init, and call
51990 grub_timeout_fini and grub_default_fini after grub_main.
51991
51992 * util/console.c (grub_ncurses_checkkey): Return the read
51993 character or -1.
51994
51995 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51996 timeouts.
51997
51998 * normal/main.c (read_config_file): Push MENU. If this fails,
51999 print an error and wait for a user input.
52000 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52001 If a menu is empty or an error occurs, pop MENU.
52002 (grub_normal_execute): Pop and free MENU after grub_menu_run
52003 returns.
52004
52005 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52006
52007 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52008 include time.h.
52009 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52010 without GRUB_UTIL.
52011 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52012 time.h.
52013 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52014 without GRUB_UTIL.
52015
52016 * include/grub/normal.h (struct grub_menu_list): New struct.
52017 (grub_menu_list_t): New type.
52018 (struct grub_context): New struct.
52019 (grub_context_t): New type.
52020 (grub_register_command): Got rid of EXPORT_FUNC.
52021 (grub_unregister_command): Likewise.
52022 (grub_context_get): New prototype.
52023 (grub_context_get_current_menu): Likewise.
52024 (grub_context_push_menu): Likewise.
52025 (grub_context_pop_menu): Likewise.
52026 [GRUB_UTIL] (grub_default_init): Likewise.
52027 [GRUB_UTIL] (grub_default_fini): Likewise.
52028 [GRUB_UTIL] (grub_timeout_init): Likewise.
52029 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52030
52031 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52032 commands/timeout.c and normal/context.c.
52033 (pkgdata_MODULES): Added default.mod and timeout.mod.
52034 (normal_mod_SOURCES): Added normal/context.c.
52035 (default_mod_SOURCES): New variable.
52036 (default_mod_CFLAGS): Likewise.
52037 (timeout_mod_SOURCES): Likewise.
52038 (timeout_mod_CFLAGS): Likewise.
52039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52040 conf/i386-pc.rmk.
52041 (pkgdata_MODULES): Added default.mod and timeout.mod.
52042 (normal_mod_SOURCES): Added normal/context.c.
52043 (default_mod_SOURCES): New variable.
52044 (default_mod_CFLAGS): Likewise.
52045 (timeout_mod_SOURCES): Likewise.
52046 (timeout_mod_CFLAGS): Likewise.
52047
52048 * Makefile.in (all-local): Added $(MKFILES).
52049
4ed2e1dd 520502005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52051
52052 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52053 (grub_emu_SOURCES): Likewise.
52054 (pkgdata_MODULES): Add `sun.mod'.
52055 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52057 `partmap/sun.c'.
52058 (pkgdata_MODULES): Add `sun.mod'.
52059 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52060 * include/grub/partition.h (grub_sun_partition_map_init): New
52061 prototype.
52062 (grub_sun_partition_map_fini): Likewise.
52063 * partmap/sun.c: New file.
52064 * util/grub-emu.c (main): Initialize and de-initialize the sun
52065 partitionmap support.
52066
4d4e372e 520672005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52068
52069 This implements an Emacs-like menu entry editor.
f19dbdb7 52070
4d4e372e 52071 * normal/menu_entry.c: New file.
f19dbdb7 52072
4d4e372e 52073 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52074 characters to ASCII.
52075 (saved_char): New variable.
52076 (grub_ncurses_checkkey): Rewritten completely.
52077 (grub_ncurses_getkey): Likewise.
52078 (grub_ncurses_init): Call raw instead of cbreak.
52079
52080 * normal/menu.c (print_entry): Do not put a space.
52081 (init_page): Renamed to ...
52082 (grub_menu_init_page): ... this. All callers changed.
52083 (edit_menu_entry): Removed.
52084 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
52085
52086 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
52087
52088 * kern/misc.c (grub_vprintf): Call grub_refresh.
52089
52090 * normal/menu.c (DISP_LEFT): Renamed to ...
52091 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52092 * normal/menu.c (DISP_UP): Renamed to ...
52093 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52094 * normal/menu.c (DISP_RIGHT): Renamed to ...
52095 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52096 * normal/menu.c (DISP_DOWN): Renamed to ...
52097 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52098 * normal/menu.c (DISP_HLINE): Renamed to ...
52099 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52100 * normal/menu.c (DISP_VLINE): Renamed to ...
52101 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52102 * normal/menu.c (DISP_UL): Renamed to ...
52103 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52104 * normal/menu.c (DISP_UR): Renamed to ...
52105 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52106 * normal/menu.c (DISP_LL): Renamed to ...
52107 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52108 * normal/menu.c (DISP_LR): Renamed to ...
52109 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52110 * normal/menu.c (TERM_WIDTH): Renamed to ...
52111 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52112 * normal/menu.c (TERM_HEIGHT): Renamed to ...
52113 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
52114 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
52115 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
52116 * normal/menu.c (TERM_MARGIN): Renamed to ...
52117 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
52118 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
52119 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
52120 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
52121 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
52122 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
52123 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
52124 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
52125 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
52126 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
52127 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
52128 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
52129 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
52130 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
52131 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
52132 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
52133 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
52134 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
52135 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
52136 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
52137 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
52138 All callers changed.
52139
52140 * include/grub/normal.h: New prototype.
52141
52142 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52143 normal/menu_entry.c.
52144 (normal_mod_SOURCES): Likewise.
52145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52146 (normal_mod_SOURCES): Likewise.
52147
e6b92c8a 521482005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
52149
52150 * include/grub/normal.h (grub_halt_init): New prototype.
52151 (grub_halt_fini): Likewise.
52152 (grub_reboot_init): Likewise.
52153 (grub_reboot_fini): Likewise.
52154
52155 * util/grub-emu.c: Include signal.h.
52156 (main_env): New global variable.
52157 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
52158 catch C-c.
52159 (grub_machine_fini): New function.
52160 (main): Call grub_halt_init and grub_reboot_init before
52161 grub_main, and grub_reboot_fini and grub_halt_fini after it.
52162 Call setjmp with MAIN_ENV to go back afterwards.
52163 Call grub_machine_fini right before return.
52164
52165 * include/grub/util/misc.h: Include setjmp.h.
52166 (main_env): New prototype.
52167
52168 * include/grub/kernel.h (grub_machine_fini): New prototype.
52169 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
52170 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
52171
52172 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
52173 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
52174 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 52175
e6b92c8a 52176 * util/i386/pc/misc.c: New file.
f19dbdb7 52177
e6b92c8a 52178 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52179 util/i386/pc/misc.c, commands/i386/pc/halt.c and
52180 commands/i386/pc/reboot.c.
52181
c642636f 521822005-02-14 Guillem Jover <guillem@hadrons.org>
52183
52184 * include/grub/dl.h (grub_dl_check_header): New prototype.
52185 (grub_arch_dl_check_header): Change return type to grub_err_t,
52186 remove size parameter and export function. Update all callers.
52187 * kern/dl.c (grub_dl_check_header): New function.
52188 (grub_dl_load_core): Use `grub_dl_check_header' instead of
52189 `grub_arch_dl_check_header'. Check ELF type. Check if sections
52190 are inside the core.
52191 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
52192 independent ELF header checks.
52193 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52194 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
52195 `grub_dl_check_header' instead of explicit checks. Check for the
52196 ELF type.
52197 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
52198 `grub_dl_check_header' instead of explicit checks. Remove arch
52199 specific ELF header checks.
52200
e6b92c8a 52201 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52202 argument SIZE.
52203
5eabe94b 522042005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52205
52206 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52207 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52208
1b14a681 522092005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52210
52211 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 52212 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 52213 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 52214 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 52215 * partmap/amiga.c (amiga_partition_map_iterate): Return
52216 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52217 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52218
aca108aa 522192005-02-01 Guillem Jover <guillem@hadrons.org>
52220
52221 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52222 help info.
52223
c9f9c556 522242005-01-31 Marco Gerards <metgerards@student.han.nl>
52225
52226 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52227 Removed prototype.
52228 (grub_rescue_cmd_linux): New prototype.
52229 (grub_rescue_cmd_initrd): Likewise.
52230 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52231 `bi_rec'.
52232 (grub_linux_release_mem): Release the memory for the initrd.
52233 (grub_load_linux): Renamed from this...
52234 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52235 Changed `entry' not to be static. Loop over memory regions to
52236 find another one when the default fails.
52237 (grub_rescue_cmd_initrd): New function.
52238 (grub_linux_init): Remove function.
52239 (grub_linux_fini): Likewise.
52240 (GRUB_MOD_INIT): Register `initrd'.
52241 (GRUB_MOD_FINI): Unregister `initrd'.
52242 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52243 Function removed.
52244 (grub_linux_normal_fini): Likewise.
52245 (GRUB_MOD_INIT): Register `initrd'.
52246 (GRUB_MOD_FINI): Unregister `initrd'.
52247
990cf3aa 522482005-01-31 Marco Gerards <metgerards@student.han.nl>
52249
52250 * commands/help.c: New file.
52251 * normal/arg.c (show_help): Renamed to...
52252 (grub_arg_show_help): ... this.
52253 * commands/i386/pc/halt.c: New file.
52254 * commands/i386/pc/reboot.c: Likewise.
52255 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52256 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52257 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52258 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52259 variables.
52260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52261 `commands/help.c'.
52262 (pkgdata_MODULES): Add `help.mod'.
52263 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52264 * grub/i386/pc/init.h (grub_reboot): New prototype.
52265 (grub_halt): Likewise.
52266 * include/grub/normal.h (grub_arg_show_help): New prototype.
52267 (grub_help_init): Likewise.
52268 (grub_help_fini): Likewise.
52269 * util/grub-emu.c (main): Initialize and deinitialize the help
52270 command.
52271
52272 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52273
52274 * normal/command.c (grub_command_init): Fixed the description of
52275 the `set' and `unset' commands.
52276
522772005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52278
52279 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52280 function.
52281 * commands/ieee1275/halt.c: New file.
52282 * commands/ieee1275/reboot.c: Likewise.
52283 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52284 `__attribute__ ((unused))'. Some GCS related fixed.
52285 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52286 (grub_suspend_fini): Likewise.
52287 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52288 and `halt.mod'.
52289 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52290 (halt_mod_CFLAGS): New variables.
52291 * include/grub/powerpc/ieee1275/ieee1275.h
52292 (grub_ieee1275_interpret): New prototype.
52293
1ab09cc7 522942005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52295
52296 * include/grub/misc.h (memmove): New prototype.
52297 (memcpy): Likewise.
52298
8b8cbdb2 522992005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52300
52301 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52302 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52303
e3741a27 523042005-01-22 Marco Gerards <metgerards@student.han.nl>
52305
52306 * kern/misc.c (grub_strndup): Function rewritten.
52307
776bd780 523082005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52309
52310 * normal/menu.c (TERM_WIDTH): Macro redefined.
52311 (TERM_TOP_BORDER_Y): Likewise.
52312 (draw_border): Replaced while-loop by a for-loop. Make the number
52313 of lines consistent with the number of lines displayed in
52314 print_entries. Added a margin below the rectangle.
52315 (print_entry): Make the entry fit in the rectangle.
52316 (print_entries): Display the scroll arrows next to the right
52317 border.
52318
78026bce 523192005-01-21 Marco Gerards <metgerards@student.han.nl>
52320
52321 * fs/minix.c (grub_minix_find_file): Reserve more space for
52322 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52323 `grub_strncpy' to copy `path' into it.
52324
67bbaf0f 523252005-01-21 Marco Gerards <metgerards@student.han.nl>
52326
52327 Add the loopback device, a device via which files can be accessed
52328 as devices.
f19dbdb7 52329
67bbaf0f 52330 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52331 (pkgdata_MODULES): Add loopback.mod.
52332 (loopback_mod_SOURCES): New variable.
52333 (loopback_mod_CFLAGS): Likewise.
52334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52335 `disk/loopback.c'.
52336 (pkgdata_MODULES): Add loopback.mod.
52337 (loopback_mod_SOURCES): New variable.
52338 (loopback_mod_CFLAGS): Likewise.
52339 * disk/loopback.c: new file.
52340 * include/grub/normal.h (grub_loop_init): New prototype.
52341 (grub_loop_fini): New prototype.
52342 * util/grub-emu.c (main): Initialize and de-initialize loopback
52343 support.
52344 * include/grub/disk.h (grub_disk_dev_id): Add
52345 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52346
6f1c18bd 523472005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52348
52349 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52350 function.
52351 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52352 (suspend_mod_SOURCES): New variable.
52353 (suspend_mod_CFLAGS): Likewise.
52354 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52355 New prototype.
52356 * commands/ieee1275/suspend.c: New file.
52357
b38551da 523582005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52359
52360 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52361 ((unused))' to `__attribute__ ((used))'.
b38551da 52362 (GRUB_MOD_FINI): Likewise.
52363 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52364 * genmk.rb (PModule): Assign space to common symbols when linking
52365 modules.
52366
777aff39 523672005-01-20 Marco Gerards <metgerards@student.han.nl>
52368
52369 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52370 `unsigned' arguments to `grub_size_t'.
52371 (grub_malloc): Likewise.
52372 (grub_realloc): Likewise.
52373 (grub_memalign): Likewise.
52374 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52375 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52376 * util/misc.c (grub_malloc): Likewise.
52377 (grub_realloc): Likewise.
52378 * kern/mm.c (get_header_from_pointer): Change the casts to
52379 `unsigned' into a cast to `grub_size_t'.
52380
52381 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52382 point to `currnode' when `currnode' is changed.
52383
52384 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52385 Schottelius <nico-linux@schottelius.org>.
52386
d0ff18e1 523872005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52388
52389 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52390 (note_path): Remove variable.
52391 (GRUB_IEEE1275_NOTE_NAME): New macro.
52392 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52393 (grub_ieee1275_note_hdr): New structure.
52394 (grub_ieee1275_note_desc): Likewise.
52395 (grub_ieee1275_note): Likewise.
52396 (load_note): Remove `dir' argument. All callers updated. Remove
52397 `note_img' and `path'. Do not load a file from `note_path'.
52398 Initialize a struct grub_ieee1275_note and write that to `out'.
52399 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52400
4ca7004c 524012005-01-05 Marco Gerards <metgerards@student.han.nl>
52402
52403 * util/misc.c (grub_util_read_image): Revert last change. It
52404 called `grub_util_read_at', which seeks from the beginning of the
52405 file.
52406
0b412211 524072005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52408
52409 * TODO: Add note about endianness in grub-mkimage.
52410 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52411 section.
52412 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52413 (grub_mkimage_SOURCES): New target.
52414 * include/grub/kernel.h (grub_start_addr): Remove variable.
52415 (grub_end_addr): Likewise.
52416 (grub_total_module_size): Likewise.
52417 (grub_kernel_image_size): Likewise.
52418 (GRUB_MODULE_MAGIC): New constant.
52419 (grub_module_info): New structure.
52420 (grub_arch_modules_addr): New prototype.
52421 (grub_get_end_addr): Remove prototype.
52422 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52423 * include/grub/powerpc/ieee1275/kernel.h: New file.
52424 * include/grub/util/misc.h (grub_util_get_fp_size): New
52425 prototype.
52426 (grub_util_read_at): Likewise.
52427 (grub_util_write_image_at): Likewise.
52428 * kern/main.c (grub_get_end_addr): Remove function.
52429 (grub_load_modules): Call grub_arch_modules_addr instead of using
52430 grub_end_addr. Look for a grub_module_info struct in memory. Use
52431 the grub_module_info fields instead of calling grub_get_end_addr
52432 as loop conditions. Move grub_add_unused_region code here.
52433 (grub_add_unused_region): Remove function.
52434 * kern/i386/pc/init.c: Include grub/cache.h.
52435 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52436 one call to add_mem_region.
52437 (grub_arch_modules_addr): New function.
52438 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52439 (grub_total_module_size): Likewise.
52440 Include grub/machine/kernel.h.
52441 (grub_arch_modules_addr): New function.
52442 * util/grub-emu.c (grub_end_addr): Remove variable.
52443 (grub_total_module_size): Likewise.
52444 (grub_arch_modules_addr): New function.
52445 * util/misc.c: Include unistd.h.
52446 (grub_util_get_fp_size): New function.
52447 (grub_util_read_at): Likewise.
52448 (grub_util_write_image_at): Likewise.
52449 (grub_util_read_image): Call grub_util_read_at.
52450 (grub_util_write_image): Call grub_util_write_image_at.
52451 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52452 additional memory in kernel_img for a struct grub_module_info.
52453 Fill in that grub_module_info.
52454 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52455
458786f8 524562005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52457
52458 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52459 New function.
52460 * include/grub/powerpc/ieee1275/ieee1275.h
52461 (grub_ieee1275_milliseconds): New prototype.
52462 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52463 Change to 1000.
52464 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52465 grub_ieee1275_milliseconds.
52466
ac507d1b 524672005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52468
52469 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52470 variable.
52471 (find_options): New function.
52472 (cmain): Call find_options.
52473 * include/grub/powerpc/ieee1275/ieee1275.h
52474 (grub_ieee1275_realmode): New extern variable.
52475 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52476 grub_map if grub_ieee1275_realmode is false.
52477
6b8fd1c4 524782004-12-29 Marco Gerards <metgerards@student.han.nl>
52479
52480 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52481 lines are inserted and make it work like readline. Reported by
52482 Vincent Pelletier <subdino2004@yahoo.fr>.
52483
8514a1e0 524842004-12-28 Marco Gerards <metgerards@student.han.nl>
52485
52486 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52487
52488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52489 `kern/powerpc/cache.S'.
52490
924b6140 524912004-12-27 Marco Gerards <metgerards@student.han.nl>
52492
52493 * genmk.rb: Handle the `Program' class in the main loop. Written
52494 by Johan Rydberg <jrydberg@gnu.org>.
52495 (Program): New class.
52496 (programs): New variable.
52497 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52498 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52499 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52500 (help_arch): Function removed.
52501 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52502 `powerpc/libgcc.h' and `loader.h'.
52503 (pkgdata_PROGRAMS): New variable.
52504 (sbin_UTILITIES): Variable removed.
52505 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52506 (grubof_SOURCES): Variable re-defined so it only includes the
52507 core functionality.
52508 (grubof_CFLAGS): Remove `-DGRUBOF'.
52509 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52510 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52511 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52512 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52513 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52514 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52515 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52516 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52517 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52518 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52519 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52520 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52521 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52522 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52523 (pc_mod_CFLAGS): New variables.
52524 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52525 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52526 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52527 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52528 Moved from here...
52529 * include/grub/i386/pc/init.h (grub_os_area_addr)
52530 (rub_os_area_size): ... to here.
52531 * include/grub/powerpc/ieee1275/ieee1275.h
52532 (grub_ieee1275_entry_fn): Export symbol.
52533 * include/grub/powerpc/ieee1275/init.h: New file.
52534 * include/grub/powerpc/libgcc.h: Likewise.
52535 * include/grub/cache.h: Likewise.
52536 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52537 <hollis@penguinppc.org>.
52538 * kern/dl.c: Include <grub/cache.h>.
52539 (grub_dl_flush_cache): New function.
52540 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52541 for this module.
52542 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52543 (grub_console_init): Removed prototypes.
52544 (grub_machine_init): Don't initialize the modules anymore.
52545 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52546 static.
52547 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52548 Macro undef removed.
52549 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52550 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52551 relocation `R_PPC_REL32'. Return an error when the relocation is
52552 unknown.
52553 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52554 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52555 * util/misc.c (grub_arch_sync_caches): Likewise.
52556
e4b47e0c 525572004-12-19 Marco Gerards <metgerards@student.han.nl>
52558
52559 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52560 `symlist.c', add `grubof_symlist.c'.
52561 (symlist.c): Variable removed.
52562 (grubof_HEADERS): Variable added.
52563 (grubof_symlist.c): New target.
52564 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52565 `kernel_img_HEADERS'.
52566 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52567 * kern/powerpc/dl.c: New file.
52568 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52569 Function removed.
52570 (grub_arch_dl_relocate_symbols): Likewise.
52571 (grub_register_exported_symbols): Likewise.
52572
4ceb3636 525732004-12-13 Marco Gerards <metgerards@student.han.nl>
52574
52575 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52576 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52577 to fail instead. Reported by Vincent Pelletier
52578 <subdino2004@yahoo.fr>.
52579
52580 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52581 it is not allocated. Reported by Vincent Pelletier
52582 <subdino2004@yahoo.fr>.
52583
52584 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52585 output so the output looks better.
f19dbdb7 52586
3f1578fe 525872004-12-04 Marco Gerards <metgerards@student.han.nl>
52588
52589 Modulize the partition map support and add support for the amiga
52590 partition map.
f19dbdb7 52591
3f1578fe 52592 * commands/ls.c: Include <grub/partition.h> instead of
52593 <grub/machine/partition.h>.
52594 * kern/disk.c: Likewise.
52595 * kern/rescue.c: Likewise.
52596 * loader/i386/pc/chainloader.c: Likewise.
52597 * normal/cmdline.c: Likewise.
52598 * kern/powerpc/ieee1275/init.c: Likewise.
52599 (grub_machine_init): Call `grub_pc_partition_map_init',
52600 `grub_amiga_partition_map_init' and
52601 `grub_apple_partition_map_init'.
52602 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52603 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52604 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52605 `partition.h' and `pc_partition.h'.
52606 (grub_setup_SOURCES): Remove
52607 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52608 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52609 (grub_emu_SOURCES): Likewise.
52610 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52611 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52612 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52614 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52615 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52616 (grubof_SOURCES): Likewise.
52617 * disk/i386/pc/partition.c: File removed.
52618 * disk/powerpc/ieee1275/partition.c: Likewise.
52619 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52620 * include/grub/i386/pc/partition.h: Likewise.
52621 * kern/partition.c: New file.
52622 * partmap/amiga.c: Likewise.
52623 * partmap/apple.c: Likewise.
52624 * partmap/pc.c: Likewise.
52625 * include/grub/partition.h: Likewise..
52626 * include/grub/pc_partition.h: Likewise.
52627 * util/grub-emu.c: Include <grub/partition.h> instead of
52628 <grub/machine/partition.h>.
52629 (main): Call `grub_pc_partition_map_init',
52630 `grub_amiga_partition_map_init' and
52631 `grub_apple_partition_map_init' and deinitialize afterwards.
52632 * util/i386/pc/biosdisk.c: Include `#include
52633 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52634 `<grub/machine/partition.h>'.
52635 * util/i386/pc/grub-setup.c: Likewise.
52636 * util/i386/pc/biosdisk.c: Likewise.
52637 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52638 partition information in case of a PC partition.
52639 * util/i386/pc/grub-setup.c: Include `#include
52640 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52641 `<grub/machine/partition.h>'.
52642 (setup): Only access the PC specific partition information in case
52643 of a PC partition.
52644
0ef4ced9 526452004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52646
0ef4ced9 52647 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52648 (grub_longjmp): Likewise.
52649 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52650 20.
52651 * normal/powerpc/setjmp.S: New file.
52652 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52653 `normal/powerpc/setjmp.S'.
52654 (grubof_CFLAGS): Add `-DGRUBOF'.
52655 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52656 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52657
19950e29 526582004-11-16 Marco Gerards <metgerards@student.han.nl>
52659
52660 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52661 property named `name'. Correctly handle the error returned by
52662 `grub_ieee1275_finddevice' if a device can not be opened.
52663
a2fea427 526642004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52665
52666 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52667 `actual' for negativity.
52668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52669 kern/fshelp.c.
52670
41ea0ea3 526712004-11-01 Marco Gerards <metgerards@student.han.nl>
52672
52673 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52674 (PAGE_OFFSET): New macro.
52675 (CRTC_ADDR_PORT): Likewise.
52676 (CRTC_DATA_PORT): Likewise.
52677 (START_ADDR_HIGH_REGISTER): Likewise.
52678 (START_ADDR_LOW_REGISTER): Likewise.
52679 (GRAPHICS_ADDR_PORT): Likewise.
52680 (GRAPHICS_DATA_PORT): Likewise.
52681 (READ_MAP_REGISTER): Likewise.
52682 (INPUT_STATUS1_REGISTER): Likewise.
52683 (INPUT_STATUS1_VERTR_BIT): Likewise.
52684 (page): New variable.
52685 (wait_vretrace): New function.
52686 (set_read_map): Likewise.
52687 (set_start_address): Likewise.
52688 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52689 the right page.
52690 (check_vga_mem): Take the page into account.
52691 (write_char): Likewise.
52692 (write_cursor): Likewise.
52693 (scroll_up): Likewise. Copy the page to the page that is not
52694 shown and switch between both pages.
52695 (grub_vga_putchar): Fix off by one error.
52696 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52697 account.
52698
ad0bd20b 526992004-11-01 Marco Gerards <metgerards@student.han.nl>
52700
52701 Add support for iso9660 (including rockridge).
f19dbdb7 52702
ad0bd20b 52703 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52704 (iso9660_mod_SOURCES): New variable.
52705 (iso9660_mod_CFLAGS): Likewise.
52706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52707 * include/grub/fs.h (grub_iso9660_init): New prototype.
52708 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52709 * fs/iso9660.c: New file.
52710
52711 * include/grub/misc.h (grub_strncat): New prototype.
52712 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52713
ad0bd20b 52714 * fs/hfs.c (grub_hfs_mount): Translate the error
52715 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52716 * fs/jfs.c (grub_jfs_mount): Likewise.
52717 * fs/ufs.c (grub_ufs_mount): Likewise.
52718
a5477a59 527192004-10-28 Hollis Blanchard <hollis@penguinppc.org>
52720
52721 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
52722 which initialized BAT registers.
52723 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
52724 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52725 Move from here...
52726 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
52727 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
52728 ... to here.
52729 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
52730 (grub_mapclaim): Likewise.
52731 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
52732 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
52733 hand.
52734
9304c1f8 527352004-10-19 Hollis Blanchard <hollis@penguinppc.org>
52736
52737 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
52738 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
52739 -ffreestanding and -msoft-float.
52740
86f4ae25 527412004-10-15 Hollis Blanchard <hollis@penguinppc.org>
52742
52743 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
52744 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
52745 set in grub_ieee1275_flags.
52746
38912228 527472004-10-14 Hollis Blanchard <hollis@penguinppc.org>
52748
52749 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
52750 prototype.
52751 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
52752 grub_console_init first.
52753 Change the memory range used for grub_ieee1275_claim and
52754 grub_mm_init_region.
52755 Print an error message if the claim fails.
52756 Include <grub/misc.h>.
52757
d1923dc8 527582004-10-13 Hollis Blanchard <hollis@penguinppc.org>
52759
52760 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
52761 Call grub_children_iterate for device nodes of type `scsi',
52762 `ide', or `ata'.
52763 (grub_ofdisk_open): Remove manual device alias resolution.
52764 Fix memory leak when device cannot be opened.
f19dbdb7 52765 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 52766 (grub_children_iterate): New prototype.
52767 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
52768 New function.
52769 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52770 Return -1 if args.size was -1.
52771
4512e4f3 527722004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52773
52774 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
52775 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
52776 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
52777 Open Firmware's memory for it; claim memory from _start to _end.
52778 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
52779 (_end): New extern.
52780 (_start): Zero BSS from __bss_start to _end.
52781 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52782 New extern.
52783 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
52784
4d61feb0 527852004-10-11 Hollis Blanchard <hollis@penguinppc.org>
52786
ad0bd20b 52787 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
52788 -1 if args.base was -1.
4d61feb0 52789
026fa2f9 527902004-10-08 Hollis Blanchard <hollis@penguinppc.org>
52791
52792 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
52793 escape sequence instead of a literal ^L. Also call
52794 grub_ofconsole_gotoxy.
52795
9f2220ef 527962004-10-03 Hollis Blanchard <hollis@penguinppc.org>
52797
52798 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
52799 void * arguments to grub_addr_t. All callers updated. Also make
52800 the `result' argument optional.
52801 (grub_ieee1275_release): change void * arguments to grub_addr_t.
52802 All callers updated.
52803
8a572cd7 528042004-09-22 Hollis Blanchard <hollis@penguinppc.org>
52805
52806 * commands/ls.c (grub_ls_list_files): Use the string following the
52807 initial ')', if present, as the filesystem path.
52808 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
52809
52810 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
52811
18aa81f2 528122004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
52813
52814 Make the source code of the menu interface more readable.
f19dbdb7 52815
18aa81f2 52816 * normal/menu.c: Include grub/mm.h.
52817 (TERM_WIDTH): New macro.
52818 (TERM_HEIGHT): Likewise.
52819 (TERM_INFO_HEIGHT): Likewise.
52820 (TERM_MARGIN): Likewise.
52821 (TERM_SCROLL_WIDTH): Likewise.
52822 (TERM_TOP_BORDER_Y): Likewise.
52823 (TERM_LEFT_BORDER_X): Likewise.
52824 (TERM_BORDER_WIDTH): Likewise.
52825 (TERM_MESSAGE_HEIGHT): Likewise.
52826 (TERM_BORDER_HEIGHT): Likewise.
52827 (TERM_NUM_ENTRIES): Likewise.
52828 (TERM_FIRST_ENTRY_Y): Likewise.
52829 (TERM_ENTRY_WIDTH): Likewise.
52830 (TERM_CURSOR_X): Likewise.
52831 (draw_border): Use macros instead of magic numbers.
52832 (print_entry): Likewise.
52833 (print_entries): Likewise.
52834 (run_menu): Likewise. Also, handle the key 'e'.
52835 (run_menu_entry): Ignore empty command lines.
52836 (print_message): Added a new argument EDIT. If EDIT is true,
52837 print a different message.
52838 (init_page): Likewise.
52839 (edit_menu_entry): New function. Not implemented yet.
52840
b47efe30 528412004-09-17 Marco Gerards <metgerards@student.han.nl>
52842
52843 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52844 can be loaded from normal mode.
f19dbdb7 52845
b47efe30 52846 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52847 `multiboot.mod'.
52848 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52849 (multiboot_mod_CFLAGS): New variables.
52850 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52851 * loader/i386/pc/multiboot_normal.c: Likewise.
52852
b47efe30 52853 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52854 attribute `unused'.
f19dbdb7 52855
b47efe30 52856 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52857 `fdiro' to read the mode information from instead of `diro'.
52858
52859 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52860 looking up a symlink.
52861
52862 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52863 macro.
52864 * normal/command.c (grub_command_execute): Don't parse the
52865 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52866 flags of the command.
52867
52868 * normal/menu.c (grub_menu_run): Fix typo.
52869
da75ac71 528702004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52871
52872 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52873
52874 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52875 `y + 1' instead of `y - 1'.
52876
52877 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52878
062b24c2 528792004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52880
52881 From Hollis Blanchard <hollis@penguinppc.org>:
52882 * kern/misc.c (memmove): New alias for grub_memmove.
52883 (memcmp): New alias for grub_memcmp.
52884 (memset): New alias for grub_memset.
f19dbdb7 52885 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52886 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52887 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52888 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52889
8ddad845 528902004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52891
52892 Added normal mode command `chainloader' as module chain.mod, which
52893 depends on normal.mod and _chain.mod.
f19dbdb7 52894
8ddad845 52895 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52896 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52897 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52898 Deleted prototype.
52899 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52900 but arguments parsing moved to ...
52901 (grub_chainloader_cmd): ... here. New function.
52902 * include/grub/i386/pc/chainloader.h: New file.
52903 * loader/i386/pc/chainloader_normal.c: Likewise.
52904
2c1f4ce3 529052004-09-11 Marco Gerards <metgerards@student.han.nl>
52906
52907 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52908 (grub_mkimage_LDFLAGS): Likewise.
52909 (grub_emu_SOURCES): Likewise.
52910 (kernel_img_HEADERS): Added fshelp.h.
52911 * fs/ext2.c: Include <grub/fshelp.h>.
52912 (FILETYPE_REG): New macro.
52913 (FILETYPE_INO_REG): Likewise.
52914 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52915 Changed all users.
52916 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52917 all users.
52918 (grub_fshelp_node): New struct.
52919 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52920 to a pointer.
52921 (grub_ext2_get_file_block): Removed function.
52922 (grub_ext2_read_block): New function.
52923 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52924 This function was written.
52925 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52926 (grub_ext2_find_file): Removed function.
52927 (grub_ext2_read_symlink): New function.
52928 (grub_ext2_iterate_dir): Likewise.
52929 (grub_ext2_open): Rewritten.
52930 (grub_ext2_dir): Rewritten.
52931 * include/grub/fshelp.h: New file.
52932 * fs/fshelp.c: Likewise.
52933
3c52136a 529342004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52935
52936 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52937 (print_message): Add a missing newline.
52938 (run_menu): Added timeout support.
52939 (run_menu_entry): New local function.
52940 (grub_menu_run): Added support for booting.
52941
52942 * kern/loader.c (grub_loader_is_loaded): New function.
52943
52944 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52945 (grub_get_rtc): Exported.
52946
52947 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52948 (grub_get_rtc): Exported.
52949
52950 * include/grub/normal.h (struct grub_command_list): Remove
52951 constant from the member `command'.
52952
52953 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52954
52955 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52956
52957 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52958
aa033560 529592004-08-28 Marco Gerards <metgerards@student.han.nl>
52960
52961 Add support for the JFS filesystem.
52962
52963 * fs/jfs.c: New file.
52964 * include/grub/fs.h (grub_jfs_init): New prototype.
52965 (grub_jfs_fini): New prototype.
52966 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52967 (grub_emu_SOURCES): Likewise.
52968 (pkgdata_MODULES): Add jfs.mod.
52969 (jfs_mod_SOURCES): New variable.
52970 (jfs_mod_CFLAGS): Likewise.
52971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52972 (grubof_SOURCES): Likewise.
52973 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52974
52975 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52976 endian to the host endian.
52977 (grub_fat_utf16_to_utf8): Move function from there...
52978 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52979 the endianness of the source string anymore.
aa033560 52980 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52981
94bc45af 529822004-08-24 Marco Gerards <metgerards@student.han.nl>
52983
52984 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52985 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52986 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52987 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52988
94bc45af 52989 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52990 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52991 for `node_found' and `it_dir'.
52992 (grub_hfs_dir): Add prototype for `dir_hook'.
52993
52994 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52995 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52996 and `indir32' to silence a gcc warning.
52997
52998 * include/grub/fs.h (grub_hfs_init): New prototype.
52999 (grub_hfs_fini): Likewise.
f19dbdb7 53000
53001
97543f08 530022004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53003
53004 Each disk device has its own id now. This is useful to make use
53005 of multiple disk devices.
f19dbdb7 53006
97543f08 53007 * include/grub/disk.h (grub_disk_dev_id): New enum.
53008 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53009 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53010
53011 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53012 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53013
53014 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53015 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53016
53017 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53018 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53019
53020 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53021 "id" which is used by the cache manager.
53022
53023 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53024 of just "GRUB".
53025
64372eb4 530262004-08-18 Marco Gerards <metgerards@student.han.nl>
53027
53028 * fs/hfs.c: New file.
53029 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53030 (grub_emu_SOURCES): Likewise.
53031 (pkgdata_MODULES): Add hfs.mod.
53032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53033 (grubof_SOURCES): Likewise.
53034 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53035
53036 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53037 * kern/misc.c (grub_strncasecmp): Add function.
53038
cc61b58f 530392004-08-14 Marco Gerards <metgerards@student.han.nl>
53040
53041 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53042 with parentheses.
53043
53044 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53045 (grub_ext2_dir): In case the directory entry type is unknown, read
53046 it from the inode.
53047
0ef123f6 530482004-08-02 Peter Bruin <pjbruin@dds.nl>
53049
53050 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53051 grub_load_linux instead of grub_rescue_cmd_linux as second
53052 argument of grub_rescue_register_command.
53053
53054 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53055
a447c5df 530562004-07-27 Marco Gerards <metgerards@student.han.nl>
53057
53058 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53059 function.
53060 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53061 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53062 `loader/powerpc/ieee1275/linux.c',
53063 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53064 * include/grub/powerpc/ieee1275/ieee1275.h
53065 (grub_ieee1275_release): New prototype.
53066 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53067 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53068 normal, boot, linux and linux_normal.
53069 * loader/powerpc/ieee1275/linux.c: New file.
53070 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53071
5a9e3546 530722004-07-12 Marco Gerards <metgerards@student.han.nl>
53073
53074 * normal/arg.c (grub_arg_parse): Correct error handling after
53075 reallocating the argumentlist (check if `argl' is not null instead
53076 of checking if `args' is not null).
53077 * kern/mm.c (grub_realloc): Return the same pointer when using the
53078 same region, instead of returning the header address.
53079
e15199cb 530802004-07-11 Marco Gerards <metgerards@student.han.nl>
53081
53082 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
53083 one block instead of two when looking for the initial partition.
53084 (grub_partition_probe): Initialize the local variable `p' with 0.
53085 Use base 10 for the grub_strtoul call.
53086 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
53087 need for one local variable.
53088 (grub_strtoul): Don't add the new value to `num', instead of that
53089 just assign it.
53090
020616c2 530912004-07-11 Marco Gerards <metgerards@student.han.nl>
53092
53093 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53094 (pxeboot_img_SOURCES): New variable.
53095 (pxeboot_img_ASFLAGS): Likewise.
53096 (pxeboot_img_LDFLAGS): Likewise.
53097 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53098 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53099 <lode_leroy@hotmail.com>.
53100
6c51eb64 531012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53102
53103 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53104 there was no input.
53105
cfb12aff 531062004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53107
53108 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53109 the history buffer logic.
53110
6eabba74 531112004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53112
53113 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
53114 (FILETYPE_INO_SYMLINK): New macros.
53115 (grub_ext2_find_file): Check if the node is a directory using the
53116 inode stat information instead of using the filetype in the
53117 dirent. Exclude the first character of an absolute symlink.
53118 (grub_ext2_dir): Mask out the filetype part of the mode member of
53119 the inode.
53120
66e19ef8 531212004-05-24 Marco Gerards <metgerards@student.han.nl>
53122
53123 Add support for UFS version 1 and 2. Add support for the minix
53124 filesystem version 1 and 2, both the variants with 14 and 30 long
53125 filenames.
f19dbdb7 53126
66e19ef8 53127 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
53128 fs/minix.c.
53129 (grub_emu_SOURCES): Likewise.
53130 (pkgdata_MODULES): Add ufs.mod and minix.mod.
53131 (ufs_mod_SOURCES): New variable.
53132 (ufs_mod_CFLAGS): Likewise.
53133 (minix_mod_SOURCES): Likewise.
53134 (minix_mod_CFLAGS): Likewise.
53135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
53136 fs/minix.c.
53137 (grubof_SOURCES): Likewise.
53138 * fs/ufs.c: New file.
53139 * fs/minix.c: New file.
53140 * include/grub/fs.h (grub_ufs_init): New prototype.
53141 (grub_ufs_fini): Likewise.
53142 (grub_minix_init): Likewise.
53143 (grub_minix_fini): Likewise.
53144 * util/grub-emu.c (main): Initialize and deinitialize UFS and
53145 minix fs.
53146
cc2e748a 531472004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
53148
53149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
53150 commands/ls.c, commands/terminal.c, commands/boot.c,
53151 commands/cmp.c and commands/cat.c.
53152 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
53153
53154 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
53155 "env.h"
53156
4b13b216 531572004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53158
53159 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
53160 and grub_, respectively. Because the conversion is trivial and
53161 mechanical, I omit the details here. Please refer to the CVS
53162 if you need more information.
53163
6a142551 531642004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53165
53166 * include/pupa: Renamed to ...
53167 * include/grub: ... this.
53168 * util/i386/pc/pupa-mkimage.c: Renamed to ...
53169 * util/i386/pc/grub-mkimage.c: ... this.
53170 * util/i386/pc/pupa-setup.c: Renamed to ...
53171 * util/i386/pc/grub-setup.c: ... this.
53172 * util/pupa-emu.c: Renamed to ...
53173 * util/grub-emu.c: ... this.
53174
e56cdf21 531752004-03-29 Marco Gerards <metgerards@student.han.nl>
53176
53177 Add support for the newworld apple macintosh (PPC). This has been
53178 tested on the powerbook 2000 only. It only adds support for
53179 generic ieee1275 functions, console and disk support. This should
53180 be easy to port to other architectures with support for Open
53181 Firmware.
f19dbdb7 53182
e56cdf21 53183 * configure.ac: Accept the powerpc as host_cpu. In the case of
53184 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
53185 specific tests are only executed while building for the i386.
53186 Inverse test for crosscompile.
53187 * genmk.rb (Utility): Allow assembler files.
53188 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
53189 * conf/powerpc-ieee1275.rmk: New file.
53190 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
53191 * disk/powerpc/ieee1275/partition.c: Likewise.
53192 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
53193 * include/pupa/powerpc/ieee1275/console.h: Likewise.
53194 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
53195 * include/pupa/powerpc/ieee1275/time.h: Likewise.
53196 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
53197 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
53198 * include/pupa/powerpc/ieee1275/loader.h
53199 * include/pupa/powerpc/setjmp.h: Likewise.
53200 * include/pupa/powerpc/types.h: Likewise.
53201 * kern/powerpc/ieee1275/init.c: Likewise.
53202 * kern/powerpc/ieee1275/openfw.c: Likewise.
53203 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53204
53205 These files were written by Johan Rydberg
53206 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 53207
e56cdf21 53208 * boot/powerpc/ieee1275/cmain.c: New file.
53209 * boot/powerpc/ieee1275/crt0.S: Likewise.
53210 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53211 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53212
8c8cc205 532132004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53214
53215 * Makefile.in: Update copyright.
53216 * genmodsrc.sh: Likewise.
53217 * gensymlist.sh: Likewise.
53218 * term/i386/pc/vga.c: Indent correctly.
53219
53220 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53221 bugreporting address.
53222 * util/i386/pc/pupa-setup.c (usage): Likewise,
53223 (main): Call pupa_ext2_init and pupa_ext2_fini.
53224
f19dbdb7 53225 * fs/fat.c (log2): Renamed to ...
8c8cc205 53226 (fat_log2): ... this.
53227 All callers changed.
53228 * kern/misc.c (memcpy): Alias to pupa_memmove.
53229 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53230 lvalue cast.
53231 * util/console.c (pupa_ncurses_fini): Return 0.
53232
53233 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53234 Move fail label here.
53235 [__GNU__]: Don't warn when using stat.
53236 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53237 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53238 long int. Use strtol instead of strtoul.
f19dbdb7 53239
db1771cf 532402004-03-14 Marco Gerards <metgerards@student.han.nl>
53241
53242 * commands/boot.c: New file.
53243 * commands/cat.c: Likewise.
53244 * commands/cmp.c: Likewise.
53245 * commands/ls.c: Likewise.
53246 * commands/terminal.c: Likewise.
53247 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53248 (pupa_register_command): Changed interface to match the new
53249 argument parser.
53250 (pupa_command_execute): Changed (almost rewritten) so it uses
53251 pupa_split_command. Added support for setting variables using the
53252 syntax `foo=bar'.
53253 (rescue_command): Changed to work with the new argument parser.
53254 (terminal_command): Moved from here to commands/terminal.c.
53255 (set_command): New function.
53256 (unset_command): New function.
53257 (insmod_command): New function.
53258 (rmmod_command): New function.
53259 (lsmod_command): New function.
53260 (pupa_command_init): Don't initialize the command terminal
53261 anymore. Initialize the commands set, unset, insmod, rmmod and
53262 lsmod.
53263 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53264 (kernel_img_HEADERS): Add arg.h and env.h.
53265 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53266 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53267 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53268 normal/arg.c.
53269 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53270 terminal.mod.
53271 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53272 (boot_mod_SOURCES): New variable.
53273 (terminal_mod_SOURCES): Likewise.
53274 (ls_mod_SOURCES): Likewise.
53275 (cmp_mod_SOURCES): Likewise.
53276 (cat_mod_SOURCES): Likewise.
53277
53278 * normal/arg.c: New file.
53279 * kern/env.c: Likewise.
53280 * include/pupa/arg.h: Likewise.
53281 * include/pupa/env.h: Likewise.
53282 * font/manager.c (font_command): Changed to match argument parsing
53283 interface changes.
53284 (PUPA_MOD_INIT): Likewise.
53285 * hello/hello.c (pupa_cmd_hello): Likewise.
53286 (PUPA_MOD_INIT): Likewise.
53287 * include/pupa/disk.h: Include <pupa/device.h>.
53288 (pupa_print_partinfo): New prototype.
53289 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53290 (pupa_dl_get_prefix): Likewise.
53291 * include/pupa/misc.h: Include <pupa/err.h>.
53292 (pupa_isgraph): New prototype.
53293 (pupa_isdigit): Likewise.
53294 (pupa_split_cmdline): Likewise.
53295 * include/pupa/normal.h: Include <pupa/arg.h>.
53296 (pupa_command): Changed the prototype of the member `func' to
53297 match the argument parsing interface. Added member `options'.
53298 (pupa_register_command): Updated to match function.
53299 (pupa_arg_parse): New prototype.
53300 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53301 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53302 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53303 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53304 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53305 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53306 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53307 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53308 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53309 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53310 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53311 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53312 * kern/disk.c: Include <pupa/file.h>.
53313 (pupa_print_partinfo): New function.
53314 * kern/dl.c: Include <pupa/env.h>.
53315 (pupa_dl_dir): Variable removed.
53316 (pupa_dl_load): Use the environment variable `prefix' instead of
53317 the variable pupa_dl_dir.
53318 (pupa_dl_set_prefix): Function removed.
53319 (pupa_dl_get_prefix): Likewise.
53320 * kern/i386/pc/init.c: Include <pupa/env.h>.
53321 (pupa_machine_init): Use the environment variable `prefix' instead of
53322 using pupa_dl_set_prefix to set the prefix.
53323 * kern/main.c: Include <pupa/env.h>.
53324 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53325 using pupa_dl_get_prefix to get the prefix.
53326 * kern/misc.c: Include <pupa/env.h>.
53327 (pupa_isdigit): New function.
53328 (pupa_isgraph): Likewise.
53329 (pupa_ftoa): Likewise.
53330 (pupa_vsprintf): Added support for printing values of the type
53331 `double'. Make it possible to format variable output when using
53332 formatting like `%1.2%f'.
53333 (pupa_split_cmdline): New function.
53334 * kern/rescue.c: Include <pupa/env.h>.
53335 (next_word): Removed function.
53336 (pupa_rescue_cmd_prefix): Likewise.
53337 (pupa_rescue_cmd_set): New function.
53338 (pupa_rescue_cmd_unset): New function.
53339 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53340 split the command line instead of splitting it here. Added
53341 support for setting variables using the syntax `foo=bar'. Don't
53342 initialize the prefix command anymore. Initialized the set and
53343 unset commands.
53344 * normal/cmdline.c: Include <pupa/env.h>.
53345 (pupa_tab_complete): Added prototypes for print_simple_completion,
53346 print_partition_completion, add_completion, iterate_commands,
53347 iterate_dev, iterate_part and iterate_dir. Moved code to print
53348 partition information from here to kern/disk.c.
fe6b695a 53349 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53350 * normal/main.c: Include <pupa/env.h>.
53351 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53352 instead of using pupa_dl_get_prefix to get the prefix.
53353 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53354 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53355 warning.
53356 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53357 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53358 ((unused))' to silence a gcc warning.
53359 (pupa_vga_setcolor): Likewise.
53360 (debug_command): Changed to match argument parsing
53361 interface changes.
53362 * util/pupa-emu.c: Include <pupa/env.h>.
53363 (options): Added 0's for unused fields to silence a gcc warning.
53364 (argp): Likewise.
53365 (main): Use the environment variable `prefix' instead of using
53366 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53367 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53368 and terminal.
53369
53370 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53371 * util/misc.c: Include <malloc.h>.
53372 (pupa_malloc): Rewritten so errors are correctly reported.
53373 (pupa_realloc): Likewise.
53374 (pupa_memalign): Likewise.
53375 (pupa_mm_init_region): Declare unused variables with
53376 `__attribute__ ((unused))' to silence a gcc warning.
53377 * normal/i386/setjmp.S: Remove tab at the end of the file to
53378 silence a gcc warning.
53379 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53380 variables with `__attribute__ ((unused))' to silence a gcc
53381 warning.
53382 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53383 local variable i unsigned to silence a gcc warning.
53384
53385 * kern/term.c: Include <pupa/misc.h>.
53386 (pupa_more_lines): New variable.
53387 (pupa_more): Likewise.
53388 (pupa_putcode): When the pager is active pause at the end of every
53389 screen.
53390 (pupa_set_more): New function.
53391 * include/pupa/term.h (pupa_set_more): New prototype.
53392
53393
3b1139cb 533942004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53395
53396 Now this project is GRUB 2 rather than PUPA. The location of
53397 the CVS repository was moved to GRUB's.
f19dbdb7 53398
3b1139cb 53399 * configure.ac: Use bug-grub as the reporting address.
53400 Use GRUB instead of PUPA.
53401 Change the version number to 1.90.
53402
8367695c 534032004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53404
53405 * genkernsyms.sh: Updated copyright information.
53406 * genmk.rb: Likewise.
53407 * genmodsrc.sh: Likewise.
53408 * gensymlist.sh: Likewise.
53409 * boot/i386/pc/boot.S: Likewise.
53410 * boot/i386/pc/diskboot.S: Likewise.
53411 * disk/i386/pc/biosdisk.c: Likewise.
53412 * disk/i386/pc/partition.c: Likewise.
53413 * font/manager.c: Likewise.
53414 * fs/ext2.c: Likewise.
53415 * fs/fat.c: Likewise.
53416 * include/pupa/boot.h: Likewise.
53417 * include/pupa/device.h: Likewise.
53418 * include/pupa/disk.h: Likewise.
53419 * include/pupa/dl.h: Likewise.
53420 * include/pupa/elf.h: Likewise.
53421 * include/pupa/err.h: Likewise.
53422 * include/pupa/file.h: Likewise.
53423 * include/pupa/font.h: Likewise.
53424 * include/pupa/fs.h: Likewise.
53425 * include/pupa/kernel.h: Likewise.
53426 * include/pupa/loader.h: Likewise.
53427 * include/pupa/misc.h: Likewise.
53428 * include/pupa/mm.h: Likewise.
53429 * include/pupa/net.h: Likewise.
53430 * include/pupa/normal.h: Likewise.
53431 * include/pupa/rescue.h: Likewise.
53432 * include/pupa/setjmp.h: Likewise.
53433 * include/pupa/symbol.h: Likewise.
53434 * include/pupa/term.h: Likewise.
53435 * include/pupa/types.h: Likewise.
53436 * include/pupa/i386/setjmp.h: Likewise.
53437 * include/pupa/i386/types.h: Likewise.
53438 * include/pupa/i386/pc/biosdisk.h: Likewise.
53439 * include/pupa/i386/pc/boot.h: Likewise.
53440 * include/pupa/i386/pc/console.h: Likewise.
53441 * include/pupa/i386/pc/init.h: Likewise.
53442 * include/pupa/i386/pc/kernel.h: Likewise.
53443 * include/pupa/i386/pc/linux.h: Likewise.
53444 * include/pupa/i386/pc/loader.h: Likewise.
53445 * include/pupa/i386/pc/memory.h: Likewise.
53446 * include/pupa/i386/pc/multiboot.h: Likewise.
53447 * include/pupa/i386/pc/partition.h: Likewise.
53448 * include/pupa/i386/pc/time.h: Likewise.
53449 * include/pupa/i386/pc/vga.h: Likewise.
53450 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53451 * include/pupa/util/getroot.h: Likewise.
53452 * include/pupa/util/misc.h: Likewise.
53453 * include/pupa/util/resolve.h: Likewise.
53454 * kern/device.c: Likewise.
53455 * kern/disk.c: Likewise.
53456 * kern/dl.c: Likewise.
53457 * kern/err.c: Likewise.
53458 * kern/file.c: Likewise.
53459 * kern/fs.c: Likewise.
53460 * kern/loader.c: Likewise.
53461 * kern/main.c: Likewise.
53462 * kern/misc.c: Likewise.
53463 * kern/mm.c: Likewise.
53464 * kern/rescue.c: Likewise.
53465 * kern/term.c: Likewise.
53466 * kern/i386/dl.c: Likewise.
53467 * kern/i386/pc/init.c: Likewise.
53468 * kern/i386/pc/lzo1x.S: Likewise.
53469 * kern/i386/pc/startup.S: Likewise.
53470 * loader/i386/pc/chainloader.c: Likewise.
53471 * loader/i386/pc/linux.c: Likewise.
53472 * loader/i386/pc/multiboot.c: Likewise.
53473 * normal/cmdline.c: Likewise.
53474 * normal/command.c: Likewise.
53475 * normal/main.c: Likewise.
53476 * normal/menu.c: Likewise.
53477 * normal/i386/setjmp.S: Likewise.
53478 * term/i386/pc/console.c: Likewise.
53479 * term/i386/pc/vga.c: Likewise.
53480 * util/console.c: Likewise.
53481 * util/genmoddep.c: Likewise.
53482 * util/misc.c: Likewise.
53483 * util/pupa-emu.c: Likewise.
53484 * util/resolve.c: Likewise.
53485 * util/unifont2pff.rb: Likewise.
53486 * util/i386/pc/biosdisk.c: Likewise.
53487 * util/i386/pc/getroot.c: Likewise.
53488 * util/i386/pc/pupa-mkimage.c: Likewise.
53489 * util/i386/pc/pupa-setup.c: Likewise.
53490
e6eced71 534912004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53492
53493 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53494 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53495 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53496 reading and reset it after reading.
53497 (pupa_ext2_close): Return PUPA_ERR_NONE.
53498
53499 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53500 Correct value.
53501 (struct linux_kernel_header): Add kernel_version and
53502 initrd_addr_max.
53503 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53504 pupa_file_read succeeds.
53505 (pupa_rescue_cmd_initrd): Implement.
53506
5aded270 535072003-12-03 Marco Gerards <metgerards@student.han.nl>
53508
53509 * fs/ext2.c (pupa_ext2_label): New function.
53510 (pupa_ext2_fs): Added label.
53511 * fs/fat.c (pupa_fat_label): New function.
53512 (pupa_fat_fs): Added label.
53513 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53514
53515 * kern/misc.c (pupa_strndup): New function.
53516 * include/pupa/misc.h (pupa_strndup): New prototype.
53517
53518 * include/pupa/normal.h: Include <pupa/err.h>.
53519 (pupa_set_history): New prototype.
53520 (pupa_iterate_commands): New prototype.
53521 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53522 <pupa/disk.h>, <pupa/file.h>.
53523 (hist_size): New variable.
53524 (hist_lines): Likewise.
53525 (hist_end): Likewise.
53526 (hist_used): Likewise.
53527 (pupa_set_history): New function.
53528 (pupa_history_get): Likewise.
53529 (pupa_history_add): Likewise.
53530 (pupa_history_replace): Likewise.
53531 (pupa_tab_complete): Likewise.
53532 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53533 completion shows partitionnames while completing partitions, this
53534 feature was suggested by Jeff Bailey.
53535 * normal/command.c (pupa_iterate_commands): New function.
53536 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53537 (pupa_normal_init): Initialize history buffer.
53538 (PUPA_MOD_INIT): Likewise.
53539 (pupa_normal_fini): Free the history buffer.
53540 (PUPA_MOD_FINI): Likewise.
53541
53542 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53543 key.
53544
53545 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53546 * configure.ac [i386]: Check for regparam bug.
53547 (NESTED_FUNC_ATTR) [! i386]: Defined.
53548
1f7315a3 535492003-11-17 Marco Gerards <metgerards@student.han.nl>
53550
53551 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53552 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53553 (pupa_emu_SOURCES): New variable.
53554 (pupa_emu_LDFLAGS): Likewise.
53555 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53556 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53557 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53558 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53559 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53560 (pupa_jmp_buf): New typedef.
53561 (pupa_setjmp) [PUPA_UTIL]: New macro.
53562 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53563 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53564 (pupa_refresh): New prototype.
53565 * include/pupa/util/getroot.h: New file.
53566 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53567 it.
53568 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53569 (pupa_rescue_cmd_cat): Likewise.
53570 (pupa_rescue_cmd_ls): Likewise.
53571 (pupa_rescue_cmd_testload): Likewise.
53572 (pupa_rescue_cmd_lsmod): Likewise.
53573 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53574 * normal/menu.c (run_menu): Likewise.
53575 * kern/term.c (pupa_cls): Likewise.
53576 (pupa_refresh): New function.
53577 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53578 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53579 * util/console.c: New file.
f19dbdb7 53580
1f7315a3 53581 * util/i386/pc/getroot.c: New file.
53582 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53583 (pupa_putchar): New function.
53584 (pupa_refresh): Likewise.
53585 (xgetcwd): Function moved to ...
53586 (strip_extra_slashes): Likewise.
53587 (get_prefix): Likewise.
f19dbdb7 53588 * util/i386/pc/getroot.c: ... here.
1f7315a3 53589 (find_root_device): Function moved and renamed to...
53590 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53591 Changed all callers.
53592 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53593 and renamed to...
53594 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53595 Changed all callers.
53596 * util/misc.c (pupa_memalign): New function.
53597 (pupa_mm_init_region): Likewise.
53598 (pupa_register_exported_symbols): Likewise.
53599 (pupa_putchar): Function removed.
53600 * util/pupa-emu.c: New file.
53601
9a5c1ade 536022003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53603
53604 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53605 (_multiboot_mod_SOURCES): New variable.
53606 (_multiboot_mod_CFLAGS): Likewise.
53607 * loader/i386/pc/multiboot.c: New file.
53608 * include/pupa/i386/pc/multiboot.h: Likewise.
53609 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53610 (pupa_multiboot_real_boot): New function.
53611 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53612 (pupa_multiboot_real_boot): New prototype.
53613 (pupa_rescue_cmd_multiboot): Likewise
53614 (pupa_rescue_cmd_module): Likewise.
53615
53616 * kern/loader.c (pupa_loader_set): Continue when
53617 pupa_loader_unload_func() fails.
53618 (pupa_loader_unset): New function.
53619 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53620
53621 * kern/misc.c (pupa_stpcpy): New function.
53622 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53623
8e72a9c0 536242003-11-12 Marco Gerards <metgerards@student.han.nl>
53625
53626 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53627 for available extensions.
53628
53629 * include/pupa/i386/pc/time.h: New file.
53630 * kern/disk.c: Include <pupa/machine/time.h>.
53631 (PUPA_CACHE_TIMEOUT): New macro.
53632 (pupa_last_time): New variable.
53633 (pupa_disk_open): Flush the cache when there was a timeout.
53634 (pupa_disk_close): Reset the timer.
53635 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53636 pupa_currticks.
53637 * util/misc.c: Include <sys/times.h>
53638 (pupa_get_rtc): New function.
53639
c4adbd32 536402003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53641
53642 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53643 as blocks.
53644 (pupa_ext2_get_file_block): Use blocks member.
53645
53646 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53647 first block. Return -1 instead of pupa_errno on error.
53648
bfd30f06 536492003-10-27 Marco Gerards <metgerards@student.han.nl>
53650
53651 * README: In the pupa-mkimage example use _chain instead of chain
53652 and ext2 instead of fat.
53653 * TODO: Replace ext2fs with jfs as an example. Add an item for
53654 adding journal playback for ext2fs.
53655 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53656 (pkgdata_MODULES): Added ext2.mod.
53657 (ext2_mod_SOURCES): New variable.
53658 (ext2_mod_CFLAGS): Likewise.
53659 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53660 * include/pupa/misc.h (pupa_strncpy): New prototype.
53661 (pupa_strcat): Likewise.
53662 (pupa_strncmp): Likewise.
53663 * kern/misc.c (pupa_strcat): Enable function.
53664 (pupa_strncpy): New function.
53665 (pupa_strncmp): Likewise.
53666 * fs/ext2.c: New file.
f19dbdb7 53667
bfd30f06 53668 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53669 when the read failed before retrying.
53670 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53671 (_FILE_OFFSET_BITS): Likewise.
53672 * configure.ac: Added AC_SYS_LARGEFILE.
53673
98d15063 536742003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53675
53676 * genmk.rb (PModule#rule): Make sure to get only symbol names
53677 from the output of nm.
59cad637 53678 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53679
18d9c7cd 536802003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53681
53682 I forgot to check in these changes for a long time. This adds
53683 incomplete support for VGA console, and this is still very
53684 buggy. Also, a lot of consideration is required for I18N,
53685 UNICODE, and VGA font issues. Therefore, assume that this is
53686 such that "better than nothing".
f19dbdb7 53687
18d9c7cd 53688 * font/manager.c: New file.
53689 * include/pupa/font.h: Likewise.
53690 * include/pupa/i386/pc/vga.h: Likewise.
53691 * term/i386/pc/vga.c: Likewise.
53692 * util/unifont2pff.rb: Likewise.
53693
53694 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53695 (pkgdata_MODULES): Added vga.mod and font.mod.
53696 (vga_mod_SOURCES): New variables.
53697 (vga_mod_CFLAGS): Likewise.
53698 (font_mod_SOURCES): Likewise.
53699 (font_mod_CFLAGS): Likewise.
53700
53701 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53702
53703 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53704 (struct pupa_term): Added init and fini.
18d9c7cd 53705 Changed the argument of putchar to pupa_uint32_t.
53706
53707 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53708 (pupa_console_real_putchar): New prototype.
53709 (pupa_console_putchar): Removed.
53710 (pupa_console_checkkey): Exported.
53711 (pupa_console_getkey): Likewise.
53712
53713 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53714 characters.
53715
53716 * kern/term.c (pupa_term_set_current): Rewritten.
53717 (pupa_putchar): Likewise.
53718 (pupa_putcode): New function.
53719
53720 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
53721 (pupa_console_real_putchar): ... this.
53722 (pupa_vga_set_mode): New function.
53723 (pupa_vga_get_font): Likewise.
53724
53725 * normal/command.c: Include pupa/term.h.
53726 (terminal_command): New function.
53727 (pupa_command_init): Register the command "terminal".
53728
53729 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
53730 (DISP_UP): Likewise.
53731 (DISP_RIGHT): Likewise.
53732 (DISP_DOWN): Likewise.
53733 (DISP_HLINE): Likewise.
53734 (DISP_VLINE): Likewise.
53735 (DISP_UL): Likewise.
53736 (DISP_UR): Likewise.
53737 (DISP_LL): Likewise.
53738 (DISP_LR): Likewise.
53739
53740 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 53741
977329f5 537422003-02-08 NIIBE Yutaka <gniibe@m17n.org>
53743
53744 * util/resolve.c (pupa_util_resolve_dependencies): BUG
53745 FIX. Reverse the path_list.
53746
53747 * include/pupa/normal.h: Export pupa_register_command and
53748 pupa_unregister_command.
53749
53750 * hello/hello.c (pupa_cmd_hello): New module.
53751 * conf/i386-pc.rmk: Added hello.mod.
53752
1f5ab428 537532003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
53754
53755 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 53756
1f5ab428 53757 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
53758 (compress_kernel): New variable.
53759 (generate_image): Heavily modified to support compressing a
53760 large part of the core image.
53761
53762 * util/misc.c (pupa_util_read_image): Fix a file descriptor
53763 leak.
53764 (pupa_util_load_image): New function.
53765
53766 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
53767 (pupa_compressed_size): New variable.
53768 (codestart): Enable Gate A20 here.
53769 Decompress the compressed part of the core image.
53770 Rearrange the code to put functions and variables which are
53771 required for initialization in the non-compressed part.
53772 Include lzo1x.S.
53773
53774 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
53775 here.
53776
53777 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
53778
f19dbdb7 53779 * include/pupa/i386/pc/kernel.h
1f5ab428 53780 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
53781 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
53782 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53783 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53784 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
53785
53786 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
53787
53788 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
53789 (Utility#rule): Likewise.
53790
53791 * configure.ac: Check if LZO is available.
53792
ce5bf700 537932003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
53794
53795 * include/pupa/normal.h: New file.
53796 * include/pupa/setjmp.h: Likewise.
53797 * include/pupa/i386/setjmp.h: Likewise.
53798 * normal/cmdline.c: Likewise.
53799 * normal/command.c: Likewise.
53800 * normal/main.c: Likewise.
53801 * normal/menu.c: Likewise.
53802 * normal/i386/setjmp.S: Likewise.
f19dbdb7 53803
ce5bf700 53804 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
53805 (pupa_rescue_cmd_initrd): Likewise.
53806
53807 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
53808 Likewise.
53809
53810 * kern/i386/pc/startup.S (translation_table): New variable.
53811 (translate_keycode): New function.
53812 (pupa_console_getkey): Call translate_keycode.
53813
53814 * kern/rescue.c (attempt_normal_mode): New function.
53815 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
53816 it failed, print a message.
53817
53818 * kern/mm.c (pupa_real_malloc): Print more information when a
53819 free magic is broken.
53820 (pupa_free): If the first free header is not free actually, set
53821 it to P.
53822
53823 * kern/main.c (pupa_load_normal_mode): Just load the module
53824 "normal".
53825 (pupa_main): Don't print the message
53826 "Entering into rescue mode..." here.
53827
53828 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
53829 Declared.
53830 (pupa_rescue_cmd_initrd): Likewise.
53831 (pupa_rescue_cmd_initrd): Likewise.
53832
53833 * include/pupa/symbol.h (FUNCTION): Specify the type.
53834 (VARIABLE): Likewise.
53835
53836 * include/pupa/err.h (pupa_err_t): Added
53837 PUPA_ERR_UNKNOWN_COMMAND.
53838
53839 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53840 (pupa_dl_get_prefix): Likewise.
53841
53842 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53843 Added _chain.mod and _linux.mod instead of chain.mod and
53844 linux.mod.
53845 (chain_mod_SOURCES): Renamed to ...
53846 (_chain_mod_SOURCES): ... this.
53847 (chain_mod_CFLAGS): Renamed to ...
53848 (_chain_mod_CFLAGS): ... this.
53849 (linux_mod_SOURCES): Renamed to ...
53850 (_linux_mod_SOURCES): ... this.
53851 (linux_mod_CFLAGS): Renamed to ...
53852 (_linux_mod_CFLAGS): ... this.
53853 (normal_mod_SOURCES): New variable.
53854 (normal_mod_CFLAGS): Likewise.
53855 (normal_mod_ASFLAGS): Likewise.
53856
538572003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53858
53859 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53860 possible.
53861
fe6b695a 53862 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53863 recursively.
53864 (pupa_dl_unref): Unrefer depending modules recursively.
53865 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53866 a module is unloaded before one depending on that module is
53867 unloaded.
53868 (pupa_dl_unload): Unload depending modules explicitly,
53869 if possible.
53870
c04da074 538712003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53872
53873 * include/pupa/i386/pc/linux.h: New file.
53874 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53875
c04da074 53876 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53877 Removed.
53878 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53879 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53880 of PUPA_CHAINLOADER_BOOT_SECTOR.
53881
53882 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53883 (pupa_linux_prot_size): New variable.
53884 (pupa_linux_tmp_addr): Likewise.
53885 (pupa_linux_real_addr): Likewise.
53886 (pupa_linux_boot_zimage): New function.
53887 (pupa_linux_boot_bzimage): Likewise.
53888
53889 * kern/i386/pc/init.c (struct mem_region): New structure.
53890 (MAX_REGIONS): New macro.
53891 (mem_regions): New variable.
53892 (num_regions): Likewise.
53893 (pupa_os_area_addr): Likewise.
53894 (pupa_os_area_size): Likewise.
53895 (pupa_lower_mem): Likewise.
53896 (pupa_upper_mem): Likewise.
53897 (add_mem_region): New function.
53898 (compact_mem_regions): Likewise.
53899 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53900 the size of the conventional memory and that of so-called upper
53901 memory (before the first memory hole).
53902 Instead of adding each found region to free memory, use
53903 add_mem_region and add them after removing overlaps.
53904 Also, add only 1/4 of the upper memory to free memory. The rest
53905 is used for loading OS images. Maybe this is ad hoc, but this
53906 makes it much easier to relocate OS images when booting.
53907
53908 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53909 (pupa_enter_rescue_mode): Don't register initrd and module.
53910
53911 * kern/mm.c: Include pupa/dl.h.
53912
53913 * kern/main.c: Include pupa/file.h and pupa/device.h.
53914
53915 * kern/loader.c (pupa_loader_load_module_func): Removed.
53916 (pupa_loader_load_module): Likewise.
53917
53918 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53919 ``.o''.
53920
53921 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53922 (pupa_linux_tmp_addr): Likewise.
53923 (pupa_linux_real_addr): Likewise.
53924 (pupa_linux_boot_zimage): Likewise.
53925 (pupa_linux_boot_bzimage): Likewise.
53926
53927 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53928 (pupa_upper_mem): Likewise.
53929 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53930 module is too dangerous.
53931
53932 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53933 (pupa_os_area_size): Likewise.
53934 (pupa_loader_set): Remove the first argument. Loader doesn't
53935 manage modules or initrd any longer.
53936 (pupa_loader_load_module): Removed.
53937
53938 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53939 (linux_mod_SOURCES): New variable.
53940 (linux_mod_CFLAGS): Likewise.
53941
a13f9237 539422003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53943
53944 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53945 the length of a blocklist correctly.
53946
53947 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53948 Use ioctl only if the OS file is a block device.
53949 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53950 not very useful for normal files.
53951
53952 * kern/main.c (pupa_set_root_dev): New function.
53953 (pupa_load_normal_mode): Likewise.
53954 (pupa_main): Call those above.
53955
53956 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53957 pupa_uint16_t.
53958
53959 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53960
a5ffe966 539612003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53962
53963 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53964 (setup): Configure the installed partition information and the
53965 dl prefix.
53966
53967 * loader/i386/pc/chainloader.c (my_mod): New variable.
53968 (pupa_chainloader_unload): New function.
53969 (pupa_rescue_cmd_chainloader): Refer itself.
53970 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53971
53972 * kern/i386/pc/startup.S (install_partition): Removed.
53973 (version_string): Likewise.
53974 (config_file): Likewise.
53975 (pupa_install_dos_part): New variable.
53976 (pupa_install_bsd_part): Likewise.
53977 (pupa_prefix): Likewise.
53978 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53979
53980 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53981 and pupa/misc.h.
53982 (make_install_device): New function.
53983 (pupa_machine_init): Set the dl prefix.
53984
53985 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53986 (buf): Renamed to ...
53987 (linebuf): ... this.
53988 (pupa_rescue_cmd_prefix): New function.
53989 (pupa_rescue_cmd_insmod): Likewise.
53990 (pupa_rescue_cmd_rmmod): Likewise.
53991 (pupa_rescue_cmd_lsmod): Likewise.
53992 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53993 rmmod and lsmod.
53994
53995 * kern/mm.c (pupa_memalign): If failed even after invalidating
53996 disk caches, unload unneeded modules and retry.
53997
53998 * kern/misc.c (pupa_memmove): New function.
53999 (pupa_memcpy): Removed.
54000 (pupa_strcpy): New function.
54001 (pupa_itoa): Made static.
54002
54003 * kern/dl.c (pupa_dl_iterate): New function.
54004 (pupa_dl_ref): Likewise.
54005 (pupa_dl_unref): Likewise.
54006 (pupa_dl_unload): Return if succeeded or not.
54007 (pupa_dl_unload_unneeded): New function.
54008 (pupa_dl_unload_all): Likewise.
54009 (pupa_dl_init): Renamed to ...
54010 (pupa_dl_set_prefix): ... this.
54011 (pupa_dl_get_prefix): New function.
54012
54013 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54014 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54015 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54016 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54017 (pupa_install_dos_part): Declared.
54018 (pupa_install_bsd_part): Likewise.
54019 (pupa_prefix): Likewise.
54020 (pupa_boot_drive): Likewise.
54021
54022 * include/pupa/types.h: Fix a typo.
54023
54024 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54025 pupa_memmove.
54026 (pupa_memmove): Declared.
54027 (pupa_strcpy): Likewise.
54028
54029 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54030 pupa_mod_init takes one argument, its own module.
54031 (pupa_dl_unload_unneeded): Declared.
54032 (pupa_dl_unload_all): Likewise.
54033 (pupa_dl_ref): Likewise.
54034 (pupa_dl_unref): Likewise.
54035 (pupa_dl_iterate): Likewise.
54036 (pupa_dl_init): Renamed to ...
54037 (pupa_dl_set_prefix): ... this.
54038 (pupa_dl_get_prefix): Declared.
54039
54040 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 54041 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 54042 unloaded.
54043 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54044 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54045
54046 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54047 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54048
012d7999 540492003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54050
54051 * util/i386/pc/pupa-setup.c (setup): Define the internal
54052 function find_first_partition_start at the top level, because GCC
54053 3.0.x cannot compile internal functions in deeper scopes
54054 correctly.
54055 (find_root_device): Use lstat instead of stat.
54056 Don't follow symbolic links.
54057 Fix the path-constructing code.
54058
54059 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54060 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54061 by a BLKGETSIZE ioctl first, because block devices don't fill
54062 the member st_mode of the structure stat on Linux.
54063 [__linux__] (linux_find_partition): Use a temporary buffer
54064 REAL_DEV for the working space. Copy it to DEV before returning.
54065 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54066 buffer cache consistent.
54067 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54068 strncmp. The previous value was merely wrong.
54069 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54070
54071 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54072 FAT size is 12. The previous value was merely wrong.
54073
54074 * kern/main.c (pupa_main): Don't split the starting message from
54075 newlines.
54076
54077 * kern/term.c (pupa_putchar): Put CR after LF instead of before
54078 LF, because BIOS goes crazy about character attributes in this
54079 case.
54080
1cc73a62 540812003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54082
54083 * include/i386/pc/util/biosdisk.h: New file.
54084 * util/i386/pc/biosdisk.c: Likewise.
54085 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 54086
1cc73a62 54087 * Makefile.in (INCLUDE_DISTFILES): Added
54088 include/pupa/i386/pc/util/biosdisk.h.
54089 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54090 directory util/i386/pc.
54091 (install-local): Added a rule for sbin_UTILITIES.
54092 (uninstall): Likewise.
54093
54094 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54095
54096 * util/misc.c (xrealloc): New function.
54097 (pupa_malloc): Likewise.
54098 (pupa_free): Likewise.
54099 (pupa_realloc): Likewise.
54100 (pupa_stop): Likewise.
54101 (pupa_putchar): Likewise.
54102
54103 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54104
54105 * include/pupa/util/misc.h (xrealloc): Declared.
54106
54107 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54108 macro.
54109 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54110 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54111
54112 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
54113 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54114
54115 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
54116 way should be implemented.
54117 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54118
54119 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
54120 the size of NAME for safety.
54121 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
54122 0x88.
54123
54124 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
54125 (pupa_setup_SOURCES): Likewise.
54126
54127 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
54128
08b70fe8 541292002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54130
54131 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
54132 bunch of pushl's from pusha, because this destroys the return
54133 value.
54134
62ddcc8f 541352002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54136
54137 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
54138 This means that any missing prototypes could be fatal. Also, you
54139 must take care when writing assembly code. See the comments at
54140 the beginning of startup.S, for more details.
f19dbdb7 54141
62ddcc8f 54142 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
54143 compilation mechanism.
54144 (pupa_chainloader_real_boot): Likewise.
54145 (pupa_biosdisk_rw_int13_extensions): Likewise.
54146 (pupa_biosdisk_rw_standard): Likewise.
54147 (pupa_biosdisk_check_int13_extensions): Likewise.
54148 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
54149 (pupa_biosdisk_get_diskinfo_standard): Likewise.
54150 (pupa_get_memsize): Likewise.
54151 (pupa_get_mmap_entry): Likewise.
54152 (pupa_console_putchar): Likewise.
54153 (pupa_console_setcursor): Likewise.
54154 (pupa_getrtsecs): Use pushl instead of push.
54155
54156 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
54157 memory instead of the stack for a mmap entry, because some
54158 BIOSes may ignore the maximum size and overflow.
54159
54160 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
54161
54162 * genmk.rb (PModule#rule): Compile automatically generated
54163 sources with module-specific CFLAGS as well as other sources.
54164
9962ed99 541652002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54166
54167 * configure.ac: Check ld.
54168 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
54169 respectively, before checking endianness and sizes.
54170
54171 * Makefile.in (LD): New variable.
f19dbdb7 54172
abdfc3c5 541732002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54174
54175 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
54176
6a161fa9 541772002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54178
54179 * Changelog: New file.
54180